Subject: \override NoteHead sélectif

From: Daniel Cartron <[email-masked]>
Date: Sat, 04 Apr 2015 07:49:11 +0200

Bonjour,

Est-il possible de faire en sorte que les notes avec une tête normale (ronde) 
ne soient pas affichées mais que celles sous forme de croix le soient ?

Merci.

-- 
Cordialement, Daniel Cartron
«  Plus on constate qu'on n'est pas comme tout le monde, plus on veut être 
comme tout le monde. »
François Cavanna - Coups de sang

---

From: Pierre Perol-Schneider <[email-masked]>
Date: Sat, 4 Apr 2015 11:00:21 +0200

Bonjour Daniel,

Essaie :

\version "2.16.2"

myCross = #(define-music-function (parser location mus) (ly:music?)
          #{
             \revert NoteHead #'transparent { $mus }
             \override NoteHead #'transparent = ##t
          #})

\relative c' {
  \override NoteHead #'transparent = ##t
  \override NoteHead #'style = #'cross
  c d e \myCross  { f } g a \myCross { b c }
}

Cordialement,
Pierre

Le 4 avril 2015 07:49, Daniel Cartron <[email-masked]> a écrit :

> _______________________________________________
> liste de diffusion lilypond-user-fr
> [email-masked]
> https://lists.gnu.org/mailman/listinfo/lilypond-user-fr
>

---

From: Daniel Cartron <[email-masked]>
Date: Sat, 04 Apr 2015 13:03:21 +0200

> Essaie :

Salut Pierre,

Très futé comme fonction mais comme je ne pensais pas que tu me proposerais ça 
j'ai omis une info importante. Je vais afficher la musique de deux façons 
différentes : 
- partition normale, toutes les têtes de notes visibles ;
- tablature avec seules les croix visibles.

La tablature c'est la mélodie sur laquelle j'ai simplement rajouté des markups 
en scheme et que j'affiche sur une portée à 1 ligne où tout ce qui est note etc 
est en override transparent.

Donc ce qu'il me faut c'est une fonction mycross pour mettre une note en cross 
(mais je me demande si c\cross ne serait pas plus pratique, car concerne des 
notes isolées. Et deux contextes qui ont des propriétés différentes. Je sens 
d'ici que ça va nécessiter du scheme...

À moins que tu n'aies une idée encore plus géniale ;-)

-- 
Cordialement, Daniel Cartron
« Je suis contre les femmes, tout contre. »
Sacha Guitry

---

From: Pierre Perol-Schneider <[email-masked]>
Date: Sat, 4 Apr 2015 13:13:47 +0200

> - tablature avec seules les croix visibles.

D'où l'importance du mini exemple... ;)

> À moins que tu n'aies une idée encore plus géniale ;-)

Restons simples :

\version "2.16.2"

maCroix = #(define-music-function (parser location mus) (ly:music?)
          #{
             \tag #'MaCroix {
               \revert NoteHead #'transparent
               $mus
               \override NoteHead #'transparent = ##t
             }
             \tag #'Standard { $mus }

          #})

maMusique = \relative c' {
  c d e
  \maCroix  { f }
  g a
  \maCroix { b c }
}

\new Staff {
  \keepWithTag #'Standard
  \maMusique
}

<<
  \new Staff {
    \keepWithTag #'MaCroix
    \maMusique
  }
  \new TabStaff {
    \keepWithTag #'Standard
    \maMusique
  }

Cordialement,
Pierre

---

From: Pierre Perol-Schneider <[email-masked]>
Date: Sat, 4 Apr 2015 13:27:50 +0200

... ou bien même, simplifions encore :

\version "2.16.2"

mc = #(define-music-function (parser location mus) (ly:music?)
          #{
             \tag #'MaCroix {
               \once\revert NoteHead #'transparent
               $mus
               \override NoteHead #'transparent = ##t
             }
             \tag #'Standard { $mus }
          #})

maMusique = \relative c' {
  \mc c d e \mc f g a \mc b c
}

\new Staff {
  \keepWithTag #'Standard
  \maMusique
}

\new DrumStaff
\with { \override StaffSymbol #'line-count = #1 }
{
  \override NoteHead #'transparent = ##t
  \override Stem #'stencil = ##f
  \override Accidental #'stencil = ##f
  \override NoteHead #'style = #'cross
  \keepWithTag #'MaCroix
  \maMusique
}

A+
Pierre

---

From: Pierre Perol-Schneider <[email-masked]>
Date: Sat, 4 Apr 2015 13:22:24 +0200

Oups, lu un peu vite, donc:

\version "2.16.2"

          #})

\new Staff {
  \keepWithTag #'Standard
  \maMusique
}

\new DrumStaff

Dis-moi si ça ressemble à ce que tu souhaites; au besoin, envoie moi un
mini exemple du résultat exact souhaité et je modifierai la fonction dans
l'après-midi.

Cordialement,
Pierre

---

From: Daniel Cartron <[email-masked]>
Date: Sat, 04 Apr 2015 18:55:33 +0200

>   c d e \myCross  { f } g a \myCross { b c }

Bon histoire d'être bien clair, un fichier minimaliste.

Je voudrais avoir sur la portés supérieure toutes les notes dont les cross et 
sur l'inférieure uniquement les cross, et ce à partir de la mm variable Melody

J'ai fait qq essais et ça le fait pas...

\version "2.16.2"

cross = #(define-music-function (parser location mus) (ly:music?)
          #{
             \override NoteHead #'style = #'cross
             \revert NoteHead #'transparent
                { $mus }
             \revert NoteHead #'transparent
%             \override NoteHead #'transparent = ##t
          #})

Melody = \relative c' {
  c d e \cross{ f } 
  g a \cross{ b c } 
  a b \cross{ b c } 
}

melodyStaff = \with {
  \override Fingering #'stencil = #point-stencil
}
%
tabStaff = \with {
  \override StaffSymbol #'line-count = #1 
  \remove "Time_signature_engraver"
  \override Clef #'stencil = #ly:text-interface::print
  \override NoteHead #'transparent = ##t
  \override KeySignature #'stencil = ##f
  \override Tie #'stencil = ##f
  \override Stem #'stencil = ##f
  \override Stem #'Y-extent = ##f
  \override Flag #'stencil = ##f
  \override Beam #'stencil = #point-stencil
  \override Dots #'stencil = ##f
  \override TupletBracket #'stencil = ##f
  \override TupletNumber #'stencil = ##f
  \override BreathingSign #'stencil = ##f
  \override KeyChangeEvent #'stencil = #point-stencil
  \override StringNumber #'stencil = #point-stencil
  \override StrokeFinger #'stencil = ##f
  \override StaffSymbol #'staff-space = #1
 }

\score {
   <<
    \new Staff \with {
      \melodyStaff
      }
      \Melody
    \new DrumStaff \with {
      \tabStaff
    }
      \Melody
}

-- 
Cordialement, Daniel Cartron
« Depuis que j'ai une maîtresse que j'aime, je n'ai plus envie de tromper ma 
femme. »
Sacha Guitry

---

From: Pierre Perol-Schneider <[email-masked]>
Date: Sat, 4 Apr 2015 21:26:15 +0200

Super.
Donc ça donnerait :

\version "2.16.2"

             \tag #'Cross {
             \tag #'Portee {
               \revert NoteHead #'style
             }
          #})

Melody = \relative c' {
  c d e \cross { f }
  g a \cross { b c }
  a b \cross { b c }
}

melodyStaff = \with {

tabStaff = \with {
  \override StaffSymbol #'line-count = #1
  \remove "Time_signature_engraver"
  \override Clef #'stencil = ##f
  \override KeySignature #'stencil = ##f
  \override Stem #'stencil = ##f
  \override Accidental #'stencil = ##f
  \override NoteHead #'style = #'cross
  \override Tie #'stencil = ##f
  \override Stem #'stencil = ##f
  \override Stem #'Y-extent = ##f
  \override Flag #'stencil = ##f
  \override Beam #'stencil = ##f
  \override Dots #'stencil = ##f
  \override TupletBracket #'stencil = ##f
  \override TupletNumber #'stencil = ##f
  \override BreathingSign #'stencil = ##f
  \override KeyChangeEvent #'stencil = ##f
  \override StringNumber #'stencil = ##f
  \override StrokeFinger #'stencil = ##f
}

<<
  \new Staff
  \melodyStaff
  {
    \keepWithTag #'Portee
    \Melody
  }
  \new DrumStaff
  \tabStaff
  {
    \keepWithTag #'Cross
    \Melody
  }

Cordialement,
Pierre

---

From: Daniel Cartron <[email-masked]>
Date: Sun, 05 Apr 2015 12:37:03 +0200

>   g a \cross { b c }

ce qui m'arrangerait plus ce serait :
c a g\cross b a
et n'avoir la croix que sur le g.

Je sais pas si c'est faisable. Et en adaptant \deadNote on pourrait pas faire 
qq chose aussi ? Je viens juste de découvrir ça par hasard.

-- 
Cordialement, Daniel Cartron
« Perdre l'un de ses parents peut être regardé comme un malheur. Perdre les 
deux ressemble à de la négligence. »
Oscar Wilde - Il importe d'être constant

---

From: Pierre Perol-Schneider <[email-masked]>
Date: Sun, 5 Apr 2015 13:24:48 +0200

Ça ne change rien, \deadNote se plaçant avant la note :

\version "2.16.2"

               \deadNote { $mus }
             }
          #})

Melody = \relative c' {
  c d e \cross f
  g a \cross { b c }
  a b \cross b \harmonic c
}

melodyStaff = \with {

tabStaff = \with {

<<
  \new Staff
  \melodyStaff
  {
    \keepWithTag #'Portee
    \Melody
  }
  \new DrumStaff
  \tabStaff
  {

En revanche, si tu me trouves où se cache la fonction '\harmonic' ça
pourrait probablement m'aider (je n'ai aucune idée de l'endroit où elle se
trouve...)

---

From: Pierre Perol-Schneider <[email-masked]>
Date: Sun, 5 Apr 2015 18:28:54 +0200

Je ne suis pas sûr de bien comprendre ce que tu entends par "la seule".
Dans 'ma' logique, la place de le fonction écrite plus haut - tout comme
'deadNote', 'grace', 'tuplet', etc. - est cohérente dans la mesure où elle
ne peut être post-événementielle ; mais je suis encore loin de tout
comprendre et effectivement, comme déjà dit, la fonction '\harmonic'
mériterai d'être étudiée car elle suit 'ta' logique... Sauf que je ne sais
pas où elle se cache.

Le 5 avril 2015 15:47, Daniel Cartron <[email-masked]> a écrit :

> Le dimanche 5 avril 2015 13:24:48, vous avez écrit :
> oui c'est juste que ce sera la seule indication qui devra se mettre devant
> et
> non après la note, c'est un peu incohérent.
> --
> « Il n'y a point de génie sans un grain de folie. »
> Aristote - Poétique
>
>

---

From: Daniel Cartron <[email-masked]>
Date: Mon, 06 Apr 2015 07:49:13 +0200

Le dimanche 5 avril 2015, 18:28:54 Pierre Perol-Schneider a écrit :
> ne peut être post-événementielle

Quand je dis la seule c'es qu'il y a pas mal d'autres signes d'interprétation 
possibles et qu'ils se placent tous comme des articulations. D'ailleurs au 
passage, c'est possible de créer de nouvelles articulations ex-nihilo ? Parce 
que ma façon de faire est de créer un alias pour une articulation existante et 
ensuite j'analyse en scheme pour savoir quoi rajouter dans mon markup.

Bref je continue mes explications. Ces indications de mettent donc comme ça :
c\sld alors que là je suis obligé d'écrire \cross c donc ça va dérouter les 
utilisateurs. Parce que c'est pas pour moi que j'écris ce truc mais pour tous 
ceux qui jouent de l'harmonica.
 
Par ailleurs 'est vraiment cette version qui me convient le mieux, une croix 
dans la portée et une dans la tablature.

-- 
Cordialement, Daniel Cartron
« L'amour platonique est à l'amour charnel ce que l'armée de réserve est à 
l'armée active. »
Pierre Dac

---

From: Pierre Perol-Schneider <[email-masked]>
Date: Mon, 6 Apr 2015 10:52:47 +0200

Le 6 avril 2015 07:23, Daniel Cartron <[email-masked]> a écrit :

> Je pense que c'est là !
> /usr/share/lilypond/2.16.2/ly/music-functions-init.ly
> ligne 439
>

Non ça n'est pas ça; et je suis quasiment certain que c'est dans le dossier
.../scm

---

From: Pierre Perol-Schneider <[email-masked]>
Date: Mon, 6 Apr 2015 10:53:34 +0200

Je pense que cet article pourrait t'intéresser :
http://lilypondblog.org/2013/08/adding-ornamentations-to-note-heads-part-1/

---

From: Daniel Cartron <[email-masked]>
Date: Mon, 06 Apr 2015 11:22:14 +0200

> http://lilypondblog.org/2013/08/adding-ornamentations-to-note-heads-part-1/

C'est effectivement intéressant mais la fonction que tu m'as écrite me suffira je 
pense. En fait c'est surtout au niveau markup que ça se passe pour une 
tablature.

Mais merci, je vais regarder ça tranquillement.

-- 
Cordialement, Daniel Cartron
« Le bonheur à deux ça dure le temps de compter jusqu'à trois. »
Sacha Guitry