]> git.donarmstrong.com Git - lilypond.git/blob - ly/performer-init.ly
Merge remote branch 'origin/master' into release/unstable
[lilypond.git] / ly / performer-init.ly
1 %%%% This file is part of LilyPond, the GNU music typesetter.
2 %%%%
3 %%%% Copyright (C) 1996--2012 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.17.14"
20
21 %%
22 %% setup for Request->Element conversion.
23 %%
24 \context {
25   \type "Performer_group"
26   \name Staff
27   \accepts Voice
28   \accepts CueVoice
29   \defaultchild Voice
30
31   \consists "Staff_performer"
32   \consists "Key_performer"
33   \consists "Midi_control_function_performer"
34 }
35
36 \context {
37   \name Global
38   \accepts Score
39   \defaultchild Score
40   \description "Hard coded entry point for LilyPond.  Cannot be tuned."
41 }
42
43 \context {
44   \type "Performer_group"
45   \name KievanStaff
46   \denies Voice
47   \accepts KievanVoice
48   \defaultchild KievanVoice
49   \alias Staff
50   \consists "Staff_performer"
51   \consists "Key_performer"
52   \consists "Midi_control_function_performer"
53 }
54
55 \context {
56   \type "Performer_group"
57   \name VaticanaStaff
58   \alias Staff
59   \denies Voice
60   \accepts VaticanaVoice
61   \defaultchild VaticanaVoice
62   \consists "Staff_performer"
63   \consists "Key_performer"
64   \consists "Midi_control_function_performer"
65 }
66
67 \context {
68   \type "Performer_group"
69   \name MensuralStaff
70   \denies Voice
71   \accepts MensuralVoice
72   \defaultchild MensuralVoice
73   \alias Staff
74   \consists "Staff_performer"
75   \consists "Key_performer"
76   \consists "Midi_control_function_performer"
77 }
78
79 \context {
80   \Staff
81   \name DrumStaff
82   midiInstrument = #"drums"
83   \accepts DrumVoice
84   \defaultchild DrumVoice
85 }
86
87 \context {
88   \type "Performer_group"
89   \name Voice
90   \consists "Dynamic_performer"
91   \consists "Tie_performer"
92   \consists "Piano_pedal_performer"
93   \consists "Note_performer"
94   \consists "Beam_performer"
95   \consists "Slur_performer"
96 }
97
98 \context {
99   \Voice
100   \name CueVoice
101   \alias Voice
102 }
103
104 \context {
105   \type "Performer_group"
106   \name VaticanaVoice
107   \alias Voice
108   \consists "Dynamic_performer"
109   \consists "Tie_performer"
110   \consists "Note_performer"
111   \consists "Beam_performer"
112   autoBeaming = ##f  % needed for consistent melismata with engravers
113   \consists "Slur_performer"
114 }
115
116 \context {
117   \type "Performer_group"
118   \name KievanVoice
119   \alias Voice
120   \consists "Dynamic_performer"
121   \consists "Tie_performer"
122   \consists "Note_performer"
123   \consists "Beam_performer"
124   autoBeaming = ##f  % needed for consistent melismata with engravers
125   \consists "Slur_performer"
126 }
127
128 \context {
129   \type "Performer_group"
130   \name MensuralVoice
131   \alias Voice
132   \consists "Dynamic_performer"
133   \consists "Tie_performer"
134   \consists "Note_performer"
135   \consists "Beam_performer"
136   autoBeaming = ##f  % needed for consistent melismata with engravers
137   \consists "Slur_performer"
138 }
139
140 \context {
141   \Voice
142   \remove "Note_performer"
143   \consists "Drum_note_performer"
144   \name DrumVoice
145 }
146
147 \context {
148   \type "Performer_group"
149   \name FiguredBass
150 }
151
152 \context {
153   \type "Performer_group"
154   \name FretBoards
155 }
156
157 \context {
158   \type "Performer_group"
159   \name GrandStaff
160   \accepts RhythmicStaff
161   \accepts Staff
162   \accepts Dynamics
163   \defaultchild Staff
164 }
165
166 \context {
167   \type "Performer_group"
168   \name "PianoStaff"
169   \accepts Staff
170   \accepts DrumStaff
171   \defaultchild Staff
172 }
173
174 \context {
175   \Voice
176   \name TabVoice
177 }
178
179 \context {
180   \type "Performer_group"
181   \name "Devnull"
182 }
183
184 \context {
185   \Staff
186   \name TabStaff
187   midiInstrument = #"acoustic guitar (nylon)"
188   \alias Staff
189   \accepts TabVoice
190   \defaultchild TabVoice
191   autoBeaming = ##f  % needed for consistent melismata with engravers
192 }
193
194 \context {
195   \type "Score_performer"
196
197   \name Score
198
199   melismaBusyProperties = #default-melisma-properties
200   instrumentName = #"bright acoustic"
201   midiChannelMapping = #'staff
202
203   %% quarter = 60
204   tempoWholesPerMinute = #(ly:make-moment 15/1)
205
206   \accepts Staff
207   \accepts DrumStaff
208   \accepts GrandStaff
209   \accepts PianoStaff
210   \accepts TabStaff
211   \accepts StaffGroup
212   \accepts Devnull
213   \accepts ChoirStaff
214   \accepts RhythmicStaff
215   \accepts ChordNames
216   \accepts FiguredBass
217   \accepts FretBoards
218   \accepts Lyrics
219   \accepts VaticanaStaff
220   \accepts KievanStaff
221   \accepts MensuralStaff
222
223   \consists "Time_signature_performer"
224   \consists "Control_track_performer"
225   \consists "Tempo_performer"
226
227   \alias "Timing"
228
229   %% An alias for Timing is established by the Timing_translator in
230   %% whatever context it is initialized, and the timing variables are
231   %% then copied from wherever Timing had been previously established.
232   %% The alias at Score level provides a target for initializing
233   %% Timing variables in layout definitions before any
234   %% Timing_translator has been run.
235
236   timeSignatureSettings = #default-time-signature-settings
237   timeSignatureFraction = 4/4
238   autoBeaming = ##t  % needed for consistent melismata with engravers
239
240   %% Other beaming variables are not important as autobeams don't affect
241   %% the Midi.  Melismata are only affected by beams when autobeaming
242   %% is switched off.
243
244   \consists "Timing_translator"
245
246   \defaultchild "Staff"
247
248   dynamicAbsoluteVolumeFunction = #default-dynamic-absolute-volume
249   instrumentEqualizer = #default-instrument-equalizer
250   drumPitchTable = #(alist->hash-table midiDrumPitches)
251   timing = ##t
252 }
253
254
255 \context {
256   \type "Performer_group"
257   \consists "Staff_performer" % Performer_group ?
258   \consists "Lyric_performer"
259   \name Lyrics
260 }
261
262 \context{
263   \type "Performer_group"
264   \name ChoirStaff
265   \accepts Staff
266   \accepts DrumStaff
267   \defaultchild Staff
268 }
269
270 \context {
271   \type "Performer_group"
272   \consists "Staff_performer"
273   \accepts ChordNameVoice
274   \defaultchild ChordNameVoice
275   \name ChordNames
276 }
277
278 \context {
279   \Voice
280   \name ChordNameVoice
281 }
282
283 \context {
284   \type "Performer_group"
285   \name StaffGroup
286   \accepts Staff
287   \accepts DrumStaff
288   \accepts TabStaff
289   \accepts RhythmicStaff
290   \accepts GrandStaff
291   \accepts PianoStaff
292   \accepts Lyrics
293   \accepts ChordNames
294   \accepts FiguredBass
295   \accepts FretBoards
296   \defaultchild Staff
297 }
298
299 \context {
300   \Staff
301   \name RhythmicStaff
302 }
303
304 \context {
305   \type "Performer_group"
306   \name Dynamics
307   \consists "Piano_pedal_performer"
308 }