X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=ly%2Fengraver.ly;h=d8cd95439bde01c49e65ce8e96cc1fffddfb9249;hb=eabde958a9a4559f474d2736e298bfda9920c4e0;hp=6db19042b6a378b57bfa4a78bf3a3519710c56e9;hpb=0f0860112a07a4eab33ac36d8c1b9b01d431ddfa;p=lilypond.git diff --git a/ly/engraver.ly b/ly/engraver.ly index 6db19042b6..d8cd95439b 100644 --- a/ly/engraver.ly +++ b/ly/engraver.ly @@ -3,59 +3,43 @@ % StaffContext=\translator { - \type "Line_group_engraver_group"; + \type "Engraver_group_engraver"; \name Staff ; barAuto = "1"; voltaVisibility = "1"; -%{ - The Hara_kiri_line_group_engraver is a Line_group_engraver - that will not typeset an empty line of staff, i.e., a line - of staff with only rests in it. This is needed for orchestral - scores. Comment-out Line_group_engraver_group, and uncomment - Hara_kiri_line_group_engraver. -%} -% \type "Hara_kiri_line_group_engraver"; - \consists "Multi_measure_rest_engraver"; - \consists "Repeat_engraver"; \consists "Bar_engraver"; + % Bar_engraver must be first so default bars aren't overwritten +% with empty ones. + \consists "Repeat_engraver"; \consists "Clef_engraver"; \consists "Key_engraver"; - \consists "Local_key_engraver"; \consists "Time_signature_engraver"; \consists "Staff_symbol_engraver"; \consists "Collision_engraver"; \consists "Rest_collision_engraver"; + \consists "Local_key_engraver"; + + \consistsend "Axis_group_engraver"; + -%{ - Uncomment to get bar numbers on single staff systems: - - The Bar_number_engraver puts a number over a staff created - at the same level of hierarchy. This why you have to add it - here separately if you want to have numbers on single staff - systems: The Bar_number_engraver in Score_engraver will only - put numbers on bars that are Score ("system") wide. Such - bars are only created when the toplevel system has multiple - children-staffs. -%} -%{ - \consists "Bar_number_engraver"; -%} %{ The Staff_margin_engraver puts the name of the instrument (\property Staff.instrument; Staff.instr for subsequent lines) to the left of a staff. +%} +%{ + \consists "Staff_margin_engraver"; %} defaultClef = treble; marginBreakPriority = "-5"; -%{ - \consists "Staff_margin_engraver"; -%} + \consists "Separating_line_group_engraver"; + \consists "Font_size_engraver"; \accepts "Voice"; dynamicStyle = "dynamic"; @@ -63,23 +47,27 @@ StaffContext=\translator { \translator{\StaffContext } \translator { - \type "Line_group_engraver_group"; + \type "Engraver_group_engraver"; \name ChoirStaff; - \consists "Vertical_align_engraver"; + alignmentReference = \center; \consists "Staff_group_bar_engraver"; + + \accepts "Staff"; \accepts "RhythmicStaff"; \accepts "GrandStaff"; \accepts "PianoStaff"; - + + \accepts "Lyrics"; \accepts "ChordNames"; } RhythmicStaffContext=\translator{ - \type "Line_group_engraver_group"; + \type "Engraver_group_engraver"; numberOfStaffLines = "1"; + barSize = \staffheight; \consists "Pitch_squash_engraver"; \consists "Separating_line_group_engraver"; \name RhythmicStaff; @@ -88,58 +76,107 @@ RhythmicStaffContext=\translator{ \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"; - \consists "Dynamic_engraver"; + dynamicPadding = "5.0"; + \consists "Dynamic_engraver"; % must come before text_engraver. \name Voice ; - + + \consists "Tie_engraver"; + \consists "Breathing_sign_engraver"; \consists "Rest_engraver"; \consists "Dot_column_engraver"; \consists "Stem_engraver"; \consists "Beam_engraver"; + beamAuto = "1"; + \consists "Auto_beam_engraver"; + \include "auto-beam-settings.ly"; \consists "Abbreviation_beam_engraver"; % \consists "Multi_measure_rest_engraver"; % ugh. Order matters here. + \consists "Melisma_engraver"; + textScriptPadding = "3.0"; \consists "Text_engraver"; \consists "Script_engraver"; + \consists "Script_column_engraver"; \consists "Rhythmic_column_engraver"; \consists "Font_size_engraver"; \consists "Slur_engraver"; - \consists "Tie_engraver"; - \consists "Tuplet_engraver"; - \consists "Note_heads_engraver" ; + \consists "Tuplet_engraver"; + \consists "Grace_position_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 "Note_heads_engraver"; + \consists "Local_key_engraver"; + \consists "Stem_engraver"; + \consists "Beam_engraver"; + beamAuto = "1"; + \consists "Slur_engraver"; + \consists "Auto_beam_engraver"; + \include "auto-beam-settings.ly"; + \consists "Align_note_column_engraver"; + \consists "Font_size_engraver"; + \consists "Rhythmic_column_engraver"; + \consists "Dynamic_engraver"; + + stemStyle = "grace"; + weAreGraceContext = "1"; + fontSize = "-1"; + stemLength = "6.0"; + verticalDirection = "1"; + graceAccidentalSpace= 1.5 * \interline; +}; + +\translator{\GraceContext} \translator {\VoiceContext} +ThreadContext = \translator{ + \type Engraver_group_engraver; + \consists "Note_heads_engraver" ; + \name Thread; +}; + +\translator{\ThreadContext} GrandStaffContext=\translator{ - \type "Line_group_engraver_group"; + \type "Engraver_group_engraver"; \name GrandStaff; \consists "Span_bar_engraver"; - \consists "Vertical_align_engraver"; \consists "Piano_bar_engraver"; - minVerticalAlign = 1.5*\staffheight; + \accepts "Staff"; + }; \translator{\GrandStaffContext} -\translator{\GrandStaffContext + +PianoStaffContext = \translator{\GrandStaffContext + alignmentReference = \center; + + \consists "Vertical_align_engraver"; minVerticalAlign = 3.0*\staffheight; maxVerticalAlign = 3.0*\staffheight; + +% \consistsend "Axis_group_engraver"; \name "PianoStaff"; -} - -\translator { - \type "Hara_kiri_line_group_engraver"; -% \type "Line_group_engraver_group"; +}; +\translator{\PianoStaffContext} +StaffGroupContext= \translator { + \type "Engraver_group_engraver"; \consists "Span_bar_engraver"; - \consists "Vertical_align_engraver"; + + \consists "Staff_group_bar_engraver"; \name StaffGroup; \accepts "Staff"; @@ -149,69 +186,54 @@ GrandStaffContext=\translator{ \accepts "Lyrics"; \accepts "ChordNames"; -} +}; +\translator { \StaffGroupContext } \translator{ - \type "Line_group_engraver_group"; + \type "Engraver_group_engraver"; + \consistsend "Axis_group_engraver"; \name LyricVoice ; \consists "Separating_line_group_engraver"; \consists "Lyric_engraver"; \consists "Extender_engraver"; - \consists "Beam_req_swallow_translator"; + \consists "Hyphen_engraver"; } \translator { - \type "Line_group_engraver_group"; + \type "Engraver_group_engraver"; \name Lyrics; - \consists "Vertical_align_engraver"; + \consists Vertical_align_engraver;%need this for getting folded repeats right. + + \consistsend "Axis_group_engraver"; + \accepts "LyricVoice"; } \translator{ - \type "Line_group_engraver_group"; + \type "Engraver_group_engraver"; + \consistsend "Axis_group_engraver"; \name ChordNameVoice ; \consists "Separating_line_group_engraver"; \consists "Chord_name_engraver"; } -\translator { - \type "Line_group_engraver_group"; + +ChordNameContext = \translator { + \type "Engraver_group_engraver"; \name ChordNames; - \consists "Vertical_align_engraver"; \accepts "ChordNameVoice"; -} + \consistsend "Axis_group_engraver"; + }; +\translator { \ChordNameContext } -ScoreContext = \translator { - \type Score_engraver; - \name Score; - - \consists "Timing_engraver"; - - \consists "Span_score_bar_engraver"; - \consists "Score_priority_engraver"; - \consists "Priority_horizontal_align_engraver"; - \consists "Vertical_align_engraver"; - - - \accepts "StaffGroup"; - \accepts "Staff"; - \accepts "RhythmicStaff"; - \accepts "Lyrics"; - \accepts "ChordNames"; - \accepts "GrandStaff"; - \accepts "ChoirStaff"; - \accepts "PianoStaff"; -}; -\translator { \ScoreContext } ScoreWithNumbers = \translator { \type "Score_engraver"; % uncomment to bar numbers on a whole system. \consists "Bar_number_engraver"; - }; StupidScore = \translator { @@ -228,27 +250,12 @@ BarNumberingStaffContext = \translator { marginBreakPriority = "-4"; \consists "Mark_engraver"; \consists "Bar_number_engraver"; - }; HaraKiriStaffContext = \translator { - \type "Hara_kiri_line_group_engraver"; - \name Staff; - barColumnPriority = "0"; - marginBreakPriority = "-4"; - - \consists "Repeat_engraver"; - \consists "Bar_engraver"; - \consists "Clef_engraver"; - \consists "Key_engraver"; - \consists "Time_signature_engraver"; - \consists "Local_key_engraver"; - \consists "Staff_symbol_engraver"; - \consists "Collision_engraver"; - \consists "Rest_collision_engraver"; - \consists "Staff_margin_engraver"; - \consists "Separating_line_group_engraver"; - + \StaffContext + \remove "Axis_group_engraver"; + \consistsend "Hara_kiri_engraver"; \accepts "Voice"; }; @@ -260,31 +267,38 @@ OrchestralPartStaffContext = \translator { \consists "Bar_number_engraver"; }; -OrchestralScoreContext= \translator { +ScoreContext = \translator { \type Score_engraver; \name Score; - barScriptPadding = "2.0"; % dimension \pt - markScriptPadding = "4.0"; - barColumnPriority = "-4"; - markBreakPriority = "-4"; - defaultClef = treble; \consists "Timing_engraver"; - - \consists "Bar_number_engraver"; - \consists "Mark_engraver"; \consists "Span_score_bar_engraver"; \consists "Score_priority_engraver"; - \consists "Priority_horizontal_align_engraver"; + \consists "Spacing_engraver"; \consists "Vertical_align_engraver"; + alignmentReference = \down; + defaultClef = treble; - \accepts "ChoirStaff"; + \accepts "Staff"; \accepts "StaffGroup"; - \accepts "HaraKiriStaff"; \accepts "RhythmicStaff"; \accepts "Lyrics"; \accepts "ChordNames"; \accepts "GrandStaff"; + \accepts "ChoirStaff"; \accepts "PianoStaff"; - +}; + +\translator { \ScoreContext } + +OrchestralScoreContext= \translator { + \ScoreContext + + barScriptPadding = "2.0"; % dimension \pt + markScriptPadding = "4.0"; + + \consists "Bar_number_engraver"; + \consists "Mark_engraver"; + + \accepts "HaraKiriStaff"; };