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