]> git.donarmstrong.com Git - lilypond.git/blob - ly/performer-init.ly
Merge branch 'master' into translation
[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   timing = ##t
287 }
288
289
290 \context {
291   \type "Performer_group"
292   \consists "Staff_performer" % Performer_group ?
293   \consists "Lyric_performer"
294   \name Lyrics
295 }
296
297 \context{
298   \type "Performer_group"
299   \name ChoirStaff
300   \accepts ChoirStaff
301   \accepts ChordNames
302   \accepts FiguredBass
303   \accepts DrumStaff
304   \accepts GrandStaff
305   \accepts Lyrics
306   \accepts PianoStaff
307   \accepts RhythmicStaff
308   \accepts Staff
309   \accepts StaffGroup
310   \defaultchild Staff
311 }
312
313 \context {
314   \type "Performer_group"
315   \consists "Staff_performer"
316   \name NoteNames
317 }
318
319 \context {
320   \type "Performer_group"
321   \consists "Staff_performer"
322   \name ChordNames
323 }
324
325 \context {
326   \type "Performer_group"
327   \name StaffGroup
328   \accepts ChoirStaff
329   \accepts ChordNames
330   \accepts DrumStaff
331   \accepts FiguredBass
332   \accepts FretBoards
333   \accepts GrandStaff
334   \accepts Lyrics
335   \accepts PianoStaff
336   \accepts RhythmicStaff
337   \accepts Staff
338   \accepts StaffGroup
339   \accepts TabStaff
340   \defaultchild Staff
341 }
342
343 \context {
344   \Staff
345   \name RhythmicStaff
346   \alias Staff
347   \defaultchild Voice
348 }
349
350 \context {
351   \type "Performer_group"
352   \name Dynamics
353   \alias Voice
354   \consists "Piano_pedal_performer"
355 }