]> git.donarmstrong.com Git - lilypond.git/blob - input/test/part-combine-score.ly
8affccb12a21d9e1b32c22bf73d01e6bfe37cd51
[lilypond.git] / input / test / part-combine-score.ly
1 \header {
2 texidoc="Template for part-combining orchestral scores";
3 }
4   
5 \include "paper16.ly"; 
6 % \include "mutopia/Coriolan/coriolan-paper.ly";
7
8 #(define text-flat '((font-relative-size . -2 ) (music "accidentals--1")))
9
10 End = { \skip 1*9; \bar "|."; }
11
12 flautoI = \notes\relative c'' {
13   c4\pp d e f
14   b,4 d c d
15   r2 e4 f
16   \break
17   \context Score \outputproperty #(make-type-checker 'paper-column-interface)
18   #'between-system-string = #"\\eject"
19
20   c4 d e f
21   c4 r e f
22   c4 r e f
23   \break
24   c4 r a r
25   a a r a
26   a2 \property VoiceCombineThread.soloADue = ##f a
27 }
28
29 flautoII = \notes\relative c'' {
30   g4\ff b d f
31   r2 c4 d
32   a c c d
33   a4. b8 c4 d
34   c r e r
35   r2 s2
36   a,4 r a r
37   a r r a
38   a2 \property VoiceCombineThread.soloADue = ##f a
39 }
40           
41 flautiStaff =  \notes \context VoiceCombineStaff = flauti <
42   \property VoiceCombineStaff.midiInstrument = #"flute"
43 %  \property VoiceCombineStaff.instrument = #"2 Flauti"
44 %  \property VoiceCombineStaff.instr = #"Fl."
45
46   \property VoiceCombineStaff.instrument = #`((kern . 0.5) (lines
47     "2 Clarinetti" (rows "(B" ,text-flat ")")))
48
49   \property VoiceCombineStaff.instr = #`((kern . 0.5) (lines
50     "Cl."  (rows "(B" ,text-flat ")")))
51
52   %\global
53   \context VoiceCombineVoice=one \partcombine VoiceCombineVoice
54     \context VoiceCombineThread=one \flautoI
55     \context VoiceCombineThread=two \flautoII
56 >
57
58 legniGroup =  \context StaffGroup = legni_group <
59   \flautiStaff
60   %\oboiStaff
61   %\clarinettiStaff
62   %\fagottiStaff
63 >
64
65 violinoI = \notes\relative c'' {
66   c4 d e f
67   c d e f
68   c d e f
69   c d e f
70   c d e f
71   c d e f
72   c4 d e f
73   a8 a a a b b b b
74   d1
75 }      
76
77 violinoII = \notes\relative c'' { 
78   c4 d e f
79   c d e f
80   c d e f
81   c2 e2
82   c4 d e f
83   c2 e2
84   c,4 d e f
85   a8 a a a b b b b
86   b1
87 }
88
89 violinoIStaff =  \context Staff = oneViolini <
90  \property Staff.midiInstrument = #"violin"
91   \property Staff.instrument = #"Violino I"
92   \property Staff.instr = #"Vl. I"
93   \violinoI
94   \End
95 >
96
97 violinoIIStaff =  \context Staff = twoViolini <
98   % MIDI hoort geeneens verschil tussen een
99   % eerste en tweede viool ;-)
100   \property Staff.midiInstrument = #"violin"
101   \property Staff.instrument = #"Violino II"
102   \property Staff.instr = #"Vl. II"
103   \violinoII
104   \End
105 >
106
107 violaI = \notes\transpose c, \violinoI
108
109 violaII = \notes\transpose c, \violinoII
110
111 violeGroup =  \notes \context VoiceCombineStaff = oneViole <
112   \property VoiceCombineStaff.midiInstrument = #"viola"
113   \property VoiceCombineStaff.instrument = #"Viola"
114   \property VoiceCombineStaff.instr = #"Vla."
115   %\clef "alto";
116   % Ugh, clef broken in 1.3.125
117   \property VoiceCombineStaff.clefGlyph = #"clefs-C"
118   \property VoiceCombineStaff.clefPosition = #0
119   \key f \major;
120   \End
121
122   \context VoiceCombineVoice=oneViole \partcombine VoiceCombineVoice
123     \context VoiceCombineThread=oneViole \violaI
124     \context VoiceCombineThread=twoViole \violaII
125 >
126
127 violoncello = \notes\relative c {
128   c1\ff d e f c d e f c
129 }
130
131 contrabasso = \notes\relative c {
132   c1\pp
133   d4 e d e
134   e1
135   f4 g f g
136   c1
137   d4 e d e
138   e1
139   f4 g f g
140   c1
141 }
142
143
144 bassiGroup =  \context PianoStaff = bassi_group \notes <
145   \context StaffCombineStaff=oneBassi {
146     \property StaffCombineStaff.midiInstrument = #"cello"
147
148     % Ugh, markup burps
149     \property StaffCombineStaff.instrument = #'((kern . 0.5)
150     (lines "Violoncello" (rows "    e") (rows "Contrabasso")))
151
152     \property StaffCombineStaff.instr = #"Vc."
153     
154     %\clef "bass";
155     % Ugh, clef broken in 1.3.125
156     \property StaffCombineStaff.clefGlyph = #"clefs-F"
157     \property StaffCombineStaff.clefPosition = #2
158
159     \key es \major;
160     \End
161   }
162   \context StaffCombineStaff=twoBassi {
163     \property StaffCombineStaff.midiInstrument = #"contrabass"
164     \property StaffCombineStaff.instrument = #"Contrabasso"
165     \property StaffCombineStaff.instr = #"Cb."
166     
167     %\clef "bass";
168     % Ugh, clef broken in 1.3.125
169     \property StaffCombineStaff.clefGlyph = #"clefs-F"
170     \property StaffCombineStaff.clefPosition = #2
171     
172     \key as \major;
173     \End
174   }
175
176   \context StaffCombineStaff=oneBassi \partcombine StaffCombineStaff
177     \context StaffCombineVoice=oneBassi \violoncello
178     \context StaffCombineVoice=twoBassi \contrabasso
179 >
180
181
182 violiniGroup =  \context GrandStaff = violini_group <
183   \violinoIStaff
184   \violinoIIStaff
185 >
186
187 archiGroup =  \context StaffGroup = archi_group <
188   \violiniGroup
189   \violeGroup
190   \bassiGroup
191 >
192
193
194 \score{
195   <
196     \legniGroup
197     %\ottoniGroup
198     %\timpaniGroup
199     \archiGroup
200   >
201   \header {
202     title = "Coriolan";
203     subtitle = "Ouverture"; 
204     opus = "Opus 62";
205     composer = "Ludwig van Beethoven (1770-1827)";
206     enteredby = "JCN";
207     copyright = "public domain";
208   }
209   \paper{
210     \paperSixteen
211
212     %textheight = 290.0\mm;
213     %linewidth = 195.0\mm;
214     textheight = 285.0\mm;
215     linewidth = 190.0\mm;
216
217     \translator{ \HaraKiriStaffContext }
218     %
219     % The Voice combine hierarchy
220     %
221     \translator{
222       \ThreadContext
223       \name "VoiceCombineThread";
224       \consists "Rest_engraver";
225     }
226     \translator{
227       \VoiceContext
228       \name "VoiceCombineVoice";
229       soloText = #"I."
230       soloIIText = #"II."
231       \remove "Rest_engraver";
232       \accepts "VoiceCombineThread";
233     }
234     \translator{
235       \HaraKiriStaffContext
236       \consists "Mark_engraver";
237       \name "VoiceCombineStaff";
238       \accepts "VoiceCombineVoice";
239     }
240
241     %
242     % The Staff combine hierarchy
243     %
244     \translator{
245       \ThreadContext
246       \name "StaffCombineThread";
247     }
248     \translator{
249       \VoiceContext
250       \name "StaffCombineVoice";
251       \accepts "StaffCombineThread";
252       \consists "Thread_devnull_engraver";
253     }
254     \translator {
255       \HaraKiriStaffContext
256       \name "StaffCombineStaff";
257       \accepts "StaffCombineVoice";
258
259       soloADue = ##t
260       soloText = #""
261       soloIIText = #""
262       % This is non-conventional, but currently it is
263       % the only way to tell the difference.
264       aDueText = #"\\`a2"
265       splitInterval = #'(1 . 0)
266       changeMoment = #`(,(make-moment 1 1) . ,(make-moment 1 1))
267     }
268     \translator {
269       \StaffGroupContext
270       \accepts "VoiceCombineStaff";
271       \accepts "StaffCombineStaff";
272     }
273     \translator{ \HaraKiriStaffContext }
274
275     \translator {
276       %\ScoreContext
277       \OrchestralScoreContext
278       \accepts "VoiceCombineStaff";
279       \accepts "StaffCombineStaff";
280       TimeSignature \override #'style = #'C
281       skipBars = ##t 
282       BarNumber \override #'padding = #3
283       RestCollision \override #'maximum-rest-count = #1
284     }
285   }
286 }