]> git.donarmstrong.com Git - lilypond.git/blobdiff - ly/engraver.ly
release: 1.3.147
[lilypond.git] / ly / engraver.ly
index 383bb18c8c7541cbc97034cb4b522c626acb7394..52995c5849c188391383d7177682102b2e0a5aff 100644 (file)
+\version "1.3.146"
 
-\version "1.3.96"
-       %
+%
 % setup for Request->Element conversion. Guru-only
 %
 
 StaffContext=\translator {
-       \type "Engraver_group_engraver";
-       \name Staff ;
-       \consists "Output_property_engraver";   
+       \type "Engraver_group_engraver"
+       \name Staff 
+       \consists "Output_property_engraver"    
        Generic_property_list = #generic-staff-properties
-       \consists "Property_engraver";
+       \consists "Property_engraver"
        
-       \consists "Multi_measure_rest_engraver";
-
-       \consists "Bar_engraver";
+       \consists "Bar_engraver"
  % Bar_engraver must be first so default bars aren't overwritten
 % with empty ones.
 
 
-%      \consists "Repeat_engraver";
-       \consists "Volta_engraver";
-       \consists "Separating_line_group_engraver";     
+%      \consists "Repeat_engraver"
+       \consists "Volta_engraver"
+       \consists "Separating_line_group_engraver"      
 
 
 
-       \consists "Clef_engraver";
-       \consists "Key_engraver";
-       \consists "Time_signature_engraver";
-       \consists "Staff_symbol_engraver";
-       \consists "Collision_engraver";
-       \consists "Rest_collision_engraver";
-       \consists "Local_key_engraver";
-       \consists "Piano_pedal_engraver";
+       \consists "Clef_engraver"
+       \consists "Key_engraver"
+       \consists "Time_signature_engraver"
+       \consists "Staff_symbol_engraver"
+       \consists "Collision_engraver"
+       \consists "Rest_collision_engraver"
+       \consists "Local_key_engraver"
+       \consists "Piano_pedal_engraver"
+       \consists "Instrument_name_engraver"
 
-       \consistsend "Axis_group_engraver";
+       \consistsend "Axis_group_engraver"
+       
+       MinimumVerticalExtent = #'(-4 . 4)
+       ExtraVerticalExtent = ##f
+       VerticalExtent = ##f 
 
-%{
-       The Instrument_name_engraver puts the name of the instrument
-       (\property Staff.instrument; Staff.instr for subsequent lines)
-       to the left of a staff.
+       % explicitly set instrument, so we don't get 
+       % weird effects when doing instrument names for
+       % piano staffs
 
-       This is commented out, so you don't get funny things on the
-       PianoStaff      
-       \consists "Instrument_name_engraver";
-%}
+       instrument = #""
+       instr = #""
+         
+       \accepts "Voice"
+}
 
 
-         
-       \accepts "Voice";
+StaffContainerContext = \translator {
+       \type Engraver_group_engraver
+       \consists "Axis_group_engraver"
+       MinimumVerticalExtent = ##f
+       ExtraVerticalExtent = ##f
+       VerticalExtent = ##f 
+       
+       \accepts Staff
+       \name StaffContainer
 }
 
+InnerChoirStaffContext = \translator {
+       \type "Engraver_group_engraver"
+       \name InnerChoirStaff
+       alignmentReference = #0
+       \consists "System_start_delimiter_engraver"
+       SystemStartDelimiter \override #'glyph = #'bracket
+
+       \accepts "Staff"
+       \accepts "RhythmicStaff"
+       \accepts "GrandStaff"
+       \accepts "PianoStaff"
+       \accepts "Lyrics"
+       \accepts "ChordNames"
+}
 ChoirStaffContext = \translator {
-       \type "Engraver_group_engraver";
-       \name ChoirStaff;
-       alignmentReference = \center;
-       \consists "System_start_delimiter_engraver";
-       SystemStartDelimiter \push #'glyph = #'bracket
-
-       \accepts "Staff";
-       \accepts "RhythmicStaff";
-       \accepts "GrandStaff";
-       \accepts "PianoStaff";
-       \accepts "Lyrics";
-       \accepts "ChordNames";
+       \InnerChoirStaffContext
+       \name ChoirStaff
+       \accepts "InnerChoirStaff"
+       \accepts "InnerStaffGroup"
 }
 
 
 RhythmicStaffContext=\translator{
-       \type "Engraver_group_engraver";
+       \type "Engraver_group_engraver"
        
-       \consists "Property_engraver";
-       \consists "Output_property_engraver";   
+       \consists "Property_engraver"
+       \consists "Output_property_engraver"    
 
        Generic_property_list = #generic-staff-properties
-
-       \consists "Pitch_squash_engraver";
-       \consists "Separating_line_group_engraver";     
-       \name RhythmicStaff;
-       Bar \push #'bar-size = #4
-       VoltaBracket \push #'minimum-space =  #15  % urg, in \pt
-       VoltaBracket \push #'padding =  #5  % urg, in \pt
-       StaffSymbol \push #'line-count = #1     
-
-%      \consists "Repeat_engraver";
-       \consists "Volta_engraver";
-       \consists "Bar_engraver";
-       \consists "Time_signature_engraver";
-       \consists "Staff_symbol_engraver";
-       \consistsend "Axis_group_engraver";
-       \accepts "Voice";
+       MinimumVerticalExtent = ##f
+       ExtraVerticalExtent = ##f
+       VerticalExtent = ##f 
+
+       \consists "Pitch_squash_engraver"
+       \consists "Separating_line_group_engraver"      
+       \name RhythmicStaff
+       \alias "Staff"
+       
+       Bar \override #'bar-size = #4
+       VoltaBracket \override #'minimum-space =  #15  % urg, in \pt
+       VoltaBracket \override #'padding =  #5  % urg, in \pt
+       StaffSymbol \override #'line-count = #1 
+
+%      \consists "Repeat_engraver"
+       \consists "Volta_engraver"
+       \consists "Bar_engraver"
+       \consists "Time_signature_engraver"
+       \consists "Staff_symbol_engraver"
+       \consistsend "Axis_group_engraver"
+       \accepts "Voice"
 }
 
 
 VoiceContext = \translator {
-       \type "Engraver_group_engraver";
-       \name Voice;
+       \type "Engraver_group_engraver"
+       \name Voice
 
        Generic_property_list = #generic-voice-properties
-       
-       \consists "Output_property_engraver";   
-       \consists "Arpeggio_engraver";
 
-       \consists "Dynamic_engraver";   % must come before text_engraver.
-       \consists "Text_spanner_engraver";
-       \consists "Property_engraver";
+       % must come before all
+       \consists "Voice_devnull_engraver"
+       \consists "Output_property_engraver"    
+       \consists "Arpeggio_engraver"
+       \consists "Multi_measure_rest_engraver"
+       \consists "Text_spanner_engraver"
+       \consists "Property_engraver"
        
-       \consists "Breathing_sign_engraver";
-       \consists "Rest_engraver";
-       \consists "Dot_column_engraver";
-       \consists "Stem_engraver";
-       \consists "Beam_engraver";
-       \consists "Auto_beam_engraver";
-
-       \consists "Chord_tremolo_engraver";
-       \consists "Melisma_engraver";
-       \consists "Text_engraver";
-       \consists "A2_engraver";
-       \consists "Voice_devnull_engraver";
-
-       \consists "Script_engraver";
-       \consists "Script_column_engraver";
-       \consists "Rhythmic_column_engraver";
-       \consists "Slur_engraver";
-       \consists "Tie_engraver";
-       \consists "Tuplet_engraver";
-       \consists "Grace_position_engraver";
-       \consists "Skip_req_swallow_translator";
-       \accepts Thread; % bug if you leave out this!
-       \accepts Grace;
+       \consists "Breathing_sign_engraver"
+       % \consists "Rest_engraver"
+       \consists "Dot_column_engraver"
+       \consists "Stem_engraver"
+       \consists "Beam_engraver"
+       \consists "Auto_beam_engraver"
+
+       \consists "Chord_tremolo_engraver"
+       \consists "Percent_repeat_engraver"
+       \consists "Melisma_engraver"
+
+%{
+ Must come before text_engraver, but after note_column engraver.
+
+%}
+       \consists "Dynamic_engraver"
+       \consists "Text_engraver"
+
+       \consists "Script_engraver"
+       \consists "Script_column_engraver"
+       \consists "Rhythmic_column_engraver"
+       \consists "Phrasing_slur_engraver"
+       \consists "Slur_engraver"
+       \consists "Tie_engraver"
+       \consists "Tuplet_engraver"
+       \consists "Grace_position_engraver"
+       \consists "A2_engraver"
+
+       \consists "Skip_req_swallow_translator"
+       \accepts Thread % bug if you leave out this!
+       \accepts Grace
 }
 
 GraceContext=\translator {
-       \type "Grace_engraver_group";
-       \name "Grace";
-       \consists "Output_property_engraver";   
+       \type "Grace_engraver_group"
+       \name "Grace"
+       \consists "Output_property_engraver"    
 
        Generic_property_list = #generic-grace-properties
        
-       \consists "Note_heads_engraver";
-       \consists "Local_key_engraver";
-       \consists "Stem_engraver";
-       \consists "Beam_engraver";
-       \consists "Slur_engraver";
-
-       \consists "Auto_beam_engraver";
-       \consists "Align_note_column_engraver";
-
-       \consists "Rhythmic_column_engraver";
-
-       \consists "Dynamic_engraver";% in Grace ???
-       \consists "Text_engraver"; % in Grace ???
-
-       \consists "Property_engraver";
-
-       Stem \push  #'style = #"grace"
-       Stem \push  #'flag-style = #"grace"
-       Stem \push  #'stem-length = #6.0
-       Stem \push  #'direction = #1
-
-       NoteHead \push #'font-relative-size = #-1
-       Stem \push #'font-relative-size = #-1
-       Stem \push #'stem-shorten = #'(0)
-       Beam \push #'font-relative-size = #-1
-       TextScript \push #'font-relative-size = #-1
-       Slur \push #'font-relative-size = #-1
-       Accidentals \push #'font-relative-size = #-1
-       Beam \push #'thickness = #0.3
-       Beam \push #'space-function = #(lambda (x) 0.5)
-
-       Stem \push #'lengths = #(map (lambda (x) (* 0.8 x)) '(3.5 3.5 3.5 4.5 5.0))
-       Stem \push #'beamed-lengths =
+       \consists "Note_heads_engraver"
+       \consists "Local_key_engraver"
+       \consists "Stem_engraver"
+       \consists "Beam_engraver"
+       \consists "Slur_engraver"
+
+       \consists "Auto_beam_engraver"
+       \consists "Align_note_column_engraver"
+
+       \consists "Rhythmic_column_engraver"
+
+       \consists "Dynamic_engraver"% in Grace ???
+       \consists "Text_engraver" % in Grace ???
+
+       \consists "Property_engraver"
+
+       Stem \override  #'flag-style = #"grace"
+       Stem \override  #'stem-length = #6.0
+       Stem \override  #'direction = #1
+
+       NoteHead \override #'font-relative-size = #-1
+       Stem \override #'font-relative-size = #-1
+       Stem \override #'stem-shorten = #'(0)
+       Beam \override #'font-relative-size = #-1
+       TextScript \override #'font-relative-size = #-1
+       Slur \override #'font-relative-size = #-1
+       Accidentals \override #'font-relative-size = #-1
+       Beam \override #'thickness = #0.3
+       Beam \override #'space-function = #(lambda (x) 0.5)
+
+       Stem \override #'lengths = #(map (lambda (x) (* 0.8 x)) '(3.5 3.5 3.5 4.5 5.0))
+       Stem \override #'beamed-lengths =
                #'(0.0 2.5 2.0 1.5)
-       Stem \push #'beamed-minimum-lengths
+       Stem \override #'beamed-minimum-lengths
                 = #(map (lambda (x) (* 0.8 x)) '(0.0 2.5 2.0 1.5))
 
        weAreGraceContext = ##t   
-       graceAccidentalSpace= 1.5 ; % in staff space
+       graceAccidentalSpace= #1.5  % in staff space
 }
 
 ThreadContext = \translator{
-       \type Engraver_group_engraver;
-       \consists "Thread_devnull_engraver";
-       \consists "Note_heads_engraver";
-       \consists "Output_property_engraver";   
+       \type Engraver_group_engraver
+       \name Thread
+       
+       \consists "Thread_devnull_engraver"
+       \consists "Note_heads_engraver"
+       \consists "Rest_engraver"
+       \consists "Note_head_line_engraver"
+       \consists "Output_property_engraver"    
        Generic_property_list = #generic-thread-properties
-       \consists "Property_engraver";
-       \name Thread;
+       \consists "Property_engraver"
 }
 
 GrandStaffContext=\translator{
-       \type "Engraver_group_engraver";
-       \name GrandStaff;
-       \consists "Span_bar_engraver";
-       \consists "Span_arpeggio_engraver";
-       \consists "System_start_delimiter_engraver";
-       SystemStartDelimiter \push #'glyph = #'brace
+       \type "Engraver_group_engraver"
+       \name GrandStaff
+       \consists "Span_bar_engraver"
+       \consists "Span_arpeggio_engraver"
+       \consists "System_start_delimiter_engraver"
+       SystemStartDelimiter \override #'glyph = #'brace
        
-       \consists "Property_engraver";  
+       \consists "Property_engraver"   
        Generic_property_list = #generic-grand-staff-properties
-       \accepts "Staff";
+       \accepts "Staff"
 }
 
 PianoStaffContext = \translator{
        \GrandStaffContext
-       \name "PianoStaff";
-
-       \consists "Vertical_align_engraver";
+       \name "PianoStaff"
 
-       alignmentReference = \center;
-       VerticalAlignment \push #'threshold = #'(12 . 12) 
+       \consists "Vertical_align_engraver"
 
-%      \consistsend "Axis_group_engraver";
+       
+       
+       verticalAlignmentChildCallback = #Align_interface::fixed_distance_alignment_callback
+       VerticalAlignment \override #'forced-distance = #12
+       VerticalAlignment \override #'self-alignment-Y = #0
+%      \consistsend "Axis_group_engraver"
 }
 
-StaffGroupContext= \translator {
-       \type "Engraver_group_engraver";
-       \name StaffGroup;
+InnerStaffGroupContext= \translator {
+       \type "Engraver_group_engraver"
+       \name InnerStaffGroup
 
-       \consists "Span_bar_engraver";
-       \consists "Span_arpeggio_engraver";
-       \consists "Output_property_engraver";   
-       SystemStartDelimiter \push #'glyph = #'bracket
+       \consists "Span_bar_engraver"
+       \consists "Span_arpeggio_engraver"
+       \consists "Output_property_engraver"    
+       SystemStartDelimiter \override #'glyph = #'bracket
 
-       \consists "System_start_delimiter_engraver";
-       \accepts "Staff";
-       \accepts "RhythmicStaff";
-       \accepts "GrandStaff";
-       \accepts "PianoStaff";
+       \consists "System_start_delimiter_engraver"
+       \accepts "Staff"
+       \accepts "RhythmicStaff"
+       \accepts "GrandStaff"
+       \accepts "PianoStaff"
        
-       \accepts "Lyrics";
-       \accepts "ChordNames";
+       \accepts "Lyrics"
+       \accepts "ChordNames"
+}
+StaffGroupContext = \translator {
+       \InnerStaffGroupContext
+       \name StaffGroup
+       \accepts "InnerChoirStaff"
+       \accepts "ChoirStaff"
+       \accepts "InnerStaffGroup"
 }
 
 
 % UGH! JUNKME
 LyricsVoiceContext= \translator{
-       \type "Engraver_group_engraver";
-       \consistsend "Axis_group_engraver";
-       LyricVoiceMinimumVerticalExtent = #(cons -1.2 1.2)
-
-       \name LyricVoice ;
-       \consists "Separating_line_group_engraver";
-       \consists "Lyric_engraver";
-       \consists "Extender_engraver";
-       \consists "Hyphen_engraver";
-       \consists "Stanza_number_engraver";
-       phrasingPunctuation = #".,;:!?\""
+       \type "Engraver_group_engraver"
+       \consistsend "Axis_group_engraver"
+       MinimumVerticalExtent = #(cons -1.2 1.2)
+       ExtraVerticalExtent = ##f
+       VerticalExtent = ##f 
+       \name LyricsVoice 
+       \consists "Separating_line_group_engraver"
+       \consists "Lyric_engraver"
+       \consists "Extender_engraver"
+       \consists "Hyphen_engraver"
+       \consists "Stanza_number_engraver"
+       phrasingPunctuation = #".,:!?\""
        
 }
 NoteNamesContext = \translator {
-       \type "Engraver_group_engraver";
-       \name NoteNames;
-       \consistsend "Axis_group_engraver";
-       \consists "Note_name_engraver";
-       \consists "Separating_line_group_engraver";
+       \type "Engraver_group_engraver"
+       \name NoteNames
+       \consistsend "Axis_group_engraver"
+
+       MinimumVerticalExtent = ##f
+       ExtraVerticalExtent = ##f
+       VerticalExtent = ##f 
+
+       
+       \consists "Note_name_engraver"
+       \consists "Separating_line_group_engraver"
 }
 
 LyricsContext = \translator {
-       \type "Engraver_group_engraver";
-       \name Lyrics;
-       \consists Vertical_align_engraver; %need this for getting folded repeats right.
+       \type "Engraver_group_engraver"
+       \name Lyrics
+       \consists Vertical_align_engraver %need this for getting folded repeats right.
        Generic_property_list = #generic-lyrics-properties
-       \consists "Property_engraver";
-       \consistsend "Axis_group_engraver";
+       \consists "Property_engraver"
+       \consistsend "Axis_group_engraver"
+       MinimumVerticalExtent = ##f
+       ExtraVerticalExtent = ##f
+       VerticalExtent = ##f 
        
-       \accepts "LyricVoice";
+       \accepts "LyricsVoice"
 }
 
-ChordNamesVoiceContext = \translator {
-       \type "Engraver_group_engraver";
-       \name ChordNamesVoice ;
 
-       \consists "Output_property_engraver";   
-       \consistsend "Axis_group_engraver";
-       \consists "Separating_line_group_engraver";
-       \consists "Chord_name_engraver";
-}
 ChordNamesContext = \translator {
-       \type "Engraver_group_engraver";
-       \name ChordNames;
+       \type "Engraver_group_engraver"
+       \name ChordNames
 
        Generic_property_list = #generic-chord-staff-properties
 
-       \consists "Property_engraver";  
-       \consists "Output_property_engraver";   
-       \accepts "ChordNamesVoice";
-
-       VerticalAxisGroup \push #'invisible-staff = ##t
-       \consistsend "Axis_group_engraver";
+       \consists "Property_engraver"   
+       \consists "Output_property_engraver"    
+       \consists "Separating_line_group_engraver"
+       \consists "Chord_name_engraver"
+       \consists "Skip_req_swallow_translator"
+       \consistsend "Axis_group_engraver"
+       MinimumVerticalExtent = ##f
+       ExtraVerticalExtent = ##f
+       VerticalExtent = ##f 
+
+       VerticalAxisGroup \override #'invisible-staff = ##t
        }
 
 
-ScoreWithNumbers = \translator {
-       \type "Score_engraver";
-
-       % uncomment to bar numbers on a whole system.
-       \consists "Bar_number_engraver";
-}
 
 StupidScore = \translator {
-       \type "Score_engraver";
-       \name Score;
-       \consists "Note_heads_engraver";
+       \type "Score_engraver"
+       \name Score
+       \consists "Note_heads_engraver"
 }
 
 
 
-BarNumberingStaffContext = \translator {
-       \StaffContext
-       \consists "Mark_engraver";
-}
 
 HaraKiriStaffContext = \translator {
        \StaffContext
-       \remove "Axis_group_engraver";
-       \consistsend "Hara_kiri_engraver";        
-       \consists "Instrument_name_engraver";
-       \accepts "Voice";
+       \remove "Axis_group_engraver"
+       \consistsend "Hara_kiri_engraver"
+       \consists "Instrument_name_engraver"
+       \accepts "Voice"
 }
 %{
   The HaraKiriStaffContexts doesn't override \name,
@@ -325,100 +363,48 @@ HaraKiriStaffContext = \translator {
   %\translator { \HaraKiriStaffContext }
 %}
 
-OrchestralPartStaffContext = \translator {
-       \StaffContext
-       \consists "Mark_engraver";
-}
 
-ScoreContext = \translator {
-       \type Score_engraver;
-       \name Score;
-       
 
-       \consists "Repeat_acknowledge_engraver";
-       \consists "Timing_engraver";
-       \consists "Output_property_engraver";   
-       \consists "System_start_delimiter_engraver";
-       \consists "Mark_engraver";      
-       \consists "Break_align_engraver";
-       \consists "Spacing_engraver";
-       \consists "Vertical_align_engraver";
-
-       \consists "Lyric_phrasing_engraver";
-       \consists "Bar_number_engraver";
-       \consists "Span_arpeggio_engraver";
 
+ScoreContext = \translator {
+       \type Score_engraver
+       \name Score
        
-       \accepts "Staff";
-       \accepts "StaffGroup";
-       \accepts "RhythmicStaff";       
-       \accepts "Lyrics";
-       \accepts "ChordNames";
-       \accepts "GrandStaff";
-       \accepts "ChoirStaff";
-       \accepts "PianoStaff";
-       \accepts "NoteNames";
+
+       \consists "Repeat_acknowledge_engraver"
+       \consists "Timing_engraver"
+       \consists "Output_property_engraver"
+       \consists "System_start_delimiter_engraver"
+       \consists "Mark_engraver"       
+       \consists "Break_align_engraver"
+       \consists "Spacing_engraver"
+       \consists "Vertical_align_engraver"
+
+       \consists "Lyric_phrasing_engraver"
+       \consists "Bar_number_engraver"
+       \consists "Span_arpeggio_engraver"
+
+       \accepts "Staff"
+       \accepts "StaffContainer"
+       \accepts "StaffGroup"
+       \accepts "RhythmicStaff"        
+       \accepts "Lyrics"
+       \accepts "ChordNames"
+       \accepts "GrandStaff"
+       \accepts "ChoirStaff"
+       \accepts "PianoStaff"
+       \accepts "NoteNames"
 
        soloText = #"Solo"
        soloIIText = #"Solo II"
-       aDueText = #"\\`a2"
+       aDueText = #"a2"
        soloADue = ##t
        splitInterval = #'(0 . 1)
        changeMoment = #`(,(make-moment 0 0) . ,(make-moment 1 512))
 
-       defaultClef = #"treble"
-
-       StaffMinimumVerticalExtent = #(cons -4.0 4.0)
-
        barAuto = ##t
        voltaVisibility = ##t
        %  name, glyph id, clef position 
-       supportedClefTypes = #'(
-         ("treble" . ("clefs-G" -2))
-         ("violin" . ("clefs-G" -2))
-         ("G" . ("clefs-G" -2))
-         ("G2" . ("clefs-G" -2))
-         ("french" . ("clefs-G" -4 ))
-         ("soprano" . ("clefs-C" -4 ))
-         ("mezzosoprano" . ("clefs-C" -2 ))
-         ("alto" . ("clefs-C" 0 ))
-         ("tenor" . ("clefs-C" 2 ))
-         ("baritone" . ("clefs-C" 4 ))
-         ("varbaritone"  . ("clefs-F" 0))
-         ("bass" . ("clefs-F" 2 ))
-         ("F" . ( "clefs-F" 2))
-         ("subbass" . ("clefs-F" 4))
-         ("vaticana_do1" . ("clefs-vaticana_do" -1))
-         ("vaticana_do2" . ("clefs-vaticana_do" 1))
-         ("vaticana_do3" . ("clefs-vaticana_do" 3))
-         ("vaticana_fa1" . ("clefs-vaticana_fa" -1))
-         ("vaticana_fa2" . ("clefs-vaticana_fa" 1))
-         ("medicaea_do1" . ("clefs-medicaea_do" -1))
-         ("medicaea_do2" . ("clefs-medicaea_do" 1))
-         ("medicaea_do3" . ("clefs-medicaea_do" 3))
-         ("medicaea_fa1" . ("clefs-medicaea_fa" -1))
-         ("medicaea_fa2" . ("clefs-medicaea_fa" 1))
-         ("hufnagel_do1" . ("clefs-hufnagel_do" -1))
-         ("hufnagel_do2" . ("clefs-hufnagel_do" 1))
-         ("hufnagel_do3" . ("clefs-hufnagel_do" 3))
-         ("hufnagel_fa1" . ("clefs-hufnagel_fa" -1))
-         ("hufnagel_fa2" . ("clefs-hufnagel_fa" 1))
-         ("hufnagel" . ("clefs-hufnagel_do_fa" 4))
-         ("mensural1_c1" . ("clefs-mensural1_c" -4))
-         ("mensural1_c2" . ("clefs-mensural1_c" -2))
-         ("mensural1_c3" . ("clefs-mensural1_c" 0))
-         ("mensural1_c4" . ("clefs-mensural1_c" 2))
-         ("mensural2_c1" . ("clefs-mensural2_c" -4))
-         ("mensural2_c2" . ("clefs-mensural2_c" -2))
-         ("mensural2_c3" . ("clefs-mensural2_c" 0))
-         ("mensural2_c4" . ("clefs-mensural2_c" 2))
-         ("mensural2_c5" . ("clefs-mensural2_c" 4))
-         ("mensural3_c1" . ("clefs-mensural3_c" -2))
-         ("mensural3_c2" . ("clefs-mensural3_c" 0))
-         ("mensural3_c3" . ("clefs-mensural3_c" 2))
-         ("mensural3_c4" . ("clefs-mensural3_c" 4))
-         ("mensural_f" . ("clefs-mensural_f" 2))
-       )
        % where is c0 in this clef?
        clefPitches = #'(("clefs-G" . -4)
          ("clefs-C" . 0)
@@ -433,11 +419,15 @@ ScoreContext = \translator {
          ("clefs-mensural1_c" . 0)
          ("clefs-mensural2_c" . 0)
          ("clefs-mensural3_c" . 0)
-         ("clefs-mensural_f" . 0))
+         ("clefs-mensural1_f" . 4)
+         ("clefs-mensural2_f" . 4)
+         ("clefs-mensural_g" . -4))
 
-        automaticPhrasing = ##t;
-       alignmentReference = \down;
-       defaultClef = #"treble"
+       clefGlyph = #"clefs-G"
+       clefPosition = #-2
+
+        automaticPhrasing = ##t
+       alignmentReference = #-1   % \down
        defaultBarType = #"|"
 
        explicitClefVisibility = #all-visible
@@ -445,19 +435,14 @@ ScoreContext = \translator {
        
        scriptDefinitions = #default-script-alist
 
-       startSustain = #"Ped."
-       stopSustain = #"*"
-       stopStartSustain = #"*Ped."
-       startUnaChorda = #"una chorda"
-       stopUnaChorda = #"tre chorde"
-       % should make separate lists for stopsustain and startsustain 
+       verticalAlignmentChildCallback = #Align_interface::alignment_callback
 
+       pedalSustainStrings = #'("Ped." "*Ped." "*")
+       pedalUnaCordaStrings = #'("una corda" "" "tre corde")
+       pedalSostenutoStrings = #'()  % FIXME
 
-       %
-       % what order to print accs.  We could compute this, 
-       % but computing is more work than putting it here.
-       %
-       % Flats come first, then sharps.
+       tupletNumberFormatFunction = #denominator-tuplet-formatter
+       
        keyAccidentalOrder = #'(
          (6 . -1) (2  . -1) (5 . -1 ) (1  . -1) (4  . -1) (0  . -1) (3  . -1)
         (3  . 1) (0 . 1) (4 . 1) (1 . 1) (5 . 1) (2 . 1) (6 . 1)
@@ -472,18 +457,18 @@ ScoreContext = \translator {
          Staff_bar
          Time_signature
          Custos
-         Stanza_number
        )
 
 
-       \elementdescriptions #all-element-descriptions
-       %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-       % TODO: uniform naming.;  
-       %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-       
+       \elementdescriptions #all-grob-descriptions
 }
 
 OrchestralScoreContext= \translator {
        \ScoreContext
 }
+EasyNotation =  \translator {
+       \ScoreContext
+       NoteHead \override #'molecule-callback = #Note_head::brew_ez_molecule
+       easyPlay = ##t
+}