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