Hallo ingmar,
ich beziehe mich in meiner Antwort in der Regel auf:
NR 1.6.3 Writing parts - Formatting cue notes
http://www.lilypond.org/doc/v2.18/Documentation/notation/writing-parts#formatting-cue-notes(Ich benutze immer die englische Doku, da die deutsche nicht aktuell ist.)
Alle Beispiele beziehen sich auf "2.18.2"
Bitte teste sie einzeln um eventuelle bleed-over Effekte zu vermeiden
Zu Versuch A:Bei A. habe ich versucht, einfach per << >> zu der Hauptstimme das Zitat der anderen Stimme dazu zu montieren. Das wäre sicher der praktischste Weg. Aber so geht es nicht, wir haben dann doppelte Pausen, die die Stichnoten sogar verdecken.
Hier baust Du eine permanente Mehrstimmigkeit zweier Voices, wobei cueDuring auch noch zusätzlich Ganztaktpausen setzt, während die Hauptstimme diese schon hat. (Daher die Verdoppelung.)
Ich habe auch kein Beispiel in der NR für diese Vorgehensweise gefunden.
Aber auch wenn Du \cueDuring #"1." #UP { s1 *2 } schreibst ist zwar die Verdoppelung perdu aber Kollisionen entstehen.
Diese sind zwar mittels \voiceXxx behebbar, es entstehen jedoch wiederum andere wohl ungewollte Effekte. Siehe:
ERSTENS = \relative c'' {
\repeat volta 2 {
c d e f g f e d
}
c b c d e d e f2
e4 d c c b c2
\bar "|."
}
ZWEITENS = \relative c' {
\repeat volta 2 {
c2 g b c
}
R1*2
c2 b g c
}
\addQuote "1." \ERSTENS
\new Staff
<<
{ \voiceTwo \ZWEITENS }
{
s1 *2
\new CueVoice { \set instrumentCueName = "(erste Stimme)" }
\cueDuring #"1." #UP { s1 *2 }
}
>>Das Beste was ich Dir anbieten kann ist eine Verschiebung der Ganztaktpausen:
ERSTENS = \relative c'' {
\repeat volta 2 {
c d e f g f e d
}
c b c d e d e f2
e4 d c c b c2
\bar "|."
}
ZWEITENS = \relative c' {
\repeat volta 2 {
c2 g b c
}
R1*2
c2 b g c
}
\addQuote "1." \ERSTENS
\new Staff
<<
\ZWEITENS
{
s1 *2
\new CueVoice { \set instrumentCueName = "(erste Stimme)" }
\cueDuring #"1." #UP {
\override Staff.MultiMeasureRest.staff-position = #-4
s1 *2
\revert Staff.MultiMeasureRest.staff-position
}
}
>>
Zu Versuch B:Bei B. baue ich meine Stimme zusammen, wie in meinem oben zitierten Beitrag beschrieben - wir nehmen immer ein Stückchen aus dieser und ein Stückchen aus jener. Ist nicht so elegant, weil man bei längeren Stücken am Schluss immer noch die verbleibenden Takte auszählen muss, um nicht Leertakte zu erzeugen oder zu früh zu enden. Ergebnis: Keine Stimme fühlt sich zuständig für das Wiederholungszeichen. Natürlich kann man es von Hand wieder einfügen (\bar ":|.").
Ein Taktstrich ist kein event und daher in keinem Fall zitierfähig.
Siehe:
test-a = { d''1 e'' \bar "S" f'' g'' }
\addQuote "test-a" \test-a
\new Staff { c''1 \cueDuring #"test-a" #UP { s1*2 } c''1 }Wenn Du aus einzelnen Teilen eine Stimme neu zusammensetzt, mußt Du daher selbst für die Struktur Sorge tragen.
ERSTENS = \relative c'' {
\repeat volta 2 {
c4 d e f g f e d
}
c b c d e d e f2
e4 d c c b c2
\bar "|."
}
ZWEITENS = \relative c' {
\repeat volta 2 {
c2 g b c
}
R1 *2
c2 b g c
}
\addQuote "1." { \ERSTENS }
\addQuote "2." { \ZWEITENS }
NEU-B = {
\repeat volta 2 {
\quoteDuring #"2." { s1 *2 }
}
\new CueVoice { \set instrumentCueName = "(erste Stimme)" }
\cueDuring #"1." #UP { R1 *2 }
\quoteDuring #"2." { s1 *2 }
\bar "|."
}
\score {
\new Staff \with { instrumentName = "B." } { \NEU-B }
}
Zu Versuch C:Unschön und für den Spieler verwirrend mag die überhängende Note aus den Stichnoten in den gespielten Part hinein sein. Man könnte also daran denken, die Stichnoten ein wenig zu kürzen, also nur einen Takt anzuzeigen statt zwei. Bei C. habe ich das versucht. Ergebnis: Die Pause der Hauptstimme wird nicht angezeigt, der Takt bleibt leer.
Die Ganztaktpausen sind als R1*2 eingegeben. Also als
ein multi-measure-rest-event.
Siehe auch den output von:
\displayMusic
{ R1*2 }Das nachher zwei Pausen erscheinen ist ein feature, aber nicht Deine Eingabe!
Das zitieren eines andauernden Ereignis erst nachdem es begonnen hat muß aber scheitern.
Hier der Versuch die Hälfte eine Brevis zu zitieren. Klappt nicht.
test-b = { d''\breve }
\addQuote "test-b" \test-b
\new Staff { e''1 \cueDuring #"test-b" #UP { R1 } }Um hier d''1 erscheinen zu lassen, müsste d''\breve intern in zwei Ganze gesplittet werden.
Man kann natürlich via Completion_heads_engraver und Completion_rest_engraver gehen (siehe NR).
Ich bezweifel jedoch das es funktioniert (non testat). Bin mir aber sicher das es nicht das ist was Du willst.
Du könntest natürlich die Pausen als { R1 R1 } eingeben.
Jedoch sind Ganztaktpausen per default erst mal nicht zitierfähig.
Siehe:
test-c = { d''1 R1 }
\addQuote "test-c" \test-c
\new Staff { e''1 \cueDuring #"test-c" #UP { s1 } }Das kann man aber ändern, indem man multi-measure-rest-event zu den zitierfähigen Events hinzufügt (siehe NR):
test-d = { d''1 R1 }
\addQuote "test-d" \test-d
\score {
\new Staff { e''1 \cueDuring #"test-d" #UP { s1 } }
\layout {
%% für quoteDuring
%\set Score.quotedEventTypes = #'(note-event articulation-event
% crescendo-event rest-event
% multi-measure-rest-event
% slur-event dynamic-event)
%% für \cueDuring
\set Score.quotedCueEventTypes = #'(note-event rest-event tie-event
beam-event tuplet-span-event
multi-measure-rest-event
dynamic-event slur-event)
}
}Zu Versuch D:Zuletzt: In D. habe ich unterstellt, dass die ersten zwei Takte der Unterstimme wegfallen, sie also erst im vorletzten Takt einsetzen soll. - Was passiert? Sie übernimmt nun plötzlich die Schriftgröße der Stichnoten.
Siehe NR:
Note: When a Voice starts with cueDuring, as in the following example, the Voice context must be explicitly declared, or else the entire music expression would belong to the CueVoice context.
Also:
ERSTENS = \relative c'' {
\repeat volta 2 {
c4 d e f g f e d
}
c b c d e d e f2
e4 d c c b c2
\bar "|."
}
ZWEITENS = \relative c' {
\repeat volta 2 {
c2 g b c
}
R1 *2
c2 b g c
}
\addQuote "1." { \ERSTENS }
\addQuote "2." { \ZWEITENS }
NEU-D = {
\new CueVoice { \set instrumentCueName = "(erste Stimme)" }
\cueDuring #"1." #UP { R1 *4 }
\quoteDuring #"2." { s1 *2 }
}
\score {
\new Staff \with { instrumentName = "D." } \new Voice { \NEU-D }
}
Nachdem nun (hoffentlich) klar ist was wie funktioniert (oder eben nicht) nun zur
Lösung:ERSTENS = \relative c'' {
\repeat volta 2 {
c d e f g f e d
}
c b c d e d e f2
e4 d c c b c2
\bar "|."
}
ZWEITENS = \relative c' {
\repeat volta 2 {
c2 g b c
}
\tag #'cue-voice {
\new CueVoice { \set instrumentCueName = "(erste Stimme)" }
}
\cueDuring #"1." #UP { R1*2 }
c2 b g c
}
\addQuote "1." { \ERSTENS }
\addQuote "2." { \ZWEITENS }
\score {
\new StaffGroup { <<
\new Staff { \ERSTENS }
%% mit Zitaten
\new Staff { \ZWEITENS }
%% ohne Zitate
%% siehe NR zu killCues
\new Staff { \removeWithTag #'cue-voice \killCues \ZWEITENS }
>> }
}
So schlägt es die NR auch vor

Siehe folgendes Beispiel aus der NR:
fluteNotes = \relative {
r2. c''4 | d8 c d e fis2 | g2 d |
}
oboeNotes = \relative c'' {
R1
\new CueVoice { \set instrumentCueName = "flute" }
\cueDuring #"flute" #UP { R1 }
g2 c,
}
\addQuote "flute" { \fluteNotes }
\new Staff {
\oboeNotes
}
Im wesentlichen sind es also tatsächlich
Bedienungsfehler und Missverständnisse

Auf der anderen Seite ist die NR sicherlich verbesserungsfähig.
Was hat gefehlt bzw wie könnte man das Verständnis erleichtern?
Vorschläge werden gerne entgegengenommen (patches natürlich noch lieber). Dazu schreibe an die bug-list, die sind nicht nur für ausgesprochene bugs sondern auch für Verbesserungsvorschläge zuständig.
Info hier:
http://lilypond.org/bug-reports.html
Gruß,
Harm