]> git.donarmstrong.com Git - lilypond.git/blob - ly/property-init.ly
0afb1888fbe6ae0a63417332a3dabf5228d06f97
[lilypond.git] / ly / property-init.ly
1 % property-init.ly
2
3 \version "1.5.68"
4
5 stemUp = \property Voice.Stem \set #'direction = #1
6 stemDown = \property Voice.Stem \set #'direction = #-1 
7 stemBoth= \property Voice.Stem \revert #'direction
8
9 slurUp   = \property Voice.Slur \set #'direction = #1
10 slurDown = \property Voice.Slur \set #'direction = #-1
11 slurBoth = \property Voice.Slur \revert #'direction 
12
13 phrasingSlurUp   = \property Voice.PhrasingSlur \set #'direction = #1
14 phrasingSlurDown = \property Voice.PhrasingSlur \set #'direction = #-1
15 phrasingSlurBoth = \property Voice.PhrasingSlur \revert #'direction 
16
17 shiftOn  = \property Voice.NoteColumn \set #'horizontal-shift = #1
18 shiftOnn  = \property Voice.NoteColumn \set #'horizontal-shift = #2
19 shiftOnnn  = \property Voice.NoteColumn \set #'horizontal-shift = #3
20 shiftOff  = \property Voice.NoteColumn \revert #'horizontal-shift 
21
22 tieUp = \property Voice.Tie \set #'direction = #1
23 tieDown = \property Voice.Tie \set #'direction = #-1
24 tieBoth = \property Voice.Tie \revert #'direction 
25
26 dynamicUp  = {
27   \property Voice.DynamicText \set #'direction = #1
28   \property Voice.DynamicLineSpanner \set #'direction = #1
29 }
30 dynamicDown = {
31   \property Voice.DynamicText \set #'direction = #-1
32   \property Voice.DynamicLineSpanner \set #'direction = #-1
33 }
34 dynamicBoth = {
35   \property Voice.DynamicText \revert #'direction
36   \property Voice.DynamicLineSpanner \revert #'direction
37 }
38
39 scriptUp  = {
40   \property Voice.TextScript \set #'direction = #1
41   \property Voice.Script \set #'direction = #1
42 }
43 scriptDown = {
44   \property Voice.TextScript \set #'direction = #-1
45   \property Voice.Script \set #'direction = #-1
46 }
47 scriptBoth = {
48   \property Voice.TextScript \revert #'direction
49   \property Voice.Script \revert #'direction
50 }
51
52 dotsUp = \property Voice.Dots \set #'direction = #1
53 dotsDown = \property Voice.Dots \set #'direction = #-1
54 dotsBoth = \property Voice.Dots \revert #'direction 
55
56 % why doubly?
57 tupletUp  = {
58   \property Voice.TupletBracket \set #'direction = #1
59 }
60 tupletDown = {
61   \property Voice.TupletBracket \set #'direction = #-1
62 }
63 tupletBoth = {
64   \property Voice.TupletBracket \revert #'direction
65 }
66
67
68
69 cadenzaOn = \property Score.timing = ##f
70 cadenzaOff = {
71   \property Score.timing = ##t
72   \property Score.measurePosition = #(make-moment 0 1)
73 }
74
75 newpage = {
76   \break
77   % urg, only works for TeX output
78   \context Score \outputproperty #(make-type-checker 'paper-column-interface)
79     #'between-system-string = #"\\newpage"
80 }
81
82 % dynamic dir?  text script, articulation script dir?   
83 oneVoice = #(context-spec-music (make-voice-props-revert) "Voice")
84 voiceOne = #(context-spec-music (make-voice-props-set 0) "Voice")
85 voiceTwo = #(context-spec-music (make-voice-props-set 1) "Voice")
86 voiceThree =#(context-spec-music (make-voice-props-set 2) "Voice")
87 voiceFour = #(context-spec-music (make-voice-props-set 3) "Voice")
88
89 % There's also dash, but setting dash period/length should be fixed.
90 slurDotted = \property Voice.Slur \set #'dashed = #1
91 slurSolid = \property Voice.Slur \revert #'dashed
92 tieDotted = \property Voice.Tie \set #'dashed = #1
93 tieSolid = \property Voice.Tie \revert #'dashed
94
95         
96 tiny  = 
97         \property Voice.fontSize= #-2
98
99 small  = 
100         \property Voice.fontSize= #-1
101
102
103 normalsize = {
104         \property Voice.fontSize= #0
105 }
106
107 normalkey = {
108         \property Staff.keyOctaviation = ##f
109 }
110
111 specialkey = {
112         \property Staff.keyOctaviation = ##t
113 }
114
115 % End the incipit and print a ``normal line start''.
116 endincipit = \notes{
117     \partial 16 s16  % Hack to handle e.g. \bar ".|" \endincipit
118     \context Staff \outputproperty #(make-type-checker 'clef-interface) #'full-size-change = ##t
119     \context Staff \outputproperty #(make-type-checker 'clef-interface) #'non-default = ##t
120     \bar ""
121 }
122
123 autoBeamOff = \property Voice.autoBeaming = ##f
124 autoBeamOn = \property Voice.autoBeaming = ##t
125
126 fatText = \property Voice.TextScript \set #'no-spacing-rods = ##f
127 emptyText = \property Voice.TextScript \set #'no-spacing-rods  = ##t
128
129 showStaffSwitch = \property Voice.followVoice = ##t
130 hideStaffSwitch = \property Voice.followVoice = ##f
131
132 % accidentals as they were common in the 18th century.
133 defaultAccidentals = {
134   \property Current.extraNatural = ##t
135   \property Current.autoAccidentals = #'(Staff (same-octave . 0))
136   \property Current.autoCautionaries = #'()
137 }
138
139 % accidentals in voices instead of staves.
140 % Notice that accidentals from one voice do NOT get cancelled in other voices
141 voiceAccidentals = {
142   \property Current.extraNatural = ##t
143   \property Current.autoAccidentals = #'(Voice (same-octave . 0))
144   \property Current.autoCautionaries = #'()
145   
146 }
147
148 % accidentals as suggested by Kurt Stone, Music Notation in the 20th century.
149 % This includes all the default accidentals, but accidentals also needs cancelling
150 % in other octaves and in the next measure.
151 modernAccidentals = {
152   \property Current.extraNatural = ##f
153   \property Current.autoAccidentals = #'(Staff (same-octave . 0) (any-octave . 0) (same-octave . 1))
154   \property Current.autoCautionaries = #'()  
155 }
156
157 % the accidentals that Stone adds to the old standard as cautionaries
158 modernCautionaries = {
159   \property Current.extraNatural = ##f
160   \property Current.autoAccidentals = #'(Staff (same-octave . 0))
161   \property Current.autoCautionaries = #'(Staff (any-octave . 0) (same-octave . 1))  
162 }
163
164 % Multivoice accidentals to be read both by musicians playing one voice
165 % and musicians playing all voices.
166 % Accidentals are typeset for each voice, but they ARE cancelled across voices.
167 modernVoiceAccidentals = {
168   \property Current.extraNatural = ##f
169   \property Current.autoAccidentals = #'(
170     Voice (same-octave . 0) (any-octave . 0) (same-octave . 1)
171     Staff (same-octave . 0) (any-octave . 0) (same-octave . 1)
172   )
173   \property Current.autoCautionaries = #'()  
174 }
175
176 % same as modernVoiceAccidental eccept that all special accidentals are typeset
177 % as cautionaries
178 modernVoiceCautionaries = {
179   \property Current.extraNatural = ##f
180   \property Current.autoAccidentals = #'(
181     Voice (same-octave . 0) 
182   )
183   \property Current.autoCautionaries = #'(
184     Voice (any-octave . 0) (same-octave . 1)
185     Staff (same-octave . 0) (any-octave . 0) (same-octave . 1)
186   )  
187 }
188
189 % stone's suggestions for accidentals on grand staff.
190 % Accidentals are cancelled across the staves in the same grand staff as well
191 pianoAccidentals = {
192   \property Current.autoAccidentals = #'(
193     Staff (same-octave . 0) (any-octave . 0) (same-octave . 1)
194     GrandStaff (any-octave . 0) (same-octave . 1)
195   )
196   \property Current.autoCautionaries = #'()  
197 }
198
199 pianoCautionaries = {
200   \property Current.autoAccidentals = #'(
201     Staff (same-octave . 0)
202   )
203   \property Current.autoCautionaries = #'(
204     Staff (any-octave . 0) (same-octave . 1)
205     GrandStaff (any-octave . 0) (same-octave . 1)
206   )  
207 }
208
209
210 % Do not reset the key at the start of a measure.  Accidentals will be
211 % printed only once and are in effect until overridden, possibly many
212 % measures later.
213 noResetKey = {
214   \property Current.autoAccidentals = #'(Staff (same-octave . #t))
215   \property Current.autoCautionaries = #'()
216 }
217
218 % do not set localKeySignature when a note alterated differently from
219 % localKeySignature is found.
220 % Causes accidentals to be printed at every note instead of
221 % remembered for the duration of a measure.
222 % accidentals not being remembered, causing accidentals always to be typeset relative to the time signature
223 forgetAccidentals = {
224   \property Current.autoAccidentals = #'(Staff (same-octave . -1))
225   \property Current.autoCautionaries = #'()  
226 }
227
228
229 % To remove a Volta bracket or some other graphical object,
230 % set it to turnOff. Example: \property Staff.VoltaBracket = \turnOff
231
232 turnOff = #'()
233
234 % For drawing vertical chord brackets with \arpeggio
235 % This is a shorthand for the value of the molecule-callback property 
236 % of either Staff.Arpeggio or PianoStaff.Arpeggio, depending whether 
237 % cross-staff brackets are desired. 
238
239 arpeggioBracket = #(lambda (grob) (Arpeggio::brew_chord_bracket grob))