]> git.donarmstrong.com Git - lilypond.git/blobdiff - init/engraver.ly
patch::: 1.0.12.hwn2
[lilypond.git] / init / engraver.ly
index 010e47dae06b23818c93a9cb1849ad4939860142..a310e9336c76bcdc10ee0dc06c60f4505fc235d4 100644 (file)
@@ -2,8 +2,10 @@
 % setup for Request->Element conversion. Guru-only
 %
 
-Staff = \translator {
+StaffContext=\translator {
        \type "Line_group_engraver_group";
+       Staff ;
+
 %{
        The Hara_kiri_line_group_engraver is a Line_group_engraver 
        that will not typeset an empty line of staff, i.e., a line 
@@ -12,7 +14,6 @@ Staff = \translator {
        Hara_kiri_line_group_engraver.
 %}
 %      \type "Hara_kiri_line_group_engraver";
-       defaultclef = violin;
 
        \consists "Bar_engraver";
        \consists "Clef_engraver";
@@ -43,15 +44,21 @@ Staff = \translator {
        (\property Staff.instrument; Staff.instr for subsequent lines)
        to the left of a staff.
 %}
+
+       marginBreakPriority = "-5";
+
 %{
        \consists "Staff_margin_engraver";
 %}
        \consists "Separating_line_group_engraver";
          
        \accepts "Voice";
-}
-ChoireStaff = \translator {
+};
+
+\translator{\StaffContext }
+\translator {
        \type "Line_group_engraver_group";
+       ChoirStaff;
        \consists "Vertical_align_engraver";
        \consists "Staff_group_bar_engraver";
        \accepts "Staff";
@@ -61,21 +68,23 @@ ChoireStaff = \translator {
 }
 
 
-RhythmicStaff = \translator
-{
+RhythmicStaffContext=\translator{
        \type "Line_group_engraver_group";
        nolines  = "1";
        \consists "Pitch_squash_engraver";
-
+       \consists "Separating_line_group_engraver";     
+       RhythmicStaff;
        \consists "Bar_engraver";
        \consists "Time_signature_engraver";
        \consists "Staff_sym_engraver";
        \accepts "Voice";
-}
-
-Voice = \translator {
+};
+\translator{\RhythmicStaffContext}
+VoiceContext = \translator {
        \type "Engraver_group_engraver";
        \consists "Dynamic_engraver";
+       Voice ;
+       
        \consists "Rest_engraver";
        \consists "Dot_column_engraver";
        \consists "Stem_engraver";
@@ -90,60 +99,57 @@ Voice = \translator {
        \consists "Ties_engraver";
        \consists "Note_heads_engraver" ;       
        \consists "Skip_req_swallow_translator";
-       %\accepts "Thread";
-}
-
+};
 
-GrandStaff = \translator {
+\translator {\VoiceContext}
+\translator {
        \type "Line_group_engraver_group";
-
+       GrandStaff;
        \consists "Span_bar_engraver";
        \consists "Vertical_align_engraver";
        \consists "Piano_bar_engraver";
        minVerticalAlign = 1.5*\staffheight;
 
-       % This should come last
        \accepts "Staff";
 }
 
-StaffGroup = \translator {
+\translator {
        \type "Line_group_engraver_group";
 %      \type "Hara_kiri_line_group_engraver";
        \consists "Span_bar_engraver";
        \consists "Vertical_align_engraver";
        \consists "Staff_group_bar_engraver";
-
+       StaffGroup;
        \accepts "Staff";
        \accepts "RhythmicStaff";
        \accepts "GrandStaff";
        \accepts "Lyrics";
 }
 
-LyricVoice = 
 \translator{
        \type "Line_group_engraver_group";
 
+       LyricVoice ;
        \consists "Separating_line_group_engraver";
        \consists "Lyric_engraver";
        \consists "Beam_req_swallow_translator";
        \consists "Plet_swallow_engraver";
 }
 
-Lyrics = \translator {
+\translator {
        \type "Line_group_engraver_group";
+       Lyrics;
        \consists "Vertical_align_engraver";
        \accepts "LyricVoice";
 }
 
-Score = \translator {
+ScoreContext = \translator {
        \type Score_engraver;
+       Score;
+       defaultClef = violin;
 
        \consists "Timing_engraver";
-       % uncomment to bar numbers on a whole system.
-%{
-       \consists "Bar_column_engraver";
-       \consists "Bar_number_engraver";
-%}
+
        \consists "Bar_column_engraver";
        \consists "Span_score_bar_engraver";
        \consists "Score_priority_engraver";
@@ -156,13 +162,90 @@ Score = \translator {
        \accepts "RhythmicStaff";       
        \accepts "Lyrics";
        \accepts "GrandStaff";
-       \accepts "ChoireStaff";
-}
+       \accepts "ChoirStaff";
+};
+\translator { \ScoreContext }
+
+ScoreWithNumbers = \translator {
+       \type "Score_engraver";
+
+       % uncomment to bar numbers on a whole system.
+       \consists "Bar_column_engraver";
+       \consists "Bar_number_engraver";
+
+};
+
+\translator {
+       \type "Score_engraver";
+       StupidScore;
 
-StupidScore = \translator {
-       \type Score_engraver;
        \consists "Staff_sym_engraver";
 }
 
 
 
+BarNumberingStaffContext = \translator {
+       \StaffContext
+       barColumnPriority = "0";
+       marginBreakPriority = "-4";
+       \consists "Mark_engraver";
+       \consists "Bar_column_engraver";
+       \consists "Bar_number_engraver";
+
+};
+
+
+HaraKiriStaffContext = \translator {
+       \type "Hara_kiri_line_group_engraver";
+       Staff;
+       barColumnPriority = "0";
+       marginBreakPriority = "-4";
+
+       \consists "Bar_engraver";
+       \consists "Clef_engraver";
+       \consists "Key_engraver";
+       \consists "Time_signature_engraver";
+       \consists "Local_key_engraver";
+       \consists "Staff_sym_engraver";
+       \consists "Collision_engraver";
+       \consists "Rest_collision_engraver";
+       \consists "Staff_margin_engraver";
+       \consists "Separating_line_group_engraver";
+         
+       \accepts "Voice";
+};
+
+OrchestralPartStaffContext = \translator {
+       \HaraKiriStaffContext
+       barColumnPriority = "0";
+       marginBreakPriority = "-4";
+       \consists "Mark_engraver";
+       \consists "Bar_column_engraver";
+       \consists "Bar_number_engraver";
+};
+
+OrchestralScoreContext= \translator {
+       \type Score_engraver;
+       Score;
+       barScriptPadding = "2.0";       % dimension \pt
+       markScriptPadding = "4.0";
+       barColumnPriority = "-4";
+       markBreakPriority = "-4";
+       defaultClef = violin;
+
+       \consists "Timing_engraver";
+       \consists "Bar_column_engraver";
+       \consists "Bar_number_engraver";
+       \consists "Mark_engraver";
+       \consists "Span_score_bar_engraver";
+       \consists "Score_priority_engraver";
+       \consists "Priority_horizontal_align_engraver";
+       \consists "Vertical_align_engraver";
+
+       \accepts "ChoirStaff";
+       \accepts "StaffGroup";
+       \accepts "Staff";
+       \accepts "RhythmicStaff";       
+       \accepts "Lyrics";
+       \accepts "GrandStaff";
+};