]> git.donarmstrong.com Git - lilypond.git/blob - ly/performer-init.ly
Accept Dynamics in Score context
[lilypond.git] / ly / performer-init.ly
1 %%%% This file is part of LilyPond, the GNU music typesetter.
2 %%%%
3 %%%% Copyright (C) 1996--2015 Han-Wen Nienhuys <hanwen@xs4all.nl>
4 %%%%                          Jan Nieuwenhuizen <janneke@gnu.org>
5 %%%%
6 %%%% LilyPond is free software: you can redistribute it and/or modify
7 %%%% it under the terms of the GNU General Public License as published by
8 %%%% the Free Software Foundation, either version 3 of the License, or
9 %%%% (at your option) any later version.
10 %%%%
11 %%%% LilyPond is distributed in the hope that it will be useful,
12 %%%% but WITHOUT ANY WARRANTY; without even the implied warranty of
13 %%%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 %%%% GNU General Public License for more details.
15 %%%%
16 %%%% You should have received a copy of the GNU General Public License
17 %%%% along with LilyPond.  If not, see <http://www.gnu.org/licenses/>.
18
19 \version "2.19.16"
20
21 %%
22 %% setup for Request->Element conversion.
23 %%
24 \context {
25   \type "Performer_group"
26   \name Staff
27   \accepts CueVoice
28   \accepts NullVoice
29   \accepts Voice
30   \defaultchild Voice
31
32   \consists "Staff_performer"
33   \consists "Key_performer"
34   \consists "Midi_control_function_performer"
35 }
36
37 \context {
38   \name Global
39   \accepts Score
40   \defaultchild Score
41   \description "Hard coded entry point for LilyPond.  Cannot be tuned."
42 }
43
44 \context {
45   \Staff
46   \name KievanStaff
47   \alias Staff
48   \denies Voice
49   \accepts KievanVoice
50   \defaultchild KievanVoice
51 }
52
53 \context {
54   \Staff
55   \name VaticanaStaff
56   \alias Staff
57   \denies Voice
58   \accepts VaticanaVoice
59   \defaultchild VaticanaVoice
60 }
61
62 \context {
63   \Staff
64   \name MensuralStaff
65   \alias Staff
66   \denies Voice
67   \accepts MensuralVoice
68   \defaultchild MensuralVoice
69 }
70
71 \context {
72   \Staff
73   \name PetrucciStaff
74   \alias Staff
75   \denies Voice
76   \accepts PetrucciVoice
77   \defaultchild PetrucciVoice
78 }
79
80 \context {
81   \Staff
82   \name GregorianTranscriptionStaff
83   \alias Staff
84   \denies Voice
85   \accepts GregorianTranscriptionVoice
86   \defaultchild GregorianTranscriptionVoice
87 }
88
89 \context {
90   \Staff
91   \name DrumStaff
92   \alias Staff
93   midiInstrument = #"drums"
94   \denies Voice
95   \accepts DrumVoice
96   \defaultchild DrumVoice
97 }
98
99 \context {
100   \type "Performer_group"
101   \name Voice
102   \consists "Dynamic_performer"
103   \consists "Tie_performer"
104   \consists "Piano_pedal_performer"
105   \consists "Note_performer"
106   \consists "Beam_performer"
107   \consists "Slur_performer"
108 }
109
110 \context {
111   \Voice
112   \name CueVoice
113   \alias Voice
114 }
115
116 \context {
117   \Voice
118   \name VaticanaVoice
119   \alias Voice
120   autoBeaming = ##f  % needed for consistent melismata with engravers"
121 }
122
123 \context {
124   \Voice
125   \name KievanVoice
126   \alias Voice
127   autoBeaming = ##f  % needed for consistent melismata with engravers"
128 }
129
130 \context {
131   \Voice
132   \name MensuralVoice
133   \alias Voice
134   autoBeaming = ##f  % needed for consistent melismata with engravers
135 }
136
137 \context {
138   \Voice
139   \name PetrucciVoice
140   \alias Voice
141   autoBeaming = ##f  % needed for consistent melismata with engravers
142 }
143
144 \context {
145   \Voice
146   \name GregorianTranscriptionVoice
147   \alias Voice
148   autoBeaming = ##f  % needed for consistent melismata with engravers
149 }
150
151 \context {
152   \Voice
153   \name DrumVoice
154   \alias Voice
155   \remove "Note_performer"
156   \consists "Drum_note_performer"
157 }
158
159 \context {
160   \type "Performer_group"
161   \name FiguredBass
162 }
163
164 \context {
165   \type "Performer_group"
166   \name FretBoards
167   \alias Staff
168 }
169
170 \context {
171   \type "Performer_group"
172   \name GrandStaff
173   \accepts ChordNames
174   \accepts DrumStaff
175   \accepts Dynamics
176   \accepts FiguredBass
177   \accepts Lyrics
178   \accepts RhythmicStaff
179   \accepts Staff
180   \accepts TabStaff
181   \defaultchild Staff
182 }
183
184 \context {
185   \GrandStaff
186   \name PianoStaff
187   \alias GrandStaff
188 }
189
190 \context {
191   \Voice
192   \name TabVoice
193   \alias Voice
194 }
195
196 \context {
197   \type "Performer_group"
198   \name Devnull
199   \alias Voice
200   \alias Staff
201 }
202
203 \context {
204   \type "Performer_group"
205   \name NullVoice
206   \alias Staff
207   \alias Voice
208   %% needed for melismata
209   \consists "Tie_performer"
210   \consists "Beam_performer"
211   \consists "Slur_performer"
212 }
213
214 \context {
215   \Staff
216   \name TabStaff
217   midiInstrument = #"acoustic guitar (nylon)"
218   \alias Staff
219   \denies Voice
220   \accepts TabVoice
221   \defaultchild TabVoice
222   autoBeaming = ##f  % needed for consistent melismata with engravers
223 }
224
225 \context {
226   \type "Score_performer"
227
228   \name Score
229
230   melismaBusyProperties = #default-melisma-properties
231   instrumentName = #"bright acoustic"
232   midiChannelMapping = #'staff
233
234   %% quarter = 60
235   tempoWholesPerMinute = #(ly:make-moment 15/1)
236
237   \accepts ChoirStaff
238   \accepts ChordNames
239   \accepts Devnull
240   \accepts DrumStaff
241   \accepts Dynamics
242   \accepts FiguredBass
243   \accepts GrandStaff
244   \accepts GregorianTranscriptionStaff
245   \accepts KievanStaff
246   \accepts Lyrics
247   \accepts MensuralStaff
248   \accepts NoteNames
249   \accepts NullVoice
250   \accepts PetrucciStaff
251   \accepts PianoStaff
252   \accepts RhythmicStaff
253   \accepts FretBoards
254   \accepts Staff
255   \accepts StaffGroup
256   \accepts TabStaff
257   \accepts VaticanaStaff
258
259   \consists "Time_signature_performer"
260   \consists "Control_track_performer"
261   \consists "Tempo_performer"
262
263   \alias "Timing"
264
265   %% An alias for Timing is established by the Timing_translator in
266   %% whatever context it is initialized, and the timing variables are
267   %% then copied from wherever Timing had been previously established.
268   %% The alias at Score level provides a target for initializing
269   %% Timing variables in layout definitions before any
270   %% Timing_translator has been run.
271
272   timeSignatureSettings = #default-time-signature-settings
273   timeSignatureFraction = 4/4
274   autoBeaming = ##t  % needed for consistent melismata with engravers
275
276   %% Other beaming variables are not important as autobeams don't affect
277   %% the Midi.  Melismata are only affected by beams when autobeaming
278   %% is switched off.
279
280   \consists "Timing_translator"
281
282   \defaultchild "Staff"
283
284   dynamicAbsoluteVolumeFunction = #default-dynamic-absolute-volume
285   instrumentEqualizer = #default-instrument-equalizer
286   drumPitchTable = #(alist->hash-table midiDrumPitches)
287
288   %% \quoteDuring is supposed to quote everything but we don't admit
289   %% cue events by default in order not to get multiple midi
290   %% renditions in an orchestral score.
291
292   quotedEventTypes = #'(StreamEvent)
293   quotedCueEventTypes = #'()
294
295   timing = ##t
296 }
297
298
299 \context {
300   \type "Performer_group"
301   \consists "Staff_performer" % Performer_group ?
302   \consists "Lyric_performer"
303   \name Lyrics
304 }
305
306 \context{
307   \type "Performer_group"
308   \name ChoirStaff
309   \accepts ChoirStaff
310   \accepts ChordNames
311   \accepts FiguredBass
312   \accepts DrumStaff
313   \accepts GrandStaff
314   \accepts Lyrics
315   \accepts PianoStaff
316   \accepts RhythmicStaff
317   \accepts Staff
318   \accepts StaffGroup
319   \defaultchild Staff
320 }
321
322 \context {
323   \type "Performer_group"
324   \consists "Staff_performer"
325   \name NoteNames
326 }
327
328 \context {
329   \Voice                        % We want all the actual performers
330   \name ChordNames
331   \alias Staff                  % Catch Staff-level overrides like
332                                 % \key, \transposition
333   \consists "Staff_performer"
334 }
335
336 \context {
337   \type "Performer_group"
338   \name StaffGroup
339   \accepts ChoirStaff
340   \accepts ChordNames
341   \accepts DrumStaff
342   \accepts FiguredBass
343   \accepts FretBoards
344   \accepts GrandStaff
345   \accepts Lyrics
346   \accepts PianoStaff
347   \accepts RhythmicStaff
348   \accepts Staff
349   \accepts StaffGroup
350   \accepts TabStaff
351   \defaultchild Staff
352 }
353
354 \context {
355   \Staff
356   \name RhythmicStaff
357   \alias Staff
358   \defaultchild Voice
359 }
360
361 \context {
362   \type "Performer_group"
363   \name Dynamics
364   \alias Voice
365   \consists "Piano_pedal_performer"
366 }