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