Ich muß noch mal auf dieses Problem zurück kommen.
Es funktioniert, so daß ich aus einer Gesamtdatei über die genXxxx Variablen die zu erzeugenden Stimmen auswählen kann.
Bis mich eine Stimme in den Wahnsinn trieb.
Hier das auf das Notwendigste reduzierte Codestück, das sich bei mir weigert:
\version "2.18.2"
\header { title = "Warum geht das nicht ?" }
genElek = ##t
Elek = {
\clef treble
\time 2/4
\key c \major
\relative c' {
c4 d e f
}
\bar "|."
}
$(if (eq? genElek #t) #{
\new Staff {
\Elek
\layout { }
}
#} )
Kommentiere ich jedoch die if-Zeile und ihr Gegensrück aus, läuft es.
Wie gesagt, mit dieser if-Technik kann ich aus einem größeren Werk einzelne Stimmen erzeugen. Aber dieses Elek ist störrisch.
Setze ich die \Elek-Variable in einer anderen Stimme ein, so streikt diese Stimme ebenfalls. Aber an dem Namen Elek liegt es nicht, Hhhh spinnt genauso.
Ich habe schon die Sequenz neu eingetippt um unsichtbare Zeichen auszuschließen. Fehlanzeige.
Welches Ei habe ich mir da gelegt bzw. was übersehe ich?
Ich Esel hatte vergessen, die Fehlermeldung mit anzuhängen:
Starte lilypond-windows.exe 2.18.2 [F2.ly]...
»D:/Daten/LilyPond/Oklahoma/F2.ly« wird verarbeitet
Analysieren...
D:/Daten/LilyPond/Oklahoma/F2.ly:19:17: Fehler: Ungültige Fluchtsequenz: »\Elek«
\Elek
D:/Daten/LilyPond/Oklahoma/F2.ly:19:17: Fehler: Zeichenkette nicht erkannt, weder Textbeschriftung noch \lyricmode
\Elek
D:/Daten/LilyPond/Oklahoma/F2.ly:20:17: Fehler: syntax error, unexpected \layout
\layout { }
D:/Daten/LilyPond/Oklahoma/F2.ly:17:1: Fehler: Fehler in #{ ... #}
$(if (eq? genElek #t) #{
D:/Daten/LilyPond/Oklahoma/F2.ly:18:9: Fehler: Fehler gefunden, musikalischer Ausdruck wird ignoriert
\new Staff {
schwerer Fehler: gescheiterte Dateien: "D:/Daten/LilyPond/Oklahoma/F2.ly"
Wurde mit dem Return-Code 1 beendet.
Danke schon mal vom 1/4