X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=ly%2Fengraver.ly;h=7a2f8dfa5921789190d9c280308149a9ffe9ea92;hb=48f2b9351f93d0161c675cfb60e95bf919041df2;hp=85e811b5e363dd9e64a68c747cc8dcaf8fd8bbc8;hpb=71fb71437fc91cef2c41d9ee17856ea1031cfb10;p=lilypond.git diff --git a/ly/engraver.ly b/ly/engraver.ly index 85e811b5e3..7a2f8dfa59 100644 --- a/ly/engraver.ly +++ b/ly/engraver.ly @@ -5,36 +5,51 @@ StaffContext=\translator { \type "Engraver_group_engraver"; \name Staff ; - barAuto = "1"; - voltaVisibility = "1"; - + + barAuto = ##t + voltaVisibility = ##t + Generic_property_list = #generic-staff-properties + \consists "Property_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"; + + + % name, glyph id, c0 position + supportedClefTypes = #'( + ("treble" . ("G" -2)) + ("violin" . ("G" -2)) + ("G" . ("G" -2)) + ("G2" . ("G" -2)) + ("french" . ("G" -4 )) + ("soprano" . ("C" -4 )) + ("mezzosoprano" . ("C" -2 )) + ("alto" . ("C" 0 )) + ("tenor" . ("C" 2 )) + ("baritone" . ("C" 4 )) + ("varbaritone" . ("F" 0)) + ("bass" . ("F" 2 )) + ("F" . ( "F" 2)) + ("subbass" . ("F" 4)) + ) + clefPitches = #'(("G" . -4) + ("C" . 0) + ("F" . 4)) + \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 @@ -44,16 +59,14 @@ StaffContext=\translator { %{ \consists "Staff_margin_engraver"; %} - defaultClef = treble; - - marginBreakPriority = "-5"; + defaultClef = #"treble" + marginBreakPriority = #-5 \consists "Separating_line_group_engraver"; - \consists "Font_size_engraver"; \accepts "Voice"; - dynamicStyle = "dynamic"; + dynamicStyle = #"dynamic" }; \translator{\StaffContext } @@ -77,7 +90,12 @@ StaffContext=\translator { RhythmicStaffContext=\translator{ \type "Engraver_group_engraver"; - numberOfStaffLines = "1"; + numberOfStaffLines = #1 + \consists "Property_engraver"; + + Generic_property_list = #generic-staff-properties + + barSize = \staffheight; \consists "Pitch_squash_engraver"; \consists "Separating_line_group_engraver"; \name RhythmicStaff; @@ -91,10 +109,15 @@ RhythmicStaffContext=\translator{ }; \translator{\RhythmicStaffContext} VoiceContext = \translator { + \type "Engraver_group_engraver"; + dynamicPadding = #5.0 + Generic_property_list = #generic-voice-properties + + \consists "Dynamic_engraver"; % must come before text_engraver. \name Voice ; - beamAuto = "1"; + \consists "Property_engraver"; \consists "Breathing_sign_engraver"; \consists "Rest_engraver"; @@ -103,27 +126,61 @@ VoiceContext = \translator { \consists "Beam_engraver"; \consists "Auto_beam_engraver"; \include "auto-beam-settings.ly"; -% \consists "Abbreviation_beam_engraver"; -% \consists "Multi_measure_rest_engraver"; + \consists "Chord_tremolo_engraver"; - % ugh. Order matters here. + \consists "Melisma_engraver"; + textScriptPadding = #3.0 \consists "Text_engraver"; - \consists "G_script_engraver"; - \consists "G_script_column_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 "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"; + + 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"; + \include "auto-beam-settings.ly"; + \consists "Align_note_column_engraver"; + + \consists "Rhythmic_column_engraver"; + \consists "Dynamic_engraver"; + + \consists "Property_engraver"; + + stemStyle = #"grace" + weAreGraceContext = ##t + fontSize = #-1 + + stemLength = #6.0 + verticalDirection = \up ; + graceAccidentalSpace= 1.5 * \interline; +}; + +\translator{\GraceContext} \translator {\VoiceContext} ThreadContext = \translator{ \type Engraver_group_engraver; - \consists "Note_heads_engraver" ; + \consists "Note_heads_engraver" ; + Generic_property_list = #generic-thread-properties + \consists "Property_engraver"; \name Thread; }; @@ -133,10 +190,9 @@ GrandStaffContext=\translator{ \name GrandStaff; \consists "Span_bar_engraver"; \consists "Piano_bar_engraver"; - - + \consists "Property_engraver"; + Generic_property_list = #generic-grand-staff-properties \accepts "Staff"; - }; \translator{\GrandStaffContext} @@ -155,7 +211,6 @@ PianoStaffContext = \translator{\GrandStaffContext StaffGroupContext= \translator { \type "Engraver_group_engraver"; \consists "Span_bar_engraver"; - \consists "Staff_group_bar_engraver"; \name StaffGroup; @@ -167,9 +222,11 @@ StaffGroupContext= \translator { \accepts "Lyrics"; \accepts "ChordNames"; }; + \translator { \StaffGroupContext } -\translator{ +% UGH! JUNKME +LyricsVoiceContext= \translator{ \type "Engraver_group_engraver"; \consistsend "Axis_group_engraver"; @@ -177,9 +234,11 @@ StaffGroupContext= \translator { \consists "Separating_line_group_engraver"; \consists "Lyric_engraver"; \consists "Extender_engraver"; -} + \consists "Hyphen_engraver"; +}; +\translator{ \LyricsVoiceContext } -\translator { +LyricsContext = \translator { \type "Engraver_group_engraver"; \name Lyrics; \consists Vertical_align_engraver;%need this for getting folded repeats right. @@ -187,7 +246,8 @@ StaffGroupContext= \translator { \consistsend "Axis_group_engraver"; \accepts "LyricVoice"; -} +}; +\translator { \LyricsContext } \translator{ \type "Engraver_group_engraver"; @@ -225,8 +285,8 @@ StupidScore = \translator { BarNumberingStaffContext = \translator { \StaffContext - barColumnPriority = "0"; - marginBreakPriority = "-4"; + barColumnPriority = #0 + marginBreakPriority = #-4 \consists "Mark_engraver"; \consists "Bar_number_engraver"; }; @@ -240,8 +300,8 @@ HaraKiriStaffContext = \translator { OrchestralPartStaffContext = \translator { \StaffContext - barColumnPriority = "0"; - marginBreakPriority = "-4"; + barColumnPriority = #0 + marginBreakPriority = #-4 \consists "Mark_engraver"; \consists "Bar_number_engraver"; }; @@ -251,13 +311,23 @@ ScoreContext = \translator { \name Score; \consists "Timing_engraver"; + \consists "Span_score_bar_engraver"; - \consists "Score_priority_engraver"; +% \consists "Score_priority_engraver"; + \consists "Break_align_engraver"; + breakAlignOrder = #'( + "Span_bar" + "Breathing_sign" + "Clef_item" + "Key_item" + "Staff_bar" + "Time_signature" + ) \consists "Spacing_engraver"; \consists "Vertical_align_engraver"; alignmentReference = \down; - defaultClef = treble; - + defaultClef = #"treble" + defaultBarType = #"|" \accepts "Staff"; \accepts "StaffGroup"; \accepts "RhythmicStaff"; @@ -266,6 +336,10 @@ ScoreContext = \translator { \accepts "GrandStaff"; \accepts "ChoirStaff"; \accepts "PianoStaff"; + \accepts "NoteNames"; + + clefBreakPriority = #-2 + breathingSignBreakPriority = #-4 }; \translator { \ScoreContext } @@ -273,11 +347,18 @@ ScoreContext = \translator { OrchestralScoreContext= \translator { \ScoreContext - barScriptPadding = "2.0"; % dimension \pt - markScriptPadding = "4.0"; + barScriptPadding = #2.0 % dimension \pt + markScriptPadding = #4.0 \consists "Bar_number_engraver"; \consists "Mark_engraver"; \accepts "HaraKiriStaff"; }; + +\translator { + \type "Engraver_group_engraver"; + \name NoteNames; + \consistsend "Axis_group_engraver"; + \consists "Note_name_engraver"; +}