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