]> git.donarmstrong.com Git - lilypond.git/blob - ly/property.ly
patch::: 1.1.27.jcn3: geen genade
[lilypond.git] / ly / property.ly
1 % property.ly
2 % list of properties that lily recognises
3 % and some shorthands (ugh)
4
5 %{
6
7 PROPERTIES
8
9 name                    value   effect                  shorthand
10
11 [Voice]
12 ydirection              -1      force stem down         \stemdown
13 ydirection              0       stem direction free     \stemboth
14 ydirection              1       force stem up           \stemup
15
16 pletvisibility          0       show nothing
17 pletvisibility          1       show number
18 pletvisibility          2       show (number and bracket)-if-no-beam
19 pletvisibility          3       show number, and bracket-if-no-beam
20 pletvisibility          4       show number, and bracket
21
22 slurdash                0       normal slurs
23 slurdash                1       dotted slurs
24 slurdash                >1      dashed slurs
25
26 slurydirection          -1      force stem down         \slurdown
27 slurydirection          0       stem direction free     \slurboth
28 slurydirection          1       force stem up           \slurup
29
30 slurydirection          -1      force stem down         \slurdown
31 slurydirection          0       stem direction free     \slurboth
32 slurydirection          1       force stem up           \slurup
33
34 textalignment           -1      left alignment of text
35 textalignment           0       center alignment of text
36 textalignment           1       right alignment of text
37
38 [Score?]
39 beamslopedamping        0       no damping              \beamslopeproportional  
40 beamslopedamping        1       damping1)               \beamslopedamped
41 beamslopedamping        100000  zero slope              \beamslopezero
42
43 [Score?]
44 beamquantisation        0       no quantisations        \beamposfree
45 beamquantisation        1       quantise pos and slope  \beamposnormal
46 beamquantisation        2       quantise avoide wedge2) \beampostraditional
47
48 [Staff]
49 keyoctaviation  0       Key signature only for specified octave \specialkey
50 keyoctaviation  1       Key signature for all octaves   \normalkey
51
52 [Staff]
53 barAlways               0       none
54 barAlways               1       generate bar at every moment
55
56 [Staff]
57 barAuto                 0       none
58 barAuto                 1       auto-generate bar every measure
59 barAtLineStart          0/1     generate bar at beginning of line
60
61 [Staff]
62 beamAuto                0/1     auto-beam on/off
63 beamAutoEnd             "num/den"    end auto-beam
64 beamAutoEnd8            "num/den"    end auto-beam of 8ths
65 beamAutoEnd16           "num/den"    end auto-beam of 16ths
66
67 timeSignatureStyle      C       Use C and stroked C for 4/4,2/2
68 timeSignatureStyle      old     Use old style mensuration marks
69 timeSignatureStyle      1       Use single number
70 timeSignatureStyle      ""      Use normal two-digit time signature
71 timeSignatureStyle      Cn/m    Set symbol explicitly, n/m=2/2 or 4/4   
72 timeSignatureStyle      oldn/m  Set symbol explicitly,
73                                 n/m=2/2,3/2,3/4,4/4,6/4 or 9/4.
74 [Staff]
75 voltaVisibility         0/1     on/off
76
77 [Staff?]
78 instrument              ascii   midi instrument table lookup
79
80 [Score]
81 chordInversion          0/1     Find and display chord with inversion?
82
83
84 1) after beam slope damping table suggested in [Wanske]
85 2) [Wanske] as well as [Ross] suggests that beams sloped upward must not 
86    start sitting on a staffline, and beams sloped downward must not hang 
87    from a staffline (similar for beam-ends).  This would create a wedge
88    that is traditionally being avoided because it could easily be filled-up 
89    with ink.
90    However, avoiding these wedges restricts the freedom of beams quite a lot 
91    while they don't seem to be a problem in modern printing.
92    In no piece of sheetmusic engraved after 1953 (Baerenreiter) i've seen 
93    these wedges being avoided.
94
95 %}
96
97 %hmm, (these) abbrevs suck, imo
98 % i guess they're meant as some form of doco
99 % that's what i use them for...
100 stemup = 
101         \property Voice.ydirection = \up 
102 stemboth=       \property Voice.ydirection = \center
103 stemdown =      \property Voice.ydirection = \down
104
105 slurup = \notes {
106         s1*0
107         \property Voice.slurydirection = \up 
108         }
109 slurboth= \notes {
110         s1*0
111         \property Voice.slurydirection = \center
112 }
113 slurdown = \notes {     
114         s1*0
115         \property Voice.slurydirection = \down
116 }
117
118 shifton =       \property Voice.hshift = 1
119 shiftoff =      \property Voice.hshift = 0
120
121 onevoice = {    
122         \stemboth \shiftoff     
123 }
124
125 voiceone = {    
126         \type Voice = one 
127         \stemup
128 }
129
130 voicetwo = {    
131         \type Voice = two
132         \stemdown
133 }
134
135 voicethree = {  
136         \type Voice = three
137         \stemup
138
139 }
140
141 voicefour = {   
142         \type Voice = four
143         \stemdown
144         \shifton
145 }
146
147 onestaff = {    
148         \translator Staff=one
149 }
150
151 staffone = {    
152         \translator Staff=one
153         \property Staff.ydirection = \center
154         \property Staff.hshift = 0
155 }
156
157 stafftwo = {    
158         \translator Staff=two
159         \property Staff.ydirection = \center
160         \property Staff.hshift = 0
161 }
162
163 staffthree = {  
164         \translator Staff=three
165         \property Staff.ydirection = \center
166         \property Staff.hshift = 0
167 }
168
169 stafffour = {   
170         \translator Staff=four
171         \property Staff.ydirection = \center
172         \property Staff.hshift = 0
173 }
174
175 % ugh, cluttering global namespace...
176 none=0
177 free=0
178 normal=1
179 traditional=2
180 infinity=10000
181
182 beamslopeproportional = {
183         \property Score.beamslopedamping = \none
184 }
185
186 beamslopedamped = {
187         \property Score.beamslopedamping = \normal
188 }
189
190 beamslopezero = {
191         \property Score.beamslopedamping = \infinity
192 }
193
194 % this sucks, you'd want to pass an array, at least
195 % (or embedded code: you still can't dictate the slope / stemlength)
196 beamposfree = {
197         \property Score.beamquantisation = \none
198 }
199
200 beamposnormal = {
201         \property Score.beamquantisation = \normal
202 }
203
204 beampostraditional = {
205         \property Score.beamquantisation = \traditional
206 }
207
208 slurnormal = {
209         \property Voice.slurdash = 0
210 }
211
212 slurdotted = {
213         \property Voice.slurdash = 1
214 }
215
216 %{
217  for grace note hack, see input/test/grace.ly
218 %}
219 pletoff = {
220         \property Voice.pletvisibility = 0
221 }
222 pleton = {
223         \property Voice.pletvisibility = 3
224 }
225 tiny  = {
226         \property Voice.fontsize= "-2"
227         \pletoff %urg
228 }
229
230 small  = {
231         \property Voice.fontsize= "-1"
232 }
233
234 normalsize = {
235         \property Voice.fontsize= "0"
236         \pleton %urg
237 }
238
239 %{
240   [urg: try at] temporary grace note hack
241   the total visible duration of the grace notes must be half
242   the duration of the 'at' note: e.g.:
243
244   \grace b8 \graceat c4 \ecarg
245   \grace c16 b16 \graceat c4 \ecarg
246
247 grace = {
248         \tiny
249 % it would be so cool not to have to specify these factors each time...
250 % :-(
251         \property Voice.pletvisibility = 0
252         \[1/16
253 }
254
255 graceat = \melodic {
256         \normalsize
257         \property Voice.pletvisibility = 0
258         \] \[31/32
259 }
260
261 ecarg =  \melodic {
262         \property Voice.pletvisibility = 0
263         \]
264         \property Voice.pletvisibility = 3
265 }
266 %}
267
268 normalkey = {
269         \property Staff.keyoctaviation = 1
270 }
271
272 specialkey = {
273         \property Staff.keyoctaviation = 0
274 }
275