Subject: Tag et texte

From: Denis Bitouzé <[email-masked]>
Date: Mon, 28 Nov 2011 09:38:31 +0100

Bonjour,

est-il possible d'utiliser des tags en dehors des parties musicales,
notamment pour du texte ajouté après le score ?

J'aimerais par exemple pouvoir coder quelque chose comme :

expose = \markup { "Theme played 2 times, solos on "
  \tag #'ut { "D" }
  \tag #'ees { "B" }
  " pedal"
}

pour un usage :

1. dans la partition en ut :

\book {
  \score {
    <<
      \chordsPart
      \themePart
    \layout { }
    \midi { }
  }
  \keepWithTag #'ut \expose
}

2. dans la partition en mi bémol :

\book {
  \score {
  \transpose c a
    <<
      \chordsPart
      \themePart
    \layout { }
    \midi { }
  }
  \keepWithTag #'ees \expose
}

(tel quel, ça ne fonctionne pas).

Merci d'avance.
-- 
Denis

---

From: Gilles <[email-masked]>
Date: Tue, 29 Nov 2011 23:20:53 +0100

Le Mon, 28 Nov 2011 09:38:31 +0100, Denis Bitouzé  
<[email-masked]> a écrit:

> markup { "Theme played 2 times, solos on "
>   \tag #'ut { "D" }
>   \tag #'ees { "B" }
>   " pedal"

\tag prend en 2ème argument une musique, donc { "D" } et { "B" } ne  
peuvent convenir.
Pour les markup le seul moyen que je connaisse c'est d'utiliser  
define-markup-command (voir doc)

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

#(define-markup-command (expose layout props sym) (symbol?)
(interpret-markup layout props
     (markup (string-append
         "Theme played 2 times, solos on "
         (case sym
           ((ut) "D")
           ((ees) "B")
           (else ""))
         " pedal"))))

music = c'1

\book {
   \score {
     <<
       \music
     \layout { }
     \midi { }
   }
   \markup \expose #'ut
}

\book {
   \score {
   \transpose c a
     <<
       \music
     \layout { }
     \midi { }
   }
   \markup \expose #'ees
}

%%%%%%%%%%%%%%%%%%%%%%%%%%%

Gilles

---

From: Denis Bitouzé <[email-masked]>
Date: Wed, 30 Nov 2011 07:28:04 +0100

Le mardi 29/11/11 à 23h20,

> \tag prend en 2ème argument une musique, donc { "D" } et { "B" } ne  

Snif !

> [...]

Parfait ! J'aurais bien été incapable de coder cela moi-même : la
syntaxe scheme, c'est légèrement indigeste à mon goût ;)

À mon avis, cela vaudrait le coup de demander aux développeurs de
Lilypond de rendre simple ce genre de choses. Qu'en pensez-vous ?

En tous cas, merci beaucoup !
-- 
Denis