Hi Urs,
you can write a music-function that conditionally includes files.
I use a function to include a file, if it exists. The if statement can
of course also test for a option with ly:get-option.
Best, Jan-Peter
On 04.02.2013 16:48, Urs Liska wrote:
Hi list,
I don't know if I _could_ find this info myself, but I'm quite puzzled
about it and so I'd rather ask:
I would like to \include files depending on the presence (or absence)
of certain command-line options.
Basically it should do something like:
- if option A is present then \include A.ily
- if option B is present then \include B.ily
- if none of them is present then \include default.ily
Ideally this would be a function that I can define in a separate file
and only include this file in my main .ly file.
Background is: A, B and default are style sheets that style the score
according to their context (e.g. standalone score <--> part of a book
or draft <--> final mode).
While I know how to deal with this decision by writing both includes
in the file and comment out the one I don't need ATM, I would highly
prefer to be able to do this with a command line option, so I can run
a script on a potentially large number of files. (The only other
workaround I can think of now is to let the script actually rewrite
the .ly file before compiling it, but I think that's not really elegant).
I'd be grateful about any hints or solutions.
Best
Urs
_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user
\version "2.16.0"
includeIfExists =
#(define-music-function (parser location file)(string?)
(if (file-exists? file)
(ly:parser-include-string parser (format "\\include \"~A\"\n" file)))
(make-music 'SequentialMusic 'void #t))
\includeIfExists "config.ly"
{ c''4 }
\paper {
oddHeaderMarkup = "HALLO"
}
_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user