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