]> 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--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.14.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   \consists "Slur_performer"
109 }
110
111 \context {
112   \type "Performer_group"
113   \name KievanVoice
114   \alias Voice
115   \consists "Dynamic_performer"
116   \consists "Tie_performer"
117   \consists "Note_performer"
118   \consists "Beam_performer"
119   \consists "Slur_performer"
120 }
121
122 \context {
123   \type "Performer_group"
124   \name MensuralVoice
125   \alias Voice
126   \consists "Dynamic_performer"
127   \consists "Tie_performer"
128   \consists "Note_performer"
129   \consists "Beam_performer"
130   \consists "Slur_performer"
131 }
132
133 \context {
134   \Voice
135   \remove "Note_performer"
136   \consists "Drum_note_performer"
137   \name DrumVoice
138 }
139
140 \context {
141   \type "Performer_group"
142   \name FiguredBass
143 }
144
145 \context {
146   \type "Performer_group"
147   \name FretBoards
148 }
149
150 \context {
151   \type "Performer_group"
152   \name GrandStaff
153   \accepts RhythmicStaff
154   \accepts Staff
155   \accepts Dynamics
156   \defaultchild Staff
157 }
158
159 \context {
160   \type "Performer_group"
161   \name "PianoStaff"
162   \accepts Staff
163   \accepts DrumStaff
164   \defaultchild Staff
165 }
166
167 \context {
168   \Voice
169   \name TabVoice
170 }
171
172 \context {
173   \type "Performer_group"
174   \name "Devnull"
175 }
176
177 \context {
178   \Staff
179   \name TabStaff
180   midiInstrument = #"acoustic guitar (nylon)"
181   \alias Staff
182   \accepts TabVoice
183   \defaultchild TabVoice
184 }
185
186 \context {
187   \type "Score_performer"
188
189   \name Score
190
191   melismaBusyProperties = #default-melisma-properties
192   instrumentName = #"bright acoustic"
193   midiChannelMapping = #'staff
194
195   %% quarter = 60
196   tempoWholesPerMinute = #(ly:make-moment 15 1)
197
198   \accepts Staff
199   \accepts DrumStaff
200   \accepts GrandStaff
201   \accepts PianoStaff
202   \accepts TabStaff
203   \accepts StaffGroup
204   \accepts Devnull
205   \accepts ChoirStaff
206   \accepts RhythmicStaff
207   \accepts ChordNames
208   \accepts FiguredBass
209   \accepts FretBoards
210   \accepts Lyrics
211   \accepts VaticanaStaff
212   \accepts KievanStaff
213   \accepts MensuralStaff
214
215   \consists "Time_signature_performer"
216   \consists "Control_track_performer"
217   \consists "Tempo_performer"
218
219   \alias "Timing"
220
221   %% An alias for Timing is established by the Timing_translator in
222   %% whatever context it is initialized, and the timing variables are
223   %% then copied from wherever Timing had been previously established.
224   %% The alias at Score level provides a target for initializing
225   %% Timing variables in layout definitions before any
226   %% Timing_translator has been run.
227
228   timeSignatureFraction = #'(4 . 4)
229
230 %% These defaults should be the same as the rules established in
231 %%   scm/time-signature-settings.scm for 4/4 time
232   measureLength = #(ly:make-moment 4 4)
233   baseMoment = #(ly:make-moment 1  4)
234
235   \consists "Timing_translator"
236
237   \defaultchild "Staff"
238
239   dynamicAbsoluteVolumeFunction = #default-dynamic-absolute-volume
240   instrumentEqualizer = #default-instrument-equalizer
241   drumPitchTable = #(alist->hash-table midiDrumPitches)
242   timing = ##t
243 }
244
245
246 \context {
247   \type "Performer_group"
248   \consists "Staff_performer" % Performer_group ?
249   \consists "Lyric_performer"
250   \name Lyrics
251 }
252
253 \context{
254   \type "Performer_group"
255   \name ChoirStaff
256   \accepts Staff
257   \accepts DrumStaff
258   \defaultchild Staff
259 }
260
261 \context {
262   \type "Performer_group"
263   \consists "Staff_performer"
264   \accepts ChordNameVoice
265   \name ChordNames
266 }
267
268 \context {
269   \type "Performer_group"
270   \consists "Note_performer"
271   \name ChordNameVoice
272 }
273
274 \context {
275   \type "Performer_group"
276   \name StaffGroup
277   \accepts Staff
278   \accepts DrumStaff
279   \accepts TabStaff
280   \accepts RhythmicStaff
281   \accepts GrandStaff
282   \accepts PianoStaff
283   \accepts Lyrics
284   \accepts ChordNames
285   \accepts FiguredBass
286   \accepts FretBoards
287   \defaultchild Staff
288 }
289
290 \context {
291   \Staff
292   \name RhythmicStaff
293 }
294
295 \context {
296   \type "Performer_group"
297   \name Dynamics
298   \consists "Piano_pedal_performer"
299 }