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