-\version "1.7.3"
+\version "1.7.18"
+
+
%
% setup for Request->Element conversion. Guru-only
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"
= #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"
InnerChoirStaffContext = \translator {
\type "Engraver_group_engraver"
\name InnerChoirStaff
- %% alignmentReference = #0 FIXME
\consists "System_start_delimiter_engraver"
systemStartDelimiter = #'SystemStartBracket
localKeySignature = #'()
\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"
}
\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
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"
\consists "New_fingering_engraver"
\consists "Chord_tremolo_engraver"
\consists "Percent_repeat_engraver"
+ \consists "Slash_repeat_engraver"
\consists "Melisma_engraver"
%{
\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!
}
\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"
\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"
\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
\accepts "Lyrics"
\accepts "ChordNames"
}
+
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"
% UGH! JUNKME
LyricsVoiceContext= \translator{
\type "Engraver_group_engraver"
- \consistsend "Axis_group_engraver"
+ \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 = #".,:!?\""
}
LyricsContext = \translator {
\type "Engraver_group_engraver"
\name Lyrics
-
+ \description "Typesets lyrics."
%% To get folded repeats right.
\consists Vertical_align_engraver
- \consistsend "Axis_group_engraver"
+ \consistsend "Hara_kiri_engraver"
minimumVerticalExtent = ##f
extraVerticalExtent = ##f
verticalExtent = ##f
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 "New_chord_name_engraver"
- \consists "Skip_req_swallow_translator"
- \consistsend "Axis_group_engraver"
- minimumVerticalExtent = ##f
+ \consists "Chord_name_engraver"
+ \consists "Skip_event_swallow_translator"
+ \consistsend "Hara_kiri_engraver"
+ minimumVerticalExtent = #'(0 . 2.5)
extraVerticalExtent = ##f
verticalExtent = ##f
}
-
-StupidScore = \translator {
- \type "Score_engraver"
- \name Score
- \consists "Note_heads_engraver"
-}
-
-
-
-
-HaraKiriStaffContext = \translator {
+FrenchStaffContext = \translator {
\StaffContext
\remove "Axis_group_engraver"
\consistsend "Hara_kiri_engraver"
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"
\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"
systemStartDelimiter =#'SystemStartBar
- %% name, glyph id, clef position
- %% where is c0 in this clef?
clefGlyph = #"clefs-G"
clefPosition = #-2
centralCPosition = #-6
explicitClefVisibility = #all-visible
explicitKeySignatureVisibility = #all-visible
- autoBeamSettings = #auto-beam-settings
+ autoBeamSettings = #default-auto-beam-settings
autoBeaming = ##t
scriptDefinitions = #default-script-alist
tupletNumberFormatFunction = #denominator-tuplet-formatter
subdivideBeams = ##f
+ forbidBeamBreak = ##t
extraNatural = ##t
autoAccidentals = #'(Staff (same-octave . 0))
autoCautionaries = #'()
majorSevenSymbol = #whiteTriangleMarkup
chordNameSeparator = #(make-simple-markup "/")
chordNameExceptions = #ignatzekExceptions
-
+ chordNoteNamer = #'()
+ chordRootNamer = #note-name->markup
+
%% tablature:
stringOneTopmost = ##t
highStringOne = ##t
%% 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
}
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"
\consists "Figured_bass_engraver"
\consists "Rest_swallow_translator"
\consists "Note_swallow_translator"
- \consistsend "Axis_group_engraver"
+ \consists "Separating_line_group_engraver"
+
+ \consistsend "Hara_kiri_engraver"
}
-
TabVoiceContext = \translator {
\VoiceContext
\name "TabVoice"
\alias "Staff"
\name "TabStaff"
\denies "Voice"
+
+ \description "Context for generating tablature. [DOCME]"
+
\accepts "TabVoice"
% 6 strings
% Special "TAB" clef
clefGlyph = #"clefs-tab"
clefPosition = #0
-
-
}