2 (define-public music-descriptions
6 (name . "Arpeggio_req")
7 (types . (general-music event))
11 (name . "Articulation_req")
12 (types . (general-music event articulation-event script-event))
16 (name . "Bass_figure_req")
17 (types . (general-music event rhythmic-event bass-figure-event))
23 (types . (general-music event))
27 (name . "Breathing_sign_req")
29 (types . (general-music event breathing-event))
33 (name . "Busy_playing_req")
35 (types . (general-music event busy-playing-event))
39 (name . "Extender_req")
40 (types . (general-music event))
44 (name . "Glissando_req")
45 (types . (general-music event))
49 (name . "Grace_music")
50 (iterator-ctor . ,Grace_iterator::constructor)
51 (types . (grace-music music-wrapper-music general-music))
56 (types . (general-music event))
60 (name . "Key_change_req")
61 (types . (general-music event))
66 (types . (general-music rhythmic-event event))
71 (types . (general-music event))
75 (name . "Melisma_playing_req")
76 (types . (general-music span-event event))
80 (name . "Melisma_req")
81 (types . (general-music event))
86 (types . (general-music))
91 (types . (general-music event rhythmic-event melodic-event))
95 (name . "Porrectus_req")
96 (types . (general-music event))
100 (name . "Repeated_music")
101 (type . repeated-music)
102 (types . (general-music repeat-music))
107 (types . (general-music event))
112 (types . (general-music event rhythmic-event ))
116 (name . "Rhythmic_req")
117 (types . (general-music rhythmic-event event))
121 (name . "Sequential_music")
122 (iterator-ctor . ,Sequential_music_iterator::constructor)
123 (types . (general-music sequential-music))
127 (name . "Simultaneous_music")
128 (iterator-ctor . ,Simultaneous_music_iterator::constructor)
130 (types . (general-music simultaneous-music))
135 (types . (layout-instruction general-music))
136 (iterator-ctor . ,Property_iterator::constructor)
142 (types . (layout-instruction general-music))
143 (iterator-ctor . ,Property_unset_iterator::constructor)
149 (types . (separator general-music))
154 (types . (general-music bar-check))
155 (iterator-ctor . ,Bar_check_iterator::constructor)
160 (types . (general-music layout-instruction))
161 (iterator-ctor . , Push_property_iterator::constructor)
167 (types . (general-music layout-instruction))
168 (iterator-ctor . , Pop_property_iterator::constructor)
171 (OutputPropertySetMusic
174 (iterator-ctor . ,Output_property_music_iterator::constructor)
175 (types . (general-music layout-instruction))
179 (name . "Context_specced_music")
180 (types . (context-specification general-music music-wrapper-music))
184 (name . "Music_wrapper")
185 (iterator-ctor . ,Auto_change_iterator::constructor)
186 (types . (general-music music-wrapper-music auto-change-instruction))
191 (iterator-ctor . , Change_iterator::constructor)
192 (types . (general-music translator-change-instruction))
198 (name . "Time_scaled_music")
199 (iterator-ctor . ,Time_scaled_music_iterator::constructor)
200 (types . (time-scaled-music music-wrapper-music general-music))
204 (name . "Transposed_music")
205 (types . (music-wrapper-music general-music transposed-music))
210 (name . "Untransposable_music")
211 (types . (music-wrapper-music general-music untransposable-music))
216 (name . "Un_relativable_music")
217 (types . (music-wrapper-music general-music unrelativable-music))
222 (name . "Relative_octave_music")
223 (types . (music-wrapper-music general-music relative-octave-music))
228 (name . "Lyric_combine_music")
229 (types . (general-music lyric-combine-music))
230 (iterator-ctor . ,Lyric_combine_music_iterator::constructor)
235 (name . "Part_combine_music")
236 (types . (general-music part-combine-music))
237 (iterator-ctor . ,Part_combine_music_iterator::constructor)
241 (name . "Request_chord")
242 (iterator-ctor . ,Request_chord_iterator::constructor)
243 (types . (general-music simultaneous-music))
249 (name . "Script_req")
251 (types . (general-music event))
257 (types . (general-music event rhythmic-event ))
262 (types . (general-music event))
266 (name . "String_number_req")
268 (types . (general-music event))
274 (types . (general-music event))
278 (name . "Text_script_req")
279 (types . (general-music script-event text-script-event event))
284 (types . (general-music tie-event event))
290 (define music-name-to-property-table (make-vector 59))
292 (hashq-set! music-name-to-property-table (car x) (cdr x))
296 (define-public (make-music-by-name x)
297 (if (not (symbol? x))
298 (misc-error "Not a symbol: ~s" x))
301 (props (hashq-ref music-name-to-property-table x '()))
302 (name (if (pair? props) (cdr (assoc 'name props)) "Music"))
306 (ly-warn (format "Could not find music type `~a'" x)))
307 (ly-make-bare-music name props)