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