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