]> git.donarmstrong.com Git - lilypond.git/blob - init/property.ly
372567863cb05a1fe35b19a76357c967c1eb39b8
[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 pletvisibility          0       show nothing
16 pletvisibility          1       show number
17 pletvisibility          2       show number, and bracket-if-no-beam
18 pletvisibility          4       show number, and bracket
19
20 [Score?]
21 beamslopedamping        0       no damping              \beamslopeproportional  
22 beamslopedamping        1       damping1)               \beamslopedamped
23 beamslopedamping        100000  zero slope              \beamslopezero
24
25 [Score?]
26 beamquantisation        0       no quantisations        \beamposfree
27 beamquantisation        1       quantise pos and slope  \beamposnormal
28 beamquantisation        2       quantise avoide wedge2) \beampostraditional
29
30
31 [Staff?]
32 instrument              ascii   midi instrument table lookup
33
34
35 1) after beam slope damping table suggested in [Wanske]
36 2) [Wanske] as well as [Ross] suggests that beams sloped upward must not 
37    start sitting on a staffline, and beams sloped downward must not hang 
38    from a staffline (similar for beam-ends).  This would create a wedge
39    that is traditionally being avoided because it could easily be filled-up 
40    with ink.
41    However, avoiding these wedges restricts the freedom of beams quite a lot 
42    while they don't seem to be a problem in modern printing.
43    In no piece of sheetmusic engraved after 1953 (Baerenreiter) i've seen 
44    these wedges being avoided.
45
46 %}
47
48 %hmm, (these) abbrevs suck, imo
49 % i guess they're meant as some form of doco
50 % that's what i use them for...
51 % should compile a list with recognised properties!
52 stemup = {
53         \skip 1*0;
54         % Stupid hack to make < { \stemup } > work
55         \property Voice.ydirection = \up 
56         }
57 stemboth= {
58         \skip 1*0;
59         \property Voice.ydirection = \center
60 }
61 stemdown = {    
62         \skip 1*0;
63         \property Voice.ydirection = \down
64 }
65
66 % ugh, cluttering global namespace...
67 none=0
68 free=0
69 normal=1
70 traditional=2
71 infinity=10000
72
73 beamslopeproportional = {
74         \property Score.beamslopedamping = \none
75 }
76
77 beamslopedamped = {
78         \property Score.beamslopedamping = \normal
79 }
80
81 beamslopezero = {
82         \property Score.beamslopedamping = \infinity
83 }
84
85 % this sucks, you'd want to pass an array, at least
86 % (or embedded code: you still can't dictate the slope / stemlength)
87 beamposfree = {
88         \property Score.beamquantisation = \none
89 }
90
91 beamposnormal = {
92         \property Score.beamquantisation = \normal
93 }
94
95 beampostraditional = {
96         \property Score.beamquantisation = \traditional
97 }
98