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