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