Vielen Dank an Harm und kil - bin echt beeindruckt und begeistert!
Die Lösungen mit \accept und \with waren DER Schlüssel, und für mich ist das absolut ausreichend.
Mit MIDI habe ich noch gar nichts probiert, wenn noch jemand hierzu war ergänzen will, gerne... sonst setze ich das Thema nächste Woche auf "fixed" (ich hoffe, das geht mit dem Button "THEMA SCHLIESSEN").
Ich habe noch ein wenig "optimiert" und fasse die Lösung zusammen:
- Das System wird als Drumstaff-Kontext aufgesetzt, der neben Drumvoices jetzt auch noch Voices haben kann (\accepts Voice). Mit "\new Drumvoice" wird das System eröffnet und ab da für die Schlagzeugabschnitte \drummode genutzt.
- Die Xylophon-Noten werden innerhalb der Drumvoice durch \new Voice { ... } angegeben, d.h. der Ausdruck innerhalb der Klammern wird im Voice Kontext, also mit Tonhöhen interpretiert.
- Der instrumentCueName wird beim "\new DrumVoice \with..." als Blank mitgegeben. Dies ist sinnvoll, denn a) diese Bezeichnung ist nur für den ersten Takt da und das System ist ja schon als Percussion benannt. Nach dem Xylophon-Zwischenspiel wird der CueName aus der addInstrumentDefinition geholt. Und b) wird man den von Harm genannten Fehler mit der doppelten Ausgabe der CueNames nur durch Nutzung der \with Anweisung los.
Und so sieht das Endergebnis aus:
\version "2.12.3"
\addInstrumentDefinition #"Xylophon"
#`((instrumentTransposition . ,(ly:make-pitch 0 0 0))
(shortInstrumentName . "Xylo.")
(clefGlyph . "clefs.G")
(middleCPosition . 1)
(clefPosition . -2)
(instrumentCueName . ,(make-bold-markup "Xyl."))
(midiInstrument . "xylophone")
)
\addInstrumentDefinition #"Percussion"
#`((shortInstrumentName . "Perc.")
(instrumentName . "Percussion")
(clefGlyph . "clefs.percussion")
(clefPosition . 0)
(instrumentCueName . ,(make-bold-markup "Perc."))
)
\new DrumStaff
\with { \accepts Voice }
{ \instrumentSwitch "Percussion"
\new DrumVoice \with { instrumentCueName = #(make-bold-markup " ") } {
\drummode { bd2 sn2 R1 }
\instrumentSwitch "Xylophon"
\new Voice {
\relative c' { c4 d e f R1 }
}
\instrumentSwitch "Percussion"
{
\drummode { bd2 sn R1 }
}
\instrumentSwitch "Xylophon"
\new Voice {
\relative c' { f4 e d c R1 }
}
}
}
Gruß und Danke
Jo