hallo,
ich möchte per \include ein File QUELLE in ein anderes File PARTITUR einbinden. QUELLE enthält im Prinzip die Noten, PARTITUR kümmert sich um deren Darstellung. Es gibt nun Details, die ich nicht in PARTITUR schreiben kann, da sie bei jeder einzelnen Note stehen müssen (Beispiel: Fingersätze, und ich will eine Partitur mit, eine andere ohne Fingersätze erzeugen können). Daher möchte ich in PARTITUR eine Variable setzten, die anschließend in QUELLE ausgewertet wird.
Problem: Wenn ich QUELLE kompiliere, ist diese Variable natürlich undefiniert. Das ist schlecht, denn so kann ich bei Änderungen nicht so ohne weiteres die syntaktische Richtigkeit von QUELLE prüfen. Also möchte ich diese Variable gegebenenfalls mit einem Defaultwert setzen.
Dazu müsste ich innerhalb von QUELLE prüfen können,
* ob die Variable existiert
* oder ob das File über \include eingebunden wurde.
Gibt es da eine schlichte Möglichkeit?
Ich kann keinen lauffähigen Code liefern, aber vielleicht reicht das Folgende:
===PARTITUR.ly===
\version "2.18.2"
condition = "irgendwas"
\include QUELLE.ly
...
===QUELLE.ly===
\version "2.18.2"
\relative { c d e f
#(if condition ; ...und condition ist eben nicht gesetzt, wenn QUELLE selbst kompiliert wird.
#{ RESULT = \relative {c d e f } #}
#{ RESULT = \relative { g a b2 } #})
}
Ich hatte es mal mit #(if defined? \condition) versucht, aber auch da gibts vom Compiler nur die Klage, \condition sei "unbound", also nicht bekannt..
tja. Gibt bestimmt ne ganz simple Lösung...? : - )
--ingmar