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 part
1 part
2) (ly
:music? ly
:music?
)
30 (make-part-combine-music
(list part
1 part
2)))
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
))
151 (ly
:warning
(_ "Second argument of \\pitchedTrill should be single note: "))
152 (display sec-note-events
)))
158 (parser location music
)
162 (if
(string?
(ly
:music-property mus
'quoted-music-name
))
163 (ly
:music-property mus
'element
)
172 (parser location main grace
)
173 (ly
:music? ly
:music?
)
176 ((main-length
(ly
:music-length main
))
177 (fraction
(ly
:parser-lookup parser
'afterGraceFraction
)))
179 (make-simultaneous-music
182 (make-sequential-music
185 (make-music
'SkipMusic
186 'duration
(ly
:make-duration
188 (* (ly
:moment-main-numerator main-length
)
190 (* (ly
:moment-main-denominator main-length
)
192 (make-music
'GraceMusic
193 'element grace
)))))))
197 #(def-music-function
(parser location n
) (integer?
)
198 (make-music
'ApplyContext
203 ((cbn
(ly
:context-property
c 'currentBarNumber
)))
205 (ly
:input-message location
"Barcheck failed got ~a expect ~a"
213 remove these from the parser, and softcode here:
217 with small syntax changes, we could also do