Subject: Nomenclature Function

From: marcel astrapi <[email-masked]>
Date: Tue, 6 Dec 2016 10:53:45 -0700 (MST)

Bonjour !
Je me suis au monde merveilleux de Lilypond, j'essai de faire une fonction
qui me donne
une note, avec à coté un texte pour dire ce que veux dire cette note. (Très
utile pour les partitions contemporaine avec pleins de notes bizarres)
Pour l'instant j'en suis là :

\version "2.18.2"

customNomenclature =
#(define-music-function (parser location my-text my-note-style)
   (string? symbol?)
   #{
     \new Staff {
       \omit Staff.Clef
       \omit Staff.TimeSignature
       \override TextScript.extra-offset = #'(3.5 . -4.5)
       \override NoteHead.style = #my-note-style
       f'2^\markup {
         \whiteout
         \pad-around #1.4
         #my-text
       }
     }
   #})

\customNomenclature "= Scream" #'triangle

Voilà, mais j'aimerai pouvoir mettre une note également en argument, du
genre :

\version "2.18.2"

customNomenclature =
#(define-music-function (parser location my-text my-note-style MY-NOTE)
   (string? symbol? LY:MUSIC?)
   #{
     \new Staff {
       \omit Staff.Clef
       \omit Staff.TimeSignature
       \override TextScript.extra-offset = #'(3.5 . -4.5)
       \override NoteHead.style = #my-note-style
       #MY-NOTE^\markup {
         \whiteout
         \pad-around #1.4
         #my-text
       }
     }
   #})

\customNomenclature "= Scream" #'triangle f'2

Mais ça ne marche pas, je me doute que je ne fais pas ce qu'il faut, mais je
n'arrive pas à trouver de solution....

Merci de votre aide :)

--
View this message in context: http://lilypond-french-users.1298960.n2.nabble.com/Nomenclature-Function-tp7584418.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.

---

From: Schneidy <[email-masked]>
Date: Wed, 7 Dec 2016 23:20:00 -0700 (MST)

Bonjour Marcel et bienvenue sur la liste.
Une écriture du type : \variable ^\markup "blabla" n'est pas possible à ce
jour (enfin je crois).
Je ne suis pas sûr de comprendre où tu veux en venir.
S'il s'agit juste de donner des explications avant une partition, à titre
perso je créerai plutôt une fonction 'markup du genre :
test = \markup \score { \new Staff { ..} \layout { indent = 0 }}

Cordialement,
Pierre

--
View this message in context: http://lilypond-french-users.1298960.n2.nabble.com/Nomenclature-Function-tp7584418p7584423.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.

---

From: marcel astrapi <[email-masked]>
Date: Thu, 8 Dec 2016 00:28:41 -0700 (MST)

Bonjour, merci de votre réponse !

Le but est de faire une fonction générale que je puisse inclure dans mes
nouvelles partitions contemporaine,
pour que la création de la nomenclature (l'endroit où on dit "ce signe =
cela") se fasse beaucoup plus vite et avec moins de ligne.

Le but est que ce soit maléable, que je puisse avoir un text, une note, un
style de note différent pour pouvoir l'utiliser comme ça :

\new GrandStaff {
   <<
   \customNumenclature #'xcircle "  = tapper sur sa tete" f'2
   \customNumenclature #'cross "   = tapper sur la tete de son voisin" b'2
   \customNumenclature #'triangle " = sortir une souris de sa poche" d'1
}

Avec votre idée, je ne voie pas où je peux mettre une variable ?
Je ne comprend pas non plus le \markup avant le \score ?

Merci

--
View this message in context: http://lilypond-french-users.1298960.n2.nabble.com/Nomenclature-Function-tp7584418p7584424.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.

---

From: Pierre Perol-Schneider <[email-masked]>
Date: Thu, 8 Dec 2016 11:24:36 +0100

Le 8 décembre 2016 à 08:28, marcel astrapi <[email-masked]> a
écrit :
...

> Je ne comprend pas non plus le \markup avant le \score ?

...

Par ex. :
\version "2.18"

test = \markup\vcenter {
  \score {
    \new GrandStaff <<
     { \tweak style #'xcircle  f'2 }
     { \tweak style #'cross  b'2 }
     { \tweak style #'triangle  d'1*1/2}
    \layout {
      indent = 0
      \context {
        \Staff
        \omit Clef
        \omit TimeSignature
      }
    }
  }
}

%% Ex.
\markup\vcenter {
  "Test :" \test
  \override #'(baseline-skip . 9)
  \left-column {
    "= tapper sur sa tete"
    "= tapper sur la tete de son voisin"
    "= sortir une souris de sa poche"
  }
}

Pierre

---

From: marcel astrapi <[email-masked]>
Date: Thu, 8 Dec 2016 03:45:16 -0700 (MST)

Ha bah oui c'est parfaitement ça 

Merci beaucoup !

--
View this message in context: http://lilypond-french-users.1298960.n2.nabble.com/Nomenclature-Function-tp7584418p7584426.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.

---

From: Pierre Perol-Schneider <[email-masked]>
Date: Thu, 8 Dec 2016 12:07:31 +0100

Oups, erreur de copier/coller, donc, à nouveau :

\version "2.18"

test = \markup\vcenter {
  \score {
    \new GrandStaff <<
    \layout {
      indent = 0
      \context {
        \Staff
        \omit Clef
        \omit TimeSignature
      }
    }
  }

%% Ex.
\markup {
  "Test :" \test
}

Cordialement,
Pierre

---

From: marcel astrapi <[email-masked]>
Date: Thu, 8 Dec 2016 08:13:15 -0700 (MST)

Encore plus joli, super merci encore !

--
View this message in context: http://lilypond-french-users.1298960.n2.nabble.com/Nomenclature-Function-tp7584418p7584428.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.