Autor Thema: Benutzung von Variablen  (Gelesen 5970 mal)

tomasherrmann

  • Member
Benutzung von Variablen
« 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

etilli33

  • Member
Re: Benutzung von Variablen
« Antwort #1 am: Mittwoch, 5. September 2007, 07:28 »
Klammern!

melody = { \transpose c' \tonart
             \relative c' { ... } }

müsste gehen

Till

tomasherrmann

  • Member
Re: Benutzung von Variablen
« Antwort #2 am: Mittwoch, 5. September 2007, 08:32 »
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

etilli33

  • Member
Re: Benutzung von Variablen
« Antwort #3 am: Mittwoch, 5. September 2007, 19:55 »
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

tomasherrmann

  • Member
Re: Benutzung von Variablen
« Antwort #4 am: Donnerstag, 6. September 2007, 17:39 »
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

etilli33

  • Member
Re: Benutzung von Variablen
« Antwort #5 am: Donnerstag, 6. September 2007, 19:52 »
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...