]> git.donarmstrong.com Git - lilypond.git/blob - ly/performer-init.ly
Release: update news.
[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   midiChannelMapping = #'staff
201
202   %% quarter = 60
203   tempoWholesPerMinute = #(ly:make-moment 15/1)
204
205   \accepts Staff
206   \accepts DrumStaff
207   \accepts GrandStaff
208   \accepts PianoStaff
209   \accepts TabStaff
210   \accepts StaffGroup
211   \accepts Devnull
212   \accepts ChoirStaff
213   \accepts RhythmicStaff
214   \accepts ChordNames
215   \accepts FiguredBass
216   \accepts FretBoards
217   \accepts Lyrics
218   \accepts VaticanaStaff
219   \accepts KievanStaff
220   \accepts MensuralStaff
221
222   \consists "Time_signature_performer"
223   \consists "Control_track_performer"
224   \consists "Tempo_performer"
225
226   \alias "Timing"
227
228   %% An alias for Timing is established by the Timing_translator in
229   %% whatever context it is initialized, and the timing variables are
230   %% then copied from wherever Timing had been previously established.
231   %% The alias at Score level provides a target for initializing
232   %% Timing variables in layout definitions before any
233   %% Timing_translator has been run.
234
235   timeSignatureSettings = #default-time-signature-settings
236   timeSignatureFraction = 4/4
237   autoBeaming = ##t  % needed for consistent melismata with engravers
238
239   %% Other beaming variables are not important as autobeams don't affect
240   %% the Midi.  Melismata are only affected by beams when autobeaming
241   %% is switched off.
242
243   \consists "Timing_translator"
244
245   \defaultchild "Staff"
246
247   dynamicAbsoluteVolumeFunction = #default-dynamic-absolute-volume
248   instrumentEqualizer = #default-instrument-equalizer
249   drumPitchTable = #(alist->hash-table midiDrumPitches)
250   timing = ##t
251 }
252
253
254 \context {
255   \type "Performer_group"
256   \consists "Staff_performer" % Performer_group ?
257   \consists "Lyric_performer"
258   \name Lyrics
259 }
260
261 \context{
262   \type "Performer_group"
263   \name ChoirStaff
264   \accepts Staff
265   \accepts DrumStaff
266   \defaultchild Staff
267 }
268
269 \context {
270   \type "Performer_group"
271   \consists "Staff_performer"
272   \accepts ChordNameVoice
273   \defaultchild ChordNameVoice
274   \name ChordNames
275 }
276
277 \context {
278   \Voice
279   \name ChordNameVoice
280 }
281
282 \context {
283   \type "Performer_group"
284   \name StaffGroup
285   \accepts Staff
286   \accepts DrumStaff
287   \accepts TabStaff
288   \accepts RhythmicStaff
289   \accepts GrandStaff
290   \accepts PianoStaff
291   \accepts Lyrics
292   \accepts ChordNames
293   \accepts FiguredBass
294   \accepts FretBoards
295   \defaultchild Staff
296 }
297
298 \context {
299   \Staff
300   \name RhythmicStaff
301 }
302
303 \context {
304   \type "Performer_group"
305   \name Dynamics
306   \consists "Piano_pedal_performer"
307 }