(list name description created-elts properties)
)
-(define (translator-property-description symbol type? description)
- (list symbol type? description)
- )
(define engraver-description-alist
(list
(cons
- 'Stem_engraver
- (engraver-description
- "Stem_engraver"
- "Create stems and single-stem tremolos"
- '(Stem StemTremolo)
- (list
- (translator-property-description 'tremoloFlags integer? "")
- (translator-property-description 'stemLeftBeamCount integer? "")
- (translator-property-description 'stemRightBeamCount integer? "")
- )))
+ 'Stem_engraver
+ (engraver-description
+ "Stem_engraver"
+ "Create stems and single-stem tremolos. It also works together with
+the beam engraver for overriding beaming."
+ '(Stem StemTremolo)
+ '(tremoloFlags
+ stemLeftBeamCount
+ stemRightBeamCount
+ )))
- (cons
- 'Hyphen_engraver
- (engraver-description
- "Hyphen_engraver"
- "Create lyric hyphens"
- '(LyricHyphen)
- (list
- )))
-
- (cons
- 'Extender_engraver
- (engraver-description
- "Extender_engraver"
- "Create lyric extenders"
- '(LyricExtender)
- (list
- )))
-
-
- (cons
- 'Separating_line_group_engraver
- (engraver-description
- "Separating_line_group_engraver"
- "Objects that generate rods and springs for the spacing problem."
- '(SeparationItem SeparatingGroupSpanner)
- (list
- )))
-
- (cons
- 'Axis_group_engraver
- (engraver-description
- "Axis_group_engraver"
- "Group all objects created in this context in a VerticalAxisGroup spanner."
- '(VerticalAxisGroup)
- (list
- (translator-property-description 'CONTEXTNAMEVerticalExtent number-pair? "hard coded vertical extent [fixme, naming]")
- (translator-property-description 'CONTEXTNAMEMinimumVerticalExtent number-pair? "minimum vertical extent [fixme, naming]")
- (translator-property-description 'CONTEXTNAExtraVerticalExtent number-pair? "extra vertical extent [fixme, naming]")
- )))
-
- (cons
- 'Hara_kiri_engraver
- (engraver-description
- "Hara_kiri_engraver"
- "Like Axis_group_engraver, but make a hara kiri spanner, and add
+ (cons
+ 'Hyphen_engraver
+ (engraver-description
+ "Hyphen_engraver"
+ "Create lyric hyphens"
+ '(LyricHyphen)
+ '(
+ )))
+
+ (cons
+ 'Extender_engraver
+ (engraver-description
+ "Extender_engraver"
+ "Create lyric extenders"
+ '(LyricExtender)
+ '(
+ )))
+
+
+ (cons
+ 'Separating_line_group_engraver
+ (engraver-description
+ "Separating_line_group_engraver"
+ "Generates objects for computing spacing parameters."
+ '(SeparationItem SeparatingGroupSpanner)
+ '(
+ )))
+
+ (cons
+ 'Axis_group_engraver
+ (engraver-description
+ "Axis_group_engraver"
+ "Group all objects created in this context in a VerticalAxisGroup spanner."
+ '(VerticalAxisGroup)
+ '(VerticalExtent MinimumVerticalExtent ExtraVerticalExtent)
+ ))
+
+ (cons
+ 'Hara_kiri_engraver
+ (engraver-description
+ "Hara_kiri_engraver"
+ "Like Axis_group_engraver, but make a hara kiri spanner, and add
interesting items (ie. note heads, lyric syllables and normal rests)"
- '(HaraKiriVerticalGroup)
- '()
- ))
-
-
- (cons
- 'Local_key_engraver
- (engraver-description
- "Local_key_engraver"
- "Make accidentals. Catches note heads, ties and notices key-change
+ '(HaraKiriVerticalGroup)
+ '()
+ ))
+
+
+ (cons
+ 'Local_key_engraver
+ (engraver-description
+ "Local_key_engraver"
+ "Make accidentals. Catches note heads, ties and notices key-change
events. Due to interaction with ties (which don't come together
with note heads), this needs to be in a context higher than Tie_engraver.
(FIXME)."
- '(Accidentals)
- (list
- (translator-property-description 'localKeySignature list? "the key signature at this point in the measure")
- (translator-property-description 'forgetAccidentals boolean? "do
-not set localKeySignature when a note alterated differently from
-localKeySignature is found.
-<p>
-Causes accidentals to be printed at every note instead of
-remembered for the duration of a measure.
+ '(Accidentals)
+ '(
+ localKeySignature
+ forgetAccidentals
+ noResetKey
+
+ )))
+
+
+ (cons
+ 'Volta_engraver
+ (engraver-description
+ "Volta_engraver"
+ "Make volta brackets"
+ '(VoltaBracket)
+ '(repeatCommands voltaSpannerDuration)
+ ))
+
+ (cons
+ 'Clef_engraver
+ (engraver-description
+ "Clef_engraver"
+ "Determine and set reference point for pitches"
+ '(Clef OctavateEight)
+ '(
+ clefPosition
+ clefGlyph
+ centralCPosition
+ clefOctavation
+ explicitClefVisibility
+ clefPitches
+
+ )))
+
+ (cons
+ 'A2_engraver
+ (engraver-description
+ "A2_engraver"
+ "Part combine engraver for orchestral scores.
+
+The markings @emph{a2}, @emph{Solo} and @emph{Solo II}, are
+created by this engraver. It also acts upon instructions of the part
+combiner. Another thing that the this engraver, is forcing of stem,
+slur and tie directions, always when both threads are not identical;
+up for the musicexpr called @code{one}, down for the musicexpr called
+@code{two}.
+
+"
+ '(TextScript)
+ '(
+ combineParts
+ noDirection
+ soloADue
+ soloText
+ soloIIText
+ aDueText
+ split-interval
+ unison
+ solo
+ unisilence
+ unirhythm
+ )))
+
+ (cons
+ 'Align_note_column_engraver
+ (engraver-description
+ "Align_note_column_engraver"
+ "Generate object to put grace notes from left to right."
+ '(GraceAlignment)
+ '(
+
+ graceAlignPosition
+ graceAccidentalSpace
+ )))
+
+ (cons
+ 'Arpeggio_engraver
+ (engraver-description
+ "Arpeggio_engraver"
+ "Generate an Arpeggio from a Arpeggio_req"
+ '(Arpeggio)
+ '(
+ )))
+
+ (cons
+ 'Auto_beam_engraver
+ (engraver-description
+ "Auto_beam_engraver"
+ "Generate beams based on measure characteristics and observed
+Stems. Uses beatLength, measureLength and measurePosition to decide
+when to start and stop a beam. Overriding beaming is done through
+@ref{Stem_engraver} properties stemLeftBeamCount and
+stemRightBeamCount.
+"
+ '(
+ Beam)
+ '(
+ noAutoBeaming
+ autoBeamSettings)))
+
+ (cons
+ 'Bar_engraver
+ (engraver-description
+ "Bar_engraver"
+ "Create barlines. This engraver is controlled through the
+@code{whichBar} property. If it has no bar line to create, it will forbid a linebreak at this point"
+ '(BarLine)
+ '(
+ whichBar
+ staffsFound
+ )))
+
+
+ (cons
+ 'Bar_number_engraver
+ (engraver-description
+ "Bar_number_engraver"
+ "A bar number is created whenever measurePosition is zero. It is
+put on top of all staffs, and appears only at left side of the staff."
+ '(BarNumber)
+ '(
+ currentBarNumber
+ )))
+
+
+ (cons
+ 'Beam_engraver
+ (engraver-description
+ "Beam_engraver"
+ "Handles Beam_requests by engraving Beams. If omitted, then notes will be
+ printed with flags instead of beams."
+ '(Beam)
+ '(
+ beamMelismaBusy
+ )))
+
+ (cons
+ 'Break_align_engraver
+ (engraver-description
+ "Break_align_engraver"
+ "Align grobs with corresponding break-align-symbols into groups, and order the groups according to breakAlignOrder"
+ '(BreakAlignment BreakAlignGroup LeftEdge)
+ '(
+ breakAlignOrder
+
+ )))
+
+
+ (cons
+ 'Breathing_sign_engraver
+ (engraver-description
+ "Breathing_sign_engraver"
+ ""
+ '(BreathingSign)
+ '(
+ )))
+
+
+ (cons
+ 'Chord_name_engraver
+ (engraver-description
+ "Chord_name_engraver"
+ "Catch Note_req's, Tonic_reqs, Inversion_reqs, Bass_req
+and generate the appropriate chordname."
+ '(ChordName)
+ '(chordChanges)))
+
+
+ (cons
+ 'Chord_tremolo_engraver
+ (engraver-description
+ "Chord_tremolo_engraver"
+ "Generates beams for the \repeat X tremolo ... construct"
+ '(Beam)
+ '(
+ )))
+
+
+
+ (cons
+ 'Collision_engraver
+ (engraver-description
+ "Collision_engraver"
+ ""
+ '(NoteCollision
+ )
+ '(
+ )))
+
+ (cons
+ 'Custos_engraver
+ (engraver-description
+ "Custos_engraver"
+ ""
+ '(Custos)
+ '(
+ )))
+
+
+ (cons
+ 'Dot_column_engraver
+ (engraver-description
+ "Dot_column_engraver"
+ " Engraves dots on dotted notes shifted to the right of the note.
+If omitted, then dots appear on top of the notes.
+"
+ '(DotColumn
+ )
+ '(
+ )))
+
+
+ (cons
+ 'Dynamic_engraver
+ (engraver-description
+ "Dynamic_engraver"
+ ""
+ '(DynamicLineSpanner
+ DynamicText Hairpin
+ TextSpanner)
+ '(
+ )))
+
+
+
+
+ (cons
+ 'Grace_position_engraver
+ (engraver-description
+ "Grace_position_engraver"
+ "Attach a grace note alignment to a note-column "
+ '()
+ '(
+ )))
+
+ (cons
+ 'Grace_engraver_group
+ (engraver-description
+ "Grace_engraver_group"
+ "An engraver that creates a `shielded' context-tree with separate notion of time"
+ '()
+ '(
+ )))
+
+
+ (cons
+ 'Instrument_name_engraver
+ (engraver-description
+ "Instrument_name_engraver"
+ " Prints the name of the instrument (specified by
+ @code{Staff.instrument} and @code{Staff.instr}) at the left of the
+ staff."
+ '(InstrumentName)
+ '(
+ instrument
+ instr
+ )))
+
+ (cons
+ 'Engraver_group_engraver
+ (engraver-description
+ "Engraver_group_engraver"
+ "A group of engravers taken together"
+ '()
+ '(
+ )))
+
+ (cons
+ 'Key_engraver
+ (engraver-description
+ "Key_engraver"
+ ""
+ '(KeySignature
+ )
+ '( keySignature explicitKeySignatureVisibility createKeyOnClefChange keyAccidentalOrder keySignature )))
+
+ (cons 'Lyric_engraver
+ (engraver-description
+ "Lyric_engraver"
+ ""
+ '()
+ '(
+ ;; FIXME
+ )))
+
+ (cons 'Lyric_phrasing_engraver
+ (engraver-description
+ "Lyric_phrasing_engraver"
+ ""
+ '()
+ '(
+ automaticPhrasing
+ weAreGraceContext
+ melismaEngraverBusy
+ associatedVoice
+ phrasingPunctuation
+ )))
+
+ (cons
+ 'Mark_engraver
+ (engraver-description
+ "Mark_engraver"
+ ""
+ '(RehearsalMark)
+ '(
+
+ rehearsalMark
+ staffsFound
+ )))
+
+
+ (cons
+ 'Melisma_engraver
+ (engraver-description
+ "Melisma_engraver"
+ ""
+ '()
+ '(
+
+ melismaBusy
+ slurMelismaBusy
+ tieMelismaBusy
+ beamMelismaBusy
+ )))
+
+
+ (cons
+ 'Multi_measure_rest_engraver
+ (engraver-description
+ "Multi_measure_rest_engraver"
+ "Engraves multi-measure rests that are produced with @code{R}. Reads
+measurePosition and currentBarNumber to determine what number to print over the MultiMeasureRest
+ "
+ '(MultiMeasureRest)
+ '(currentBarNumber currentCommandColumn measurePosition
+ )))
+
+ (cons
+ 'Note_heads_engraver
+ (engraver-description
+ "Note_heads_engraver"
+ "Generate one or more noteheads from Music of type Note_req."
+ '(NoteHead Dots)
+ '(
+ )))
+
+ (cons
+ 'Note_head_line_engraver
+ (engraver-description
+ "Note_head_line_engraver"
+ "Engrave a line between two note heads, for example a glissando.
+If followVoice is set, staff switches also generate a line."
+ '(Glissando VoiceFollower)
+ '(followVoice)))
+
+ (cons
+ 'Note_name_engraver
+ (engraver-description
+ "Note_name_engraver"
+ ""
+ '(NoteName)
+ '(
+ )))
+
+
+ (cons
+ 'Output_property_engraver
+ (engraver-description
+ "Output_property_engraver"
+ "Interpret Music of Output_property type, and apply a function
+to any Graphic objects that satisfies the predicate."
+ '()
+ '(
+ )))
+
+
+ (cons
+ 'Piano_pedal_engraver
+ (engraver-description
+ "Piano_pedal_engraver"
+ "Engrave piano pedal symbols."
+ '(SostenutoPedal SustainPedal UnaCordaPedal)
+ '(pedalSostenutoStrings pedalSustainStrings pedalUnaCordaStrings
+ )))
+
+ (cons
+ 'Pitch_squash_engraver
+ (engraver-description
+ "Pitch_squash_engraver"
+ "Treat all pitches as middle C. Note that the notes move, but
+the locations of accidentals stay the same.
+Set the position field of all note heads to zero. This useful for
+making a single line staff that demonstrates the rhythm of a melody."
+ '()
+ '(
+ squashedPosition
+ )))
+
+ (cons
+ 'Property_engraver
+ (engraver-description
+ "Property_engraver"
+"This is a engraver that converts \property settings into
+back-end grob-property settings. Example: Voice.stemLength will set
+#'length in all Stem objects.
+
+Due to CPU and memory requirements, the use of this engraver is deprecated."
+ '()
+ '(Generic_property_list)
+ ))
+
+
+ (cons
+ 'Repeat_acknowledge_engraver
+ (engraver-description
+ "Repeat_acknowledge_engraver"
+
+ "Acknowledge repeated music, and convert the contents of
+repeatCommands ainto an appropriate setting for whichBar"
+ '()
+ '(
+ repeatCommands
+ whichBar
+
+ )))
+
+
+ (cons
+ 'Rest_collision_engraver
+ (engraver-description
+ "Rest_collision_engraver"
+ "Handles collisions of rests."
+ '(RestCollision)
+ '(
+ )))
+
+
+ (cons
+ 'Rest_engraver
+ (engraver-description
+ "Rest_engraver"
+ ""
+ '(Rest Dots)
+ '(
+ )))
+
+
+ (cons
+ 'Rhythmic_column_engraver
+ (engraver-description
+ "Rhythmic_column_engraver"
+ "Generates NoteColumn, an objects that groups stems, noteheads and rests."
+ '(NoteColumn)
+ '(
+ )))
+
+
+ (cons
+ 'Script_column_engraver
+ (engraver-description
+ "Script_column_engraver"
+ ""
+ '(ScriptColumn)
+ '(
+ )))
+
+
+ (cons
+ 'Script_engraver
+ (engraver-description
+ "Script_engraver"
+ " Handles note ornaments generated by @code{\script}.
+"
+ '(Script)
+ '(
+ scriptDefinitions
+ scriptHorizontal
+ )))
+
+ (cons
+ 'Score_engraver
+ (engraver-description
+ "Score_engraver"
+ "Top level engraver. Takes care of generating columns and the complete system (ie. LineOfScore)
+
+This engraver decides whether a column is breakable. The default is
+that a column is always breakable. However, when every Bar_engraver
+that does not have a barline at a certain point will call
+Score_engraver::forbid_breaks to stop linebreaks. In practice, this
+means that you can make a breakpoint by creating a barline (assuming
+that there are no beams or notes that prevent a breakpoint.)
+
+"
+ '(LineOfScore PaperColumn NonMusicalPaperColumn)
+ '(
+ currentMusicalColumn
+ currentCommandColumn
+ )))
+
+ (cons 'Skip_req_swallow_translator
+ (engraver-description
+ "Skip_req_swallow_translator"
+ ""
+ '()
+ '(
+ ;; FIXME
+ )))
+
+ (cons
+ 'Slur_engraver
+ (engraver-description
+ "Slur_engraver"
+ "Build slurs from Slur_reqs"
+ '(Slur)
+
+ '(
+ slurBeginAttachment
+ slurEndAttachment
+ slurMelismaBusy
+ )))
+
+
+ (cons
+ 'Spacing_engraver
+ (engraver-description
+ "Spacing_engraver"
+ "make a SpacingSpanner and do bookkeeping of shortest starting and playing notes "
+ '(SpacingSpanner)
+ '(
+ )))
+
+
+ (cons
+ 'Span_arpeggio_engraver
+ (engraver-description
+ "Span_arpeggio_engraver"
+ ""
+ '(Arpeggio)
+ '(
+ connectArpeggios
+ )))
+
+
+ (cons
+ 'Span_bar_engraver
+ (engraver-description
+ "Span_bar_engraver"
+ "This engraver makes cross-staff barlines: It catches all normal
+bar lines, and draws a single span-bar across them."
+
+ '(SpanBar)
+ '(
+ )))
+
+
+ (cons
+ 'Staff_symbol_engraver
+ (engraver-description
+ "Staff_symbol_engraver"
+ "create the constellation of five (default) staff lines."
+ '(StaffSymbol)
+ '(
+ )))
+
+
+ (cons
+ 'Stanza_number_engraver
+ (engraver-description
+ "Stanza_number_engraver"
+ ""
+ '(StanzaNumber
+ )
+ '(
+ stz
+ stanza
+ )))
+
+
+
+ (cons
+ 'System_start_delimiter_engraver
+ (engraver-description
+ "System_start_delimiter_engraver"
+ "creates a SystemStartDelimiter spanner"
+ '(SystemStartDelimiter)
+ '(
+ )))
+
+
+ (cons
+ 'Text_engraver
+ (engraver-description
+ "Text_engraver"
+ "Create text-scripts"
+ '(TextScript)
+ '(
+ scriptHorizontal
+ textNonEmpty
+ )))
+
+
+ (cons
+ 'Text_spanner_engraver
+ (engraver-description
+ "Text_spanner_engraver"
+ "Create text spanner from a Span_req "
+ '(TextSpanner)
+ '(
+ )))
+
+
+ (cons
+ 'Thread_devnull_engraver
+ (engraver-description
+ "Thread_devnull_engraver"
+ "Kill elements whenever we are Voice called `two' and either
+unison, unisilence or soloADue is set.@footnote{On unix systems, the
+file @file{/dev/null} is special device: anything written to it is
+discarded.}. This engraver works closely together with the part
+combiner. When the part combiner notices that two threads are
+identical, it tells the @code{Thread_devnull_engraver} to discard
+everything in the second thread.
+"
+
+ '()
+ '()))
+
+
+ (cons
+ 'Tie_engraver
+ (engraver-description
+ "Tie_engraver"
+ "Generate ties between noteheads of equal pitch."
+ '(Tie TieColumn)
+ '(sparseTies
+ tieMelismaBusy
+ )))
+
+
+ (cons
+ 'Time_signature_engraver
+ (engraver-description
+ "Time_signature_engraver"
+ "Create a TimeSignature whenever @code{timeSignatureFraction} changes"
+ '(TimeSignature)
+ '(
+ )))
+
+
+ (cons
+ 'Timing_engraver
+ (engraver-description
+ "Timing_engraver"
+ " Responsible for synchronizing timing information from staffs.
+ Normally in @code{Score}. In order to create polyrhythmic music,
+ this engraver should be removed from @code{Score} and placed in
+ @code{Staff}."
+ '()
+ '(
+ timeSignatureFraction
+ barCheckNoSynchronize
+ barNonAuto
+ whichBar
+ barAlways
+ defaultBarType
+ skipBars
+ timing
+ oneBeat
+ measureLength
+ measurePosition
+ currentBarNumber
+ )))
+
+
+ (cons
+ 'Tuplet_engraver
+ (engraver-description
+ "Tuplet_engraver"
+ "Catch Time_scaled_music and generate appropriate bracket "
+ '( TupletBracket)
+ '(tupletNumberFormatFunction tupletSpannerDuration tupletInvisible)))
+
+
+ (cons
+ 'Vertical_align_engraver
+ (engraver-description
+ "Vertical_align_engraver"
+ "Catch Vertical axis groups and stack them."
+ '(VerticalAlignment)
+ '(
+ )))
+
+
+ (cons
+ 'Voice_devnull_engraver
+ (engraver-description
+ "Voice_devnull_engraver"
+ "Kill off certain items and spanners if we're Voice `two' and unison or unisilence is set."
+ '()
+ '(
+ )))
+ ))
+
+
+(set! engraver-description-alist
+ (sort engraver-description-alist alist<?))
+
+(define context-description-alist
+ '(
+(Grace . "
+ The context for handling grace notes. It is instantiated
+ automatically when you use @code{\grace}. Basically, it is an
+ `embedded' miniature of the Score context. Since this context
+ needs special interaction with the rest of LilyPond, you should
+ not explicitly instantiate it.
")
- (translator-property-description 'noResetKey boolean? "Do not
-reset local key to the value of keySignature at the start of a measure,
-as determined by measurePosition.<p>
- Do not reset the key at the start of a measure. Accidentals will
- be printed only once and are in effect until overridden, possibly
- many measures later.
+(LyricsVoice . "
+ Corresponds to a voice with lyrics. Handles the printing of a
+ single line of lyrics.
")
-
- )))
-
-
- (cons
- 'Volta_engraver
- (engraver-description
- "Volta_engraver"
- "Make volta brackets"
- '(VoltaBracket)
- (list
- (translator-property-description 'repeatCommands list?
-"This property is read to find any command of the form (volta . X), where X is a string or #f")
- (translator-property-description 'voltaSpannerDuration moment?
-"maximum duration of the volta bracket.<p>
-
- Set to a duration to control the size of the brackets printed by
-@code{\alternative}. It specifies the number of whole notes duration
-to use for the brackets. This can be used to shrink the length of
-brackets in the situation where one alternative is very large. It may
-have odd effects if the specified duration is longer than the music
-given in an @code{\alternative}.
+(Thread . "
+ 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.
")
- )
- ))
+(Voice . "
+ 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.")
+
+(ChordNamesVoice . "
+ A voice with chord names. Handles printing of a line of chord
+ names.")
+
+(ChordNames . "
+ Typesets chord names. Can contain @code{ChordNamesVoice}
+ contexts.")
+
+(Lyrics . "
+ Typesets lyrics. It can contain @code{LyricsVoice} contexts.
+")
+(Staff . "
+ Handles clefs, bar lines, keys, accidentals. It can contain
+ @code{Voice} contexts.
+")
+(RhythmicStaff . "
+ A context like @code{Staff} but for printing rhythms. Pitches are
+ ignored; the notes are printed on one line. It can contain
+ @code{Voice} contexts.
+")
+(GrandStaff . "
+ Contains @code{Staff} or @code{RhythmicStaff} contexts. It adds a
+ brace on the left side, grouping the staffs together. The bar
+ lines of the contained staffs are connected vertically. It can
+ contain @code{Staff} contexts.")
+
+(PianoStaff . "
+ Just like @code{GrandStaff} but with @code{minVerticalAlign} set
+ equal to @code{maxVerticalAlign} so that interstaff beaming and
+ slurring can be used.")
+
+(StaffGroup . "
+ Contains @code{Staff} or @code{RhythmicStaff} contexts. Adds a
+ bracket on the left side, grouping the staffs together. The bar
+ lines of the contained staffs are connected vertically. It can
+ contain @code{Staff}, @code{RhythmicStaff}, @code{GrandStaff}, or
+ @code{Lyrics} contexts.
+")
+(ChoirStaff . "
+ Identical to @code{StaffGroup} except that the contained staffs
+ are not connected vertically.
+")
+(Score . "
+ 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 staffs. It can contain @code{Lyrics}, @code{Staff},
+ @code{RhythmicStaff}, @code{GrandStaff}, @code{StaffGroup}, and
+ @code{ChoirStaff} contexts.
+
+ 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.
+")
+)
+)
+
+(set! context-description-alist
+ (sort context-description-alist alist<?))
- (cons
- 'Clef_engraver
- (engraver-description
- "Clef_engraver"
- "Determine and set reference point for pitches"
- '(Clef OctavateEight)
- (list
- (translator-property-description 'supportedClefTypes
- list? "Clef settings supported. The value is an association list contain entries (NAME . (GLYPH . POSITION)), where NAME is the clef name (alto, baritone, etc.), GLYPH the glyph name, POSITION an integer where the center symbol should go.")
- (translator-property-description 'clefPosition number? " where the center of the symbol should go")
- (translator-property-description 'clefGlyph string? "name of the symbol within the music font")
- (translator-property-description 'centralCPosition number? "place of the central C. ")
- (translator-property-description 'defaultClef string? "generate this clef at the very start of this staff. If not set, don't generate a clef")
- (translator-property-description 'explicitClefVisibility procedure? "visibility-lambda function for clefs entered as \clef.")
- (translator-property-description 'clefPitches list? "alist mapping GLYPHNAME to the position of the central C for that symbol")
-
- )))
-
-
- ))