]> git.donarmstrong.com Git - lilypond.git/blob - input/test/staff-container.ly
Massive changes - see ChangeLog.
[lilypond.git] / input / test / staff-container.ly
1 #(ly:set-option 'old-relative)
2 \version "1.9.0"
3
4 \header {
5
6     texidoc = "
7
8 Container By splitting the grouping (Axis_group_engraver) and creation
9 functionality into separate contexts, you can override interesting
10 things.
11
12 Notation like this is used in modern scores. Note that LilyPond is not
13 especially prepared for it: the clefs and time-signatures don't do
14 what you would expect.
15
16     "
17
18       }
19
20
21
22 %% 
23 %% s4 would create a staff.
24 %%
25 quarterSkip = #(make-nonevent-skip (ly:make-duration 2 0))
26
27 \score  {
28  \notes \relative c'' <
29         \context StaffContainer = SA {
30
31             %% need < >, otherwise we descend to the voice inside SA  
32             < \context Staff = SA { c4 c4 } >
33             \quarterSkip
34             
35             < \context Staff = SB { b4 b4 } > 
36         }
37         \context StaffContainer =SB {
38             \quarterSkip
39             < \context Staff { e d f } >
40             \quarterSkip
41         }
42  >
43
44 \paper {
45         \translator {
46                 \ScoreContext
47                 \accepts StaffContainer
48                 \denies Staff
49         }
50         \translator {
51                 \type Engraver_group_engraver
52                 \consists Clef_engraver
53                 \consists Time_signature_engraver
54                 \consistsend "Axis_group_engraver"
55                 \accepts "Staff"
56                 
57                 \name StaffContainer
58         }
59         \translator {
60                 \StaffContext
61                 \remove Axis_group_engraver
62                 \remove Clef_engraver
63                 \remove Time_signature_engraver
64         }
65         raggedright=##t
66 }
67 }
68
69