]> git.donarmstrong.com Git - lilypond.git/blob - init/property.ly
9520dbb86f8b59d77a3b41e368dfcc309faef5b7
[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 slurdash                0       normal slurs
21 slurdash                1       dotted slurs
22 slurdash                >1      dashed slurs
23
24 [Score?]
25 beamslopedamping        0       no damping              \beamslopeproportional  
26 beamslopedamping        1       damping1)               \beamslopedamped
27 beamslopedamping        100000  zero slope              \beamslopezero
28
29 [Score?]
30 beamquantisation        0       no quantisations        \beamposfree
31 beamquantisation        1       quantise pos and slope  \beamposnormal
32 beamquantisation        2       quantise avoide wedge2) \beampostraditional
33
34
35 [Staff?]
36 instrument              ascii   midi instrument table lookup
37
38
39 1) after beam slope damping table suggested in [Wanske]
40 2) [Wanske] as well as [Ross] suggests that beams sloped upward must not 
41    start sitting on a staffline, and beams sloped downward must not hang 
42    from a staffline (similar for beam-ends).  This would create a wedge
43    that is traditionally being avoided because it could easily be filled-up 
44    with ink.
45    However, avoiding these wedges restricts the freedom of beams quite a lot 
46    while they don't seem to be a problem in modern printing.
47    In no piece of sheetmusic engraved after 1953 (Baerenreiter) i've seen 
48    these wedges being avoided.
49
50 %}
51
52 %hmm, (these) abbrevs suck, imo
53 % i guess they're meant as some form of doco
54 % that's what i use them for...
55 % should compile a list with recognised properties!
56 stemup = {
57         \skip 1*0;
58         % Stupid hack to make < { \stemup } > work
59         \property Voice.ydirection = \up 
60         }
61 stemboth= {
62         \skip 1*0;
63         \property Voice.ydirection = \center
64 }
65 stemdown = {    
66         \skip 1*0;
67         \property Voice.ydirection = \down
68 }
69
70 onevoice = {    
71         \property Voice.ydirection = \center
72         \property Voice.hshift = 0
73 }
74
75 voiceone = {    
76         \type Voice = one 
77         \skip 1*0;
78         \property Voice.ydirection = \up
79 }
80
81 voicetwo = {    
82         \type Voice = two
83         \skip 1*0;
84         \property Voice.ydirection = \down
85 }
86
87 voicethree = {  
88         \type Voice = three
89         \skip 1*0;
90         \property Voice.ydirection = \up
91         \property Voice.hshift = 1
92 }
93
94 voicefour = {   
95         \type Voice = four
96         \skip 1*0;
97         \property Voice.ydirection = \down
98         \property Voice.hshift = 1
99 }
100
101 % ugh, cluttering global namespace...
102 none=0
103 free=0
104 normal=1
105 traditional=2
106 infinity=10000
107
108 beamslopeproportional = {
109         \property Score.beamslopedamping = \none
110 }
111
112 beamslopedamped = {
113         \property Score.beamslopedamping = \normal
114 }
115
116 beamslopezero = {
117         \property Score.beamslopedamping = \infinity
118 }
119
120 % this sucks, you'd want to pass an array, at least
121 % (or embedded code: you still can't dictate the slope / stemlength)
122 beamposfree = {
123         \property Score.beamquantisation = \none
124 }
125
126 beamposnormal = {
127         \property Score.beamquantisation = \normal
128 }
129
130 beampostraditional = {
131         \property Score.beamquantisation = \traditional
132 }
133
134 slurnormal = {
135         \property Voice.slurdash = 0
136 }
137
138 slurdotted = {
139         \property Voice.slurdash = 1
140 }
141