]> git.donarmstrong.com Git - lilypond.git/blobdiff - ly/engraver.ly
release: 1.3.111
[lilypond.git] / ly / engraver.ly
index fbbf35f2e694ebf76205faf11e94229491e5cad3..e6cca6f7ecd31c4e7bf35dd94ff0b2d1d25c551e 100644 (file)
@@ -1,4 +1,6 @@
-%
+
+\version "1.3.110"
+       %
 % setup for Request->Element conversion. Guru-only
 %
 
@@ -6,46 +8,22 @@ StaffContext=\translator {
        \type "Engraver_group_engraver";
        \name Staff ;
        \consists "Output_property_engraver";   
-       barAuto = ##t
-       voltaVisibility = ##t
        Generic_property_list = #generic-staff-properties
        \consists "Property_engraver";
        
        \consists "Multi_measure_rest_engraver";
+
        \consists "Bar_engraver";
  % Bar_engraver must be first so default bars aren't overwritten
 % with empty ones.
 
-       voltaPadding = #5  % urg, in \pt
-       voltaMinimumSpace = #25  % urg, in \pt
 
-       StaffMinimumVerticalExtent = #(cons -4.0 4.0)
+%      \consists "Repeat_engraver";
+       \consists "Volta_engraver";
+       \consists "Separating_line_group_engraver";     
+
+
 
-       \consists "Repeat_engraver";
-
-
-       %  name, glyph id, c0 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))
-       )
-       % where is c0 in this clef?
-       clefPitches = #'(("clefs-G" . -4)
-         ("clefs-C" . 0)
-         ("clefs-F" . 4))
-         
        \consists "Clef_engraver";
        \consists "Key_engraver";
        \consists "Time_signature_engraver";
@@ -53,44 +31,36 @@ StaffContext=\translator {
        \consists "Collision_engraver";
        \consists "Rest_collision_engraver";
        \consists "Local_key_engraver";
+       \consists "Piano_pedal_engraver";
 
        \consistsend "Axis_group_engraver";
 
-
-
 %{
        The Instrument_name_engraver puts the name of the instrument
        (\property Staff.instrument; Staff.instr for subsequent lines)
        to the left of a staff.
-       Usually, you only want this in the full score, not in the parts.
 
+       This is commented out, so you don't get funny things on the
+       PianoStaff      
        \consists "Instrument_name_engraver";
 %}
 
-       defaultClef = #"treble"
 
-       \consists "Separating_line_group_engraver";
          
        \accepts "Voice";
-       dynamicStyle = #"dynamic"
-};
+}
 
-\translator{\StaffContext }
-\translator {
+ChoirStaffContext = \translator {
        \type "Engraver_group_engraver";
        \name ChoirStaff;
        alignmentReference = \center;
        \consists "System_start_delimiter_engraver";
-       systemStartDelimiterGlyph = #'bracket
-
-
+       SystemStartDelimiter \override #'glyph = #'bracket
 
        \accepts "Staff";
        \accepts "RhythmicStaff";
        \accepts "GrandStaff";
        \accepts "PianoStaff";
-
-               
        \accepts "Lyrics";
        \accepts "ChordNames";
 }
@@ -98,39 +68,41 @@ StaffContext=\translator {
 
 RhythmicStaffContext=\translator{
        \type "Engraver_group_engraver";
-       numberOfStaffLines  = #1
+       
        \consists "Property_engraver";
        \consists "Output_property_engraver";   
 
        Generic_property_list = #generic-staff-properties
-       
-       barSize =   4.0 * \staffspace ; 
+
        \consists "Pitch_squash_engraver";
        \consists "Separating_line_group_engraver";     
        \name RhythmicStaff;
+       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 
 
-       voltaPadding = #5  % urg, in \pt
-       voltaMinimumSpace = #15  % urg, in \pt
-       \consists "Repeat_engraver";
+%      \consists "Repeat_engraver";
+       \consists "Volta_engraver";
        \consists "Bar_engraver";
        \consists "Time_signature_engraver";
        \consists "Staff_symbol_engraver";
        \consistsend "Axis_group_engraver";
        \accepts "Voice";
-};
-\translator{\RhythmicStaffContext}
+}
+
 
 VoiceContext = \translator {
        \type "Engraver_group_engraver";
        \name Voice;
 
-       dynamicPadding = #3  % urg, in \pt
-       dynamicMinimumSpace = #6  % urg, in \pt
-
        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";
        
        \consists "Breathing_sign_engraver";
@@ -139,22 +111,13 @@ VoiceContext = \translator {
        \consists "Stem_engraver";
        \consists "Beam_engraver";
        \consists "Auto_beam_engraver";
-       \include "auto-beam-settings.ly";
 
        \consists "Chord_tremolo_engraver";
        \consists "Melisma_engraver";
-       textScriptPadding = #3.0
        \consists "Text_engraver";
        \consists "A2_engraver";
+       \consists "Voice_devnull_engraver";
 
-
-       startSustain = #"Ped."
-       stopSustain = #"*"
-       stopStartSustain = #"*Ped."
-       startUnaChorda = #"una chorda"
-       stopUnaChorda = #"tre chorde"
-
-       \consists "Piano_pedal_engraver";
        \consists "Script_engraver";
        \consists "Script_column_engraver";
        \consists "Rhythmic_column_engraver";
@@ -165,7 +128,7 @@ VoiceContext = \translator {
        \consists "Skip_req_swallow_translator";
        \accepts Thread; % bug if you leave out this!
        \accepts Grace;
-};
+}
 
 GraceContext=\translator {
        \type "Grace_engraver_group";
@@ -179,77 +142,86 @@ GraceContext=\translator {
        \consists "Stem_engraver";
        \consists "Beam_engraver";
        \consists "Slur_engraver";
-       
+
        \consists "Auto_beam_engraver";
-       \include "auto-beam-settings.ly";
        \consists "Align_note_column_engraver";
 
        \consists "Rhythmic_column_engraver";
-       \consists "Dynamic_engraver";
-       \consists "Text_engraver";
 
-       \consists "Property_engraver";
+       \consists "Dynamic_engraver";% in Grace ???
+       \consists "Text_engraver"; % in Grace ???
 
-       stemStyle = #"grace"
-       flagStyle = #"grace" 
-       weAreGraceContext = ##t 
-       fontSize = #-1
-       
-       stemLength = #6.0
-       verticalDirection = \up ;
-       graceAccidentalSpace= 1.5 * \staffspace;
-};
+       \consists "Property_engraver";
 
-\translator{\GraceContext}
-\translator {\VoiceContext}
+       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 \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
+}
 
 ThreadContext = \translator{
        \type Engraver_group_engraver;
+       \consists "Thread_devnull_engraver";
        \consists "Note_heads_engraver";
        \consists "Output_property_engraver";   
        Generic_property_list = #generic-thread-properties
        \consists "Property_engraver";
        \name Thread;
-};
+}
 
-\translator{\ThreadContext}
 GrandStaffContext=\translator{
        \type "Engraver_group_engraver";
        \name GrandStaff;
        \consists "Span_bar_engraver";
+       \consists "Span_arpeggio_engraver";
        \consists "System_start_delimiter_engraver";
-       systemStartDelimiterGlyph = #'brace
+       SystemStartDelimiter \override #'glyph = #'brace
        
        \consists "Property_engraver";  
        Generic_property_list = #generic-grand-staff-properties
        \accepts "Staff";
-};
-\translator{\GrandStaffContext}
+}
 
-PianoStaffContext = \translator{\GrandStaffContext
-       alignmentReference = \center;
+PianoStaffContext = \translator{
+       \GrandStaffContext
+       \name "PianoStaff";
 
        \consists "Vertical_align_engraver";
-       minVerticalAlign = 3.0*\staffheight;
-       maxVerticalAlign = 3.0*\staffheight;
+
+       alignmentReference = \center;
+       VerticalAlignment \override #'threshold = #'(12 . 12) 
 
 %      \consistsend "Axis_group_engraver";
-       \name "PianoStaff";
-       
-};
-\translator{\PianoStaffContext}
+}
+
 StaffGroupContext= \translator {
        \type "Engraver_group_engraver";
+       \name StaffGroup;
+
        \consists "Span_bar_engraver";
+       \consists "Span_arpeggio_engraver";
        \consists "Output_property_engraver";   
-       \consists "System_start_delimiter_engraver";
-       systemStartDelimiterGlyph = #'bracket
-       
-
-
-
+       SystemStartDelimiter \override #'glyph = #'bracket
 
-       \name StaffGroup;
+       \consists "System_start_delimiter_engraver";
        \accepts "Staff";
        \accepts "RhythmicStaff";
        \accepts "GrandStaff";
@@ -257,9 +229,8 @@ StaffGroupContext= \translator {
        
        \accepts "Lyrics";
        \accepts "ChordNames";
-};
+}
 
-\translator { \StaffGroupContext }
 
 % UGH! JUNKME
 LyricsVoiceContext= \translator{
@@ -275,8 +246,14 @@ LyricsVoiceContext= \translator{
        \consists "Stanza_number_engraver";
        phrasingPunctuation = #".,;:!?\""
        
-};
-\translator{ \LyricsVoiceContext }
+}
+NoteNamesContext = \translator {
+       \type "Engraver_group_engraver";
+       \name NoteNames;
+       \consistsend "Axis_group_engraver";
+       \consists "Note_name_engraver";
+       \consists "Separating_line_group_engraver";
+}
 
 LyricsContext = \translator {
        \type "Engraver_group_engraver";
@@ -287,31 +264,30 @@ LyricsContext = \translator {
        \consistsend "Axis_group_engraver";
        
        \accepts "LyricVoice";
-};
-\translator { \LyricsContext }
+}
 
-ChordNameVoiceContext = \translator {
+ChordNamesVoiceContext = \translator {
        \type "Engraver_group_engraver";
-       \name ChordNameVoice ;
+       \name ChordNamesVoice ;
 
        \consists "Output_property_engraver";   
        \consistsend "Axis_group_engraver";
        \consists "Separating_line_group_engraver";
        \consists "Chord_name_engraver";
-};
-\translator {\ChordNameVoiceContext}
-
-ChordNameContext = \translator {
+}
+ChordNamesContext = \translator {
        \type "Engraver_group_engraver";
        \name ChordNames;
 
        Generic_property_list = #generic-chord-staff-properties
+
        \consists "Property_engraver";  
        \consists "Output_property_engraver";   
-       \accepts "ChordNameVoice";
+       \accepts "ChordNamesVoice";
+
+       VerticalAxisGroup \override #'invisible-staff = ##t
        \consistsend "Axis_group_engraver";
-       };
-\translator { \ChordNameContext }
+       }
 
 
 ScoreWithNumbers = \translator {
@@ -319,20 +295,20 @@ ScoreWithNumbers = \translator {
 
        % uncomment to bar numbers on a whole system.
        \consists "Bar_number_engraver";
-};
+}
 
 StupidScore = \translator {
        \type "Score_engraver";
        \name Score;
        \consists "Note_heads_engraver";
-};
+}
 
 
 
 BarNumberingStaffContext = \translator {
        \StaffContext
        \consists "Mark_engraver";
-};
+}
 
 HaraKiriStaffContext = \translator {
        \StaffContext
@@ -340,7 +316,7 @@ HaraKiriStaffContext = \translator {
        \consistsend "Hara_kiri_engraver";        
        \consists "Instrument_name_engraver";
        \accepts "Voice";
-};
+}
 %{
   The HaraKiriStaffContexts doesn't override \name,
   so it is still named `Staff'.
@@ -351,45 +327,84 @@ HaraKiriStaffContext = \translator {
 OrchestralPartStaffContext = \translator {
        \StaffContext
        \consists "Mark_engraver";
-};
+}
 
 ScoreContext = \translator {
        \type Score_engraver;
        \name Score;
+       
 
-       marginScriptPadding = #10  % urg, in \pt
-
+       \consists "Repeat_acknowledge_engraver";
        \consists "Timing_engraver";
        \consists "Output_property_engraver";   
-
-       %bracketCollapseHeight = #10  % \pt
        \consists "System_start_delimiter_engraver";
-       
-%      \consists "Score_priority_engraver";
+       \consists "Mark_engraver";      
        \consists "Break_align_engraver";
-       breakAlignOrder = #'(
-         Instrument_name
-         Left_edge_item
-         Span_bar
-         Breathing_sign
-         Clef_item
-         Key_item
-         Staff_bar
-         Time_signature
-         Stanza_number
-       )
        \consists "Spacing_engraver";
-
        \consists "Vertical_align_engraver";
 
        \consists "Lyric_phrasing_engraver";
-        automaticPhrasing = ##t;
-
        \consists "Bar_number_engraver";
+       \consists "Span_arpeggio_engraver";
+
+       
+       \accepts "Staff";
+       \accepts "StaffGroup";
+       \accepts "RhythmicStaff";       
+       \accepts "Lyrics";
+       \accepts "ChordNames";
+       \accepts "GrandStaff";
+       \accepts "ChoirStaff";
+       \accepts "PianoStaff";
+       \accepts "NoteNames";
+
+       soloText = #"Solo"
+       soloIIText = #"Solo II"
+       aDueText = #"\\`a2"
+       soloADue = ##t
+       splitInterval = #'(0 . 1)
+       changeMoment = #`(,(make-moment 0 0) . ,(make-moment 1 512))
+
+       StaffMinimumVerticalExtent = #(cons -4.0 4.0)
+
+       barAuto = ##t
+       voltaVisibility = ##t
+       %  name, glyph id, clef position 
+       % where is c0 in this clef?
+       clefPitches = #'(("clefs-G" . -4)
+         ("clefs-C" . 0)
+         ("clefs-F" . 4)
+         ("clefs-vaticana_do" . 0)
+         ("clefs-vaticana_fa" . 4)
+         ("clefs-medicaea_do" . 0)
+         ("clefs-medicaea_fa" . 4)
+         ("clefs-hufnagel_do" . 0)
+         ("clefs-hufnagel_fa" . 4)
+         ("clefs-hufnagel_do_fa" . 0)
+         ("clefs-mensural1_c" . 0)
+         ("clefs-mensural2_c" . 0)
+         ("clefs-mensural3_c" . 0)
+         ("clefs-mensural_f" . 0))
+
+       clefGlyph = #"clefs-G"
+       clefPosition = #-2
+
+        automaticPhrasing = ##t;
        alignmentReference = \down;
-       defaultClef = #"treble"
        defaultBarType = #"|"
-       systemStartDelimiterGlyph = #'bar-line
+
+       explicitClefVisibility = #all-visible
+       explicitKeySignatureVisibility = #all-visible
+       
+       scriptDefinitions = #default-script-alist
+
+       startSustain = #"Ped."
+       stopSustain = #"*"
+       stopStartSustain = #"*Ped."
+       startUnaChorda = #"una chorda"
+       stopUnaChorda = #"tre chorde"
+       % should make separate lists for stopsustain and startsustain 
+
 
        %
        % what order to print accs.  We could compute this, 
@@ -400,378 +415,28 @@ ScoreContext = \translator {
          (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)
        )
-       %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-       % default settings, mainly for breakable items
-       % in alphabetical order
-       % TODO: uniform naming.;  
-       %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-       %
-       % distances are given in stafflinethickness (thicknesses) and staffspace (distances)
-       %
-       
-       
-       basicBarProperties = #`(
-               (break-align-symbol . Staff_bar)
-               (barsize-procedure . ,Bar::get_staff_bar_size)
-               (molecule-callback . ,Bar::brew_molecule)          
-               (visibility-lambda . ,all-visible)
-               (breakable . #t)
-               (before-line-breaking-callback . ,Bar::before_line_breaking)
-               ;;
-               ;; Ross. page 151 lists other values, we opt for a leaner look
-               ;; 
-               (kern . 3.0)
-               (thin-kern . 3.0)
-               (hair-thickness . 1.6)
-               (thick-thickness . 6.0)
-
-               (interfaces . (bar-interface staff-bar-interface))              
-       )
-
-       basicBarNumberProperties = #`(
-               (molecule-callback . ,Text_item::brew_molecule)
-               (breakable . #t)
-               (visibility-lambda . ,begin-of-line-visible)
-       )
-
-       basicBeamProperties = #`(
-               (molecule-callback . ,Beam::brew_molecule)
-               (beam-thickness . 0.42) ; staff-space
-               (before-line-breaking-callback . ,Beam::before_line_breaking)
-               (after-line-breaking-callback . ,Beam::after_line_breaking)
-               (default-neutral-direction . 1)
-               (interfaces . (beam-interface))
-               (damping . 1)
-       )
-
-       basicBreakAlignProperties = #`(
-               (breakable . #t)
-               (interfaces . (break-align-interface))
-               (stacking-dir . 1)
-               (axes 0)
-       )
-       basicBreakAlignGroupProperties = #`(
-               (interfaces . (axis-group-interface))
-               (axes  . (0))
-       )
-       basicBreathingSignProperties = #`(
-               (break-align-symbol . Breathing_sign)
-               (breakable . #t )
-               (molecule-callback . ,Breathing_sign::brew_molecule)
-               (visibility-lambda . ,begin-of-line-invisible)
-               (interfaces . (breathing-sign-interface))
-       )
-        basicClefItemProperties = #`(
-          (molecule-callback . ,Score_element::brew_molecule)
-          (before-line-breaking-callback . ,Clef::before_line_breaking)
-          (breakable . #t)
-          (break-align-symbol . Clef_item)
-          (visibility-lambda . ,begin-of-line-visible)
-          (interfaces .  (clef-interface))
-        )
-       basicChordNameProperties = #`(
-               (molecule-callback . ,Chord_name::brew_molecule)
-               (interfaces . (chord-name-interface))
-               (after-line-breaking-callback . ,Chord_name::after_line_breaking) 
-       )
-       basicCollisionProperties = #`(
-               (axes 0 1)
-               (interfaces . (collision-interface))
-       )
-       basicCrescendoProperties = #`(
-               (molecule-callback . ,Crescendo::brew_molecule)
-               (interfaces . (crescendo-interface dynamic-interface))
-       )
-       basicDotColumnProperties = #`(
-               (interfaces . (dot-column-interface axis-group-interface ))
-               (axes 0 )
-       )
-       basicDotsProperties = #`(
-               (molecule-callback . ,Dots::brew_molecule)
-               (dot-count . 1)
-               (interfaces . (dot-interface))
-       )
-       basicDynamicLineSpannerProperties = #`(
-               (interfaces . (dynamic-interface axis-group-interface))
-               (axes . ( 1))
-       )
-       basicDynamicTextProperties       = # `(
-               (style . "dynamic")
-               (interfaces . (dynamic-interface))
-               (molecule-callback . ,Text_item::brew_molecule)
-               (script-priority . 100)
-               (self-alignment-Y . 0)
-       )
-       leftEdgeBasicProperties = #`(
-               (break-align-symbol . Left_edge_item)
-               (breakable . #t)
-       )
-       basicGraceAlignItemProperties = #`(
-               (axes . (0))
-               (interfaces . (axis-group-interface align-interface))
-               (before-line-breaking-callback . ,Grace_align_item::before_line_breaking)
-       )
-       basicHaraKiriVerticalGroupspannerProperties = #`(
-               (interfaces . (hara-kiri-interface))
-               (axes 1)
-       )
-       basicHyphenSpannerProperties = #`(
-               (thickness . 1.0)
-               (height . 0.4)
-               (minimum-length .  0.5) 
-               (molecule-callback . ,Hyphen_spanner::brew_molecule)
-       )
-       basicKeyProperties = #`(
-         (molecule-callback . ,Key_item::brew_molecule)
-         (interfaces . (key-item-interface))
-         (break-align-symbol . Key_item)
-         (visibility-lambda . ,begin-of-line-visible)
-         (breakable . #t)
-         )     
-       basicLocalKeyProperties = #`(
-               (molecule-callback . ,Local_key_item::brew_molecule)
-               (left-padding . 0.2)
-               (right-padding . 0.4)
-               (interfaces . (accidentals-interface))
-       )
-       basicLineOfScoreProperties = #`(
-               (axes . (0 1))
-               (interfaces . (axis-group-interface))
-       )
-       basicLyricExtenderProperties = #`(
-               (molecule-callback . ,Lyric_extender::brew_molecule)
-               (right-trim-amount . 0.5)
-               (interfaces . (lyric-extender-interface))
-       )
-       basicLyricTextProperties = #`(
-               (molecule-callback . ,Text_item::brew_molecule)
-               (self-alignment-X . 0)
-               (non-rhythmic . #t)
-               (word-space . 0.6)
-               (interfaces .  (lyric-syllable-interface text-item-interface))
-       )
-       basicMarkProperties = #`(
-         (molecule-callback . ,Text_item::brew_molecule)       
-         (breakable . #t)
-         (interfaces . (mark-interface))
-         (visibility-lambda . ,end-of-line-invisible)
-       )
-       basicMelismaProperties = #`(
-               (interfaces . (melisma-interface))
-       )
-       basicMultiMeasureRestProperties = #`(
-               (spacing-procedure . ,Multi_measure_rest::set_spacing_rods)             
-               (molecule-callback . ,Multi_measure_rest::brew_molecule)
-               (staff-position . 0)
-       )
-       basicNoteColumnProperties = #`(
-               (axes 0 1)
-               (interfaces . (axis-group-interface note-column-interface))
-       )
-       basicNoteHeadProperties = #`(
-               (interfaces . (note-head-interface rhythmic-head-interface))
-               (molecule-callback . ,Note_head::brew_molecule)
-       )
-       basicNoteNameProperties = #`(
-               (molecule-callback . ,Text_item::brew_molecule)
-       )
-       basicOctavateEightProperties  = #`(
-               (self-alignment-X . 0)
-               (text . "8")
-               (visibility-lambda . ,begin-of-line-visible) 
-               (molecule-callback . ,Text_item::brew_molecule)
-               (style . "italic")
-       )
-       basicPaperColumnProperties = #`(
-               (interfaces . (paper-column-interface axis-group-interface))
-               (axes 0)
-               (rank . -1)
-       )
-       basicPedalProperties = #`(
-               (molecule-callback . ,Text_item::brew_molecule)
-               (style . "italic")
-               (no-spacing-rods . #t)
-               (self-alignment-X . 0)
-                               
-       )
-       basicTextProperties = #`( )
-       basicRestProperties = #`(
-               (interfaces . (rest-interface rhythmic-head-interface)) 
-               (molecule-callback . ,Rest::brew_molecule)
-               (minimum-beam-collision-distance . 1.5)
-       )
-       
-       basicRestCollisionProperties = #`(
-               (minimum-distance . 0.75)
-               (interfaces . (rest-collision-interface))
-       )
-       basicScriptProperties    = #`(
-               (molecule-callback . ,Script::brew_molecule)
-               (interface . (script-interface))
-       )
-       basicScriptColumnProperties = #`(
-               (before-line-breaking-callback . ,Script_column::before_line_breaking)
-       )
-       basicSlurProperties = #`(
-               (molecule-callback . ,Slur::brew_molecule)
-               (thickness . 1.2)               
-               (spacing-procedure . ,Slur::set_spacing_rods)           e
-               (minimum-length . 1.5)
-               (after-line-breaking-callback . ,Slur::after_line_breaking) 
-       )
-       basicSpacingSpannerProperties =#`(
-               (spacing-procedure . ,Spacing_spanner::set_springs)
-
-               ;; assume that notes at least this long are present.
-               (maximum-duration-for-spacing . ,(make-moment 1 8))
-       )
-       basicSpanBarProperties = #`(
-               (break-align-symbol . Staff_bar)
-               (barsize-procedure . ,Span_bar::get_bar_size) 
-               (molecule-callback . ,Bar::brew_molecule)
-               (visibility-lambda . ,begin-of-line-invisible)
-               (breakable . #t)
-               (before-line-breaking-callback . ,Span_bar::before_line_breaking)
-
-               ;; ugh duplication! 
-               
-               ;;
-               ;; Ross. page 151 lists other values, we opt for a leaner look
-               ;; 
-               (kern . 3.0)
-               (thin-kern . 3.0)
-               (hair-thickness . 1.6)
-               (thick-thickness . 6.0)
-               (interfaces . (bar-interface span-bar-interface))
-       )
-       basicStanzaNumberProperties = #`(
-               (breakable . #t)
-               (molecule-callback . ,Text_item::brew_molecule)         
-               (break-align-symbol . Clef_item)
-               (visibility-lambda . ,begin-of-line-visible)
-       )
-       basicStemProperties = #`(
-               (before-line-breaking-callback . ,Stem::before_line_breaking)
-               (molecule-callback . ,Stem::brew_molecule)
-
-               ; if stem is on middle line, choose this direction.
-               (default-neutral-direction . 1)
-               (interfaces . (stem-interface))
-       )
-       basicSustainPedalProperties = #`(
-               (no-spacing-rods . #t)
-               (molecule-callback . ,Sustain_pedal::brew_molecule)
-               (self-alignment-X . 0)
-               (interface . (sustain-pedal-interface))
-       )       
-       staffSymbolBasicProperties = #`(
-               (molecule-callback . ,Staff_symbol::brew_molecule)
-               (staff-space . 1.0)
-               (line-count . 5 )
-               (interfaces . (staff-symbol-interface ))
-       )
-       basicSystemStartDelimiterProperties = #`(
-               (molecule-callback . ,System_start_delimiter::brew_molecule)
-               (after-line-breaking-callback . ,System_start_delimiter::after_line_breaking)
-               (collapse-height . 1.0)
-               (thickness . 1.6)
-               (arch-height . 1.5)
-               (arch-angle . 50.0)
-               (arch-thick . 0.25)
-               (arch-width . 1.5)
-               (bracket-thick . 0.25)
-               (bracket-width . 2.0)
+       breakAlignOrder = #'(
+         Instrument_name
+         Left_edge_item
+         Span_bar
+         Breathing_sign
+         Clef_item
+         Key_item
+         Staff_bar
+         Time_signature
+         Custos
+         Stanza_number
        )
-       basicTextScriptProperties = #`(
-               (molecule-callback . ,Text_item::brew_molecule)
 
-: -- don't set, because property-engraver will not override it.  
-;              (no-spacing-rods . #t)
-               (interfaces . (text-script-interface text-item-interface))
-       )
-       basicTieProperties = #`(
-               (molecule-callback . ,Tie::brew_molecule)
-               (spacing-procedure . ,Tie::set_spacing_rods)
-               (thickness . 1.2)
-               (minimum-length  . 2.5)
-               (interfaces . (tie-interface))
-       )
-       basicTieColumnProperties = #`(
-               (after-line-breaking-callback . ,Tie_column::after_line_breaking)
-               (interfaces . (tie-column-interface))
-       )
-       basicTimeSignatureProperties = #`(
-               (molecule-callback . ,Time_signature::brew_molecule)
-               (break-align-symbol . Time_signature)
-               (visibility-lambda . ,all-visible)
-               (breakable . #t)
-               (interfaces . (time-signature-interface))
-       )
-       basicTupletSpannerProperties = #`(
-               (number-gap . 2.0)   
-               (delta-y . 0)
-               (thick . 1.0)
-               (after-line-breaking-callback . ,Tuplet_spanner::after_line_breaking)
-               (molecule-callback . ,Tuplet_spanner::brew_molecule)
-               (interfaces . (tuplet-spanner-interface))
-       )       
-       basicStemTremoloProperties = #`(
-               (molecule-callback . ,Stem_tremolo::brew_molecule)
-               (beam-width . 2.0) ; staff-space
-               (beam-thickness . 0.42) ; staff-space
-       )
 
-       basicSeparationItemProperties = #`(
-               (interfaces . (separation-item-interface))
-       )
-       basicSeparatingGroupSpannerProperties = #`(
-               (interfaces . (separation-spanner-interface))
-               (spacing-procedure . ,Separating_group_spanner::set_spacing_rods)
-       )
-       basicInstrumentNameProperties = #`(
-               (breakable . #t)
-               (molecule-callback . ,Text_item::brew_molecule)         
-               (break-align-symbol . Instrument_name)
-               (visibility-lambda . ,begin-of-line-visible)
-       )
-       basicVerticalAxisGroupProperties = #`(
-               (axes 1)
-               (interfaces . (axis-group-interface))
-       )
-       basicVoltaSpannerProperties = #`(
-               (molecule-callback . ,Volta_spanner::brew_molecule)
-               (interfaces . (volta-spanner-interface))
-       )
+       \elementdescriptions #all-element-descriptions
+       %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+       % TODO: uniform naming.;  
+       %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
        
-       \accepts "Staff";
-       \accepts "StaffGroup";
-       \accepts "RhythmicStaff";       
-       \accepts "Lyrics";
-       \accepts "ChordNames";
-       \accepts "GrandStaff";
-       \accepts "ChoirStaff";
-       \accepts "PianoStaff";
-       \accepts "NoteNames";
-
-
-       markVisibilityFunction = #end-of-line-invisible
-};
-
-\translator { \ScoreContext }
+}
 
 OrchestralScoreContext= \translator {
        \ScoreContext
-
-       barScriptPadding = #2.0         % dimension \pt
-       markScriptPadding = #4.0
-
-       \consists "Mark_engraver";
-};
-
-\translator {
-       \type "Engraver_group_engraver";
-       \name NoteNames;
-       \consistsend "Axis_group_engraver";
-       \consists "Note_name_engraver";
 }
+