]> git.donarmstrong.com Git - lilypond.git/blob - ly/performer-init.ly
Web: Update Contact Us section
[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 FiguredBass
242   \accepts GrandStaff
243   \accepts GregorianTranscriptionStaff
244   \accepts KievanStaff
245   \accepts Lyrics
246   \accepts MensuralStaff
247   \accepts NoteNames
248   \accepts NullVoice
249   \accepts PetrucciStaff
250   \accepts PianoStaff
251   \accepts RhythmicStaff
252   \accepts FretBoards
253   \accepts Staff
254   \accepts StaffGroup
255   \accepts TabStaff
256   \accepts VaticanaStaff
257
258   \consists "Time_signature_performer"
259   \consists "Control_track_performer"
260   \consists "Tempo_performer"
261
262   \alias "Timing"
263
264   %% An alias for Timing is established by the Timing_translator in
265   %% whatever context it is initialized, and the timing variables are
266   %% then copied from wherever Timing had been previously established.
267   %% The alias at Score level provides a target for initializing
268   %% Timing variables in layout definitions before any
269   %% Timing_translator has been run.
270
271   timeSignatureSettings = #default-time-signature-settings
272   timeSignatureFraction = 4/4
273   autoBeaming = ##t  % needed for consistent melismata with engravers
274
275   %% Other beaming variables are not important as autobeams don't affect
276   %% the Midi.  Melismata are only affected by beams when autobeaming
277   %% is switched off.
278
279   \consists "Timing_translator"
280
281   \defaultchild "Staff"
282
283   dynamicAbsoluteVolumeFunction = #default-dynamic-absolute-volume
284   instrumentEqualizer = #default-instrument-equalizer
285   drumPitchTable = #(alist->hash-table midiDrumPitches)
286
287   %% \quoteDuring is supposed to quote everything but we don't admit
288   %% cue events by default in order not to get multiple midi
289   %% renditions in an orchestral score.
290
291   quotedEventTypes = #'(StreamEvent)
292   quotedCueEventTypes = #'()
293
294   timing = ##t
295 }
296
297
298 \context {
299   \type "Performer_group"
300   \consists "Staff_performer" % Performer_group ?
301   \consists "Lyric_performer"
302   \name Lyrics
303 }
304
305 \context{
306   \type "Performer_group"
307   \name ChoirStaff
308   \accepts ChoirStaff
309   \accepts ChordNames
310   \accepts FiguredBass
311   \accepts DrumStaff
312   \accepts GrandStaff
313   \accepts Lyrics
314   \accepts PianoStaff
315   \accepts RhythmicStaff
316   \accepts Staff
317   \accepts StaffGroup
318   \defaultchild Staff
319 }
320
321 \context {
322   \type "Performer_group"
323   \consists "Staff_performer"
324   \name NoteNames
325 }
326
327 \context {
328   \Voice                        % We want all the actual performers
329   \name ChordNames
330   \alias Staff                  % Catch Staff-level overrides like
331                                 % \key, \transposition
332   \consists "Staff_performer"
333 }
334
335 \context {
336   \type "Performer_group"
337   \name StaffGroup
338   \accepts ChoirStaff
339   \accepts ChordNames
340   \accepts DrumStaff
341   \accepts FiguredBass
342   \accepts FretBoards
343   \accepts GrandStaff
344   \accepts Lyrics
345   \accepts PianoStaff
346   \accepts RhythmicStaff
347   \accepts Staff
348   \accepts StaffGroup
349   \accepts TabStaff
350   \defaultchild Staff
351 }
352
353 \context {
354   \Staff
355   \name RhythmicStaff
356   \alias Staff
357   \defaultchild Voice
358 }
359
360 \context {
361   \type "Performer_group"
362   \name Dynamics
363   \alias Voice
364   \consists "Piano_pedal_performer"
365 }