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