2 (define-public music-descriptions
6 (internal-class-name . "Arpeggio_req")
7 (types . (general-music event))
11 (internal-class-name . "Articulation_req")
12 (types . (general-music event articulation-event script-event))
16 (internal-class-name . "Bass_figure_req")
17 (types . (general-music event rhythmic-event bass-figure-event))
21 (internal-class-name . "Break_req")
23 (types . (general-music event))
27 (internal-class-name . "Breathing_sign_req")
29 (types . (general-music event breathing-event))
33 (internal-class-name . "Busy_playing_req")
35 (types . (general-music event busy-playing-event))
39 (internal-class-name . "Extender_req")
40 (types . (general-music event))
44 (internal-class-name . "Glissando_req")
45 (types . (general-music event))
49 (internal-class-name . "Grace_music")
50 (iterator-ctor . ,Grace_iterator::constructor)
51 (types . (grace-music music-wrapper-music general-music))
55 (internal-class-name . "Hyphen_req")
56 (types . (general-music event))
60 (internal-class-name . "Key_change_req")
61 (types . (general-music event))
65 (internal-class-name . "Lyric_req")
66 (types . (general-music rhythmic-event event))
70 (internal-class-name . "Mark_req")
71 (types . (general-music event))
75 (internal-class-name . "Melisma_playing_req")
76 (types . (general-music span-event event))
80 (internal-class-name . "Melisma_req")
81 (types . (general-music event))
85 (internal-class-name . "Music")
86 (types . (general-music))
90 (internal-class-name . "Note_req")
91 (types . (general-music event rhythmic-event melodic-event))
95 (internal-class-name . "Porrectus_req")
96 (types . (general-music event))
100 (internal-class-name . "Repeated_music")
101 (type . repeated-music)
102 (types . (general-music repeat-music))
106 (internal-class-name . "Request")
107 (types . (general-music event))
111 (internal-class-name . "Rest_req")
112 (types . (general-music event rhythmic-event ))
116 (internal-class-name . "Rhythmic_req")
117 (types . (general-music rhythmic-event event))
121 (internal-class-name . "Sequential_music")
122 (iterator-ctor . ,Sequential_music_iterator::constructor)
123 (types . (general-music sequential-music))
127 (internal-class-name . "Simultaneous_music")
128 (iterator-ctor . ,Simultaneous_music_iterator::constructor)
130 (types . (general-music simultaneous-music))
134 (internal-class-name . "Music")
135 (types . (layout-instruction general-music))
136 (iterator-ctor . ,Property_iterator::constructor)
141 (internal-class-name . "Music")
142 (types . (layout-instruction general-music))
143 (iterator-ctor . ,Property_unset_iterator::constructor)
148 (internal-class-name . "Music")
149 (types . (separator general-music))
153 (internal-class-name . "Music")
154 (types . (general-music bar-check))
155 (iterator-ctor . ,Bar_check_iterator::constructor)
159 (internal-class-name . "Music")
160 (types . (general-music layout-instruction))
161 (iterator-ctor . , Push_property_iterator::constructor)
166 (internal-class-name . "Music")
167 (types . (general-music layout-instruction))
168 (iterator-ctor . , Pop_property_iterator::constructor)
171 (OutputPropertySetMusic
173 (internal-class-name . "Music")
174 (iterator-ctor . ,Output_property_music_iterator::constructor)
175 (types . (general-music layout-instruction))
179 (internal-class-name . "Context_specced_music")
180 (types . (context-specification general-music music-wrapper-music))
184 (internal-class-name . "Music_wrapper")
185 (iterator-ctor . ,Auto_change_iterator::constructor)
186 (types . (general-music music-wrapper-music auto-change-instruction))
190 (internal-class-name . "Music")
191 (iterator-ctor . , Change_iterator::constructor)
192 (types . (general-music translator-change-instruction))
198 (internal-class-name . "Time_scaled_music")
199 (iterator-ctor . ,Time_scaled_music_iterator::constructor)
200 (types . (time-scaled-music music-wrapper-music general-music))
204 (internal-class-name . "Transposed_music")
205 (types . (music-wrapper-music general-music transposed-music))
210 (internal-class-name . "Untransposable_music")
211 (types . (music-wrapper-music general-music untransposable-music))
216 (internal-class-name . "Un_relativable_music")
217 (types . (music-wrapper-music general-music unrelativable-music))
222 (internal-class-name . "Relative_octave_music")
223 (types . (music-wrapper-music general-music relative-octave-music))
228 (internal-class-name . "Lyric_combine_music")
229 (types . (general-music lyric-combine-music))
230 (iterator-ctor . ,Lyric_combine_music_iterator::constructor)
235 (internal-class-name . "Part_combine_music")
236 (types . (general-music part-combine-music))
237 (iterator-ctor . ,Part_combine_music_iterator::constructor)
241 (internal-class-name . "Request_chord")
242 (iterator-ctor . ,Request_chord_iterator::constructor)
243 (types . (general-music simultaneous-music))
249 (internal-class-name . "Script_req")
251 (types . (general-music event))
255 (internal-class-name . "Skip_req")
257 (types . (general-music event rhythmic-event ))
261 (internal-class-name . "Span_req")
262 (types . (general-music event))
266 (internal-class-name . "String_number_req")
268 (types . (general-music event))
272 (internal-class-name . "Tempo_req")
274 (types . (general-music event))
278 (internal-class-name . "Text_script_req")
279 (types . (general-music script-event text-script-event event))
283 (internal-class-name . "Tie_req")
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 'internal-class-name props)) "Music"))
306 (ly-warn (format "Could not find music type `~a'" x)))
307 (ly-make-bare-music name props)