2 ; BROKEN as of 1.3.55, FIXME
9 ; (list PROPERTYDESCRIPTIONS))
15 ; (list 'translatorPropertySymbol type-predicate backend-property-symbol)
17 ; Descriptions earlier in the list take precedence over later descriptions.
21 (define generic-beam-properties
24 (list 'beamSlopeDamping number? 'damping)
25 (list 'autoKneeGap number? 'auto-knee-gap)
26 (list 'autoInterstaffKneeGap number? 'auto-interstaff-knee-gap)
27 (list 'beamDirAlgorithm symbol? 'beam-dir-algorithm)
28 (list 'beamHeight number? 'height)
29 (list 'beamVerticalPosition number? 'staff-position)
35 (define generic-stem-properties
38 (list 'stemVerticalDirection dir? 'direction)
39 (list 'verticalDirection dir? 'direction)
40 (list 'stemLength number? 'length)
41 (list 'flagStyle string? 'flag-style)
42 (list 'noStemExtend boolean? 'no-stem-extend)
43 (list 'stemShorten number? 'shorten)
47 (define generic-dot-properties
50 (list 'dotDirection dir? 'direction)
51 (list 'verticalDirection dir? 'direction)
55 (define generic-script-properties
56 (cons 'script-interface
58 (list 'articulationScriptVerticalDirection dir? 'direction)
59 (list 'articulationScriptPadding number? 'padding)
66 (define generic-text-properties
67 (cons 'text-item-interface
69 (list 'textStyle string? 'style)
70 (list 'lyricAlignment dir? 'self-alignment-X)
71 (list 'textScriptPadding number? 'padding)
72 (list 'textVerticalAlignment dir? 'self-alignment-Y)
73 (list 'textHorizontalAlignment dir? 'self-alignment-X)
74 (list 'textScriptWordSpace number? 'word-space)
78 (define generic-sustain-pedal-properties
79 (cons 'sustain-pedal-interface
81 (list 'sustainPedalPadding number? 'padding))))
83 (define generic-chord-name-properties
84 (cons 'chord-name-interface
86 (list 'textScriptWordSpace number? 'word-space)
87 (list 'chordNameWordSpace number? 'word-space)
88 (list 'chordNameStyle string? 'style))))
90 (define generic-crescendo-properties
91 (cons 'crescendo-interface
93 (list 'dynamicDirection dir? 'direction)
94 (list 'verticalDirection dir? 'direction)
95 (list 'dynamicPadding number? 'padding)
96 (list 'dynamicMinimumSpace number? 'minimum-space)
99 (define generic-dynamic-line-spanner-properties
100 (cons 'dynamic-interface
102 (list 'dynamicDirection dir? 'direction)
103 (list 'verticalDirection dir? 'direction)
104 (list 'dynamicPadding number? 'padding)
105 (list 'dynamicMinimumSpace number? 'minimum-space)
108 (define generic-volta-spanner-properties
109 (cons 'volta-spanner-interface (list
110 (list 'voltaVerticalDirection dir? 'direction)
111 (list 'voltaPadding number? 'padding)
112 (list 'voltaMinimumSpace number? 'minimum-space)
115 (define generic-bar-properties
116 (cons 'staff-bar-interface
118 (list 'barSize number? 'bar-size))
122 (define generic-bar-number-properties
123 (cons 'bar-number-interface
125 (list 'barNumberScriptPadding number? 'padding)
126 (list 'barNumberDirection dir? 'direction)
133 ; don't do this yet. Depends on whennn the staff is really announced
134 (define generic-staff-symbol-properties
135 (cons 'staff-symbol-interface
141 (define generic-breathing-sign-properties
142 (cons 'breathing-sign-interface
144 (list 'breathingSignVerticalDirection dir? 'direction)
145 (list 'verticalDirection dir? 'direction)
148 (define generic-clef-properties
149 (cons 'clef-interface
151 (list 'clefStyle string? 'style))
155 (define generic-All-properties
157 (list (list 'fontSize number? 'font-relative-size))))
160 (define generic-notehead-properties
161 (cons 'note-head-interface
162 (list (list 'noteHeadStyle symbol? 'style))))
164 (define generic-notename-properties
165 (cons 'note-name-interface
166 (list (list 'noteNameStyle symbol? 'style))))
169 (define generic-rest-properties
170 (cons 'rest-interface
171 (list (list 'restStyle string? 'reststyle))))
173 (define generic-rest-collision-properties
174 (cons 'rest-collision-interface
175 (list (list 'maximumRestCount number? 'maximum-rest-count))))
177 (define generic-tie-properties
180 (list 'tieVerticalDirection dir? 'direction)
181 (list 'verticalDirection dir? 'direction)
182 (list 'tieDash number? 'dashed)
185 (define generic-tie-column-properties
186 (cons 'tie-column-interface (list
187 (list 'tieVerticalDirection dir? 'direction)
188 (list 'verticalDirection dir? 'direction)
191 (define generic-note-column-properties
192 (cons 'note-column-interface
194 (list 'horizontalNoteShift number? 'horizontal-shift)
195 (list 'forceHorizontalShift number? 'force-hshift)
198 (define generic-collision-properties
199 (cons 'collision-interface
201 (list 'collisionMergeDotted boolean? 'merge-differently-dotted)
206 (define generic-slur-properties
207 (cons 'slur-interface
209 (list 'slurVerticalDirection dir? 'direction)
210 (list 'verticalDirection dir? 'direction)
211 (list 'slurDash number? 'dashed))))
213 (define generic-timesig-properties
214 (cons 'time-signature-interface
216 (list 'timeSignatureStyle string? 'style))))
218 (define (symbol-or-boolean? s)
219 (or (boolean? s) (symbol? s)))
221 (define generic-tuplet-spanner-properties
222 (cons 'tuplet-spanner-interface
224 (list 'tupletDirection dir? 'direction)
225 (list 'tupletNumberVisibility symbol-or-boolean? 'tuplet-number-visibility)
226 (list 'tupletBracketVisibility symbol-or-boolean? 'tuplet-bracket-visibility)
235 ;; don't forget to add these to the Generic_property_list property in
238 (define generic-voice-properties
240 generic-stem-properties
241 generic-breathing-sign-properties
242 generic-crescendo-properties
243 generic-dynamic-line-spanner-properties
244 generic-tie-properties
245 generic-tie-column-properties
246 generic-tuplet-spanner-properties
247 generic-notehead-properties
248 generic-rest-properties
249 generic-slur-properties
250 generic-beam-properties
251 generic-text-properties
252 generic-sustain-pedal-properties
253 generic-note-column-properties
254 generic-script-properties
255 generic-All-properties
258 (define generic-grace-properties generic-voice-properties)
259 (define generic-staff-properties
261 generic-text-properties
262 generic-bar-properties
263 generic-timesig-properties
264 generic-clef-properties
265 generic-collision-properties
266 generic-sustain-pedal-properties
267 generic-rest-collision-properties
268 generic-volta-spanner-properties
269 ; generic-staff-symbol-properties
270 generic-All-properties
273 (define generic-grand-staff-properties
275 generic-text-properties
276 generic-bar-properties
279 (define generic-thread-properties
280 (list generic-All-properties
281 generic-notehead-properties
282 generic-dot-properties
287 (define generic-lyrics-properties
288 (list generic-text-properties
292 (define generic-chord-staff-properties
293 (list generic-chord-name-properties