Deutschsprachiges LilyPond-Forum

Allgemeine Fragen und Probleme => Fragen und Probleme aller Art => Thema gestartet von: Leonach am Samstag, 21. Dezember 2019, 00:49

Titel: \mark \default mit Zusatztext
Beitrag von: Leonach am Samstag, 21. Dezember 2019, 00:49
Hallo,

ich würde gerne rehearsal marks als Zahlen in einem Kasten setzen. Mit #format-mark-box-numbers ist das kein Problem.

Nun hätte ich gerne vor der Zahl noch Buchstaben, aber innerhalb des Kastens; also nicht [1], [2]... sondern z.B.: [A 1], [A 2], etc. OHNE dass ich jedesmal von Hand \mark \markup {...} benutzen muss.

Hat jemand eine Idee, wie das gemacht werden kann?

Danke!

Titel: Antw:\mark \default mit Zusatztext
Beitrag von: harm6 am Samstag, 21. Dezember 2019, 11:23
Vielleicht


\version "2.19.83"

#(define ((my-format-mark-box-numbers mrkp) mark context)
  (make-bold-markup
    (make-box-markup
      (make-line-markup
        (list mrkp (number->string mark))))))
       
\layout {
  \context {
    \Score
    markFormatter = #format-mark-box-numbers
  }
}
 
myRM =
#(define-music-function (arg mus) (markup? ly:music?)
#{
  \once \set Score.markFormatter = #(my-format-mark-box-numbers arg)
  $mus
#})

{
  b1
  \mark \default
  b
  \myRM "A"
  \mark \default
  b
  \mark \default
  b
}


Gruß,
  Harm
Titel: Antw:\mark \default mit Zusatztext
Beitrag von: Leonach am Samstag, 21. Dezember 2019, 12:10
Vielen Dank! Leider benutze ich noch 2.18.2, daher konnte ich das Beispiel nicht ausprobieren.
Titel: Antw:\mark \default mit Zusatztext
Beitrag von: harm6 am Samstag, 21. Dezember 2019, 12:16
Deshalb ist es sinnvoll immer die LilyPond-Version anzugeben ;)

Der einzige Unterschied zwischen beiden Versionen, der hier bedeutsam ist, ist die Notwendigkeit für 2.18.2 die default-Argumente 'parser location' in music-functions setzen zu müssen.

Also mit

myRM =
#(define-music-function (parser location arg mus) (markup? ly:music?)
[...]

läuft es auch in 2.18.2

Gruß,
  Harm
Titel: Antw:\mark \default mit Zusatztext
Beitrag von: Leonach am Samstag, 21. Dezember 2019, 12:18
Super, so funktioniert alles! Vielen Dank!