Deutsches Lilypond Forum (Archiv)
Allgemein => Fragen zu Funktionen => Thema gestartet von: gbehrendt am Montag, 3. August 2015, 17:34
-
Hej.
Beim Versuch, mein eigenes Problem (https://liarchiv.joonet.de/index.php?topic=2046.0) zu lösen, bin ich auf etwas anderes Merkwürdiges gestoßen: \quoteDuring zitiert aus einer \partcombine-Variable nur die obere Stimme. Kann man die beiden nicht kombinieren?
(Und warum da Solo gedruckt wird, ist mir nicht klar...)
– Gereon
\version "2.18.2."
% Musik
fluteI = \relative c'' { c4 b d2 | d,8 f a d b a g f }
fluteII = \relative c'' { a4 a f f | d2 d }
fluteA = \partcombine << \fluteI >> << \fluteII >>
\addQuote "pc" { \fluteA }
<<
\new Staff { \fluteA }
\new Staff { \quoteDuring "pc" { s1*2 } }
>>
-
Hallo Gereon,
aus
http://www.lilypond.org/doc/v2.18/Documentation/notation/writing-parts.de.html (http://www.lilypond.org/doc/v2.18/Documentation/notation/writing-parts.de.html)
Nur der Inhalt der ersten Stimme innerhalb eines \addQuote-Befehls wird für das Zitat herangezogen. Wenn der zitierte Ausdruck also \new oder \context Voice-Befehle enthält, werden deren Inhalte nicht zitiert.
\partcombine erzeugt intern jede Menge neue Voices, genauso wie das Konstrukt: << { ... } \\ { ... } >>
So geht es also nicht. :(
Ich hab' aber auch keine zündende Idee, wie man Dein Vorhaben umsetzen kann ...
Gruß,
Harm
-
Danke, Harm, das habe ich im Handbuch wohl übersehen, schade. Leider klappt es andersherum auch nicht so recht – eigentlich müsste er doch innerhalb des \partcombine-Befehls zitierte Stimmen wieder richtig zusammensetzen...
Und zum anderen Vorhaben: Wenn es nicht so schwierig wäre, gemeinsame Hälse zu erzwingen, hätte ich wahrscheinlich schon eine Lösung mit akzeptablem manuellem Aufwand.
– Gereon
\version "2.18.2."
% Musik
fluteI = \relative c'' { c4 b d2 | d,8 f a d b a g f }
fluteII = \relative c'' { a4 a f f | d2 d }
\addQuote "fl1" { \fluteI }
\addQuote "fl2" { \fluteII }
fluteA = \partcombine << \quoteDuring "fl1" {s1*2} >> << \quoteDuring "fl2" {s1*2} >>
<<
\new Staff { \partcombine << \fluteI >> << \fluteII >> }
\new Staff { \fluteA }
>>
-
Nunja, folgendes klappt:
\relative c''
\new Voice <<
{ b4 b f f }
{ g a d, e }
>>
aber schon hier hagelt es Warnungen und der output is natürlich auch daneben:
\relative c''
\new Voice <<
{ b2 f }
{ g8 g a a d, d e e }
>>
-
Ja, aber das schien mir die einzige Variante dafür zu sein, also kann ich nicht zwischendurch (in einer Variable) umschalten zwischen getrennten Stimmen und gemeinsamen Hälsen – deswegen die Idee, parallel mehrere Voices durchlaufen zu lassen, und über eine Pattern-Variable das musikalische Material dafür auszufiltern. Das hab ich halbwegs, aber für die zweistimmigen Abschnitte hätte ich dann gern auf partcombine zurückgegriffen, um nicht alles selbst machen zu müssen...