]> git.donarmstrong.com Git - lilypond.git/blob - ly/property.ly
release: 1.1.43
[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 beamAuto                0/1     auto-beam on/off
39 beamAutoEnd             "num/den"    end auto-beam
40 beamAutoEnd_8           "num/den"    end auto-beam of 8ths
41 beamAutoEnd_16          "num/den"    end auto-beam of 16ths
42
43 [Score?]
44 beamslopedamping        0       no damping              \beamslopeproportional  
45 beamslopedamping        1       damping1)               \beamslopedamped
46 beamslopedamping        100000  zero slope              \beamslopezero
47
48 [Score?]
49 beamquantisation        0       no quantisations        \beamposfree
50 beamquantisation        1       quantise pos and slope  \beamposnormal
51 beamquantisation        2       quantise avoide wedge2) \beampostraditional
52
53 [Staff]
54 keyoctaviation  0       Key signature only for specified octave \specialkey
55 keyoctaviation  1       Key signature for all octaves   \normalkey
56
57 [Staff]
58 barAlways               0       none
59 barAlways               1       generate bar at every moment
60
61 [Staff]
62 barAuto                 0       none
63 barAuto                 1       auto-generate bar every measure
64 barAtLineStart          0/1     generate bar at beginning of line
65
66 [Staff]
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 clefStyle       "fullSizeChanges" Clef changes typeset in full size
81 clefStyle       "transparent"     No clef typeset
82
83 [Staff?]
84 instrument              ascii   midi instrument table lookup
85
86 [Score]
87 chordInversion          0/1     Find and display chord with inversion?
88
89
90 1) after beam slope damping table suggested in [Wanske]
91 2) [Wanske] as well as [Ross] suggests that beams sloped upward must not 
92    start sitting on a staffline, and beams sloped downward must not hang 
93    from a staffline (similar for beam-ends).  This would create a wedge
94    that is traditionally being avoided because it could easily be filled-up 
95    with ink.
96    However, avoiding these wedges restricts the freedom of beams quite a lot 
97    while they don't seem to be a problem in modern printing.
98    In no piece of sheetmusic engraved after 1953 (Baerenreiter) i've seen 
99    these wedges being avoided.
100
101 %}
102
103 %hmm, (these) abbrevs suck, imo
104 % i guess they're meant as some form of doco
105 % that's what i use them for...
106 stemup =        \property Voice.ydirection = \up 
107 stemboth=       \property Voice.ydirection = \center
108 stemdown =      \property Voice.ydirection = \down
109
110 slurup = \notes {
111         s1*0
112         \property Voice.slurydirection = \up 
113         }
114 slurboth= \notes {
115         s1*0
116         \property Voice.slurydirection = \center
117 }
118 slurdown = \notes {     
119         s1*0
120         \property Voice.slurydirection = \down
121 }
122
123 shifton =       \property Voice.hshift = 1
124 shiftoff =      \property Voice.hshift = 0
125
126 onevoice = {    
127         \stemboth \shiftoff     
128 }
129
130 voiceone = 
131         \context Voice = one  {
132         \stemup
133 }
134
135 voicetwo = 
136         \context Voice = two {
137         \stemdown
138 }
139
140 voicethree = 
141         \context Voice = three {
142         \stemup
143
144 }
145
146 voicefour = 
147         \context Voice = four {
148         \stemdown
149         \shifton
150 }
151
152 onestaff = 
153         \translator Staff=one
154
155
156 staffone = {    
157         \translator Staff=one
158         \property Staff.ydirection = \center
159         \property Staff.hshift = 0
160 }
161
162 stafftwo = {    
163         \translator Staff=two
164         \property Staff.ydirection = \center
165         \property Staff.hshift = 0
166 }
167
168 staffthree = {  
169         \translator Staff=three
170         \property Staff.ydirection = \center
171         \property Staff.hshift = 0
172 }
173
174 stafffour = {   
175         \translator Staff=four
176         \property Staff.ydirection = \center
177         \property Staff.hshift = 0
178 }
179
180 % ugh, cluttering global namespace...
181
182 % ugh2. 
183 none=0
184 free=0
185 normal=1
186 traditional=2
187 infinity=10000
188
189 beamslopeproportional = 
190         \property Score.beamslopedamping = \none
191
192 beamslopedamped = 
193         \property Score.beamslopedamping = \normal
194
195
196 beamslopezero = 
197         \property Score.beamslopedamping = \infinity
198
199
200 % this sucks, you'd want to pass an array, at least
201 % (or embedded code: you still can't dictate the slope / stemlength)
202 beamposfree = 
203         \property Score.beamquantisation = \none
204
205
206 beamposnormal = 
207         \property Score.beamquantisation = \normal
208
209
210 beampostraditional = 
211         \property Score.beamquantisation = \traditional
212
213
214 slurnormal = 
215         \property Voice.slurdash = ""
216
217
218 slurdotted = 
219         \property Voice.slurdash = 1
220
221
222 %{
223  for grace note hack, see input/test/grace.ly
224 %}
225 pletoff = {
226         \property Voice.pletvisibility = 0
227 }
228 pleton = {
229         \property Voice.pletvisibility = 3
230 }
231 tiny  = {
232         \property Voice.fontsize= "-2"
233         \pletoff %urg
234 }
235
236 small  = {
237         \property Voice.fontsize= "-1"
238 }
239
240 normalsize = {
241         \property Voice.fontsize= "0"
242         \pleton %urg
243 }
244
245 %{
246   [urg: try at] temporary grace note hack
247   the total visible duration of the grace notes must be half
248   the duration of the 'at' note: e.g.:
249
250   \grace b8 \graceat c4 \ecarg
251   \grace c16 b16 \graceat c4 \ecarg
252
253 grace = {
254         \tiny
255 % it would be so cool not to have to specify these factors each time...
256 % :-(
257         \property Voice.pletvisibility = 0
258         \[1/16
259 }
260
261 graceat = \melodic {
262         \normalsize
263         \property Voice.pletvisibility = 0
264         \] \[31/32
265 }
266
267 ecarg =  \melodic {
268         \property Voice.pletvisibility = 0
269         \]
270         \property Voice.pletvisibility = 3
271 }
272 %}
273
274 normalkey = {
275         \property Staff.keyoctaviation = 1
276 }
277
278 specialkey = {
279         \property Staff.keyoctaviation = 0
280 }
281
282 % End the incipit and print a ``normal line start''.
283 endincipit = \notes{
284     \partial 16; s16  % Hack to handle e.g. \bar ".|"; \endincipit
285     \property Staff.clefStyle = "fullSizeChanges" 
286     \nobreak \bar "";
287 }