]> git.donarmstrong.com Git - lilypond.git/blob - init/property.ly
release: 1.1.15
[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 = \notes {
82         s1*0
83         % Stupid hack to make < { \stemup } > work
84         \property Voice.ydirection = \up 
85         }
86 stemboth= \notes {
87         s1*0
88         \property Voice.ydirection = \center
89 }
90 stemdown = \notes {     
91         s1*0
92         \property Voice.ydirection = \down
93 }
94 slurup = \notes {
95         s1*0
96         \property Voice.slurydirection = \up 
97         }
98 slurboth= \notes {
99         s1*0
100         \property Voice.slurydirection = \center
101 }
102 slurdown = \notes {     
103         s1*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         \stemup
117 }
118
119 voicetwo = {    
120         \type Voice = two
121         \stemdown
122 }
123
124 voicethree = {  
125         \type Voice = three
126         \stemup
127
128 }
129
130 voicefour = {   
131         \type Voice = four
132         \stemdown
133         \shifton
134 }
135
136 onestaff = {    
137         \translator Staff=one
138 }
139
140 staffone = {    
141         \translator Staff=one
142         \property Staff.ydirection = \center
143         \property Staff.hshift = 0
144 }
145
146 stafftwo = {    
147         \translator Staff=two
148         \property Staff.ydirection = \center
149         \property Staff.hshift = 0
150 }
151
152 staffthree = {  
153         \translator Staff=three
154         \property Staff.ydirection = \center
155         \property Staff.hshift = 0
156 }
157
158 stafffour = {   
159         \translator Staff=four
160         \property Staff.ydirection = \center
161         \property Staff.hshift = 0
162 }
163
164 % ugh, cluttering global namespace...
165 none=0
166 free=0
167 normal=1
168 traditional=2
169 infinity=10000
170
171 beamslopeproportional = {
172         \property Score.beamslopedamping = \none
173 }
174
175 beamslopedamped = {
176         \property Score.beamslopedamping = \normal
177 }
178
179 beamslopezero = {
180         \property Score.beamslopedamping = \infinity
181 }
182
183 % this sucks, you'd want to pass an array, at least
184 % (or embedded code: you still can't dictate the slope / stemlength)
185 beamposfree = {
186         \property Score.beamquantisation = \none
187 }
188
189 beamposnormal = {
190         \property Score.beamquantisation = \normal
191 }
192
193 beampostraditional = {
194         \property Score.beamquantisation = \traditional
195 }
196
197 slurnormal = {
198         \property Voice.slurdash = 0
199 }
200
201 slurdotted = {
202         \property Voice.slurdash = 1
203 }
204
205 %{
206  for grace note hack, see input/test/grace.ly
207 %}
208 pletoff = {
209         \property Voice.pletvisibility = 0
210 }
211 pleton = {
212         \property Voice.pletvisibility = 3
213 }
214 tiny  = {
215         \property Voice.fontsize= "-2"
216         \pletoff %urg
217 }
218
219 small  = {
220         \property Voice.fontsize= "-1"
221 }
222
223 normalsize = {
224         \property Voice.fontsize= "0"
225         \pleton %urg
226 }
227
228 %{
229   [urg: try at] temporary grace note hack
230   the total visible duration of the grace notes must be half
231   the duration of the 'at' note: e.g.:
232
233   \grace b8 \graceat c4 \ecarg
234   \grace c16 b16 \graceat c4 \ecarg
235
236 grace = {
237         \tiny
238 % it would be so cool not to have to specify these factors each time...
239 % :-(
240         \property Voice.pletvisibility = 0
241         \[1/16
242 }
243
244 graceat = \melodic {
245         \normalsize
246         \property Voice.pletvisibility = 0
247         \] \[31/32
248 }
249
250 ecarg =  \melodic {
251         \property Voice.pletvisibility = 0
252         \]
253         \property Voice.pletvisibility = 3
254 }
255 %}
256
257 normalkey = {
258         \property Staff.keyoctaviation = 1
259 }
260
261 specialkey = {
262         \property Staff.keyoctaviation = 0
263 }
264