]> git.donarmstrong.com Git - lilypond.git/blob - scm/generic-property.scm
release: 1.3.66
[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
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
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 'Dots
50         (list
51                 (list 'dotDirection dir? 'direction)
52                 (list 'verticalDirection dir? 'direction)
53                 )
54         ))
55
56 (define generic-script-properties
57   (cons 'Script (list
58                   (list 'articulationScriptVerticalDirection dir? 'direction)
59                   (list 'articulationScriptPadding number? 'padding)
60
61                   ))
62   )
63
64
65
66 (define generic-text-properties
67   (cons 'Text_item (list
68                      (list 'textStyle string? 'style)
69                      (list 'lyricAlignment dir? 'self-alignment-X)
70                      (list 'textScriptPadding number? 'padding)
71                      (list 'textVerticalAlignment dir? 'self-alignment-Y)
72                      (list 'textHorizontalAlignment dir? 'self-alignment-X)
73                      (list 'textScriptWordSpace number? 'word-space)
74                      )
75         ))
76
77 (define generic-sustain-pedal-properties
78   (cons 'Sustain_pedal (list
79                          (list 'textScriptPadding number? 'padding)
80                          (list 'sustainPedalPadding number? 'padding))))
81
82 (define generic-chord-name-properties
83   (cons 'Chord_name (list
84                       (list 'textScriptWordSpace number? 'word-space)
85                       (list 'chordNameWordSpace number? 'word-space)
86                       (list 'chordNameStyle string? 'style))))
87
88 (define generic-crescendo-properties
89   (cons 'Crescendo (list
90                      (list 'dynamicDirection dir? 'direction)
91                      (list 'verticalDirection dir? 'direction)
92                      (list 'dynamicPadding number? 'padding) 
93                      (list 'dynamicMinimumSpace number? 'minimum-space) 
94                      )))
95   
96 (define generic-dynamic-line-spanner-properties
97   (cons 'Dynamic_line_spanner (list
98                      (list 'dynamicDirection dir? 'direction)
99                      (list 'verticalDirection dir? 'direction)
100                      (list 'dynamicPadding number? 'padding) 
101                      (list 'dynamicMinimumSpace number? 'minimum-space) 
102                      )))
103   
104 (define generic-volta-spanner-properties
105   (cons 'Volta_spanner (list
106                      (list 'voltaVerticalDirection dir? 'direction)
107                      (list 'voltaPadding number? 'padding) 
108                      (list 'voltaMinimumSpace number? 'minimum-space) 
109                      )))
110   
111 (define generic-bar-properties
112   (cons 'Staff_bar (list
113                      (list 'barSize number? 'bar-size))
114         )
115   )     
116
117 ; don't do this yet. Depends on whennn the staff is really announced
118 (define generic-staff-symbol-properties
119   (cons 'Staff_symbol (list
120                         )
121         )
122   )
123
124 (define generic-breathing-sign-properties
125   (cons 'Breathing_sign
126         (list
127          (list 'breathingSignVerticalDirection dir? 'direction)
128          (list 'verticalDirection dir? 'direction)
129          )))
130
131 (define generic-clef-properties
132   (cons 'Clef_item
133         (list
134          (list 'clefStyle string? 'style))
135         )
136   )
137
138 (define generic-All-properties
139   (cons 'all  (list (list 'fontSize number? 'fontsize))))
140
141
142 (define generic-notehead-properties
143   (cons 'Note_head
144         (list (list 'noteHeadStyle symbol? 'style))))
145
146
147 (define generic-rest-properties
148   (cons 'Rest
149         (list (list 'restStyle string? 'reststyle))))
150
151 (define generic-rest-collision-properties
152   (cons 'Rest_collision
153         (list (list 'maximumRestCount number? 'maximum-rest-count))))
154
155 (define generic-tie-properties
156   (cons 'Tie (list
157                (list 'tieVerticalDirection dir? 'direction)
158                (list 'verticalDirection dir? 'direction)
159 (list 'tieDash number? 'dashed)
160   )))
161
162 (define generic-tie-column-properties
163   (cons 'Tie_column (list
164                       (list 'tieVerticalDirection dir? 'direction)
165                       (list 'verticalDirection dir? 'direction)
166   )))
167
168 (define generic-note-column-properties
169   (cons 'Note_column
170         (list
171          (list 'horizontalNoteShift number? 'horizontal-shift)
172          (list 'forceHorizontalShift number? 'force-hshift)
173          )))
174
175 (define generic-collision-properties
176   (cons 'Collision
177         (list
178          (list 'collisionMergeDotted boolean? 'merge-differently-dotted)
179          )
180         )
181   )
182   
183 (define generic-slur-properties
184   (cons 'Slur
185         (list
186          (list 'slurVerticalDirection dir? 'direction)
187          (list 'verticalDirection dir? 'direction)       
188          (list 'slurDash number? 'dashed))))
189
190 (define generic-timesig-properties
191   (cons 'Time_signature
192         (list
193          (list 'timeSignatureStyle string? 'style))))
194
195 (define (symbol-or-boolean? s)
196   (or (boolean? s) (symbol? s)))
197
198 (define generic-tuplet-spanner-properties
199   (cons 'Tuplet_spanner
200         (list
201          (list 'tupletDirection dir? 'direction)
202          (list 'tupletNumberVisibility symbol-or-boolean? 'tuplet-number-visibility)
203          (list 'tupletBracketVisibility symbol-or-boolean? 'tuplet-bracket-visibility)
204         ))
205 )
206
207
208
209
210
211 ;;;;;;;;;;
212 ;; don't forget to add these to the Generic_property_list property in
213 ;; engraver.ly
214
215 (define generic-voice-properties
216   (list
217    generic-stem-properties
218    generic-breathing-sign-properties
219    generic-crescendo-properties
220    generic-dynamic-line-spanner-properties
221    generic-tie-properties
222    generic-tie-column-properties   
223    generic-tuplet-spanner-properties
224    generic-notehead-properties
225    generic-rest-properties
226    generic-slur-properties
227    generic-beam-properties
228    generic-text-properties
229    generic-sustain-pedal-properties
230    generic-note-column-properties
231    generic-script-properties
232    generic-All-properties
233    ))
234
235 (define generic-grace-properties generic-voice-properties)
236 (define generic-staff-properties
237   (list
238    generic-text-properties   
239    generic-bar-properties
240    generic-timesig-properties
241    generic-clef-properties
242    generic-collision-properties
243    generic-sustain-pedal-properties
244    generic-rest-collision-properties
245    generic-volta-spanner-properties
246 ;   generic-staff-symbol-properties
247    generic-All-properties      
248    )
249   )
250 (define generic-grand-staff-properties
251   (list
252    generic-text-properties   
253    generic-bar-properties
254    ))
255
256 (define generic-thread-properties
257   (list generic-All-properties
258         generic-notehead-properties
259         generic-dot-properties
260         )
261
262   )
263    
264 (define generic-lyrics-properties
265   (list generic-text-properties
266   )
267 )
268
269 (define generic-chord-staff-properties
270   (list generic-chord-name-properties
271   )
272 )