• Willkommen im Forum „Archiviertes Lilypond Forum (2017)“.
 

Dies ist das Archiv des alten Forums (bis März 2017). Das aktuelle Forum ist unter lilypondforum.de zu finden.
This is the archive of the old forum (until March 2017). You can find the current forum at lilypondforum.de.

Hauptmenü

\mark \default in mehreren Scores (GELÖST)

Begonnen von ingmar, Freitag, 9. September 2016, 20:57

Vorheriges Thema - Nächstes Thema

ingmar

\mark \default setzt Probebuchstaben - das "default" sagt einfach "bitte den nächsten".

Leider fängt es in jedem Score eines Bookparts immer wieder neu an:

\version "2.19.37"

\score { \new Voice \relative { c'4 d e f \mark \default g f e d c1 }}
\score { \new Voice \relative { g'4 f e d \mark \default c d e d c1 }}


Dies Verhalten ist logisch, aber unpraktisch; es zwingt dazu, in den folgenden Scores immer den Wert des ersten Probebuchstabens ausdrücklich anzugeben:

\version "2.19.37"

\score { \new Voice \relative { c'4 d e f \mark \default g f e d c1 }}
\score { \new Voice \relative { g'4 f e d \mark #2 c d e d c1 }}


Fügt man nun zu Beginn einen Probebuchstaben hinzu oder nimmt einen weg, muss man natürlich in allen folgenden Scores den Anfangswert ändern. Das kann umständlich und fehleranfällig werden!

Frage: Gibt es eine einfache Möglichkeit, den letzten Wert im nächsten Score wieder aufzunehmen und weiterzuzählen?


Gruß,
--ingmar

harm6

Hallo ingmar,

ich kann mir keinen Fall vorstellen wo ich dieses Verhalten haben möchte, aber:


\version "2.19.47"

#(define last-seen 1)

tst-engraver =
#(lambda (context)
  (make-engraver
    (listeners
      ((mark-event engraver event)
       (if (null? (ly:event-property event 'label))
           (begin
             (ly:event-set-property! event 'label last-seen)
             (set! last-seen (1+ last-seen))))))))

\layout {
  \context {
    \Score
    \consists \tst-engraver
  }
}
 
\score {
  \new Voice \relative {
    \mark \default
    c'4 d
    \mark \default e f
    \mark \default
    g f
    \mark "abc"
    e d
    \mark \default
    c1
  }
}
\score {
\new Voice \relative {
g'4 f e d
\mark "xy"
c d e d
\mark \default
c1
}
}


HTH,
  Harm

ingmar

Danke! Funktioniert gut.

Zitatharm6: ich kann mir keinen Fall vorstellen wo ich dieses Verhalten haben möchte
Nun, es scheint mir in klassischer Musik üblich, bei mehrsätzigen Werken die Probebuchstaben nicht mit jedem Satz neu zu beginnen, sondern weiterzuzählen. Und wie eingangs erwähnt, das Einfügen und Entfernen von Probebuchstaben im ersten Satz würde dann immer ein Anpassen in den Folgesätzen erforderlich machen. Dann ist die Funktion, die Du dankenswerterweise geschrieben hast, sehr nützlich.

Gruß,
--ingmar

harm6

Zitat von: ingmarNun, es scheint mir in klassischer Musik üblich, bei mehrsätzigen Werken die Probebuchstaben nicht mit jedem Satz neu zu beginnen, sondern weiterzuzählen.

Das hab ich zwar schon gesehen, es aber als üblich zu bezeichnen, würde ich glatt in Abrede stellen. ;)

Beziehst Du Dich auf eine bestimmte Vorlage, d.h. welches Werk, welcher Verlag?

Gruß,
  Harm

ingmar

Hallo Harm,


ein bestimmtes Werk kann ich im Moment nicht nennen, ist zulange her. Bei Sinfonien macht es vielleicht auch nicht soviel Sinn, da sollte ja eigentlich im Orchester klar sein, an welchem Satz man gerade arbeitet. Deshalb war es mir ja auch damals aufgefallen.

Wenn man viele kurze Sätze vor sich hat, ist es schon sinnvoller. Und vielleicht ist es auch eine gewisse Abwechslung, mal andere Buchstaben vor sich zu sehen als immer A, B und C.

Übrigens ist mir in deiner Lösung aufgefallen, dass

  • \mark \default
  • \mark 17
  • \mark 0

zum gleichen Ergebnis führen - es wird immer die nächste Zahl, hier also der nächste Buchstaben benutzt. Das stört mich nicht besonders, ist aber im strengen Sinne vielleicht nicht ganz sauber, weil irreführend. Ich weiß nicht, ob es dich stört...

Gruß,
--ingmar

harm6

Zitat von: ingmar am Samstag, 10. September 2016, 10:47
Übrigens ist mir in deiner Lösung aufgefallen, dass

  • \mark \default
  • \mark 17
  • \mark 0

zum gleichen Ergebnis führen - es wird immer die nächste Zahl, hier also der nächste Buchstaben benutzt. Das stört mich nicht besonders, ist aber im strengen Sinne vielleicht nicht ganz sauber, weil irreführend. Ich weiß nicht, ob es dich stört...

Schon richtig. der kleine engraver setzt jede RehearsalMark neu, solange sie als \default oder als ganze Zahl angegeben wurde. Den Effekt allein auf die allererste RehearsalMark eines neuen scores zu beschränken (so wie Du das manuell machen kannst), ist mir nicht gelungen.
Hat natürlich Konsequenzen, manche vielleicht auch unerwünscht ...

Gruß,
  Harm