Deutsches Lilypond Forum (Archiv)
Allgemein => Allgemeine Diskussion => Thema gestartet von: messingsound am Mittwoch, 1. Juni 2016, 18:51
-
Hallo Forum,
Das Titelthema wollte ich mit folgendem Code erreichen (wie im Handbuch beschrieben)
\version "2.18.2"
ru = \relative c'' {
\override BreathingSign.text = \markup {
\musicglyph #"scripts.caesura.straight"
}
\key g \major \time 4/4
<<
{ c2-^ g4 \breathe d'4 }
\\
{ c2 g4 b4 }
>>
\bar "|."
}
\new Staff \ru
Leider wird das Atemzeichen nicht zum Einschnitt geändert. Hat jemand eine Idee, wie ich den Einschnitt hinkriege?
Vielen Dank im Voraus für eine Antwort
Gruß Thomas
-
Hallo Thomas,
Dein override kann nicht klappen, da er nicht im selben Voice-Context angewendet wird, wie das BreathingSign.
Das << \\ >> - Konstrukt erschafft zwei neue Voices!
Möglichkeiten:
- setze den ersten Voice-Context fort
- wende den override im Staff-Context an
- benutze den override im richtigen Context
- benutze einen tweak
Das sind zumindest die nahe liegenden Lösungen.
\version "2.18.2"
BSmrkp = \markup { \musicglyph #"scripts.caesura.straight" }
\new Voice = "main"
\relative c'' {
\key g \major
\time 4/4
\override BreathingSign.text = \BSmrkp
<<
\context Voice = "main" { \voiceOne c2-^ g4 \breathe d'4 }
\new Voice = "helper" { \voiceTwo c2 g4 b4 }
>>
\bar "|."
}
\relative c'' {
\key g \major
\time 4/4
\override Staff.BreathingSign.text = \BSmrkp
<<
{ c2-^ g4 \breathe d'4 }
\\
{ c2 g4 b4 }
>>
\bar "|."
}
\relative c'' {
\key g \major
\time 4/4
<<
{ c2-^ g4 \override BreathingSign.text = \BSmrkp \breathe d'4 }
\\
{ c2 g4 b4 }
>>
\bar "|."
}
\relative c'' {
\key g \major
\time 4/4
<<
{ c2-^ g4 \tweak text \BSmrkp \breathe d'4 }
\\
{ c2 g4 b4 }
>>
\bar "|."
}
HTH,
Harm
P.S.
Ich denke dieser Beitrag wäre besser in der Sparte "Fragen zu Funktionen" aufgehoben ;)
-
- wende den override im Staff-Context an
\version "2.18.2"
BSmrkp = \markup { \musicglyph #"scripts.caesura.straight" }
\relative c'' {
\key g \major
\time 4/4
\override Staff.BreathingSign.text = \BSmrkp
<<
{ c2-^ g4 \breathe d'4 }
\\
{ c2 g4 b4 }
>>
\bar "|."
}
Das wär jetzt so meine bevorzugte Variante von den vier genannten. Oder, falls alle Atemzeichen global gleich aussehen sollen, würde ich folgende fünfte Variante vorziehen:
- Mach die Änderung für alle Voice-Kontexte auf einmal wirksam per \layout-Block.
\version "2.18.2"
BSmrkp = \markup { \musicglyph #"scripts.caesura.straight" }
\layout {
\context {
\Voice
\override BreathingSign.text = \BSmrkp
}
}
\relative c'' {
\key g \major
\time 4/4
<<
{ c2-^ g4 \breathe d'4 }
\\
{ c2 g4 b4 }
>>
\bar "|."
}
Auch wenn nur ein Instrument/Staff existiert. Grund: Ich habe gern alle globalen \overrides und \sets an einer Stelle ;)
-
Vielen Dank :D,
funktioniert. Ich hab's in die Stimme reingeschrieben, weil ich Musik und Ausgabe trenne, teilweise auch in verschiedene Dateien. Meistens drucke ich 2 Liedzettel mit 2-3 Liedern auf ein A4-Blatt.
P.S.
Ich denke dieser Beitrag wäre besser in der Sparte "Fragen zu Funktionen" aufgehoben ;)
:-[ mach ich
Gruß Thomas