]> git.donarmstrong.com Git - lilypond.git/commitdiff
Clean up inconsistencies in engraver-init.ly and performer-init.ly
authorThomas Morley <thomasmorley65@gmail.com>
Sun, 8 Feb 2015 17:40:10 +0000 (18:40 +0100)
committerThomas Morley <thomasmorley65@gmail.com>
Sun, 1 Mar 2015 15:15:20 +0000 (16:15 +0100)
issue 4281

In performer-init.ly
- let context-defs be copied when possible
- add missing contexts for \accepts and \alias
- delete settings for ChordNameVoice
- add GregorianTranscriptionStaff, GregorianTranscriptionVoice, NoteNames,
  PetrucciStaff, PetrucciVoice
- all contexts are written without quotation marks
- accepted contexts are ordered alphabetically

In engraver-init.ly
- add FretBoards to the accepted contexts in StaffGroup
- add NullVoice to the accepted contexts in RhythmicStaff
- all contexts are written with quotation marks
- accepted contexts are ordered alphabetically

ly/engraver-init.ly
ly/performer-init.ly

index 5532b288ca5450668ff17aef114726f34c263680..12a5fcf2ed98c59dacdc742f9d0bc4a4e4fee1ca 100644 (file)
@@ -65,7 +65,7 @@
   \consists "Dot_column_engraver"
   \consists "Staff_collecting_engraver"
 
- %% perhaps move to Voice context?
 %% perhaps move to Voice context?
   \consists "Ottava_spanner_engraver"
   \consists "Clef_engraver"
   \consists "Key_engraver"
@@ -97,9 +97,9 @@
   shortInstrumentName = #'()
 
   \defaultchild "Voice"
-  \accepts "Voice"
   \accepts "CueVoice"
   \accepts "NullVoice"
+  \accepts "Voice"
 
   \description "Handles clefs, bar lines, keys, accidentals.  It can contain
 @code{Voice} contexts."
   vocalName = #'()
   shortVocalName = #'()
 
-  \accepts "Staff"
+  \accepts "ChoirStaff"
+  \accepts "ChordNames"
   \accepts "DrumStaff"
-  \accepts "RhythmicStaff"
+  \accepts "FiguredBass"
   \accepts "GrandStaff"
-  \accepts "PianoStaff"
   \accepts "Lyrics"
-  \accepts "ChordNames"
-  \accepts "FiguredBass"
-  \accepts "ChoirStaff"
+  \accepts "PianoStaff"
+  \accepts "RhythmicStaff"
+  \accepts "Staff"
   \accepts "StaffGroup"
   \defaultchild "Staff"
   \description "Identical to @code{StaffGroup} except that the
@@ -166,7 +166,7 @@ contained staves are not connected vertically."
   createSpacing = ##t
 
   squashedPosition = #0
-  \name RhythmicStaff
+  \name "RhythmicStaff"
   \alias "Staff"
 
   \override VoltaBracket.staff-padding = #3
@@ -191,8 +191,9 @@ contained staves are not connected vertically."
   instrumentName = #'()
   shortInstrumentName = #'()
 
-  \accepts "Voice"
   \accepts "CueVoice"
+  \accepts "NullVoice"
+  \accepts "Voice"
   \defaultchild "Voice"
 
   \description "A context like @code{Staff} but for printing rhythms.
@@ -273,8 +274,8 @@ multiple voices on the same staff."
 \context{
   \Voice
 
-  \name CueVoice
-  \alias Voice
+  \name "CueVoice"
+  \alias "Voice"
   fontSize = #-4
   \override Stem.length-fraction = #(magstep -4)
   \override Beam.length-fraction = #(magstep -4)
@@ -283,8 +284,8 @@ multiple voices on the same staff."
 
 \context {
   \Voice
-  \name DrumVoice
-  \alias Voice
+  \name "DrumVoice"
+  \alias "Voice"
 
   \description "A voice on a percussion staff."
   \remove "Arpeggio_engraver"
@@ -304,7 +305,7 @@ multiple voices on the same staff."
 
 \context{
   \type "Engraver_group"
-  \name GrandStaff
+  \name "GrandStaff"
   localAlterations = #'()
 
   \description "A group of staves, with a brace on the left
@@ -313,8 +314,8 @@ contained staves are connected vertically."
 
   \consists "Instrument_name_engraver"
   \consists "Span_bar_engraver"
-% The default for DynamicText.extra-spacing-width causes dynamics to
-% be placed across span bars, so switch it off:
+  %% The default for DynamicText.extra-spacing-width causes dynamics to
+  %% be placed across span bars, so switch it off:
   \override DynamicText.extra-spacing-width = ##f
   \consists "Span_bar_stub_engraver"
   \consists "Span_arpeggio_engraver"
@@ -327,14 +328,14 @@ contained staves are connected vertically."
   shortInstrumentName = #'()
 
   \defaultchild "Staff"
-  \accepts "Staff"
-  \accepts "RhythmicStaff"
+  \accepts "ChordNames"
   \accepts "DrumStaff"
-  \accepts "TabStaff"
-  \accepts "Lyrics"
-  \accepts "FiguredBass"
   \accepts "Dynamics"
-  \accepts "ChordNames"
+  \accepts "FiguredBass"
+  \accepts "Lyrics"
+  \accepts "RhythmicStaff"
+  \accepts "Staff"
+  \accepts "TabStaff"
 }
 
 \context{
@@ -362,8 +363,8 @@ together, never separately."
 
   \consists "Instrument_name_engraver"
   \consists "Span_bar_engraver"
-% The default for DynamicText.extra-spacing-width causes dynamics to
-% be placed across span bars, so switch it off:
+  %% The default for DynamicText.extra-spacing-width causes dynamics to
+  %% be placed across span bars, so switch it off:
   \override DynamicText.extra-spacing-width = ##f
   \consists "Span_bar_stub_engraver"
   \consists "Span_arpeggio_engraver"
@@ -376,17 +377,18 @@ together, never separately."
   \consists "System_start_delimiter_engraver"
 
   \defaultchild "Staff"
-  \accepts "Staff"
-  \accepts "RhythmicStaff"
+  \accepts "ChoirStaff"
+  \accepts "ChordNames"
   \accepts "DrumStaff"
+  \accepts "FiguredBass"
+  \accepts "FretBoards"
   \accepts "GrandStaff"
-  \accepts "PianoStaff"
-  \accepts "TabStaff"
   \accepts "Lyrics"
-  \accepts "ChordNames"
-  \accepts "FiguredBass"
-  \accepts "ChoirStaff"
+  \accepts "PianoStaff"
+  \accepts "RhythmicStaff"
+  \accepts "Staff"
   \accepts "StaffGroup"
+  \accepts "TabStaff"
 
   \description "Groups staves while adding a bracket on the left
 side, grouping the staves together.  The bar lines of the contained
@@ -396,8 +398,8 @@ a collection of staves, with a bracket in front and spanning bar lines."
 
 \context {
   \type "Engraver_group"
-  \name Dynamics
-  \alias Voice
+  \name "Dynamics"
+  \alias "Voice"
   \consists "Output_property_engraver"
   \consists "Bar_engraver"
   \consists "Piano_pedal_engraver"
@@ -472,7 +474,7 @@ printing of a single line of lyrics."
 
 \context {
   \type "Engraver_group"
-  \name NoteNames
+  \name "NoteNames"
   \description "A context for printing the names of notes."
   \consists "Axis_group_engraver"
 
@@ -495,14 +497,14 @@ printing of a single line of lyrics."
 
 \context {
   \type "Engraver_group"
-  \name ChordNames
+  \name "ChordNames"
   \description "Typesets chord names."
 
   \consists "Output_property_engraver"
   \consists "Separating_line_group_engraver"
   \consists "Chord_name_engraver"
   \consists "Axis_group_engraver"
-%  \consists "Note_spacing_engraver"
+  %\consists "Note_spacing_engraver"
 
   \override VerticalAxisGroup.remove-first = ##t
   \override VerticalAxisGroup.remove-empty = ##t
@@ -539,7 +541,7 @@ automatically when an output definition (a @code{\\score} or
   %% Timing variables in layout definitions before any
   %% Timing_translator has been run.
 
-  % timing translator must come BEFORE bar number engraver
+  %% timing translator must come BEFORE bar number engraver
   \consists "Timing_translator"
   \consists "Default_bar_line_engraver"
   \consists "Output_property_engraver"
@@ -561,26 +563,26 @@ automatically when an output definition (a @code{\\score} or
 
   \defaultchild "Staff"
 
+  \accepts "ChoirStaff"
+  \accepts "ChordNames"
+  \accepts "Devnull"
+  \accepts "DrumStaff"
+  \accepts "FiguredBass"
   \accepts "FretBoards"
-  \accepts "Staff"
-  \accepts "RhythmicStaff"
-  \accepts "TabStaff"
-  \accepts "VaticanaStaff"
+  \accepts "GrandStaff"
   \accepts "GregorianTranscriptionStaff"
-  \accepts "MensuralStaff"
-  \accepts "PetrucciStaff"
-  \accepts "StaffGroup"
-  \accepts "DrumStaff"
   \accepts "KievanStaff"
   \accepts "Lyrics"
-  \accepts "ChordNames"
-  \accepts "GrandStaff"
-  \accepts "ChoirStaff"
-  \accepts "PianoStaff"
-  \accepts "Devnull"
-  \accepts "NullVoice"
+  \accepts "MensuralStaff"
   \accepts "NoteNames"
-  \accepts "FiguredBass"
+  \accepts "NullVoice"
+  \accepts "PetrucciStaff"
+  \accepts "PianoStaff"
+  \accepts "RhythmicStaff"
+  \accepts "Staff"
+  \accepts "StaffGroup"
+  \accepts "TabStaff"
+  \accepts "VaticanaStaff"
 
   noteToFretFunction = #determine-frets
   predefinedDiagramTable = ##f
@@ -623,9 +625,9 @@ automatically when an output definition (a @code{\\score} or
 
   repeatCountVisibility = #all-repeat-counts-visible
 
-%% Other Timing variables are derived and set by the Timing_translator
-%% at initialization time by calling the functions in
-%% scm/time-signature-settings.scm
+  %% Other Timing variables are derived and set by the Timing_translator
+  %% at initialization time by calling the functions in
+  %% scm/time-signature-settings.scm
 
   timeSignatureSettings = #default-time-signature-settings
   timeSignatureFraction = 4/4
@@ -644,10 +646,10 @@ automatically when an output definition (a @code{\\score} or
   pedalUnaCordaStrings = #'("una corda" "" "tre corde")
   pedalUnaCordaStyle = #'text
 
-%% These are in ordinary italic font, including the *,
-%% but they are unlikely to be used,
-%% as the default pedal-style for SostenutoPedal is 'mixed':
-%% i.e.  Sost. Ped_____________________
+  %% These are in ordinary italic font, including the *,
+  %% but they are unlikely to be used,
+  %% as the default pedal-style for SostenutoPedal is 'mixed':
+  %% i.e.  Sost. Ped_____________________
   pedalSostenutoStrings = #'("Sost. Ped." "*Sost. Ped." "*")
   pedalSostenutoStyle = #'mixed
 
@@ -674,7 +676,7 @@ automatically when an output definition (a @code{\\score} or
 
   barCheckSynchronize = ##f
 
-%% chord names:
+  %% chord names:
   chordNameFunction = #ignatzek-chord-names
   minorChordModifier = #(make-simple-markup "m")
   additionalPitchPrefix = #"" % was "add"
@@ -694,12 +696,12 @@ automatically when an output definition (a @code{\\score} or
   (assign clefPosition 2)
   (assign middleCPosition 6)
   (assign middleCClefPosition 6))
-%% tablature:
+  %% tablature:
   stringOneTopmost = ##t
   highStringOne = ##t
 
-%% One may change the string tunings as follows :
-%% The length of the list must be equal to the number of strings
+  %% One may change the string tunings as follows :
+  %% The length of the list must be equal to the number of strings
   stringTunings = #guitar-tuning
   tablatureFormat = #fret-number-tablature-format
   tabStaffLineLayoutFunction = #tablature-position-on-lines
@@ -726,7 +728,7 @@ automatically when an output definition (a @code{\\score} or
     ;; need this, as stanza numbers are items, and appear only once.
     stanza-number-interface
   )
-  % \quoteDuring is supposed to quote everything, cueDuring only the essentials
+  %% \quoteDuring is supposed to quote everything, cueDuring only the essentials
   quotedEventTypes = #'(StreamEvent)
   quotedCueEventTypes = #'(
     note-event
@@ -764,7 +766,7 @@ automatically when an output definition (a @code{\\score} or
   \name "Devnull"
   \type "Engraver_group"
 
-%% don't want to route anything out of here:
+  %% don't want to route anything out of here:
   \alias "Staff"
   \alias "Voice"
   \description "Silently discards all musical information given to this
@@ -780,20 +782,20 @@ context."
   \alias "Staff"
   \alias "Voice"
 
-  % provide non-printing NoteHeads with proper extents for lyric alignment
+  %% provide non-printing NoteHeads with proper extents for lyric alignment
   \consists "Note_heads_engraver"
   \omit NoteHead
   \override NoteHead.X-extent = #(lambda (g)
     (ly:stencil-extent (ly:note-head::print g) X))
 
-  % generate no accidentals
+  %% generate no accidentals
   nullAccidentals = ##t
 
   %% keep noteheads inside the staff
   \consists "Pitch_squash_engraver"
   squashedPosition = 0
 
-  % the engravers that control the 'busy' flags for note-onsets and melismata
+  %% the engravers that control the 'busy' flags for note-onsets and melismata
   \consists "Grob_pq_engraver"
   \consists "Tie_engraver"
   \omit Tie
@@ -1014,7 +1016,6 @@ of Editio Vaticana."
 
   %% There are no beams in Gregorian Chant notation.
   autoBeaming = ##f
-
 }
 
 \context {
@@ -1110,7 +1111,7 @@ accommodated for typesetting a piece in Petrucci style."
   \override NoteHead.style = #'petrucci
   \override Rest.style = #'mensural
 
-  % Thickens and shortens stems.
+  %% Thickens and shortens stems.
   \override Stem.thickness = #1.7
   \override Stem.length = #5
 
@@ -1152,58 +1153,58 @@ accommodated for typesetting a piece in Petrucci style."
 }
 
 \context {
- \Voice
- \name "KievanVoice"
- \alias "Voice"
- \description "Same as @code{Voice} context, except that it is
 \Voice
 \name "KievanVoice"
 \alias "Voice"
 \description "Same as @code{Voice} context, except that it is
 accommodated for typesetting a piece in Kievan style."
 
   \remove "Ligature_bracket_engraver"
   \consists "Kievan_ligature_engraver"
 
- %% Set glyph styles.
- \override NoteHead.style = #'kievan
- \override Stem.X-offset = #stem::kievan-offset-callback
- \override Stem.stencil = ##f
- \override Flag.stencil = ##f
- \override Rest.style = #'mensural
- \override Accidental.glyph-name-alist = #alteration-kievan-glyph-name-alist
- \override Dots.style = #'kievan
- \override Slur.stencil = ##f
- \override Stem.length = #0.0
- \override Beam.positions = #beam::get-kievan-positions
- \override Beam.quantized-positions = #beam::get-kievan-quantized-positions
- \override NoteHead.duration-log = #note-head::calc-kievan-duration-log
-
- %% There are beams in Kievan notation, but they are invoked manually
- autoBeaming = ##f
 %% Set glyph styles.
 \override NoteHead.style = #'kievan
 \override Stem.X-offset = #stem::kievan-offset-callback
 \override Stem.stencil = ##f
 \override Flag.stencil = ##f
 \override Rest.style = #'mensural
 \override Accidental.glyph-name-alist = #alteration-kievan-glyph-name-alist
 \override Dots.style = #'kievan
 \override Slur.stencil = ##f
 \override Stem.length = #0.0
 \override Beam.positions = #beam::get-kievan-positions
 \override Beam.quantized-positions = #beam::get-kievan-quantized-positions
 \override NoteHead.duration-log = #note-head::calc-kievan-duration-log
+
 %% There are beams in Kievan notation, but they are invoked manually
 autoBeaming = ##f
 }
 
 \context {
- \Staff
- \name "KievanStaff"
- \alias "Staff"
- \denies "Voice"
- \defaultchild "KievanVoice"
- \accepts "KievanVoice"
- \description "Same as @code{Staff} context, except that it is
 \Staff
 \name "KievanStaff"
 \alias "Staff"
 \denies "Voice"
 \defaultchild "KievanVoice"
 \accepts "KievanVoice"
 \description "Same as @code{Staff} context, except that it is
 accommodated for typesetting a piece in Kievan style."
 
- \remove "Time_signature_engraver"
-
- %% Choose Kievan tsefaut clef
- clefGlyph = #"clefs.kievan.do"
- middleCClefPosition = #0
- middleCPosition = #0
- clefPosition = #0
- clefTransposition = #0
-
- %% Accidentals are valid only once (if the following note is different)
- extraNatural = ##f
- autoAccidentals = #`(Staff ,(make-accidental-rule 'same-octave 0)
-                            ,neo-modern-accidental-rule)
- autoCautionaries = #'()
- printKeyCancellation = ##f
 \remove "Time_signature_engraver"
+
 %% Choose Kievan tsefaut clef
 clefGlyph = #"clefs.kievan.do"
 middleCClefPosition = #0
 middleCPosition = #0
 clefPosition = #0
 clefTransposition = #0
+
 %% Accidentals are valid only once (if the following note is different)
 extraNatural = ##f
 autoAccidentals = #`(Staff ,(make-accidental-rule 'same-octave 0)
+                             ,neo-modern-accidental-rule)
 autoCautionaries = #'()
 printKeyCancellation = ##f
 
 }
 
index 645c8ee45a79a03422b5e974dc2cb292ea3dc5c3..0942116dcef34cfc47a3d05c42cf537c78697c99 100644 (file)
@@ -16,7 +16,7 @@
 %%%% You should have received a copy of the GNU General Public License
 %%%% along with LilyPond.  If not, see <http://www.gnu.org/licenses/>.
 
-\version "2.17.14"
+\version "2.19.16"
 
 %%
 %% setup for Request->Element conversion.
@@ -24,9 +24,9 @@
 \context {
   \type "Performer_group"
   \name Staff
-  \accepts Voice
   \accepts CueVoice
   \accepts NullVoice
+  \accepts Voice
   \defaultchild Voice
 
   \consists "Staff_performer"
 }
 
 \context {
-  \type "Performer_group"
+  \Staff
   \name KievanStaff
+  \alias Staff
   \denies Voice
   \accepts KievanVoice
   \defaultchild KievanVoice
-  \alias Staff
-  \consists "Staff_performer"
-  \consists "Key_performer"
-  \consists "Midi_control_function_performer"
 }
 
 \context {
-  \type "Performer_group"
+  \Staff
   \name VaticanaStaff
   \alias Staff
   \denies Voice
   \accepts VaticanaVoice
   \defaultchild VaticanaVoice
-  \consists "Staff_performer"
-  \consists "Key_performer"
-  \consists "Midi_control_function_performer"
 }
 
 \context {
-  \type "Performer_group"
+  \Staff
   \name MensuralStaff
+  \alias Staff
   \denies Voice
   \accepts MensuralVoice
   \defaultchild MensuralVoice
+}
+
+\context {
+  \Staff
+  \name PetrucciStaff
   \alias Staff
-  \consists "Staff_performer"
-  \consists "Key_performer"
-  \consists "Midi_control_function_performer"
+  \denies Voice
+  \accepts PetrucciVoice
+  \defaultchild PetrucciVoice
+}
+
+\context {
+  \Staff
+  \name GregorianTranscriptionStaff
+  \alias Staff
+  \denies Voice
+  \accepts GregorianTranscriptionVoice
+  \defaultchild GregorianTranscriptionVoice
 }
 
 \context {
   \Staff
   \name DrumStaff
+  \alias Staff
   midiInstrument = #"drums"
+  \denies Voice
   \accepts DrumVoice
   \defaultchild DrumVoice
 }
 }
 
 \context {
-  \type "Performer_group"
+  \Voice
   \name VaticanaVoice
   \alias Voice
-  \consists "Dynamic_performer"
-  \consists "Tie_performer"
-  \consists "Note_performer"
-  \consists "Beam_performer"
-  autoBeaming = ##f  % needed for consistent melismata with engravers
-  \consists "Slur_performer"
+  autoBeaming = ##f  % needed for consistent melismata with engravers"
 }
 
 \context {
-  \type "Performer_group"
+  \Voice
   \name KievanVoice
   \alias Voice
-  \consists "Dynamic_performer"
-  \consists "Tie_performer"
-  \consists "Note_performer"
-  \consists "Beam_performer"
-  autoBeaming = ##f  % needed for consistent melismata with engravers
-  \consists "Slur_performer"
+  autoBeaming = ##f  % needed for consistent melismata with engravers"
 }
 
 \context {
-  \type "Performer_group"
+  \Voice
   \name MensuralVoice
   \alias Voice
-  \consists "Dynamic_performer"
-  \consists "Tie_performer"
-  \consists "Note_performer"
-  \consists "Beam_performer"
   autoBeaming = ##f  % needed for consistent melismata with engravers
-  \consists "Slur_performer"
 }
 
 \context {
   \Voice
+  \name PetrucciVoice
+  \alias Voice
+  autoBeaming = ##f  % needed for consistent melismata with engravers
+}
+
+\context {
+  \Voice
+  \name GregorianTranscriptionVoice
+  \alias Voice
+  autoBeaming = ##f  % needed for consistent melismata with engravers
+}
+
+\context {
+  \Voice
+  \name DrumVoice
+  \alias Voice
   \remove "Note_performer"
   \consists "Drum_note_performer"
-  \name DrumVoice
 }
 
 \context {
 \context {
   \type "Performer_group"
   \name FretBoards
+  \alias Staff
 }
 
 \context {
   \type "Performer_group"
   \name GrandStaff
+  \accepts ChordNames
+  \accepts DrumStaff
+  \accepts Dynamics
+  \accepts FiguredBass
+  \accepts Lyrics
   \accepts RhythmicStaff
   \accepts Staff
-  \accepts Dynamics
+  \accepts TabStaff
   \defaultchild Staff
 }
 
 \context {
-  \type "Performer_group"
-  \name "PianoStaff"
-  \accepts Staff
-  \accepts DrumStaff
-  \defaultchild Staff
+  \GrandStaff
+  \name PianoStaff
+  \alias GrandStaff
 }
 
 \context {
   \Voice
   \name TabVoice
+  \alias Voice
 }
 
 \context {
   \type "Performer_group"
-  \name "Devnull"
+  \name Devnull
+  \alias Voice
+  \alias Staff
 }
 
 \context {
   \name TabStaff
   midiInstrument = #"acoustic guitar (nylon)"
   \alias Staff
+  \denies Voice
   \accepts TabVoice
   \defaultchild TabVoice
   autoBeaming = ##f  % needed for consistent melismata with engravers
   %% quarter = 60
   tempoWholesPerMinute = #(ly:make-moment 15/1)
 
-  \accepts Staff
+  \accepts ChoirStaff
+  \accepts ChordNames
+  \accepts Devnull
   \accepts DrumStaff
+  \accepts FiguredBass
   \accepts GrandStaff
-  \accepts PianoStaff
-  \accepts TabStaff
-  \accepts StaffGroup
-  \accepts Devnull
+  \accepts GregorianTranscriptionStaff
+  \accepts KievanStaff
+  \accepts Lyrics
+  \accepts MensuralStaff
+  \accepts NoteNames
   \accepts NullVoice
-  \accepts ChoirStaff
+  \accepts PetrucciStaff
+  \accepts PianoStaff
   \accepts RhythmicStaff
-  \accepts ChordNames
-  \accepts FiguredBass
   \accepts FretBoards
-  \accepts Lyrics
+  \accepts Staff
+  \accepts StaffGroup
+  \accepts TabStaff
   \accepts VaticanaStaff
-  \accepts KievanStaff
-  \accepts MensuralStaff
 
   \consists "Time_signature_performer"
   \consists "Control_track_performer"
 \context{
   \type "Performer_group"
   \name ChoirStaff
-  \accepts Staff
+  \accepts ChoirStaff
+  \accepts ChordNames
+  \accepts FiguredBass
   \accepts DrumStaff
+  \accepts GrandStaff
+  \accepts Lyrics
+  \accepts PianoStaff
+  \accepts RhythmicStaff
+  \accepts Staff
+  \accepts StaffGroup
   \defaultchild Staff
 }
 
 \context {
   \type "Performer_group"
   \consists "Staff_performer"
-  \accepts ChordNameVoice
-  \defaultchild ChordNameVoice
-  \name ChordNames
+  \name NoteNames
 }
 
 \context {
-  \Voice
-  \name ChordNameVoice
+  \type "Performer_group"
+  \consists "Staff_performer"
+  \name ChordNames
 }
 
 \context {
   \type "Performer_group"
   \name StaffGroup
-  \accepts Staff
-  \accepts DrumStaff
-  \accepts TabStaff
-  \accepts RhythmicStaff
-  \accepts GrandStaff
-  \accepts PianoStaff
-  \accepts Lyrics
+  \accepts ChoirStaff
   \accepts ChordNames
+  \accepts DrumStaff
   \accepts FiguredBass
   \accepts FretBoards
+  \accepts GrandStaff
+  \accepts Lyrics
+  \accepts PianoStaff
+  \accepts RhythmicStaff
+  \accepts Staff
+  \accepts StaffGroup
+  \accepts TabStaff
   \defaultchild Staff
 }
 
 \context {
   \Staff
   \name RhythmicStaff
+  \alias Staff
+  \defaultchild Voice
 }
 
 \context {
   \type "Performer_group"
   \name Dynamics
+  \alias Voice
   \consists "Piano_pedal_performer"
 }