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