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