]> git.donarmstrong.com Git - lilypond.git/blobdiff - ly/engraver-init.ly
* lily/key-performer.cc (create_audio_elements): always use major
[lilypond.git] / ly / engraver-init.ly
index 0a2fc103ab7cce92f58081709ee09a65c904852b..6172fbaa1edea8c170174547cf39446d1fe04dcf 100644 (file)
@@ -1,4 +1,6 @@
-\version "1.7.3"
+\version "1.7.18"
+
+
 
 %
 % setup for Request->Element conversion. Guru-only
@@ -6,7 +8,12 @@
 
 StaffContext=\translator {
        \type "Engraver_group_engraver"
-       \name Staff 
+       \name Staff
+
+       \description "Handles clefs, bar lines, keys, accidentals.  It can contain
+@code{Voice} contexts."
+
+       
        \consists "Output_property_engraver"    
        
        \consists "Bar_engraver"
@@ -21,6 +28,8 @@ StaffContext=\translator {
          =  #Separating_group_spanner::set_spacing_rods_and_seqs
        \consists "Dot_column_engraver"
 
+       % perhaps move to Voice context?
+       \consists "Ottava_spanner_engraver"
        \consists "Clef_engraver"
        \consists "Key_engraver"
        \consists "Time_signature_engraver"
@@ -65,7 +74,6 @@ StaffContainerContext = \translator {
 InnerChoirStaffContext = \translator {
        \type "Engraver_group_engraver"
        \name InnerChoirStaff
-       %% alignmentReference = #0 FIXME
        \consists "System_start_delimiter_engraver"
        systemStartDelimiter = #'SystemStartBracket
        localKeySignature = #'()
@@ -77,9 +85,14 @@ InnerChoirStaffContext = \translator {
        \accepts "Lyrics"
        \accepts "ChordNames"
 }
+
 ChoirStaffContext = \translator {
        \InnerChoirStaffContext
        \name ChoirStaff
+       
+       \description "Identical to @code{StaffGroup} except that the
+    contained staves are not connected vertically."
+       
        \accepts "InnerChoirStaff"
        \accepts "InnerStaffGroup"
 }
@@ -90,7 +103,10 @@ RhythmicStaffContext=\translator{
        
        \consists "Output_property_engraver"    
 
-
+\description  "
+    A context like @code{Staff} but for printing rhythms.  Pitches are
+    ignored; the notes are printed on one line.  
+"
        minimumVerticalExtent = ##f
        extraVerticalExtent = ##f
        verticalExtent = ##f 
@@ -123,7 +139,13 @@ RhythmicStaffContext=\translator{
 VoiceContext = \translator {
        \type "Engraver_group_engraver"
        \name Voice
+\description "
+    Corresponds to a voice on a staff.  This context handles the
+    conversion of dynamic signs, stems, beams, super- and subscripts,
+    slurs, ties, and rests.
 
+    You have to instantiate this explicitly if you want to have
+    multiple voices on the same staff."
 
        localKeySignature = #'()
        \consists "Font_size_engraver"
@@ -146,6 +168,7 @@ VoiceContext = \translator {
        \consists "New_fingering_engraver"
        \consists "Chord_tremolo_engraver"
        \consists "Percent_repeat_engraver"
+       \consists "Slash_repeat_engraver"
        \consists "Melisma_engraver"
 
 %{
@@ -164,11 +187,10 @@ VoiceContext = \translator {
        \consists "Slur_engraver"
        \consists "Tie_engraver"
        \consists "New_tie_engraver"
-       \consists "Porrectus_engraver"
        \consists "Tuplet_engraver"
        \consists "A2_engraver"
 
-       \consists "Skip_req_swallow_translator"
+       \consists "Skip_event_swallow_translator"
        \accepts Thread % bug if you leave out this!
 }
 
@@ -176,7 +198,11 @@ ThreadContext = \translator{
        \type Engraver_group_engraver
        \name Thread
        localKeySignature = #'()
-
+\description "
+    Handles note heads, and is contained in the Voice context.  You
+    have to instantiate this explicitly if you want to adjust the
+    style of individual note heads.
+"
        \consists "Font_size_engraver"  
        \consists "Thread_devnull_engraver"
        \consists "Note_heads_engraver"
@@ -194,6 +220,11 @@ GrandStaffContext=\translator{
        \type "Engraver_group_engraver"
        \name GrandStaff
        localKeySignature = #'()
+       
+       \description " A group of staffs, with a brace on the left
+    side, grouping the staves together.  The bar lines of the
+    contained staves are connected vertically.  "
+
        \consists "Span_bar_engraver"
        \consists "Span_arpeggio_engraver"
        \consists "System_start_delimiter_engraver"
@@ -206,7 +237,10 @@ PianoStaffContext = \translator{
        \GrandStaffContext
        \name "PianoStaff"
        \alias "GrandStaff"
-
+\description "
+    Just like @code{GrandStaff} but with @code{minVerticalAlign} set
+    equal to @code{maxVerticalAlign} so that interstaff beaming and
+    slurring can be used."
        verticalAlignmentChildCallback = #Align_interface::fixed_distance_alignment_callback
        VerticalAlignment \override #'forced-distance = #12
        VerticalAlignment \override #'self-alignment-Y = #0
@@ -243,6 +277,14 @@ InnerStaffGroupContext= \translator {
 StaffGroupContext = \translator {
        \InnerStaffGroupContext
        \name StaffGroup
+       
+       \description
+
+       " Groups staffs while adding a bracket on the left side,
+       grouping the staves together.  The bar lines of the contained
+       staves are connected vertically.
+"
+       
        \accepts "InnerChoirStaff"
        \accepts "ChoirStaff"
        \accepts "InnerStaffGroup"
@@ -256,14 +298,20 @@ LyricsVoiceContext= \translator{
        \consistsend "Hara_kiri_engraver"
        minimumVerticalExtent = #'(-1.2 . 1.2)
        extraVerticalExtent = ##f
-       verticalExtent = ##f 
+       verticalExtent = ##f
+
+       \description "
+    Corresponds to a voice with lyrics.  Handles the printing of a
+    single line of lyrics.
+"
+       
        \name LyricsVoice 
        \consists "Separating_line_group_engraver"
        \consists "Lyric_engraver"
        \consists "Extender_engraver"
        \consists "Hyphen_engraver"
        \consists "Stanza_number_engraver"
-       \consists "Skip_req_swallow_translator"
+       \consists "Skip_event_swallow_translator"
        phrasingPunctuation = #".,:!?\""
        
 }
@@ -284,7 +332,7 @@ NoteNamesContext = \translator {
 LyricsContext = \translator {
        \type "Engraver_group_engraver"
        \name Lyrics
-       
+       \description  "Typesets lyrics."
        %% To get folded repeats right.
        \consists Vertical_align_engraver 
 
@@ -300,12 +348,13 @@ LyricsContext = \translator {
 ChordNamesContext = \translator {
        \type "Engraver_group_engraver"
        \name ChordNames
-
+\description "    Typesets chord names."
+       
        \consists "Rest_swallow_translator" 
        \consists "Output_property_engraver"    
        \consists "Separating_line_group_engraver"
        \consists "Chord_name_engraver"
-       \consists "Skip_req_swallow_translator"
+       \consists "Skip_event_swallow_translator"
        \consistsend "Hara_kiri_engraver"
        minimumVerticalExtent = #'(0 . 2.5)
        extraVerticalExtent = ##f
@@ -313,7 +362,7 @@ ChordNamesContext = \translator {
 }
 
 
-HaraKiriStaffContext = \translator {
+FrenchStaffContext = \translator {
        \StaffContext
        \remove "Axis_group_engraver"
        \consistsend "Hara_kiri_engraver"
@@ -324,20 +373,23 @@ HaraKiriStaffContext = \translator {
        Beam \override #'auto-knee-gap = #'()
 }
 
-%{
-  The HaraKiriStaffContexts doesn't override \name,
-  so it is still named `Staff'.
-
-  %\translator { \HaraKiriStaffContext }
-%}
-
-
-
+HaraKiriStaffContext = \translator { \FrenchStaffContext }
 
 ScoreContext = \translator {
        \type Score_engraver
        \name Score
        localKeySignature = #'()
+
+       \description "This is the top level notation context.  No
+    other context can contain a @code{Score} context.  This context
+    handles the administration of time signatures.  It also makes sure
+    that items such as clefs, time signatures, and key-signatures are
+    aligned across staves.
+
+    You cannot explicitly instantiate a Score context (since it is
+    not contained in any other context).  It is instantiated
+    automatically when an output definition (a @code{\score} or
+    @code{\paper} block) is processed."
        
        \consists "Repeat_acknowledge_engraver"
        \consists "Staff_collecting_engraver"
@@ -351,6 +403,7 @@ ScoreContext = \translator {
        \consists "Output_property_engraver"
        \consists "System_start_delimiter_engraver"
        \consists "Mark_engraver"       
+       \consists "Metronome_mark_engraver"     
        \consists "Break_align_engraver"
        \consists "Spacing_engraver"
        \consists "Vertical_align_engraver"
@@ -380,8 +433,6 @@ ScoreContext = \translator {
        systemStartDelimiter =#'SystemStartBar
 
 
-       %% name, glyph id, clef position 
-       %% where is c0 in this clef?
        clefGlyph = #"clefs-G"
        clefPosition = #-2
        centralCPosition = #-6
@@ -394,7 +445,7 @@ ScoreContext = \translator {
 
        explicitClefVisibility = #all-visible
        explicitKeySignatureVisibility = #all-visible
-       autoBeamSettings = #auto-beam-settings
+       autoBeamSettings = #default-auto-beam-settings
        autoBeaming = ##t
        scriptDefinitions = #default-script-alist
 
@@ -412,6 +463,7 @@ ScoreContext = \translator {
        tupletNumberFormatFunction = #denominator-tuplet-formatter
        
        subdivideBeams = ##f
+       forbidBeamBreak = ##t
        extraNatural = ##t
        autoAccidentals = #'(Staff (same-octave . 0))
        autoCautionaries = #'()  
@@ -441,6 +493,7 @@ ScoreContext = \translator {
        majorSevenSymbol = #whiteTriangleMarkup
        chordNameSeparator = #(make-simple-markup  "/")
        chordNameExceptions = #ignatzekExceptions
+       chordNoteNamer = #'()
        chordRootNamer = #note-name->markup
        
        %% tablature:
@@ -449,13 +502,12 @@ ScoreContext = \translator {
 
        %% One may change the strings tuning as following :
        %% The lenght of the list must be equal to the number of string
-      
-       stringTunings   = #guitar-tunings
+       stringTunings   = #guitar-tunings
        tablatureFormat = #fret-number-tablature-format
 
        %%
        bassFigureFormatFunction = #make-bass-figure-markup
-
+       metronomeMarkFormatter = #make-metronome-markup
 
        \grobdescriptions #all-grob-descriptions
 }
@@ -463,15 +515,13 @@ ScoreContext = \translator {
 OrchestralScoreContext= \translator {
        \ScoreContext
 }
+
 EasyNotation =  \translator {
        \ScoreContext
        NoteHead \override #'molecule-callback = #Note_head::brew_ez_molecule
 }
 
-% retain for compatibility reasons (FIXME: convert-ly)
-GraceContext = \translator {
-       \type "Engraver_group_engraver"
-}
+
 
 FiguredBassContext = \translator {
        \type "Engraver_group_engraver"
@@ -479,6 +529,8 @@ FiguredBassContext = \translator {
        \consists "Figured_bass_engraver"
        \consists "Rest_swallow_translator"
        \consists "Note_swallow_translator"
+       \consists "Separating_line_group_engraver"
+       
        \consistsend "Hara_kiri_engraver"
 }
 
@@ -506,6 +558,9 @@ TabStaffContext = \translator {
       \alias "Staff"
       \name "TabStaff"
       \denies "Voice"
+
+      \description "Context for generating tablature. [DOCME]"
+      
       \accepts "TabVoice"
       
       % 6 strings