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