4 applymusic
= #(def-music-function
(parser location func music
) (procedure? ly
:music?
)
7 oldaddlyrics
= #(def-music-function
(parser location music lyrics
) (ly
:music? ly
:music?
)
9 (make-music
'OldLyricCombineMusic
11 'elements
(list music lyrics
)))
13 grace
= #(def-grace-function startGraceMusic stopGraceMusic
)
15 acciaccatura
= #(def-grace-function startAcciaccaturaMusic stopAcciaccaturaMusic
)
16 appoggiatura
= #(def-grace-function startAppoggiaturaMusic stopAppoggiaturaMusic
)
18 partcombine
= #(def-music-function
(parser location part
1 part
2) (ly
:music? ly
:music?
)
19 (make-part-combine-music
(list part
1 part
2)))
21 autochange
= #(def-music-function
(parser location music
) (ly
:music?
)
22 (make-autochange-music music
))
24 applycontext
= #(def-music-function
(parser location proc
) (procedure?
)
25 (make-music
'ApplyContext
29 musicMap
= #(def-music-function
(parser location proc mus
) (procedure? ly
:music?
)
32 displayMusic
= #(def-music-function
(parser location music
) (ly
:music?
)
33 (display-scheme-music music
)
35 applyoutput
= #(def-music-function
(parser location proc
) (procedure?
)
36 (make-music
'ApplyOutputEvent
40 breathe
= #(def-music-function
(parser location
) ()
41 (make-music
'EventChord
43 'elements
(list
(make-music
'BreathingSignEvent
))))
46 unfoldRepeats
= #(def-music-function
(parser location music
) (ly
:music?
)
47 (unfold-repeats music
))
49 compressMusic
= #(def-music-function
50 (parser location fraction music
) (number-pair? ly
:music?
)
51 (ly
:music-compress music
(ly
:make-moment
(car fraction
) (cdr fraction
))))
53 makeClusters
= #(def-music-function
54 (parser location arg
) (ly
:music?
)
55 (music-map note-to-cluster arg
))
60 (parser location tag music
) (symbol? ly
:music?
)
63 (let
* ((tags
(ly
:music-property m
'tags
))
64 (res
(memq tag tags
)))
70 (parser location tag music
) (symbol? ly
:music?
)
73 (let
* ((tags
(ly
:music-property m
'tags
))
74 (res
(memq tag tags
)))
83 %% def-music-function in a .scm causes crash.
87 (parser location what dir main-music
)
88 (string? ly
:dir? ly
:music?
)
89 (make-music
'QuoteMusic
91 'quoted-context-type
'Voice
92 'quoted-context-id
"cue"
93 'quoted-music-name what
94 'quoted-voice-direction dir
100 (parser location what main-music
)
102 (make-music
'QuoteMusic
104 'quoted-music-name what
112 (parser location music
)
116 (if
(string?
(ly
:music-property mus
'quoted-music-name
))
117 (ly
:music-property mus
'element
)
121 afterGraceFraction
= #(cons
6 8)
125 (parser location main grace
)
126 (ly
:music? ly
:music?
)
129 ((main-length
(ly
:music-length main
))
130 (fraction
(ly
:parser-lookup parser
'afterGraceFraction
)))
132 (make-simultaneous-music
135 (make-sequential-music
138 (make-music
'SkipMusic
139 'duration
(ly
:make-duration
141 (* (ly
:moment-main-numerator main-length
)
143 (* (ly
:moment-main-denominator main-length
)
145 (make-music
'GraceMusic
146 'element grace
)))))))
152 remove these from the parser, and softcode here:
156 with small syntax changes, we could also do