Deutsches Lilypond Forum (Archiv)
Allgemein => Fragen zu Funktionen => Thema gestartet von: tomasherrmann am Dienstag, 4. September 2007, 17:39
-
Hallo Forum,
ich möchte gern \transpose mit einer Variablen aufrufen, etwa in der Form
tonart = {d'}
melody = \transpose c' \tonart
\relative c' { ...
Leider geht das offenbar nicht.
Was mache ich falsch? und wie könnte es gehen?
Gruß Tomas
-
Klammern!
melody = { \transpose c' \tonart
\relative c' { ... } }
müsste gehen
Till
-
leider ändert die Klammer nix -
Fehler: syntax error, unexpected MUSIC_IDENTIFIER, expecting NOTENAME_PITCH or TONICNAME_PITCH
melody = {\transpose c'
\tonart
Das sieht doch so aus, als würde lilypond nicht auf den Inhalt von \tonart eingehen, oder \tonart nicht als Variable betrachten.
Ist denn die Deklaration
tonart = {d'}
richtig?
Tomas
-
Ja, ich interpretiere die Nachricht so, dass eine Variable nur als "musikalischer Ausdruck" eingesetzt werden kann (was aber eigentlich nicht ganz richtig ist, denn man kann ja auch markups als variable bestimmen). Fast scheint mir das ein bug zu sein? Willst du mal auf die Liste posten?
Gruß
Till
-
auf
http://news.gmane.org/gmane.comp.gnu.lilypond.general
hab ich erfahren, dass transpose sozusagen "fest verdrahtet" ist - das Kommando lässt keine Variablen als Argumente zu - es wird nur das gelesen, was direkt im Text steht.
Tomas
-
Ja, das wars, was ich mir dachte -- aber eigentlich könnte man das als einen Bug ansehen... es wäre doch schön, wenn man eben diese Variable, wie du vorgemacht hast, einfach verändern könnte...