]> git.donarmstrong.com Git - lilypond.git/blob - input/no-notation/pc-direction.ly
* mf/GNUmakefile: always trace pfa fonts.
[lilypond.git] / input / no-notation / pc-direction.ly
1 #(ly:set-option 'old-relative)
2 \version "1.9.8"
3
4 % move to regtest once it works?
5
6
7 % still not workign ? --hwn.
8
9 \header {
10 texidoc = "
11 On their own staff, staffcombined voices should be stemboth (not up/down)
12 while voicecombined threads should get their direction set (up/down)
13
14 "
15 }
16
17
18 End = { \skip 1*8 }
19
20 violaI = \notes\relative c'' {
21   c c e4. e8
22 }
23 violaII = \notes\relative c'' {
24   c4 b a a
25 }
26
27
28 violoncello = \notes\relative c' {
29    c8 c c c    c8 c c c\break
30    a1
31 }
32
33 contrabasso = \notes\relative c {
34    a4 a8 a   a8 a a a\break
35    a1
36 }
37
38 violeStaff = \notes \context Staff = viole <<
39  \context Voice=oneViole <<
40                 \property Staff.instrument = #"Viola"
41                 \property Staff.instr = #"Vla."
42
43  \End
44  >>
45  \context Voice=twoViole <<
46                 \property Staff.instrument = #"Viola II"
47                 \property Staff.instr = #"Vla. II"
48  \End
49  >>
50   \context Voice=oneViole \partcombine Voice
51     \context Thread=oneViole \violaI
52     \context Thread=twoViole \violaII
53 >>
54
55 staffCombinePianoStaffProperties = {
56         \property PianoStaff.devNullThread = #'()
57         \property PianoStaff.soloADue = ##t
58         \property PianoStaff.soloText = #""
59         \property PianoStaff.soloIIText = #""
60         % This is non-conventional, but currently it is
61         % the only way to tell the difference.
62         \property PianoStaff.aDueText = #"\\`a2"
63         \property PianoStaff.splitInterval = #'(1 . 0)
64         \property PianoStaff.changeMoment = #`(,(ly:make-moment 1 1) . ,(ly:make-moment 1 1))
65         \property PianoStaff.noDirection = ##t
66 }
67
68
69 \score {
70   <<
71   \context StaffGroup <<
72    \violeStaff
73
74   \context PianoStaff = bassi_group \notes <<
75     \staffCombinePianoStaffProperties
76     \context Staff=oneBassi << \clef bass
77                 \property Staff.instrument = #'(lines
78                   "Violoncello" "    e" "Contrabasso")
79
80                 \property Staff.instr = #"Vc."
81                 \End >>
82     \context Staff=twoBassi << \clef bass
83                 \property Staff.instrument = #"Contrabasso"
84                 \property Staff.instr = #"Cb."
85
86     \End >>
87   
88     \context Staff=oneBassi \partcombine Staff
89       \context Voice=oneBassi { \violoncello }
90       \context Voice=twoBassi { \contrabasso }
91  >>
92 >>
93  >>
94   \paper {
95     % \paperSixteen
96     linewidth = 80 * \staffspace
97     textheight = 200 * \staffspace
98     \translator{
99       \ThreadContext
100       \consists "Rest_engraver"
101       
102       % Set value for engraver at thread level,
103       % to override the default that is set in ScoreContext
104       % for added engraver at Voice level
105       devNullThread = #'()
106     }
107     \translator{
108       \VoiceContext
109       \remove "Rest_engraver"    
110
111       % The staff combine (bassi part) needs a
112       % thread_devnull_engraver here.
113       % Instead of maintaining two separate hierarchies,
114       % we switch add it, but switch it off immideately.
115       % The staff combine parts switch it on.
116       % devNullThread = #'never
117       \consists "Thread_devnull_engraver"
118     }
119     \translator{
120       \RemoveEmptyStaffContext
121       \consists "Mark_engraver"
122     }
123     \translator {
124       \OrchestralScoreContext
125       skipBars = ##t
126       soloText = #"I."
127       soloIIText = #"II."
128       % By default, turn off the Thread_devnull_engraver
129       % at Voice level
130       devNullThread = #'never
131
132       % Hmm
133       currentBarNumber = #218
134       BarNumber \override #'padding = #3
135       RestCollision \override #'maximum-rest-count = #1
136       marginScriptHorizontalAlignment = #1
137       TimeSignature \override #'style = #'C
138     }
139   }
140 }
141