Übungsmarkierung mit Segno darüber

Begonnen von l3u, Montag, 16. September 2024, 15:53

« vorheriges - nächstes »

l3u

Hallo allerseits!

Ich bin gerade dabei, seit einiger Zeit wieder mal Noten mit Lilypond zu schreiben. Scheinbar hat sich da einiges geändert seit dem letzten Mal ...

Ich möchte eine Übungsmarkierung setzen, über der gleichzeitig ein Segno ist. Sowas hier: https://imgur.com/a/zYa0tfH

Bisher habe ich das mit folgendem Code gemacht:

#(define (format-mark-letters-segno mark context)
    (markup #:line
    (#:center-column
    (#:musicglyph "scripts.segno"
    #:bold (#:markletter (- (ly:context-property context 'rehearsalMark) 2))
))))

markDefault = {
    \set Score.markFormatter = #format-mark-letters
    \mark \default
}

markDefaultSegno = {
    \set Score.markFormatter = #format-mark-letters-segno
    \once \override Score.RehearsalMark #'baseline-skip = #5
    \mark \default
}

Das funktioniert allerdings nicht mehr ... ich bekomme ein

/home/tobias/tmp/git/Noten/Merry Christmas Everyone/../shared/MarkAndSegno-0.ly:15:41: Warnung: deprecated: missing `.' in property path Score.RehearsalMark.baseline-skip
und es steht einfach nur die Übungsmarkierung dort.

Ich weiß nicht, welche Version ich damals dafür verwendet habe. Ich habe dann die Version von Dateien genommen, wo das noch funktioniert hat, und es mit convert-ly probiert. Das Ergebnis war:

\version "2.24.0"

#(define (format-mark-letters-segno mark context)
    (markup #:line
    (#:center-column
    (#:musicglyph "scripts.segno"
    #:bold (#:markletter (- (ly:context-property context 'rehearsalMark) 2))
))))

markDefault = {
    \set Score.rehearsalMarkFormatter = #format-mark-letters
    \mark \default
}

markDefaultSegno = {
    \set Score.rehearsalMarkFormatter = #format-mark-letters-segno
    \once \override Score.RehearsalMark.baseline-skip = #5
    \mark \default
}

Das funktioniert aber genauso wenig ... ich bekomme damit:
/usr/share/lilypond/2.24.3/ly/init.ly:65:2: Fehler: Guile signaled an error for the expression beginning here
#
 (let ((book-handler (if (defined? 'default-toplevel-book-handler)
WARNING: (#{ g218}#): imported module (#{ g217}#) overrides core binding `version'
WARNING: (#{ g220}#): imported module (#{ g217}#) overrides core binding `version'
Value out of range 0 to 18446744073709551615: -1

und ebenfalls kein Segno über meiner Übungsmarkierung.

Wie geht das mit einer aktuellen Version von Lilypond? Vielen Dank für alle Hilfe!

l3u

Vollkommen unerwartet – ohne so richtig zu wissen, was ich überhaupt mache ;-) – konnte ich mit Rumprobieren den Code doch so ändern, dass er wieder funktioniert:

\version "2.24.0"

#(define (format-mark-letters-segno mark context)
    (markup #:line (#:center-column (
        #:musicglyph "scripts.segno"
        #:markletter (ly:context-property context 'rehearsalMark)
    )))
)

markDefaultSegno = {
    \once \override Score.RehearsalMark.baseline-skip = #5
    \once \set Score.rehearsalMarkFormatter = #format-mark-letters-segno
    \mark \default
}

Vielleicht hilft das jemandem mit demselben Problem!