]> git.donarmstrong.com Git - lilypond.git/blob - scm/generic-property.scm
release: 1.3.80
[lilypond.git] / scm / generic-property.scm
1
2 ; BROKEN as of 1.3.55, FIXME
3 ;
4
5
6 ;
7 ; Format: 
8 ; (cons 'Type name
9 ;    (list PROPERTYDESCRIPTIONS))
10
11 ; where
12 ; PROPERTYDESCRIPTION
13 ; is
14 ;
15 ;  (list 'translatorPropertySymbol type-predicate backend-property-symbol)
16 ;
17 ; Descriptions earlier in the list take precedence over later descriptions.
18 ;
19
20
21 (define generic-beam-properties
22   (cons 'beam-interface
23         (list
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-hs)
29          (list 'beamVerticalPosition number? 'y-position-hs)
30          )
31         )
32   )
33
34
35 (define generic-stem-properties
36   (cons 'stem-interface
37         (list
38          (list 'stemVerticalDirection dir? 'direction)
39          (list 'verticalDirection dir? 'direction)       
40          (list 'stemLength number? 'length)
41          (list 'flagStyle string? 'flag-style)
42          (list 'stemCentered boolean? 'stem-centered)
43          (list 'noStemExtend boolean? 'no-stem-extend)
44          (list 'stemShorten number? 'shorten)
45          ))
46   )
47
48 (define generic-dot-properties
49   (cons 'dot-interface
50         (list
51                 (list 'dotDirection dir? 'direction)
52                 (list 'verticalDirection dir? 'direction)
53                 )
54         ))
55
56 (define generic-script-properties
57   (cons 'script-interface
58         (list
59                   (list 'articulationScriptVerticalDirection dir? 'direction)
60                   (list 'articulationScriptPadding number? 'padding)
61
62                   ))
63   )
64
65
66
67 (define generic-text-properties
68   (cons 'text-item-interface
69         (list
70                      (list 'textStyle string? 'style)
71                      (list 'lyricAlignment dir? 'self-alignment-X)
72                      (list 'textScriptPadding number? 'padding)
73                      (list 'textVerticalAlignment dir? 'self-alignment-Y)
74                      (list 'textHorizontalAlignment dir? 'self-alignment-X)
75                      (list 'textScriptWordSpace number? 'word-space)
76                      )
77         ))
78
79 (define generic-sustain-pedal-properties
80   (cons 'sustain-pedal-interface
81         (list
82          (list 'sustainPedalPadding number? 'padding))))
83
84 (define generic-chord-name-properties
85   (cons 'chord-name-interface
86         (list
87          (list 'textScriptWordSpace number? 'word-space)
88          (list 'chordNameWordSpace number? 'word-space)
89          (list 'chordNameStyle string? 'style))))
90
91 (define generic-crescendo-properties
92   (cons 'crescendo-interface
93         (list
94          (list 'dynamicDirection dir? 'direction)
95          (list 'verticalDirection dir? 'direction)
96          (list 'dynamicPadding number? 'padding) 
97          (list 'dynamicMinimumSpace number? 'minimum-space) 
98          )))
99
100 (define generic-dynamic-line-spanner-properties
101   (cons 'dynamic-interface
102         (list
103                      (list 'dynamicDirection dir? 'direction)
104                      (list 'verticalDirection dir? 'direction)
105                      (list 'dynamicPadding number? 'padding) 
106                      (list 'dynamicMinimumSpace number? 'minimum-space) 
107                      )))
108   
109 (define generic-volta-spanner-properties
110   (cons 'volta-spanner-interface (list
111                      (list 'voltaVerticalDirection dir? 'direction)
112                      (list 'voltaPadding number? 'padding) 
113                      (list 'voltaMinimumSpace number? 'minimum-space) 
114                      )))
115   
116 (define generic-bar-properties
117   (cons 'staff-bar-interface
118         (list
119          (list 'barSize number? 'bar-size))
120         )
121   )     
122
123 ; don't do this yet. Depends on whennn the staff is really announced
124 (define generic-staff-symbol-properties
125   (cons 'staff-symbol-interface
126         (list
127          )
128         )
129   )
130
131 (define generic-breathing-sign-properties
132   (cons 'breathing-sign-interface
133         (list
134          (list 'breathingSignVerticalDirection dir? 'direction)
135          (list 'verticalDirection dir? 'direction)
136          )))
137
138 (define generic-clef-properties
139   (cons 'clef-interface
140         (list
141          (list 'clefStyle string? 'style))
142         )
143   )
144
145 (define generic-All-properties
146   (cons 'all
147         (list (list 'fontSize number? 'fontsize))))
148
149
150 (define generic-notehead-properties
151   (cons 'note-head-interface
152         (list (list 'noteHeadStyle symbol? 'style))))
153
154
155 (define generic-rest-properties
156   (cons 'rest-interface
157         (list (list 'restStyle string? 'reststyle))))
158
159 (define generic-rest-collision-properties
160   (cons 'rest-collision-interface
161         (list (list 'maximumRestCount number? 'maximum-rest-count))))
162
163 (define generic-tie-properties
164   (cons 'tie-interface
165         (list
166                (list 'tieVerticalDirection dir? 'direction)
167                (list 'verticalDirection dir? 'direction)
168 (list 'tieDash number? 'dashed)
169   )))
170
171 (define generic-tie-column-properties
172   (cons 'tie-column-interface (list
173                       (list 'tieVerticalDirection dir? 'direction)
174                       (list 'verticalDirection dir? 'direction)
175   )))
176
177 (define generic-note-column-properties
178   (cons 'note-column-interface
179         (list
180          (list 'horizontalNoteShift number? 'horizontal-shift)
181          (list 'forceHorizontalShift number? 'force-hshift)
182          )))
183
184 (define generic-collision-properties
185   (cons 'collision-interface
186         (list
187          (list 'collisionMergeDotted boolean? 'merge-differently-dotted)
188          )
189         )
190   )
191   
192 (define generic-slur-properties
193   (cons 'slur-interface
194         (list
195          (list 'slurVerticalDirection dir? 'direction)
196          (list 'verticalDirection dir? 'direction)       
197          (list 'slurDash number? 'dashed))))
198
199 (define generic-timesig-properties
200   (cons 'time-signature-interface
201         (list
202          (list 'timeSignatureStyle string? 'style))))
203
204 (define (symbol-or-boolean? s)
205   (or (boolean? s) (symbol? s)))
206
207 (define generic-tuplet-spanner-properties
208   (cons 'tuplet-spanner-interface
209         (list
210          (list 'tupletDirection dir? 'direction)
211          (list 'tupletNumberVisibility symbol-or-boolean? 'tuplet-number-visibility)
212          (list 'tupletBracketVisibility symbol-or-boolean? 'tuplet-bracket-visibility)
213         ))
214 )
215
216
217
218
219
220 ;;;;;;;;;;
221 ;; don't forget to add these to the Generic_property_list property in
222 ;; engraver.ly
223
224 (define generic-voice-properties
225   (list
226    generic-stem-properties
227    generic-breathing-sign-properties
228    generic-crescendo-properties
229    generic-dynamic-line-spanner-properties
230    generic-tie-properties
231    generic-tie-column-properties   
232    generic-tuplet-spanner-properties
233    generic-notehead-properties
234    generic-rest-properties
235    generic-slur-properties
236    generic-beam-properties
237    generic-text-properties
238    generic-sustain-pedal-properties
239    generic-note-column-properties
240    generic-script-properties
241    generic-All-properties
242    ))
243
244 (define generic-grace-properties generic-voice-properties)
245 (define generic-staff-properties
246   (list
247    generic-text-properties   
248    generic-bar-properties
249    generic-timesig-properties
250    generic-clef-properties
251    generic-collision-properties
252    generic-sustain-pedal-properties
253    generic-rest-collision-properties
254    generic-volta-spanner-properties
255 ;   generic-staff-symbol-properties
256    generic-All-properties      
257    )
258   )
259 (define generic-grand-staff-properties
260   (list
261    generic-text-properties   
262    generic-bar-properties
263    ))
264
265 (define generic-thread-properties
266   (list generic-All-properties
267         generic-notehead-properties
268         generic-dot-properties
269         )
270
271   )
272    
273 (define generic-lyrics-properties
274   (list generic-text-properties
275   )
276 )
277
278 (define generic-chord-staff-properties
279   (list generic-chord-name-properties
280   )
281 )