7 #(use-modules (srfi srfi-1))
10 #(def-music-function (parser location func music) (procedure? ly:music?)
14 #(def-music-function (parser location music lyrics) (ly:music? ly:music?)
16 (make-music 'OldLyricCombineMusic
18 'elements (list music lyrics)))
21 #(def-grace-function startGraceMusic stopGraceMusic)
24 #(def-grace-function startAcciaccaturaMusic stopAcciaccaturaMusic)
26 #(def-grace-function startAppoggiaturaMusic stopAppoggiaturaMusic)
29 #(def-music-function (parser location part1 part2) (ly:music? ly:music?)
30 (make-part-combine-music (list part1 part2)))
33 #(def-music-function (parser location music) (ly:music?)
34 (make-autochange-music music))
37 #(def-music-function (parser location proc) (procedure?)
38 (make-music 'ApplyContext
43 #(def-music-function (parser location proc mus) (procedure? ly:music?)
47 #(def-music-function (parser location music) (ly:music?)
48 (display-scheme-music music)
51 #(def-music-function (parser location proc) (procedure?)
52 (make-music 'ApplyOutputEvent
57 #(def-music-function (parser location) ()
58 (make-music 'EventChord
60 'elements (list (make-music 'BreathingSignEvent))))
64 #(def-music-function (parser location music) (ly:music?)
65 (unfold-repeats music))
69 (parser location fraction music) (number-pair? ly:music?)
70 (ly:music-compress music (ly:make-moment (car fraction) (cdr fraction))))
74 (parser location arg) (ly:music?)
75 (music-map note-to-cluster arg))
80 (parser location tag music) (symbol? ly:music?)
83 (let* ((tags (ly:music-property m 'tags))
84 (res (memq tag tags)))
90 (parser location tag music) (symbol? ly:music?)
93 (let* ((tags (ly:music-property m 'tags))
94 (res (memq tag tags)))
103 %% def-music-function in a .scm causes crash.
107 (parser location what dir main-music)
108 (string? ly:dir? ly:music?)
109 (make-music 'QuoteMusic
111 'quoted-context-type 'Voice
112 'quoted-context-id "cue"
113 'quoted-music-name what
114 'quoted-voice-direction dir
120 (parser location what main-music)
122 (make-music 'QuoteMusic
124 'quoted-music-name what
131 (parser location main-note secondary-note)
132 (ly:music? ly:music?)
134 ((get-notes (lambda (ev-chord)
136 (lambda (m) (eq? 'NoteEvent (ly:music-property m 'name)))
137 (ly:music-property ev-chord 'elements))))
138 (sec-note-events (get-notes secondary-note))
139 (trill-events (filter (lambda (m) (memq 'trill-span-event (ly:music-property m 'types)))
140 (ly:music-property main-note 'elements)))
143 (if (pair? sec-note-events)
144 (ly:music-property (car sec-note-events) 'pitch)
147 (if (ly:pitch? trill-pitch)
148 (for-each (lambda (m) (ly:music-set-property! m 'trill-pitch trill-pitch))
150 (ly:warning (_ "Second argument of \\pitchedTrill should be single note.")))
156 (parser location music)
160 (if (string? (ly:music-property mus 'quoted-music-name))
161 (ly:music-property mus 'element)
170 (parser location main grace)
171 (ly:music? ly:music?)
174 ((main-length (ly:music-length main))
175 (fraction (ly:parser-lookup parser 'afterGraceFraction)))
177 (make-simultaneous-music
180 (make-sequential-music
183 (make-music 'SkipMusic
184 'duration (ly:make-duration
186 (* (ly:moment-main-numerator main-length)
188 (* (ly:moment-main-denominator main-length)
190 (make-music 'GraceMusic
191 'element grace)))))))
195 #(def-music-function (parser location n) (integer?)
196 (make-music 'ApplyContext
201 ((cbn (ly:context-property c 'currentBarNumber)))
203 (ly:input-message location "Barcheck failed got ~a expect ~a"
211 remove these from the parser, and softcode here:
215 with small syntax changes, we could also do