\version "2.18.2" #(use-modules (ice-9 regex)) #(define-public (lalily-test-location? parser location) (let ((outname (ly:parser-output-name parser)) (locname (car (ly:input-file-line-char-column location)))) ; check if parser-output-name and location-name match (regexp-match? (string-match (format "^(.*/)?~A\\.i?ly$" outname) locname)) )) doScore = #(define-void-function (parser location cond? mus)(procedure? ly:music?) ; if condition is met, parser shall create score (if (cond? parser location) (begin (ly:parser-define! parser 'doScoreMusic mus) (ly:parser-include-string parser (format "\\score { \\doScoreMusic }")) ))) % music definition exampleMusic = \relative c'' { c4 b bes a } % create score, if condition is met \doScore #lalily-test-location? \exampleMusic