\header {
texidoc = "Falls and doits can be created with bendAfter. They run
- to the next note, or to the next barline."
+ to the next note, or to the next barline. Microtone bends (i.e.
+ \bendAfter #3.5) are also supported."
}
c4-\bendAfter #-2
c4-\bendAfter #-3
c4-\bendAfter #-4
+ c4-\bendAfter #-5
+ c4-\bendAfter #3.5
+ c4-\bendAfter #2.5
+ c4-\bendAfter #1.5
+ c4-\bendAfter #0.5
+ c4-\bendAfter #-0.5
+ c4-\bendAfter #-1.5
+ c4-\bendAfter #-2.5
+ c4-\bendAfter #-3.5
}
--- /dev/null
+\header {
+
+ texidoc = "For collisions where the upper note is dotted and in a
+ space, the upper is moved to right. This behavior can be tuned by
+ prefer-dotted-right."
+
+ }
+
+\version "2.10.20"
+
+\paper{ ragged-right=##t }
+
+\new Staff \relative c' <<
+ { fis4.
+ \override Staff.NoteCollision #'prefer-dotted-right = ##f
+ fis4. }
+ \\
+ { \autoBeamOff e8 e e e e e e }
+>>
<bend><bend-alter>3</bend-alter><release/><with-bar/></bend>
</technical>
</notations>
- <lyric number="1"><text>bend 3 with-bar</text></lyric>
+ <lyric number="1"><text>b.3 with-bar</text></lyric>
</note>
<note>
<pitch>
<type>quarter</type>
<notations>
<technical>
- <bend><bend-alter>-5</bend-alter><pre-bend/></bend>
+ <bend><bend-alter>-0.5</bend-alter><pre-bend/></bend>
</technical>
</notations>
- <lyric number="1"><text>pre-bend -(0.)5</text></lyric>
+ <lyric number="1"><text>pre-b. -0.5</text></lyric>
</note>
<note>
<pitch>
<type>quarter</type>
<notations>
<technical>
- <bend><bend-alter>5</bend-alter><release/></bend>
+ <bend><bend-alter>3.5</bend-alter><release/></bend>
</technical>
</notations>
- <lyric number="1"><text>bend release (3.)5</text></lyric>
+ <lyric number="1"><text>b. release 3.5</text></lyric>
</note>
</measure>
<measure number="20">
ADD_ACKNOWLEDGER (Accidental_engraver, note_column);
ADD_TRANSLATOR (Accidental_engraver,
-
- "Make accidentals. "
- "Catch note heads, ties and notices key-change events. "
- "This engraver usually lives at Staff level, but "
- "reads the settings for Accidental at @code{Voice} level, "
- "so you can @code{\\override} them at @code{Voice}. ",
-
- /* grobs */
+ /* doc */
+ "Make accidentals."
+ " Catch note heads, ties and notices key-change events."
+ " This engraver usually lives at Staff level, but"
+ " reads the settings for Accidental at @code{Voice} level,"
+ " so you can @code{\\override} them at @code{Voice}.",
+
+ /* create */
"Accidental "
"AccidentalCautionary "
"AccidentalSuggestion ",
- /* props */
+ /* read */
"autoAccidentals "
"autoCautionaries "
"internalBarNumber "
"extraNatural "
"harmonicAccidentals "
"localKeySignature ",
+
+ /* write */
"localKeySignature "
);
ADD_INTERFACE (Accidental_interface,
- "a single accidental",
+ "A single accidental.",
- /* props */
+ /* properties */
"alteration "
"avoid-slur "
"forced "
}
ADD_INTERFACE (Align_interface,
+ "Order grobs from top to bottom, left to right, right to left"
+ " or bottom to top. For vertical alignments of staves, the"
+ " @code{break-system-details} of the left"
+ " @internalsref{NonMusicalPaperColumn} may be set to tune"
+ " vertical spacing. Set @code{alignment-extra-space} to add"
+ " extra space for staves. Set"
+ " @code{fixed-alignment-extra-space} to force staves in"
+ " @code{PianoStaff}s further apart.",
- "Order grobs from top to bottom, left to right, right to left or bottom "
- "to top. "
- "For vertical alignments of staves, the @code{break-system-details} of "
- "the left @internalsref{NonMusicalPaperColumn} may be set to tune vertical spacing "
- "Set @code{alignment-extra-space} to add extra space for staves. Set "
- "@code{fixed-alignment-extra-space} to force staves in PianoStaves further apart."
- ,
-
- /*
- properties
- */
+ /* properties */
"align-dir "
"axes "
"elements "
#include "protected-scm.hh"
#include "side-position-interface.hh"
#include "separation-item.hh"
-#include "staff-symbol-referencer.hh"
+#include "staff-symbol-referencer.hh"
#include "stream-event.hh"
#include "translator.icc"
ADD_ACKNOWLEDGER (Ambitus_engraver, note_head);
ADD_TRANSLATOR (Ambitus_engraver,
- /* doc */ "",
+ /* doc */
+ "",
+
/* create */
"Ambitus "
"AmbitusLine "
"AmbitusNoteHead "
- "AmbitusAccidental",
- /* read */ "",
- /* write */ "");
+ "AmbitusAccidental ",
+
+ /* read */
+ "",
+
+ /* write */
+ ""
+ );
return SCM_EOL;
}
-ADD_INTERFACE (Ambitus ,
+ADD_INTERFACE (Ambitus,
"The line between note heads for a pitch range.",
- /* props */
+ /* properties */
"join-heads "
"note-heads "
"thickness "
ADD_ACKNOWLEDGER (Arpeggio_engraver, rhythmic_head);
ADD_TRANSLATOR (Arpeggio_engraver,
- /* doc */ "Generate an Arpeggio symbol",
- /* create */ "Arpeggio",
- /* read */ "",
- /* write */ "");
+ /* doc */
+ "Generate an Arpeggio symbol.",
+
+ /* create */
+ "Arpeggio",
+
+ /* read */
+ "",
+
+ /* write */
+ ""
+ );
}
ADD_INTERFACE (Arpeggio,
- "Functions and settings for drawing an arpeggio symbol (a wavy line left to noteheads.",
+ "Functions and settings for drawing an arpeggio symbol (a"
+ " wavy line left to noteheads.",
/* properties */
"arpeggio-direction "
ADD_ACKNOWLEDGER (Auto_beam_engraver, beam);
ADD_ACKNOWLEDGER (Auto_beam_engraver, rest);
ADD_TRANSLATOR (Auto_beam_engraver,
- /* doc */ "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 @code{stemLeftBeamCount} and "
- "@code{stemRightBeamCount}. ",
- /* create */ "Beam",
+ /* doc */
+ "Generate beams based on measure characteristics and observed"
+ " Stems. Uses @code{beatLength}, @code{measureLength}, and"
+ " @code{measurePosition} to decide when to start and stop a"
+ " beam. Overriding beaming is done through"
+ " @ref{Stem_engraver} properties @code{stemLeftBeamCount} and"
+ " @code{stemRightBeamCount}.",
+
+ /* create */
+ "Beam ",
/* read */
"autoBeaming "
"beatLength "
"subdivideBeams ",
- /* write */ "");
+ /* write */
+ ""
+ );
ADD_ACKNOWLEDGER (Axis_group_engraver, grob);
ADD_TRANSLATOR (Axis_group_engraver,
- /* doc */ "Group all objects created in this context in a VerticalAxisGroup spanner.",
- /* create */ "VerticalAxisGroup",
+ /* doc */
+ "Group all objects created in this context in a"
+ " @code{VerticalAxisGroup} spanner.",
+
+ /* create */
+ "VerticalAxisGroup ",
+
/* read */
"currentCommandColumn ",
- /* write */ "");
+ /* write */
+ ""
+ );
}
ADD_INTERFACE (Axis_group_interface,
-
"An object that groups other layout objects.",
/* properties */
ADD_ACKNOWLEDGER (Balloon_engraver, grob);
ADD_TRANSLATOR (Balloon_engraver,
- "Create balloon texts",
+ /* doc */
+ "Create balloon texts.",
+
+ /* create */
"BalloonTextItem ",
- /*read*/ "",
- /*write*/ ""
+
+ /*read*/
+ "",
+
+ /*write*/
+ ""
);
}
ADD_INTERFACE (Balloon_interface,
- "A collection of routines to put text balloons around an object.",
+ "A collection of routines to put text balloons around an"
+ " object.",
/* properties */
"padding "
ADD_END_ACKNOWLEDGER (Bar_engraver, spanner);
ADD_TRANSLATOR (Bar_engraver,
- /* doc */ "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",
- /* create */ "BarLine",
- /* read */ "whichBar",
- /* write */ "forbidBreak");
+ /* doc */
+ "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.",
+
+ /* create */
+ "BarLine ",
+
+ /* read */
+ "whichBar ",
+
+ /* write */
+ "forbidBreak "
+ );
}
ADD_INTERFACE (Bar_line,
-
"Bar line.\n"
"\n"
- "Print a special bar symbol. It replaces the \n"
- "regular bar symbol with a special\n"
- "symbol. The argument @var{bartype} is a string which specifies the\n"
- "kind of bar to print. Options are @code{:|}, \n"
- "@code{|:}, @code{:|:},\n"
- "@code{||}, @code{|.},\n"
- "@code{.|}, and @code{.|.}. \n"
+ "Print a special bar symbol. It replaces the regular bar"
+ " symbol with a special symbol. The argument @var{bartype}"
+ " is a string which specifies the kind of bar to print."
+ " Options are @code{:|}, @code{|:}, @code{:|:}, @code{||},"
+ " @code{|.}, @code{.|}, and @code{.|.}.\n"
"\n"
- "These produce, respectively, a right repeat, a left repeat, a double\n"
- "repeat, a double bar, a start bar, an end bar, and a thick double bar.\n"
- "In addition, there is an option @code{||:} which is equivalent to\n"
- "@code{|:} except at line breaks, where it produces a double bar (@code{||})\n"
- "at the end of the line and a repeat sign (@code{|:}) at the beginning\n"
- "of the new line."
- "If @var{bartype} is set to @code{empty} then nothing is printed,\n"
- "but a line break is allowed at that spot.\n"
- "\n\n"
- "@code{gap} is used for the gaps in dashed barlines."
-
- ,
-
+ "These produce, respectively, a right repeat, a left repeat,"
+ " a double repeat, a double bar, a start bar, an end bar, and"
+ " a thick double bar. In addition, there is an option"
+ " @code{||:} which is equivalent to @code{|:} except at line"
+ " breaks, where it produces a double bar (@code{||}) at the"
+ " end of the line and a repeat sign (@code{|:}) at the"
+ " beginning of the new line.\n"
+ "\n"
+ "If @var{bartype} is set to @code{empty} then nothing is"
+ " printed, but a line break is allowed at that spot.\n"
+ "\n"
+ "@code{gap} is used for the gaps in dashed barlines.",
/* properties */
"allow-span-bar "
ADD_ACKNOWLEDGER (Bar_number_engraver, break_alignment);
ADD_TRANSLATOR (Bar_number_engraver,
- /* doc */ "A bar number is created whenever measurePosition "
- "is zero and when there is a bar line (ie. when @code{whichBar} is set. "
- "It is \n"
- "put on top of all staves, and appears only at left side of the staff. "
- "The staves are taken from @code{stavesFound}, which is maintained by "
- "@code{@ref{Staff_collecting_engraver}}. ",
-
- /* create */ "BarNumber",
+ /* doc */
+ "A bar number is created whenever @code{measurePosition} is"
+ " zero and when there is a bar line (i.e., when"
+ " @code{whichBar} is set). It is put on top of all staves,"
+ " and appears only at the left side of the staff. The staves"
+ " are taken from @code{stavesFound}, which is maintained by"
+ " @ref{Staff_collecting_engraver}.",
+
+ /* create */
+ "BarNumber ",
+
/* read */
"currentBarNumber "
"whichBar "
"stavesFound "
"barNumberVisibility ",
- /* write */ "");
+
+ /* write */
+ ""
+ );
ADD_TRANSLATOR (Beam_engraver,
/* doc */
-
- "Handles Beam events by engraving Beams. If omitted, then notes will be "
- "printed with flags instead of beams.",
+ "Handle @code{Beam} events by engraving beams. If omitted,"
+ " then notes are printed with flags instead of beams.",
- /* create */ "Beam",
+ /* create */
+ "Beam ",
/* read */
"beamMelismaBusy "
"beatLength "
- "subdivideBeams "
- ,
+ "subdivideBeams ",
+
/* write */
- "forbidBreak");
+ "forbidBreak"
+ );
class Grace_beam_engraver : public Beam_engraver
{
ADD_ACKNOWLEDGER (Grace_beam_engraver, rest);
ADD_TRANSLATOR (Grace_beam_engraver,
-
/* doc */
-
- "Handles Beam events by engraving Beams. If omitted, then notes will "
- "be printed with flags instead of beams. Only engraves beams when we "
- " are at grace points in time. ",
+ "Handle @code{Beam} events by engraving beams. If omitted,"
+ " then notes are printed with flags instead of beams. Only"
+ " engraves beams when we are at grace points in time.",
- /* create */ "Beam",
+ /* create */
+ "Beam ",
+
/* read */
"beamMelismaBusy "
"beatLength "
- "subdivideBeams "
- ,
- /* write */ "");
+ "subdivideBeams ",
+
+ /* write */
+ ""
+ );
now_stop_ev_ = ev;
}
-ADD_TRANSLATOR (Beam_performer, "", "", "", "");
+ADD_TRANSLATOR (Beam_performer,
+ /* doc */
+ "",
+
+ /* create */
+ "",
+
+ /* read */
+ "",
+
+ /* write */
+ ""
+ );
}
ADD_INTERFACE (Beam,
-
- "A beam. \n\n"
- "The @code{thickness} property is the weight of beams, "
- "measured in staffspace. The @code{direction} "
- "property is not user-serviceable. Use "
- "the @code{direction} property of @code{Stem} instead. "
-
- ,
+ "A beam.\n"
+ "\n"
+ "The @code{thickness} property is the weight of beams,"
+ " measured in staffspace. The @code{direction} property is"
+ " not user-serviceable. Use the @code{direction} property"
+ " of @code{Stem} instead.",
/* properties */
"annotation "
"concaveness "
"damping "
"details "
- "direction "
+ "direction "
"gap "
"gap-count "
"grow-direction "
ADD_ACKNOWLEDGER (Bend_engraver, note_head);
ADD_TRANSLATOR (Bend_engraver,
- /* doc */ "Create fall spanners.",
- /* create */ "BendAfter",
- /* read */ "",
- /* write */ "");
+ /* doc */
+ "Create fall spanners.",
+
+ /* create */
+ "BendAfter ",
+
+ /* read */
+ "",
+
+ /* write */
+ ""
+ );
}
Axis_group_interface::add_element (group, item);
}
+
ADD_ACKNOWLEDGER (Break_align_engraver, break_aligned);
ADD_ACKNOWLEDGER (Break_align_engraver, break_alignable);
ADD_TRANSLATOR (Break_align_engraver,
- "Align grobs with corresponding @code{break-align-symbols} into "
- "groups, and order the groups according to @code{breakAlignOrder}. "
- "The left edge of the alignment gets a separate group, with a symbol @code{left-edge}. ",
- /* create */ "BreakAlignment "
+ /* doc */
+ "Align grobs with corresponding @code{break-align-symbols}"
+ " into groups, and order the groups according to"
+ " @code{breakAlignOrder}. The left edge of the alignment gets"
+ " a separate group, with a symbol @code{left-edge}.",
+
+ /* create */
+ "BreakAlignment "
"BreakAlignGroup "
"LeftEdge ",
- /* read */ "",
- /* write */ "");
+
+ /* read */
+ "",
+
+ /* write */
+ ""
+ );
}
ADD_INTERFACE (Break_alignable_interface,
- "Object that is aligned on a break aligment. ",
+ "Object that is aligned on a break aligment.",
/* properties */
"break-align-symbols "
- )
-
-
+ );
ADD_INTERFACE (Break_aligned_interface,
"Items that are aligned in prefatory matter.\n"
"\n"
- "The spacing of these items is controlled by the @code{space-alist}\n"
- "property. It contains a list @code{break-align-symbol}s with a specification\n"
- "of the associated space. The space specification can be "
+ "The spacing of these items is controlled by the"
+ " @code{space-alist} property. It contains a list"
+ " @code{break-align-symbol}s with a specification of the"
+ " associated space. The space specification can be\n"
+ "\n"
"@table @code\n"
"@item (minimum-space . @var{spc}))\n"
- " Pad space until the distance is @var{spc}\n"
+ "Pad space until the distance is @var{spc}.\n"
"@item (fixed-space . @var{spc})\n"
- " Set a fixed space\n"
+ "Set a fixed space.\n"
"@item (semi-fixed-space . @var{spc})\n"
- " Set a space. Half of it is fixed and half is stretchable. \n"
- "(does not work at start of line. fixme)\n"
+ "Set a space. Half of it is fixed and half is stretchable."
+ " (does not work at start of line. fixme)\n"
"@item (extra-space . @var{spc})\n"
- " Add @var{spc} amount of space.\n"
+ "Add @var{spc} amount of space.\n"
"@end table\n"
"\n"
- "Special keys for the alist are @code{first-note} and @code{next-note}, signifying\n"
- "the first note on a line, and the next note halfway a line.\n"
+ "Special keys for the alist are @code{first-note} and"
+ " @code{next-note}, signifying the first note on a line, and"
+ " the next note halfway a line.\n"
"\n"
- "Rules for this spacing are much more complicated than this. \n"
- "See [Wanske] page 126 -- 134, [Ross] pg 143 -- 147\n",
+ "Rules for this spacing are much more complicated than this."
+ " See [Wanske] page 126--134, [Ross] page 143--147.",
/* properties */
"break-align-anchor "
);
ADD_INTERFACE (Break_alignment_interface,
- "The object that performs break aligment. See @ref{break-aligned-interface}.",
+ "The object that performs break aligment. See"
+ " @ref{break-aligned-interface}.",
/* properties */
"positioning-done "
- "break-align-orders");
+ "break-align-orders "
+ );
}
ADD_TRANSLATOR (Breathing_sign_engraver,
- /* doc */ "",
- /* create */ "BreathingSign",
- /* read */ "",
- /* write */ "");
+ /* doc */
+ "Create a breathing sign.",
+
+ /* create */
+ "BreathingSign ",
+
+ /* read */
+ "",
+
+ /* write */
+ ""
+ );
ADD_INTERFACE (Breathing_sign,
"A breathing sign.",
+ /* properties */
"direction "
-
);
which properties are read depend on the chord naming function active.
*/
ADD_TRANSLATOR (Chord_name_engraver,
- /* doc */ "Catch note-events "
- "and generate the appropriate chordname.",
+ /* doc */
+ "Catch note events and generate the appropriate chordname.",
- /* create */ "ChordName",
- /* read */ "chordChanges "
+ /* create */
+ "ChordName ",
+
+ /* read */
+ "chordChanges "
"chordNameExceptions "
"chordNameFunction "
"chordNoteNamer "
"chordRootNamer "
"chordNameExceptions "
- "majorSevenSymbol "
- ,
- /* write */ "");
+ "majorSevenSymbol ",
+
+ /* write */
+ ""
+ );
ADD_INTERFACE (Chord_name,
"A chord name.",
-
- "begin-of-line-visible");
+ /* properties */
+ "begin-of-line-visible "
+ );
ADD_ACKNOWLEDGER (Chord_tremolo_engraver, stem);
ADD_TRANSLATOR (Chord_tremolo_engraver,
- /* doc */ "Generates beams for tremolo repeats.",
- /* create */ "Beam",
- /* read */ "",
- /* write */ "");
+ /* doc */
+ "Generate beams for tremolo repeats.",
+
+ /* create */
+ "Beam ",
+
+ /* read */
+ "",
+
+ /* write */
+ ""
+ );
ADD_ACKNOWLEDGER (Clef_engraver, bar_line);
ADD_TRANSLATOR (Clef_engraver,
- /* doc */ "Determine and set reference point for pitches",
- /* create */ "Clef "
+ /* doc */
+ "Determine and set reference point for pitches.",
+
+ /* create */
+ "Clef "
"OctavateEight ",
+
/* read */
"clefGlyph "
"clefOctavation "
"clefPosition "
"explicitClefVisibility "
- "forceClef "
- ,
- /* write */ "");
+ "forceClef ",
+
+ /* write */
+ ""
+ );
}
ADD_INTERFACE (Clef,
- "A clef sign",
+ "A clef sign.",
/* properties */
"full-size-change "
ADD_ACKNOWLEDGER (Cluster_spanner_engraver, note_column);
ADD_TRANSLATOR (Cluster_spanner_engraver,
/* doc */
- "Engraves a cluster using Spanner notation ",
+ "Engrave a cluster using @code{Spanner} notation.",
+
/* create */
"ClusterSpanner "
"ClusterSpannerBeacon ",
- /* read */ "",
- /* write */ "");
+
+ /* read */
+ "",
+
+ /* write */
+ ""
+ );
}
ADD_INTERFACE (Cluster,
- "A graphically drawn musical cluster. "
- "\n\n"
- "@code{padding} adds to the vertical extent of the shape (top and "
- "bottom). \n\n"
- "The property @code{style} controls the shape of cluster segments. Valid values "
- "include @code{leftsided-stairs}, @code{rightsided-stairs}, @code{centered-stairs}, "
- "and @code{ramp}.\n",
-
- /* props */
+ "A graphically drawn musical cluster.\n"
+ "\n"
+ "@code{padding} adds to the vertical extent of the shape (top"
+ " and bottom).\n"
+ "\n"
+ "The property @code{style} controls the shape of cluster"
+ " segments. Valid values include @code{leftsided-stairs},"
+ " @code{rightsided-stairs}, @code{centered-stairs}, and"
+ " @code{ramp}.\n",
+
+ /* properties */
"style "
"padding "
"columns "
}
ADD_INTERFACE (Cluster_beacon,
- "A place holder for the cluster spanner to determine the vertical "
- "extents of a cluster spanner at this X position.",
+ "A place holder for the cluster spanner to determine the"
+ " vertical extents of a cluster spanner at this"
+ " X@tie{}position.",
/* properties */
- "positions ");
+ "positions "
+ );
ADD_ACKNOWLEDGER (Collision_engraver, note_column);
ADD_TRANSLATOR (Collision_engraver,
- /* doc */ "Collect NoteColumns, and as soon as there are two or more, put them in a NoteCollision object.",
- /* create */ "NoteCollision",
- /* read */ "",
- /* write */ "");
+ /* doc */
+ "Collect @code{NoteColumns}, and as soon as there are two or"
+ " more, put them in a @code{NoteCollision} object.",
+
+ /* create */
+ "NoteCollision ",
+
+ /* read */
+ "",
+
+ /* write */
+ ""
+ );
}
ADD_TRANSLATOR (Completion_heads_engraver,
- /* doc */ "This engraver replaces "
- "@code{Note_heads_engraver}. It plays some trickery to "
- "break long notes and automatically tie them into the next measure.",
+ /* doc */
+ "This engraver replaces @code{Note_heads_engraver}. It plays"
+ " some trickery to break long notes and automatically tie them"
+ " into the next measure.",
+
/* create */
"NoteHead "
"Dots "
- "Tie",
+ "Tie ",
+
/* read */
"middleCPosition "
"measurePosition "
- "measureLength",
+ "measureLength ",
- /* write */ "");
+ /* write */
+ ""
+ );
add_text (Audio_text::TEXT, id_string);
}
-ADD_TRANSLATOR (Control_track_performer, "", "",
- "", "");
+ADD_TRANSLATOR (Control_track_performer,
+ /* doc */
+ "",
+
+ /* create */
+ "",
+
+ /* read */
+ "",
+
+ /* write */
+ ""
+ );
ADD_ACKNOWLEDGER (Custos_engraver, note_head);
ADD_TRANSLATOR (Custos_engraver,
- /* doc */ "",
- /* create */ "Custos",
- /* read */ "",
- /* write */ "");
+ /* doc */
+ "Engrave custodes.",
+
+ /* create */
+ "Custos ",
+
+ /* read */
+ "",
+
+ /* write */
+ ""
+ );
}
ADD_INTERFACE (Custos,
- "A custos object. @code{style} can have four valid values: "
- "mensural, vaticana, medicaea and hufnagel. Mensural is the "
- "default style. ",
+ "A custos object. @code{style} can have four valid values:"
+ " @code{mensural}, @code{vaticana}, @code{medicaea}, and"
+ " @code{hufnagel}. @code{mensural} is the default style.",
/* properties */
"style "
"neutral-position "
- "neutral-direction ");
+ "neutral-direction "
+ );
#include "translator.icc"
ADD_TRANSLATOR (Default_bar_line_engraver,
- "This engraver determines what kind of automatic bar "
- "lines should be produced, "
- "and sets @code{whichBar} "
- "accordingly. It should be at the same "
- "level as @ref{Timing_translator}. ",
+ /* doc */
+ "This engraver determines what kind of automatic bar lines"
+ " should be produced, and sets @code{whichBar} accordingly."
+ " It should be at the same level as @ref{Timing_translator}.",
- /* create */ "",
+ /* create */
+ "",
/* read */
"automaticBars "
"whichBar "
"measurePosition ",
- /* write */ "automaticBars");
+ /* write */
+ "automaticBars "
+ );
Default_bar_line_engraver::Default_bar_line_engraver ()
{
#include "side-position-interface.hh"
#include "engraver.hh"
#include "translator.icc"
-#include "item.hh"
+#include "item.hh"
class Dot_column_engraver : public Engraver
{
ADD_ACKNOWLEDGER (Dot_column_engraver, rhythmic_head);
ADD_TRANSLATOR (Dot_column_engraver,
- /* doc */ "Engraves dots on dotted notes shifted to the right of the note.\n"
- "If omitted, then dots appear on top of the notes.",
- /* create */ "DotColumn",
- /* read */ "",
- /* write */ "");
+ /* doc */
+ "Engrave dots on dotted notes shifted to the right of the"
+ " note. If omitted, then dots appear on top of the notes.",
+
+ /* create */
+ "DotColumn ",
+
+ /* read */
+ "",
+
+ /* write */
+ ""
+ );
}
ADD_INTERFACE (Dot_column,
-
- "Groups dot objects so they form a column, and position dots so they do not "
- "clash with staff lines. ",
+ "Group dot objects so they form a column, and position"
+ " dots so they do not clash with staff lines.",
/* properties */
"dots "
ADD_ACKNOWLEDGER (Dots_engraver, rhythmic_head);
ADD_TRANSLATOR (Dots_engraver,
- "Create @ref{Dots} objects for @ref{rhythmic-head-interface}s.",
+ "Create @ref{Dots} objects for"
+ " @ref{rhythmic-head-interface}s.",
- /* create */
- "Dots ",
+ /* create */
+ "Dots ",
- /*r*/
- "" ,
+ /* read */
+ "",
- /*w*/
- "");
+ /* write */
+ ""
+ );
}
ADD_INTERFACE (Dots,
- "The dots to go with a notehead or rest."
- "@code{direction} sets the preferred direction to move in case of staff "
- "line collisions. @code{style} defaults to undefined, which is "
- "normal 19th/20th century traditional style. Set @code{style} "
- "to @code{vaticana} for ancient type dots. ",
+ "The dots to go with a notehead or rest. @code{direction}"
+ " sets the preferred direction to move in case of staff line"
+ " collisions. @code{style} defaults to undefined, which is"
+ " normal 19th/20th century traditional style. Set"
+ " @code{style} to @code{vaticana} for ancient type dots.",
/* properties */
"direction "
ADD_TRANSLATOR (Drum_notes_engraver,
- /* doc */ "Generate noteheads.",
+ /* doc */
+ "Generate drum note heads.",
+
/* create */
"NoteHead "
- "Script",
- /* read */ "drumStyleTable",
- /* write */ "");
+ "Script ",
+
+ /* read */
+ "drumStyleTable ",
+
+ /* write */
+ ""
+ );
}
ADD_TRANSLATOR (Drum_note_performer,
- "Play drum notes.", "", "", "");
+ /* doc */
+ "Play drum notes.",
+
+ /* create */
+ "",
+
+ /* read */
+ "",
+
+ /* write */
+ ""
+ );
ADD_TRANSLATOR (Dynamic_engraver,
/* doc */
- "This engraver creates hairpins, dynamic texts, and their vertical\n"
- "alignments. The symbols are collected onto a DynamicLineSpanner grob\n"
- "which takes care of vertical positioning. ",
+ "Create hairpins, dynamic texts, and their vertical"
+ " alignments. The symbols are collected onto a"
+ " @code{DynamicLineSpanner} grob which takes care of vertical"
+ " positioning.",
/* create */
"DynamicLineSpanner "
"Hairpin "
"TextSpanner ",
- /* read */ "",
- /* write */ "");
+ /* read */
+ "",
+
+ /* write */
+ ""
+ );
}
ADD_TRANSLATOR (Dynamic_performer,
- /* doc */ "",
- /* create */ "",
+ /* doc */
+ "",
+
+ /* create */
+ "",
/* read */
"dynamicAbsoluteVolumeFunction "
"instrumentEqualizer "
"midiMaximumVolume "
"midiMinimumVolume "
- "midiInstrument "
- ,
- /*writes*/"");
+ "midiInstrument ",
+
+ /* write */
+ ""
+ );
ADD_INTERFACE (Enclosing_bracket,
-
"Brackets alongside bass figures.",
- /* props */
+ /* properties */
"bracket-flare "
"edge-height "
"elements "
#include "translator.icc"
ADD_TRANSLATOR_GROUP (Engraver_group,
- /* doc */ "A group of engravers taken together",
- /* create */ "",
- /* read */ "",
- /* write */ "");
+ /* doc */
+ "A group of engravers taken together.",
+
+ /* create */
+ "",
+
+ /* read */
+ "",
+
+ /* write */
+ ""
+ );
void
Engraver_group::derived_mark () const
#include "translator.icc"
ADD_TRANSLATOR (Engraver,
- "Base class for engravers. Does nothing, so it is not used.",
+ /* doc */
+ "Base class for engravers. Does nothing, so it is not used.",
+
+ /* create */
"",
+
+ /* read */
"",
- "");
+
+ /* write */
+ ""
+ );
ADD_ACKNOWLEDGER (Extender_engraver, lyric_syllable);
ADD_TRANSLATOR (Extender_engraver,
- /* doc */ "Create lyric extenders",
- /* create */ "LyricExtender",
- /* read */ "extendersOverRests",
- /* write */ "");
+ /* doc */
+ "Create lyric extenders.",
+
+ /* create */
+ "LyricExtender ",
+
+ /* read */
+ "extendersOverRests ",
+
+ /* write */
+ ""
+ );
ADD_INTERFACE (Figured_bass_continuation,
"Simple extender line between bounds.",
- /* props */
+ /* properties */
"thickness "
"padding "
"figures "
ADD_TRANSLATOR (Figured_bass_engraver,
/* doc */
-
"Make figured bass numbers.",
+
/* create */
"BassFigure "
"BassFigureAlignment "
"BassFigureBracket "
"BassFigureContinuation "
- "BassFigureLine "
- ,
+ "BassFigureLine ",
/* read */
"figuredBassAlterationDirection "
"figuredBassFormatter "
"implicitBassFigures "
"useBassFigureExtenders "
- "ignoreFiguredBassRest "
- ,
+ "ignoreFiguredBassRest ",
/* write */
- "");
+ ""
+ );
"BassFigureAlignmentPositioning ",
/* read */
- " ",
- /* write */ "");
+ "",
+
+ /* write */
+ ""
+ );
ADD_TRANSLATOR (Fingering_engraver,
/* doc */
- "Create fingering-scripts",
+ "Create fingering scripts.",
+
/* create */
- "Fingering",
- /* read */ "",
- /* write */ "");
+ "Fingering ",
+
+ /* read */
+ "",
+
+ /* write */
+ ""
+ );
}
ADD_INTERFACE (Font_interface,
- "Any symbol that is typeset through fixed sets of glyphs, "
- " (ie. fonts)",
+ "Any symbol that is typeset through fixed sets of glyphs,"
+ " (i.e., fonts).",
+ /* properties */
"font "
"font-encoding "
"font-family "
ADD_ACKNOWLEDGER (Font_size_engraver, font);
ADD_TRANSLATOR (Font_size_engraver,
- /* doc */ "Puts fontSize into font-size grob property.",
- /* create */ "",
- /* read */ "fontSize",
- /* write */ "");
+ /* doc */
+ "Put @code{fontSize} into @code{font-size} grob property.",
+
+ /* create */
+ "",
+
+ /* read */
+ "fontSize ",
+
+ /* write */
+ ""
+ );
}
ADD_TRANSLATOR (Forbid_line_break_engraver,
- /* doc */ "Forbid line breaks when note heads "
- "are still playing at some point.",
- /* create */ "",
- /* read */ "busyGrobs",
- /* write */ "forbidBreak");
+ /* doc */
+ "Forbid line breaks when note heads are still playing at some"
+ " point.",
+
+ /* create */
+ "",
+
+ /* read */
+ "busyGrobs ",
+
+ /* write */
+ "forbidBreak "
+ );
}
ADD_TRANSLATOR (Fretboard_engraver,
- /* doc */ "Generate one or more tablature noteheads from event of type NoteEvent.",
+ /* doc */
+ "Generate one or more tablature noteheads from event of type"
+ " @code{NoteEvent}.",
+
/* create */
- "FretBoard "
- ,
+ "FretBoard ",
/* read */
"stringTunings "
"minimumFret "
"tablatureFormat "
- "highStringOne "
- ,
- /* write */ "");
+ "highStringOne ",
+
+ /* write */
+ ""
+ );
ADD_ACKNOWLEDGER (Glissando_engraver, rhythmic_head);
ADD_TRANSLATOR (Glissando_engraver,
- /* doc */ "",
+ /* doc */
+ "Engrave glissandi.",
+
/* create */
- "Glissando",
+ "Glissando ",
/* read */
"",
- /* write */ "");
+ /* write */
+ ""
+ );
#include "translator.icc"
ADD_TRANSLATOR (Grace_engraver,
- /* doc */ "Set font size and other properties for grace notes.",
- /* create */ "",
- /* read */ "graceSettings",
- /* write */ "");
+ /* doc */
+ "Set font size and other properties for grace notes.",
+
+ /* create */
+ "",
+
+ /* read */
+ "graceSettings ",
+
+ /* write */
+ ""
+ );
ADD_TRANSLATOR (Grace_spacing_engraver,
- "Bookkeeping of shortest starting and playing notes in grace note runs.",
+ "Bookkeeping of shortest starting and playing notes in grace"
+ " note runs.",
/* create */
"GraceSpacing ",
/* read */
"currentMusicalColumn ",
- /* write */ "");
+ /* write */
+ ""
+ );
read by the associated item class, such as VaticanaLigature.--jr
*/
ADD_INTERFACE (Gregorian_ligature,
- "A gregorian ligature",
- "virga stropha inclinatum auctum descendens ascendens "
- "oriscus quilisma deminutum cavum linea pes-or-flexa "
- "context-info prefix-set");
+ "A gregorian ligature.",
+
+ /* properties */
+ "virga "
+ "stropha "
+ "inclinatum "
+ "auctum "
+ "descendens "
+ "ascendens "
+ "oriscus "
+ "quilisma "
+ "deminutum "
+ "cavum "
+ "linea "
+ "pes-or-flexa "
+ "context-info "
+ "prefix-set "
+ );
}
ADD_INTERFACE (Grid_line_interface,
- "A line that spanned between grid-points. ",
- "elements thickness");
+ "A line that is spanned between grid-points.",
+
+ /* properties */
+ "elements "
+ "thickness "
+ );
ADD_INTERFACE (Grid_point_interface,
- "A spanning point for grid lines. ",
- "");
+ "A spanning point for grid lines.",
+
+ /* properties */
+ ""
+ );
#include "translator.icc"
ADD_ACKNOWLEDGER (Grid_line_span_engraver, grid_point);
ADD_TRANSLATOR (Grid_line_span_engraver,
- /* doc */ "This engraver makes cross-staff linelines: It catches all normal "
- "line lines, and draws a single span-line across them.",
- /* create */ "GridLine",
- /* read */ "",
- /* write */ "");
+ /* doc */
+ "This engraver makes cross-staff lines: It catches all normal"
+ " lines and draws a single span line across them.",
+
+ /* create */
+ "GridLine ",
+
+ /* read */
+ "",
+
+ /* write */
+ ""
+ );
}
ADD_TRANSLATOR (Grid_point_engraver,
- /* doc */ "generate grid points.",
- /* create */ "GridPoint",
- /* read */ "gridInterval",
- /* write */ "");
+ /* doc */
+ "Generate grid points.",
+
+ /* create */
+ "GridPoint ",
+
+ /* read */
+ "gridInterval ",
+
+ /* write */
+ ""
+ );
#include "translator.icc"
ADD_ACKNOWLEDGER (Grob_pq_engraver, grob);
ADD_TRANSLATOR (Grob_pq_engraver,
+ /* doc */
+ "Administrate when certain grobs (e.g., note heads) stop"
+ " playing.",
- /* doc */ "Administrate when certain grobs (eg. note heads) stop playing",
- /* create */ "",
- /* read */ "busyGrobs",
- /* write */ "busyGrobs");
+ /* create */
+ "",
+
+ /* read */
+ "busyGrobs ",
+
+ /* write */
+ "busyGrobs "
+ );
ADD_INTERFACE (Grob,
- "A grob represents a piece of music notation\n"
+ "A grob represents a piece of music notation.\n"
"\n"
- "All grobs have an X and Y-position on the page. These X and Y positions\n"
- "are stored in a relative format, so they can easily be combined by\n"
- "stacking them, hanging one grob to the side of another, and coupling\n"
- "them into a grouping objects.\n"
+ "All grobs have an X and Y@tie{}position on the page. These"
+ " X and Y@tie{}positions are stored in a relative format, thus"
+ " they can easily be combined by stacking them, hanging one"
+ " grob to the side of another, or coupling them into grouping"
+ " objects.\n"
"\n"
- "Each grob has a reference point (a.k.a. parent): the position of a grob\n"
- "is stored relative to that reference point. For example the X-reference\n"
- "point of a staccato dot usually is the note head that it applies\n"
- "to. When the note head is moved, the staccato dot moves along\n"
- "automatically.\n"
+ "Each grob has a reference point (a.k.a.@: parent): The"
+ " position of a grob is stored relative to that reference"
+ " point. For example, the X@tie{}reference point of a staccato"
+ " dot usually is the note head that it applies to. When the"
+ " note head is moved, the staccato dot moves along"
+ " automatically.\n"
"\n"
- "A grob is often associated with a symbol, but some grobs do not print\n"
- "any symbols. They take care of grouping objects. For example, there is a\n"
- "separate grob that stacks staves vertically. The @ref{NoteCollision}\n"
- "is also an abstract grob: it only moves around chords, but doesn't print\n"
- "anything.\n"
+ "A grob is often associated with a symbol, but some grobs do"
+ " not print any symbols. They take care of grouping objects."
+ " For example, there is a separate grob that stacks staves"
+ " vertically. The @ref{NoteCollision} object is also an"
+ " abstract grob: It only moves around chords, but doesn't print"
+ " anything.\n"
"\n"
- "Grobs have a properties: Scheme variables, that can be read and set. "
- "They have two types. Immutable variables "
- "define the default style and behavior. They are shared between many objects. "
- "They can be changed using @code{\\override} and @code{\\revert}. "
- "\n\n"
- "Mutable properties are variables that are specific to one grob. Typically, "
- "lists of other objects, or results from computations are stored in"
- "mutable properties: every call to set-grob-property (or its C++ equivalent) "
- "sets a mutable property. "
- "\n\n"
- "The properties @code{after-line-breaking} and @code{before-line-breaking} "
- "are dummies that are not user-serviceable. "
-
- ,
+ "Grobs have properties (Scheme variables) that can be read and"
+ " set. Two types of them exist: immutable and mutable."
+ " Immutable variables define the default style and behavior."
+ " They are shared between many objects. They can be changed"
+ " using @code{\\override} and @code{\\revert}. Mutable"
+ " properties are variables that are specific to one grob."
+ " Typically, lists of other objects, or results from"
+ " computations are stored in mutable properties. In"
+ " particular, every call to @code{set-grob-property} (or its"
+ " C++ equivalent) sets a mutable property.\n"
+ "\n"
+ "The properties @code{after-line-breaking} and"
+ " @code{before-line-breaking} are dummies that are not"
+ " user-serviceable.",
/* properties */
"X-extent "
}
ADD_INTERFACE (Hairpin,
- "A hairpin crescendo/decrescendo.",
+ "A hairpin crescendo or decrescendo.",
- /* props */
+ /* properties */
"adjacent-hairpins "
"circled-tip "
"bound-padding "
ADD_ACKNOWLEDGER (Hara_kiri_engraver, grob);
ADD_TRANSLATOR (Hara_kiri_engraver,
- /* doc */ "Like Axis_group_engraver, but make a hara-kiri spanner, and add "
- "interesting items (ie. note heads, lyric syllables and normal rests) ",
- /* create */ "VerticalAxisGroup",
- /* read */ "keepAliveInterfaces",
- /* write */ "");
+ /* doc */
+ "Like @code{Axis_group_engraver}, but make a hara-kiri"
+ " spanner, and add interesting items (i.e., note heads, lyric"
+ " syllables, and normal rests).",
+
+ /* create */
+ "VerticalAxisGroup ",
+
+ /* read */
+ "keepAliveInterfaces ",
+
+ /* write */
+ ""
+ );
}
ADD_INTERFACE (Hara_kiri_group_spanner,
- "A group spanner that keeps track of interesting items. If it "
- "doesn't contain any after linebreaking, then it "
- "will remove itself and all its children.",
-
+ "A group spanner that keeps track of interesting items. If it"
+ " doesn't contain any after line breaking, it removes itself"
+ " and all its children.",
/* properties */
"items-worth-living "
ADD_ACKNOWLEDGER (Horizontal_bracket_engraver, note_column);
ADD_TRANSLATOR (Horizontal_bracket_engraver,
- "Create horizontal brackets over notes for musical analysis purposes.",
- "HorizontalBracket",
+ /* doc */
+ "Create horizontal brackets over notes for musical analysis"
+ " purposes.",
+
+ /* create */
+ "HorizontalBracket ",
+
+ /* read */
"",
- "");
+
+ /* write */
+ ""
+ );
Horizontal_bracket_engraver::Horizontal_bracket_engraver ()
{
ADD_INTERFACE (Horizontal_bracket,
"A horizontal bracket encompassing notes.",
- /* props */
+ /* properties */
"bracket-flare "
"columns "
"edge-height "
ADD_ACKNOWLEDGER (Hyphen_engraver, lyric_syllable);
ADD_TRANSLATOR (Hyphen_engraver,
- /* doc */ "Create lyric hyphens and "
- "distance constraints between words.",
- /* create */ "LyricHyphen LyricSpace",
- /* read */ "",
- /* write */ "");
+ /* doc */
+ "Create lyric hyphens and distance constraints between words.",
+
+ /* create */
+ "LyricHyphen "
+ "LyricSpace ",
+
+ /* read */
+ "",
+
+ /* write */
+ ""
+ );
ADD_ACKNOWLEDGER (Instrument_name_engraver, axis_group);
ADD_TRANSLATOR (Instrument_name_engraver,
-
/* doc */
- "Creates a system start text for instrument or vocal names.",
+ "Create a system start text for instrument or vocal names.",
/* create */
"InstrumentName ",
"shortInstrumentName "
"instrumentName "
"shortVocalName "
- "vocalName "
- ,
+ "vocalName ",
- /* write */ "");
+ /* write */
+ ""
+ );
}
ADD_TRANSLATOR (Instrument_switch_engraver,
- "Create a cue text for taking instrument.",
+ /* doc */
+ "Create a cue text for taking instrument.",
- "InstrumentSwitch ",
+ /* create */
+ "InstrumentSwitch ",
- "instrumentCueName",
+ /* read */
+ "instrumentCueName ",
- "");
+ /* write */
+ ""
+ );
}
ADD_INTERFACE (Item,
-
- "Grobs can be distinguished in their role in the horizontal spacing.\n"
- "Many grobs define constraints on the spacing by their sizes. For\n"
- "example, note heads, clefs, stems, and all other symbols with a fixed\n"
- "shape. These grobs form a subtype called @code{Item}.\n"
- "\n"
+ "Grobs can be distinguished in their role in the horizontal"
+ " spacing. Many grobs define constraints on the spacing by"
+ " their sizes, for example, note heads, clefs, stems, and all"
+ " other symbols with a fixed shape. These grobs form a"
+ " subtype called @code{Item}.\n"
"\n"
- "Some items need special treatment for line breaking. For example, a\n"
- "clef is normally only printed at the start of a line (i.e. after a\n"
- "line break). To model this, `breakable' items (clef, key signature,\n"
- "bar lines, etc.) are copied twice. Then we have three versions of each\n"
- "breakable item: one version if there is no line break, one version\n"
- "that is printed before the line break (at the end of a system), one\n"
- "version that is printed after the line break.\n"
+ "Some items need special treatment for line breaking. For"
+ " example, a clef is normally only printed at the start of a"
+ " line (i.e., after a line break). To model this,"
+ " @q{breakable} items (clef, key signature, bar lines, etc.)"
+ " are copied twice. Then we have three versions of each"
+ " breakable item: one version if there is no line break, one"
+ " version that is printed before the line break (at the end of"
+ " a system), and one version that is printed after the line"
+ " break.\n"
"\n"
- "Whether these versions are visible and take up space, is determined by\n"
- "the outcome of the @code{break-visibility}. This grob property is a\n"
- "function taking a direction (-1, 0 or 1) as argument. It returns a\n"
- "cons of booleans, signifying whether this grob should be transparent\n"
- "and have no extent.\n"
+ "Whether these versions are visible and take up space is"
+ " determined by the outcome of the @code{break-visibility}"
+ " grob property, which is a function taking a direction"
+ " (@code{-1}, @code{0} or@tie{}@code{1}) as an argument. It"
+ " returns a cons of booleans, signifying whether this grob"
+ " should be transparent and have no extent.\n"
"\n"
- "The following variables for break-visibility are predefined:\n"
+ "The following variables for @code{break-visibility} are"
+ " predefined:\n"
"@example\n"
" grob will show: before no after\n"
" break break break\n"
" begin-of-line-invisible yes yes no\n"
" end-of-line-invisible no yes yes\n"
" center-invisible yes no yes\n"
- "@end example\n",
+ "@end example",
/* properties */
"break-visibility "
"extra-spacing-width "
"infinite-spacing-height "
- "non-musical")
+ "non-musical "
+ );
ADD_ACKNOWLEDGER (Key_engraver, bar_line);
ADD_TRANSLATOR (Key_engraver,
- /* doc */ "",
- /* create */ "KeySignature",
+ /* doc */
+ "Engrave a key signature.",
+
+ /* create */
+ "KeySignature ",
/* read */
"createKeyOnClefChange "
"keyAlterationOrder "
"keySignature "
"lastKeySignature "
- "printKeyCancellation "
- ,
+ "printKeyCancellation ",
/* write */
"keySignature "
"lastKeySignature "
- "tonic ")
+ "tonic "
+ );
}
ADD_TRANSLATOR (Key_performer,
+ /* doc */
"",
+
+ /* create */
"",
+
+ /* read */
"",
- "");
+
+ /* write */
+ ""
+ );
ADD_INTERFACE (Key_signature_interface,
"A group of accidentals, to be printed as signature sign.",
+ /* properties */
"alteration-alist "
"c0-position "
"glyph-name-alist "
ADD_ACKNOWLEDGER (Laissez_vibrer_engraver, note_head);
ADD_TRANSLATOR (Laissez_vibrer_engraver,
- /* doc */ "Create Laissez vibrer items.",
+ /* doc */
+ "Create laissez vibrer items.",
/* create */
"LaissezVibrerTie "
"LaissezVibrerTieColumn ",
- /* read */ "",
- /* write */ "");
+
+ /* read */
+ "",
+
+ /* write */
+ ""
+ );
ADD_ACKNOWLEDGER (Ledger_line_engraver, ledgered);
ADD_ACKNOWLEDGER (Ledger_line_engraver, staff_symbol);
ADD_TRANSLATOR (Ledger_line_engraver,
- "Creates the spanner to draw ledger lines, and notices objects that need ledger lines",
- /* create */ "LedgerLineSpanner",
- /* read */ "",
- /* write */ "")
+ /* doc */
+ "Create the spanner to draw ledger lines, and notices"
+ " objects that need ledger lines.",
+
+ /* create */
+ "LedgerLineSpanner ",
+
+ /* read */
+ "",
+
+ /* write */
+ ""
+ );
}
ADD_INTERFACE (Ledger_line_spanner,
-
- "This spanner draws the ledger lines of a staff.\n"
- "This is a separate grob because it has to process\n"
- "all potential collisions between all note heads.",
+ "This spanner draws the ledger lines of a staff. This is a"
+ " separate grob because it has to process all potential"
+ " collisions between all note heads.",
/* properties */
"gap "
};
ADD_INTERFACE (Ledgered_interface,
+ "Objects that need ledger lines, typically note heads. See"
+ " also @ref{ledger-line-spanner-interface}.",
- "Objects that need ledger lines, typically "
- "note heads. See also @ref{ledger-line-spanner-interface}.",
-
- "no-ledgers");
+ /* properties */
+ "no-ledgers "
+ );
ADD_ACKNOWLEDGER (Ligature_bracket_engraver, note_column);
ADD_TRANSLATOR (Ligature_bracket_engraver,
- /* doc */ "Handles Ligature_events by engraving Ligature brackets.",
- /* create */ "LigatureBracket",
- /* read */ "",
- /* write */ "");
+ /* doc */
+ "Handle @code{Ligature_events} by engraving @code{Ligature}"
+ " brackets.",
+
+ /* create */
+ "LigatureBracket ",
+
+ /* read */
+ "",
+
+ /* write */
+ ""
+ );
}
ADD_INTERFACE (Line_interface,
- "Generic line objects. Any object using lines supports this. "
- "The property @code{style} can be @code{line}, "
- "@code{dashed-line}, @code{trill}, \n"
- "@code{dotted-line} or @code{zigzag}.\n"
+ "Generic line objects. Any object using lines supports this."
+ " The property @code{style} can be @code{line},"
+ " @code{dashed-line}, @code{trill}, @code{dotted-line} or"
+ " @code{zigzag}.\n"
"\n"
- "For dashed-line, the length of the dashes is tuned with "
- "@code{dash-fraction}. If the latter is set to 0, a dotted line is "
- "produced. If @code{dash-period} is negative, the line is made "
- "transparent.",
+ "For @code{dashed-line}, the length of the dashes is tuned"
+ " with @code{dash-fraction}. If the latter is set to@tie{}0, a"
+ " dotted line is produced. If @code{dash-period} is negative,"
+ " the line is made transparent.",
/* properties */
"dash-period "
}
ADD_INTERFACE (Line_spanner,
- "Generic line drawn between two objects, e.g. for use with glissandi.\n"
- "The property @code{style} can be @code{line}, "
- "@code{dashed-line}, @code{trill}, \n"
- "@code{dotted-line} or @code{zigzag}.\n"
- "\n",
-
- "bound-details "
+ "Generic line drawn between two objects, e.g., for use with"
+ " glissandi.\n"
+ "\n"
+ "The property @code{style} can be @code{line},"
+ " @code{dashed-line}, @code{trill}, @code{dotted-line} or"
+ " @code{zigzag}.",
+
+ /* properties */
+ "bound-details "
"extra-dy "
"gap "
"left-bound-info "
"note-columns "
- "right-bound-info "
+ "right-bound-info "
"thickness "
"to-barline "
);
}
ADD_TRANSLATOR (Lyric_engraver,
- /* doc */ "",
- /* create */ "LyricText",
- /* read */ "lyricMelismaAlignment",
- /* write */ "");
+ /* doc */
+ "Engrave text for lyrics.",
+
+ /* create */
+ "LyricText ",
+ /* read */
+ "lyricMelismaAlignment ",
+
+ /* write */
+ ""
+ );
}
ADD_INTERFACE (Lyric_extender,
- "The extender is a simple line at the baseline of the lyric "
- "that helps show the length of a melissima (tied/slurred note).",
+ "The extender is a simple line at the baseline of the lyric"
+ " that helps show the length of a melisma (a tied or slurred"
+ " note).",
+ /* properties */
"heads "
"left-padding "
"next "
}
ADD_INTERFACE (Lyric_hyphen,
+ "A centered hyphen is simply a line between lyrics used to"
+ " divide syllables.",
- "A centered hyphen is a simple line between "
- "lyrics used to divide syllables",
-
- /* props */
+ /* properties */
"dash-period "
"height "
"length "
events_.push_back (event);
}
-ADD_TRANSLATOR (Lyric_performer, "", "",
- "", "");
+ADD_TRANSLATOR (Lyric_performer,
+ /* doc */
+ "",
+
+ /* create */
+ "",
+
+ /* read */
+ "",
+
+ /* write */
+ ""
+ );
ADD_ACKNOWLEDGER (Mark_engraver, break_alignment);
ADD_TRANSLATOR (Mark_engraver,
- /* doc */ "This engraver will create RehearsalMark objects. "
- "It puts them on top of all staves (which is taken from "
- "the property @code{stavesFound}). If moving this engraver "
- "to a different context, "
- "@ref{Staff_collecting_engraver} must move along, otherwise all marks"
- "end up on the same Y-location",
+ /* doc */
+ "Create @code{RehearsalMark} objects. It puts them on top of"
+ " all staves (which is taken from the property"
+ " @code{stavesFound}). If moving this engraver to a different"
+ " context, @ref{Staff_collecting_engraver} must move along,"
+ " otherwise all marks end up on the same Y@tie{}location.",
- /* create */ "RehearsalMark",
+ /* create */
+ "RehearsalMark ",
+
/* read */
"markFormatter "
"rehearsalMark "
"stavesFound ",
- /* write */ "");
+ /* write */
+ ""
+ );
ADD_ACKNOWLEDGER (Measure_grouping_engraver, note_column);
ADD_TRANSLATOR (Measure_grouping_engraver,
/* doc */
- "Creates MeasureGrouping to indicate beat subdivision.",
+ "Create @code{MeasureGrouping} to indicate beat subdivision.",
+
/* create */
- "MeasureGrouping",
+ "MeasureGrouping ",
+
/* read */
"beatLength "
"currentMusicalColumn "
"measurePosition "
- "beatGrouping "
- ,
+ "beatGrouping ",
+
/* write */
- "");
+ ""
+ );
}
ADD_INTERFACE (Measure_grouping,
- "This object indicates groups of beats. "
- "Valid choices for @code{style} are @code{bracket} and @code{triangle}.",
- "thickness style height");
+ "This object indicates groups of beats. Valid choices for"
+ " @code{style} are @code{bracket} and @code{triangle}.",
+
+ /* properties */
+ "thickness "
+ "style "
+ "height "
+ );
ADD_ACKNOWLEDGER (Melody_engraver, slur);
ADD_TRANSLATOR (Melody_engraver,
- "Create information for context dependent typesetting decisions. ",
- "MelodyItem",
+ /* doc */
+ "Create information for context dependent typesetting"
+ " decisions.",
+
+ /* create */
+ "MelodyItem ",
+
+ /* read */
"",
- "");
+
+ /* write */
+ ""
+ );
ADD_INTERFACE (Melody_spanner,
"Context dependent typesetting decisions.",
+ /* properties */
"stems "
- "neutral-direction ");
+ "neutral-direction "
+ );
// instead of number 6
// the legth of the longa stem should be queried something like
// Font_interface::get_default_font (ligature)->find_by_name
- // ("noteheads.s-2mensural").extent (Y_AXIS).length ()
+ // ("noteheads.sM2mensural").extent (Y_AXIS).length ()
}
prev_primitive->set_property ("join-right-amount",
scm_from_int (delta_pitch));
Real head_width
= Font_interface::get_default_font (ligature)->
- find_by_name ("noteheads.s-1mensural").extent (X_AXIS).length ();
+ find_by_name ("noteheads.sM1mensural").extent (X_AXIS).length ();
Real flexa_width
= robust_scm2double (ligature->get_property ("flexa-width"), 2);
Real maxima_head_width
= Font_interface::get_default_font (ligature)->
- find_by_name ("noteheads.s-1neomensural").extent (X_AXIS).length ();
+ find_by_name ("noteheads.sM1neomensural").extent (X_AXIS).length ();
flexa_width *= Staff_symbol_referencer::staff_space (ligature);
ADD_ACKNOWLEDGER (Mensural_ligature_engraver, note_head);
ADD_TRANSLATOR (Mensural_ligature_engraver,
- /* doc */ "Handles Mensural_ligature_events by glueing special ligature heads together.",
- /* create */ "MensuralLigature",
- /* read */ "",
- /* write */ "");
+ /* doc */
+ "Handle @code{Mensural_ligature_events} by glueing special"
+ " ligature heads together.",
+
+ /* create */
+ "MensuralLigature ",
+
+ /* read */
+ "",
+
+ /* write */
+ ""
+ );
return Lookup::blank (Box (Interval (0, 0), Interval (0, 0)));
case MLP_LONGA: // mensural brevis head with right cauda
out = Font_interface::get_default_font (me)->find_by_name
- ("noteheads.s-2mensural");
+ ("noteheads.sM2mensural");
break;
case MLP_BREVIS: // mensural brevis head
out = Font_interface::get_default_font (me)->find_by_name
- ("noteheads.s-1mensural");
+ ("noteheads.sM1mensural");
break;
case MLP_MAXIMA: // should be mensural maxima head without stem
out = Font_interface::get_default_font (me)->find_by_name
- ("noteheads.s-1neomensural");
+ ("noteheads.sM1neomensural");
break;
case MLP_FLEXA:
out = brew_flexa (me, delta_pitch, false, width, thickness);
}
ADD_INTERFACE (Mensural_ligature,
- "A mensural ligature",
+ "A mensural ligature.",
+ /* properties */
"delta-position "
"flexa-width "
"head-width "
"join-right-amount "
"primitive "
- "thickness"
+ "thickness "
);
}
ADD_TRANSLATOR (Metronome_mark_engraver,
- /* doc */ "Engrave metro nome marking. This delegates the formatting work "
- "to the function in the metronomeMarkFormatter property. "
- "The mark is put over all staves. "
- "The staves are taken from the @code{stavesFound} property, "
- "which is maintained by @code{@ref{Staff_collecting_engraver}}. ",
- /* create */ "MetronomeMark",
+ /* doc */
+ "Engrave metronome marking. This delegates the formatting"
+ " work to the function in the @code{metronomeMarkFormatter}"
+ " property. The mark is put over all staves. The staves are"
+ " taken from the @code{stavesFound} property, which is"
+ " maintained by @ref{Staff_collecting_engraver}.",
+
+ /* create */
+ "MetronomeMark ",
/* read */
"stavesFound "
"metronomeMarkFormatter "
"tempoUnitDuration "
- "tempoUnitCount "
- ,
+ "tempoUnitCount ",
- /* write */ "");
+ /* write */
+ ""
+ );
ADD_TRANSLATOR (Multi_measure_rest_engraver,
/* doc */
- "Engraves multi-measure rests that are produced with @code{R}. Reads "
- "@code{measurePosition} and @code{internalBarNumber} to determine what number to print "
- "over the @ref{MultiMeasureRest}. Reads @code{measureLength} to determine if it "
- "should use a whole rest or a breve rest to represent 1 measure ",
+ "Engrave multi-measure rests that are produced with"
+ " @samp{R}. It reads @code{measurePosition} and"
+ " @code{internalBarNumber} to determine what number to print"
+ " over the @ref{MultiMeasureRest}. Reads @code{measureLength}"
+ " to determine whether it should use a whole rest or a breve"
+ " rest to represent one measure.",
/* create */
"MultiMeasureRest "
"measurePosition "
"measureLength ",
- /* write */ "");
+ /* write */
+ ""
+ );
"thick-thickness "
"use-breve-rest "
"bound-padding "
- "minimum-length");
+ "minimum-length "
+ );
ADD_ACKNOWLEDGER (New_fingering_engraver, stem);
ADD_TRANSLATOR (New_fingering_engraver,
- /* doc */ "Create fingering-scripts for notes in a new chord. "
- "This engraver is ill-named, since it "
- "also takes care of articulations and harmonic note heads",
+ /* doc */
+ "Create fingering scripts for notes in a new chord. This"
+ " engraver is ill-named, since it also takes care of"
+ " articulations and harmonic note heads.",
+
/* create */
"Fingering "
"StringNumber "
"StrokeFinger "
- "Script "
- ,
+ "Script ",
+
/* read */
-
"fingeringOrientations "
"strokeFingerOrientations "
- "stringNumberOrientations "
- ,
+ "stringNumberOrientations ",
- /* write */ "");
+ /* write */
+ ""
+ );
if (!extents[UP].size () || ! extents[DOWN].size ())
return;
- Grob *cu = clash_groups[UP][0];
- Grob *cd = clash_groups[DOWN][0];
+ Grob *clash_up = clash_groups[UP][0];
+ Grob *clash_down = clash_groups[DOWN][0];
/* Every note column should have a stem, but avoid a crash. */
- if (!Note_column::get_stem (cu) || !Note_column::get_stem (cd))
+ if (!Note_column::get_stem (clash_up) || !Note_column::get_stem (clash_down))
return;
- Drul_array<Grob*> stems (Note_column::get_stem (cd),
- Note_column::get_stem (cu));
+ Drul_array<Grob*> stems (Note_column::get_stem (clash_down),
+ Note_column::get_stem (clash_up));
- Grob *nu = Note_column::first_head (cu);
- Grob *nd = Note_column::first_head (cd);
+ Grob *head_up = Note_column::first_head (clash_up);
+ Grob *head_down = Note_column::first_head (clash_down);
- vector<int> ups = Stem::note_head_positions (Note_column::get_stem (cu));
- vector<int> dps = Stem::note_head_positions (Note_column::get_stem (cd));
+ vector<int> ups = Stem::note_head_positions (Note_column::get_stem (clash_up));
+ vector<int> dps = Stem::note_head_positions (Note_column::get_stem (clash_down));
/* Too far apart to collide. */
if (ups[0] > dps.back () + 1)
bool merge_possible = (ups[0] >= dps[0]) && (ups.back () >= dps.back ());
/* Do not merge notes typeset in different style. */
- if (!ly_is_equal (nu->get_property ("style"),
- nd->get_property ("style")))
+ if (!ly_is_equal (head_up->get_property ("style"),
+ head_down->get_property ("style")))
merge_possible = false;
- int upball_type = Rhythmic_head::duration_log (nu);
- int dnball_type = Rhythmic_head::duration_log (nd);
+ int up_ball_type = Rhythmic_head::duration_log (head_up);
+ int down_ball_type = Rhythmic_head::duration_log (head_down);
/* Do not merge whole notes (or longer, like breve, longa, maxima). */
- if (merge_possible && (upball_type <= 0 || dnball_type <= 0))
+ if (merge_possible && (up_ball_type <= 0 || down_ball_type <= 0))
merge_possible = false;
if (merge_possible
- && Rhythmic_head::dot_count (nu) != Rhythmic_head::dot_count (nd)
+ && Rhythmic_head::dot_count (head_up) != Rhythmic_head::dot_count (head_down)
&& !to_boolean (me->get_property ("merge-differently-dotted")))
merge_possible = false;
/* Can only merge different heads if merge-differently-headed is
set. */
if (merge_possible
- && upball_type != dnball_type
+ && up_ball_type != down_ball_type
&& !to_boolean (me->get_property ("merge-differently-headed")))
merge_possible = false;
if (merge_possible
- && nu->get_property ("style") == ly_symbol2scm ("fa")
- && nd->get_property ("style") == ly_symbol2scm ("fa"))
+ && head_up->get_property ("style") == ly_symbol2scm ("fa")
+ && head_down->get_property ("style") == ly_symbol2scm ("fa"))
{
- Interval uphead_size = nu->extent (nu, Y_AXIS);
+ Interval uphead_size = head_up->extent (head_up, Y_AXIS);
Offset att = Offset (0.0, -1.0);
- nu->set_property ("stem-attachment", ly_offset2scm (att));
- nu->set_property ("transparent", SCM_BOOL_T);
+ head_up->set_property ("stem-attachment", ly_offset2scm (att));
+ head_up->set_property ("transparent", SCM_BOOL_T);
}
/* Should never merge quarter and half notes, as this would make
make sure the dotted heads go to the right. */
bool stem_to_stem = false;
if (full_collide)
- if (Rhythmic_head::dot_count (nu) > Rhythmic_head::dot_count (nd))
- shift_amount = 1;
- else if (Rhythmic_head::dot_count (nu) < Rhythmic_head::dot_count (nd))
- stem_to_stem = true;
-
+ {
+ if (Rhythmic_head::dot_count (head_up) > Rhythmic_head::dot_count (head_down))
+ shift_amount = 1;
+ else if (Rhythmic_head::dot_count (head_up) < Rhythmic_head::dot_count (head_down))
+ stem_to_stem = true;
+ }
+
if (merge_possible)
{
shift_amount = 0;
or head with smallest amount of dots. Note: when merging
different heads, dots on the smaller one disappear. */
Grob *wipe_ball = 0;
- Grob *dot_wipe_head = nu;
+ Grob *dot_wipe_head = head_up;
- if (upball_type == dnball_type)
+ if (up_ball_type == down_ball_type)
{
- if (Rhythmic_head::dot_count (nd) < Rhythmic_head::dot_count (nu))
+ if (Rhythmic_head::dot_count (head_down) < Rhythmic_head::dot_count (head_up))
{
- wipe_ball = nd;
- dot_wipe_head = nd;
+ wipe_ball = head_down;
+ dot_wipe_head = head_down;
}
- else if (Rhythmic_head::dot_count (nd) > Rhythmic_head::dot_count (nu))
+ else if (Rhythmic_head::dot_count (head_down) > Rhythmic_head::dot_count (head_up))
{
- dot_wipe_head = nu;
- wipe_ball = nu;
+ dot_wipe_head = head_up;
+ wipe_ball = head_up;
}
else
- dot_wipe_head = nu;
+ dot_wipe_head = head_up;
}
- else if (dnball_type > upball_type)
+ else if (down_ball_type > up_ball_type)
{
- wipe_ball = nd;
- dot_wipe_head = nd;
+ wipe_ball = head_down;
+ dot_wipe_head = head_down;
}
- else if (dnball_type < upball_type)
+ else if (down_ball_type < up_ball_type)
{
- wipe_ball = nu;
- dot_wipe_head = nu;
+ wipe_ball = head_up;
+ dot_wipe_head = head_up;
}
if (dot_wipe_head)
shift_amount *= 0.5;
/* we're meshing. */
- else if (Rhythmic_head::dot_count (nu) || Rhythmic_head::dot_count (nd))
+ else if (Rhythmic_head::dot_count (head_up) || Rhythmic_head::dot_count (head_down))
shift_amount *= 0.1;
else
shift_amount *= 0.17;
*/
if (full_collide
- && dnball_type * upball_type == 0)
+ && down_ball_type * up_ball_type == 0)
{
- if (upball_type == 0 && dnball_type == 1)
+ if (up_ball_type == 0 && down_ball_type == 1)
shift_amount *= 1.25;
- else if (upball_type == 0 && dnball_type == 2)
+ else if (up_ball_type == 0 && down_ball_type == 2)
shift_amount *= 1.35;
- else if (dnball_type == 0 && upball_type == 1)
+ else if (down_ball_type == 0 && up_ball_type == 1)
shift_amount *= 0.7;
- else if (dnball_type == 0 && upball_type == 2)
+ else if (down_ball_type == 0 && up_ball_type == 2)
shift_amount *= 0.75;
}
* hasn't got any dots.
*/
if (close_half_collide
- && Rhythmic_head::dot_count (nu)
- && !Rhythmic_head::dot_count (nd))
+ && Rhythmic_head::dot_count (head_up)
+ && !Rhythmic_head::dot_count (head_down))
{
Grob *staff = Staff_symbol_referencer::get_staff_symbol (me);
if (!Staff_symbol_referencer::on_line (staff, ups[0]))
- {
- Grob *d = unsmob_grob (nu->get_object ("dot"));
- Grob *parent = d->get_parent (X_AXIS);
- if (Dot_column::has_interface (parent))
- Side_position_interface::add_support (parent, nd);
- }
+ /*
+ TODO: consider junking the else body.
+ */
+ if (to_boolean (me->get_property ("prefer-dotted-right")))
+ {
+ shift_amount = 0.5;
+ }
+ else
+ {
+ Grob *d = unsmob_grob (head_up->get_object ("dot"));
+ Grob *parent = d->get_parent (X_AXIS);
+ if (Dot_column::has_interface (parent))
+ Side_position_interface::add_support (parent, head_down);
+ }
}
/* For full or close half collisions, the right hand head may
obscure dots. Move dots to the right. */
if (abs (shift_amount) > 1e-6
- && Rhythmic_head::dot_count (nd) > Rhythmic_head::dot_count (nu)
+ && Rhythmic_head::dot_count (head_down) > Rhythmic_head::dot_count (head_up)
&& (full_collide || close_half_collide))
{
- Grob *d = unsmob_grob (nd->get_object ("dot"));
+ Grob *d = unsmob_grob (head_down->get_object ("dot"));
Grob *parent = d->get_parent (X_AXIS);
/*
*/
if (Dot_column::has_interface (parent))
{
- Grob *stem = unsmob_grob (nu->get_object ("stem"));
+ Grob *stem = unsmob_grob (head_up->get_object ("stem"));
extract_grob_set (stem, "note-heads", heads);
for (vsize i = 0; i < heads.size (); i++)
Side_position_interface::add_support (parent, heads[i]);
Grob *me = unsmob_grob (smob);
me->set_property ("positioning-done", SCM_BOOL_T);
- Drul_array<vector<Grob*> > cg = get_clash_groups (me);
+ Drul_array<vector<Grob*> > clash_groups = get_clash_groups (me);
Direction d = UP;
do
{
- for (vsize i = cg[d].size (); i--; )
+ for (vsize i = clash_groups[d].size (); i--; )
{
/*
Trigger positioning
*/
- cg[d][i]->extent (me, X_AXIS);
+ clash_groups[d][i]->extent (me, X_AXIS);
}
}
while (flip (&d) != UP);
- SCM autos (automatic_shift (me, cg));
+ SCM autos (automatic_shift (me, clash_groups));
SCM hand (forced_shift (me));
Real wid = 0.0;
do
{
- if (cg[d].size ())
+ if (clash_groups[d].size ())
{
- Grob *h = cg[d][0];
+ Grob *h = clash_groups[d][0];
Grob *fh = Note_column::first_head (h);
if (fh)
wid = fh->extent (h, X_AXIS).length ();
}
ADD_INTERFACE (Note_collision_interface,
- "An object that handles collisions between notes with different stem "
- "directions and horizontal shifts. Most of the interesting properties "
- "are to be set in @ref{note-column-interface}: these are "
- "@code{force-hshift} and @code{horizontal-shift}.",
+ "An object that handles collisions between notes with"
+ " different stem directions and horizontal shifts. Most of"
+ " the interesting properties are to be set in"
+ " @ref{note-column-interface}: these are @code{force-hshift}"
+ " and @code{horizontal-shift}.",
/* properties */
"merge-differently-dotted "
"merge-differently-headed "
- "positioning-done ");
+ "positioning-done "
+ "prefer-dotted-right "
+ );
}
ADD_INTERFACE (Note_column,
- "Stem and noteheads combined",
+ "Stem and noteheads combined.",
/* properties */
"arpeggio "
ADD_ACKNOWLEDGER (Note_head_line_engraver, rhythmic_head);
ADD_TRANSLATOR (Note_head_line_engraver,
- /* doc */ "Engrave a line between two note heads, for example a glissando. If "
- " followVoice is set, staff switches also generate a line.",
- /* create */ "Glissando VoiceFollower",
- /* read */ "followVoice",
- /* write */ "");
+ /* doc */
+ "Engrave a line between two note heads, for example a"
+ " glissando. If @code{followVoice} is set, staff switches"
+ " also generate a line.",
+
+ /* create */
+ "Glissando "
+ "VoiceFollower ",
+
+ /* read */
+ "followVoice ",
+
+ /* write */
+ ""
+ );
ADD_INTERFACE (Note_head,
- "Note head",
+ "Note head.",
/* properties */
"note-names "
}
ADD_TRANSLATOR (Note_heads_engraver,
- /* doc */ "Generate noteheads.",
+ /* doc */
+ "Generate note heads.",
+
/* create */
"NoteHead ",
- /* read */ "middleCPosition "
+
+ /* read */
+ "middleCPosition "
"staffLineLayoutFunction ",
- /* write */ "");
+
+ /* write */
+ ""
+ );
}
ADD_TRANSLATOR (Note_name_engraver,
- /* doc */ "Print pitches as words.",
- /* create */ "NoteName",
- /* read */ "printOctaveNames",
- /* write */ "");
+ /* doc */
+ "Print pitches as words.",
+
+ /* create */
+ "NoteName ",
+
+ /* read */
+ "printOctaveNames ",
+
+ /* write */
+ ""
+ );
note_evs_.push_back (ev);
}
-ADD_TRANSLATOR (Note_performer, "", "",
- "", "");
+ADD_TRANSLATOR (Note_performer,
+ /* doc */
+ "",
+
+ /* create */
+ "",
+
+ /* read */
+ "",
+
+ /* write */
+ ""
+ );
Note_performer::Note_performer ()
{
ADD_ACKNOWLEDGER (Note_spacing_engraver, rhythmic_grob);
ADD_TRANSLATOR (Note_spacing_engraver,
- /* doc */ "Generates NoteSpacing, an object linking horizontal lines for use in spacing.",
- /* create */ "NoteSpacing",
- /* read */ "",
- /* write */ "");
+ /* doc */
+ "Generate @code{NoteSpacing}, an object linking horizontal"
+ " lines for use in spacing.",
+
+ /* create */
+ "NoteSpacing ",
+
+ /* read */
+ "",
+
+ /* write */
+ ""
+ );
ADD_INTERFACE (Note_spacing,
"This object calculates spacing wishes for individual voices.",
-
+ /* properties */
"knee-spacing-correction "
"left-items "
"right-items "
"same-direction-correction "
"stem-spacing-correction "
"space-to-barline "
-
);
}
ADD_INTERFACE (Ottava_bracket,
- "An ottava bracket",
+ "An ottava bracket.",
- /*
- properties
- */
+ /* properties */
"edge-height "
"bracket-flare "
"shorten-pair "
- "minimum-length");
+ "minimum-length "
+ );
ADD_ACKNOWLEDGER (Ottava_spanner_engraver, note_column);
ADD_TRANSLATOR (Ottava_spanner_engraver,
- /* doc */ "Create a text spanner when the ottavation property changes..",
- /* create */ "OttavaBracket",
- /* read */ "ottavation "
+ /* doc */
+ "Create a text spanner when the ottavation property changes.",
+
+ /* create */
+ "OttavaBracket ",
+
+ /* read */
+ "ottavation "
"originalMiddleCPosition "
- "currentMusicalColumn "
-
- ,
+ "currentMusicalColumn ",
- /* write */ "");
+ /* write */
+ ""
+ );
ADD_ACKNOWLEDGER (Output_property_engraver, grob);
ADD_TRANSLATOR (Output_property_engraver,
-
/* doc */
- "Apply a procedure to any grob acknowledged. ",
+ "Apply a procedure to any grob acknowledged.",
/* create */
"",
"",
/* write */
- "");
+ ""
+ );
LY_DEFINE (ly_minimal_breaking, "ly:minimal-breaking",
1, 0, 0, (SCM pb),
"Break (pages and lines) the @code{Paper_book} object @var{pb}"
- "without looking for optimal spacing: stack as many lines on"
- "a page before moving to the next one.")
+ " without looking for optimal spacing: stack as many lines on"
+ " a page before moving to the next one.")
{
Minimal_page_breaking b (unsmob_paper_book (pb));
return b.solve ();
ADD_ACKNOWLEDGER (Page_turn_engraver, note_head);
ADD_TRANSLATOR (Page_turn_engraver,
- /* doc */ "Decide where page turns are allowed to go",
- /* create */ "",
+ /* doc */
+ "Decide where page turns are allowed to go.",
+
+ /* create */
+ "",
+
/* read */
"minimumPageTurnLength "
"minimumRepeatLengthForPageTurn ",
- /* write */ ""
+
+ /* write */
+ ""
);
ADD_ACKNOWLEDGER (Paper_column_engraver, staff_spacing);
ADD_TRANSLATOR (Paper_column_engraver,
- /* doc */ "Takes care of generating columns."
- "\n\n "
- "This engraver decides whether a column is breakable. The default is "
- "that a column is always breakable. However, every Bar_engraver "
- "that does not have a barline at a certain point will set forbidBreaks "
- "in the score context 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.) ",
+ /* doc */
+ "Take care of generating columns.\n"
+ "\n"
+ "This engraver decides whether a column is breakable. The"
+ " default is that a column is always breakable. However,"
+ " every @code{Bar_engraver} that does not have a barline at a"
+ " certain point will set @code{forbidBreaks} in the score"
+ " context to stop line breaks. In practice, this means that"
+ " you can make a break point by creating a bar line (assuming"
+ " that there are no beams or notes that prevent a break"
+ " point).",
/* create */
"PaperColumn "
- "NonMusicalPaperColumn",
+ "NonMusicalPaperColumn ",
+
/* read */
- "forbidBreak "
- ,
+ "forbidBreak ",
+
/* write */
"forbidBreak "
"currentCommandColumn "
ADD_INTERFACE (Paper_column,
- "@code{Paper_column} objects form the top-most X-parents for items."
- " The are two types of columns: musical columns, where are attached to, and "
- " non-musical columns, where bar-lines, clefs etc. are attached to. "
- " The spacing engine determines the X-positions of these objects."
-
- "\n\n"
- "They are\n"
- " numbered, the first (leftmost) is column 0. Numbering happens before\n"
- " line-breaking, and columns are not renumbered after line breaking.\n"
- " Since many columns go unused, you should only use the rank field to\n"
- " get ordering information. Two adjacent columns may have\n"
- " non-adjacent numbers.\n",
-
+ "@code{Paper_column} objects form the top-most X@tie{}parents"
+ " for items. There are two types of columns: musical columns,"
+ " where are attached to, and non-musical columns, where"
+ " bar-lines, clefs, etc., are attached to. The spacing engine"
+ " determines the X@tie{}positions of these objects.\n"
+ "\n"
+ "They are numbered, the first (leftmost) is column@tie{}0."
+ " Numbering happens before line breaking, and columns are not"
+ " renumbered after line breaking. Since many columns go"
+ " unused, you should only use the rank field to get ordering"
+ " information. Two adjacent columns may have non-adjacent"
+ " numbers.",
/* properties */
"between-cols "
"shortest-starter-duration "
"spacing "
"used "
- "when ");
+ "when "
+ );
ADD_ACKNOWLEDGER (Parenthesis_engraver, grob);
ADD_TRANSLATOR (Parenthesis_engraver,
- /* doc */ "Parenthesize objects whose music cause has the @code{parenthesize} "
- "property.",
+ /* doc */
+ "Parenthesize objects whose music cause has the"
+ " @code{parenthesize} property.",
/* create */
"ParenthesesItem ",
- /* read */ "",
- /* write */ "");
+
+ /* read */
+ "",
+
+ /* write */
+ ""
+ );
ADD_ACKNOWLEDGER (Part_combine_engraver, note_head);
ADD_ACKNOWLEDGER (Part_combine_engraver, stem);
ADD_TRANSLATOR (Part_combine_engraver,
- /* doc */ "Part combine engraver for orchestral scores: "
- "Print markings a2, Solo, Solo II, and unisono ",
- /* create */ "CombineTextScript",
+ /* doc */
+ "Part combine engraver for orchestral scores: Print markings"
+ " @q{a2}, @q{Solo}, @q{Solo II}, and @q{unisono}.",
+
+ /* create */
+ "CombineTextScript ",
+
/* read */
"printPartCombineTexts "
"soloText "
"soloIIText "
- "aDueText",
- /* write */ "");
+ "aDueText ",
+
+ /* write */
+ ""
+ );
}
ADD_INTERFACE (Percent_repeat_item_interface,
- "Repeats that look like percent signs",
+ "Repeats that look like percent signs.",
+ /* properties */
"slope "
- "thickness ");
+ "thickness "
+ );
#include "warn.hh"
ADD_TRANSLATOR_GROUP (Performer_group,
- /* doc */ "",
- /* create */ "",
- /* read */ "",
- /* write */ "");
+ /* doc */
+ "",
+
+ /* create */
+ "",
+
+ /* read */
+ "",
+
+ /* write */
+ ""
+ );
void
Performer_group::announce_element (Audio_element_info info)
ADD_ACKNOWLEDGER (Phrasing_slur_engraver, tie);
ADD_TRANSLATOR (Phrasing_slur_engraver,
- /* doc */ "Print phrasing slurs. Similar to @ref{Slur_engraver}",
- /* create */ "PhrasingSlur",
- /* read */ "",
- /* write */ "");
+ /* doc */
+ "Print phrasing slurs. Similar to @ref{Slur_engraver}.",
+
+ /* create */
+ "PhrasingSlur ",
+
+ /* read */
+ "",
+
+ /* write */
+ ""
+ );
ADD_TRANSLATOR (Piano_pedal_align_engraver,
-
/* doc */
"Align piano pedal symbols and brackets.",
/* read */
"currentCommandColumn ",
- /* write */ "");
+ /* write */
+ ""
+ );
}
ADD_INTERFACE (Piano_pedal_bracket,
+ "The bracket of the piano pedal. It can be tuned through"
+ " the regular bracket properties.",
- "The bracket of the piano pedal. "
- "It can be tuned through the regular "
- "bracket properties.",
-
- /* props */
+ /* properties */
"bound-padding "
"edge-height "
"shorten-pair "
"bracket-flare "
- "pedal-text ");
+ "pedal-text "
+ );
ADD_ACKNOWLEDGER (Piano_pedal_engraver, note_column);
ADD_TRANSLATOR (Piano_pedal_engraver,
-
/* doc */
"Engrave piano pedal symbols and brackets.",
"pedalSustainStrings "
"pedalSustainStyle "
"pedalUnaCordaStrings "
- "pedalUnaCordaStyle",
+ "pedalUnaCordaStyle ",
- /* write */ "");
+ /* write */
+ ""
+ );
info_alist_[UNA_CORDA].event_drul_[d] = r;
}
-ADD_TRANSLATOR (Piano_pedal_performer, "", "",
- "", "");
+ADD_TRANSLATOR (Piano_pedal_performer,
+ /* doc */
+ "",
+
+ /* create */
+ "",
+
+ /* read */
+ "",
+
+ /* write */
+ ""
+ );
ADD_ACKNOWLEDGER (Pitch_squash_engraver, note_head);
ADD_TRANSLATOR (Pitch_squash_engraver,
/* doc */
- "Set the vertical position of noteheads to "
- "@code{squashedPosition}, if that "
- "property is set. "
- "This can be used to make a single line staff "
- "demonstrating the rhythm of a melody.",
-
- /* create */ "",
- /* read */ "squashedPosition",
- /* write */ "");
+ "Set the vertical position of note heads to"
+ " @code{squashedPosition}, if that property is set. This can"
+ " be used to make a single-line staff demonstrating the"
+ " rhythm of a melody.",
+
+ /* create */
+ "",
+
+ /* read */
+ "squashedPosition ",
+
+ /* write */
+ ""
+ );
ADD_TRANSLATOR (Pitched_trill_engraver,
/* doc */
- "Print the bracketed notehead after a notehead with trill.",
+ "Print the bracketed note head after a note head with trill.",
/* create */
"TrillPitchHead "
"TrillPitchAccidental "
"TrillPitchGroup ",
- /* read */ "",
+ /* read */
+ "",
- /* write */ "");
+ /* write */
+ ""
+ );
}
ADD_TRANSLATOR (Repeat_acknowledge_engraver,
- /* doc */ "Acknowledge repeated music, and convert the contents of "
- "repeatCommands ainto an appropriate setting for whichBar.",
- /* create */ "",
- /* read */ "repeatCommands whichBar",
- /* write */ "");
+ /* doc */
+ "Acknowledge repeated music, and convert the contents of"
+ " @code{repeatCommands} into an appropriate setting for"
+ " @code{whichBar}.",
+
+ /* create */
+ "",
+
+ /* read */
+ "repeatCommands "
+ "whichBar ",
+
+ /* write */
+ ""
+ );
ADD_ACKNOWLEDGER (Repeat_tie_engraver, note_head);
ADD_TRANSLATOR (Repeat_tie_engraver,
- /* doc */ "Create repeat ties.",
+ /* doc */
+ "Create repeat ties.",
/* create */
"RepeatTie "
"RepeatTieColumn ",
- /* read */ "",
- /* write */ "");
+
+ /* read */
+ "",
+
+ /* write */
+ ""
+ );
ADD_ACKNOWLEDGER (Rest_collision_engraver, note_column);
ADD_TRANSLATOR (Rest_collision_engraver,
- /* doc */ "Handles collisions of rests.",
- /* create */ "RestCollision",
- /* read */ "",
- /* write */ "");
+ /* doc */
+ "Handle collisions of rests.",
+
+ /* create */
+ "RestCollision ",
+
+ /* read */
+ "",
+
+ /* write */
+ ""
+ );
}
ADD_INTERFACE (Rest_collision,
- "Move around ordinary rests (not multi-measure-rests) to avoid "
- "conflicts.",
+ "Move around ordinary rests (not multi-measure-rests) to avoid"
+ " conflicts.",
/* properties */
"minimum-distance "
"positioning-done "
- "elements");
+ "elements "
+ );
}
ADD_TRANSLATOR (Rest_engraver,
- /* doc */ "",
- /* create */ "Rest ",
- /* read */ "middleCPosition",
- /* write */ "");
+ /* doc */
+ "Engrave rests.",
+
+ /* create */
+ "Rest ",
+
+ /* read */
+ "middleCPosition ",
+
+ /* write */
+ ""
+ );
}
ADD_INTERFACE (Rest,
- "A rest symbol."
- "The property @code{style} can be @code{default}, "
- "@code{mensural}, @code{neomensural} or @code{classical}.",
+ "A rest symbol. The property @code{style} can be"
+ " @code{default}, @code{mensural}, @code{neomensural} or"
+ " @code{classical}.",
/* properties */
-
"direction "
"minimum-distance "
"style "
ADD_ACKNOWLEDGER (Rhythmic_column_engraver, arpeggio);
ADD_TRANSLATOR (Rhythmic_column_engraver,
- /* doc */ "Generates NoteColumn, an objects that groups stems, noteheads and rests.",
- /* create */ "NoteColumn",
- /* read */ "",
- /* write */ "");
+ /* doc */
+ "Generate @code{NoteColumn}, an object that groups stems,"
+ " note heads, and rests.",
+
+ /* create */
+ "NoteColumn ",
+
+ /* read */
+ "",
+
+ /* write */
+ ""
+ );
}
ADD_INTERFACE (Rhythmic_head,
-
- "Note head or rest",
+ "Note head or rest.",
+ /* properties */
"dot "
"duration-log "
"stem "
);
-
}
ADD_TRANSLATOR_GROUP (Score_engraver,
- /* doc */ "Top level engraver. Takes care of generating columns and the complete system (ie. System) "
- "\n\n "
- "This engraver decides whether a column is breakable. The default is "
- "that a column is always breakable. However, every Bar_engraver "
- "that does not have a barline at a certain point will set "
- "forbidBreaks 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.) ",
+ /* doc */
+ "The top-level engraver. Takes care of generating"
+ " columns and the complete system (i.e.,"
+ " @code{System}).\n"
+ "\n"
+ "This engraver decides whether a column is breakable."
+ " The default is that a column is always breakable."
+ " However, every @code{Bar_engraver} that does not have"
+ " a bar line at a certain point sets @code{forbidBreaks}"
+ " to stop line breaks. In practice, this means that you"
+ " can make a break point by creating a bar line"
+ " (assuming that there are no beams or notes that"
+ " prevent a break point).",
+
/* create */
"System ",
"verticallySpacedContexts ",
/* write */
- "");
+ ""
+ );
#include "audio-item.hh"
ADD_TRANSLATOR_GROUP (Score_performer,
- /* doc */ "",
- /* create */ "",
- /* read */ "",
- /* write */ "");
+ /* doc */
+ "",
+
+ /* create */
+ "",
+
+ /* read */
+ "",
+
+ /* write */
+ ""
+ );
Score_performer::Score_performer ()
{
ADD_ACKNOWLEDGER (Script_column_engraver, side_position);
ADD_TRANSLATOR (Script_column_engraver,
- /* doc */ "",
- /* create */ "ScriptColumn",
- /* read */ "",
- /* write */ "");
+ /* doc */
+ "Find potentially colliding scripts and put them into a"
+ " @code{ScriptColumn} object; that will fix the collisions.",
+
+ /* create */
+ "ScriptColumn ",
+
+ /* read */
+ "",
+
+ /* write */
+ ""
+ );
}
ADD_INTERFACE (Script_column,
- "An interface that sorts scripts "
- "according to their @code{script-priority}",
+ "An interface that sorts scripts according to their"
+ " @code{script-priority}.",
- "");
+ /* properties */
+ ""
+ );
ADD_ACKNOWLEDGER (Script_engraver, stem_tremolo);
ADD_TRANSLATOR (Script_engraver,
- /* doc */ "Handles note scripted articulations.",
- /* create */ "Script",
- /* read */ "scriptDefinitions",
- /* write */ "");
+ /* doc */
+ "Handle note scripted articulations.",
+
+ /* create */
+ "Script ",
+
+ /* read */
+ "scriptDefinitions ",
+
+ /* write */
+ ""
+ );
};
ADD_INTERFACE (Text_script,
- "An object that is put above or below a note",
+ "An object that is put above or below a note.",
/* properties */
"add-stem-support "
Hmm. Where should we put add-stem-support ?
*/
ADD_INTERFACE (Script_interface,
- "An object that is put above or below a note",
+ "An object that is put above or below a note.",
+
+ /* properties */
"add-stem-support "
"avoid-slur "
"positioning-done "
ADD_ACKNOWLEDGER (Script_row_engraver, accidental_placement);
ADD_ACKNOWLEDGER (Script_row_engraver, side_position);
ADD_TRANSLATOR (Script_row_engraver,
- /* doc */ "Determine order in horizontal side position elements. ",
- /* create */ "ScriptRow ",
- /* read */ "",
- /* write */ "");
+ /* doc */
+ "Determine order in horizontal side position elements.",
+
+ /* create */
+ "ScriptRow ",
+
+ /* read */
+ "",
+
+ /* write */
+ ""
+ );
}
ADD_INTERFACE (Self_alignment_interface,
- "Position this object on itself and/or on its parent. To this end, the following functions "
- " are provided: \n"
- "@table @code \n"
+ "Position this object on itself and/or on its parent. To this"
+ " end, the following functions are provided:\n"
+ "\n"
+ "@table @code\n"
"@item Self_alignment_interface::[xy]_aligned_on_self\n"
- " Align self on reference point, using @code{self-alignment-X} and "
- "@code{self-alignment-Y}."
+ "Align self on reference point, using"
+ " @code{self-alignment-X} and @code{self-alignment-Y}."
"@item Self_alignment_interface::aligned_on_[xy]_parent\n"
"@item Self_alignment_interface::centered_on_[xy]_parent\n"
- " Shift the object so its own reference point is centered on the "
- " extent of the parent \n"
+ "Shift the object so its own reference point is centered on"
+ " the extent of the parent\n"
"@end table\n",
-
/* properties */
"self-alignment-X "
- "self-alignment-Y ");
+ "self-alignment-Y "
+ );
ADD_INTERFACE (Semi_tie_column,
- "The interface for a column of l.v. ties.",
+ "The interface for a column of l.v. (laissez vibrer) ties.",
/* properties */
"positioning-done "
#include "staff-symbol-referencer.hh"
ADD_INTERFACE (Semi_tie,
-
- "A tie which is only on one side connected to note heads. ",
+ "A tie which is only on one side connected to a note head.",
/* properties */
"control-points "
ADD_ACKNOWLEDGER (Separating_line_group_engraver, break_aligned);
ADD_TRANSLATOR (Separating_line_group_engraver,
- /* doc */ "Generates objects for computing spacing parameters.",
+ /* doc */
+ "Generate objects for computing spacing parameters.",
- /* create */ "StaffSpacing",
- /* read */ "createSpacing",
- /* write */ "hasStaffSpacing"
+ /* create */
+ "StaffSpacing ",
+
+ /* read */
+ "createSpacing ",
+
+ /* write */
+ "hasStaffSpacing "
);
}
ADD_INTERFACE (Separation_item,
- "Item that computes widths to generate spacing rods. "
- ,
+ "Item that computes widths to generate spacing rods.",
+ /* properties */
"X-extent "
"conditional-elements "
"elements "
}
ADD_INTERFACE (Side_position_interface,
- "Position a victim object (this one) next to other objects (the "
- "support). The property @code{direction} signifies where to put the "
- "victim object relative to the support (left or right, up or down?)\n\n "
- "The routine also takes the size the staff into account if "
- "@code{staff-padding} is set. If undefined, the staff symbol is ignored.",
+ "Position a victim object (this one) next to other objects"
+ " (the support). The property @code{direction} signifies where"
+ " to put the victim object relative to the support (left or"
+ " right, up or down?)\n"
+ "\n"
+ "The routine also takes the size of the staff into account if"
+ " @code{staff-padding} is set. If undefined, the staff symbol"
+ " is ignored.",
/* properties */
"direction "
}
ADD_TRANSLATOR (Slash_repeat_engraver,
- /* doc */ "Make beat repeats.",
- /* create */ "RepeatSlash",
- /* read */ "measureLength",
- /* write */ "");
+ /* doc */
+ "Make beat repeats.",
+
+ /* create */
+ "RepeatSlash ",
+
+ /* read */
+ "measureLength ",
+
+ /* write */
+ ""
+ );
ADD_ACKNOWLEDGER (Slur_engraver, tie);
ADD_ACKNOWLEDGER (Slur_engraver, tuplet_number);
ADD_TRANSLATOR (Slur_engraver,
- /* doc */ "Build slur grobs from slur events",
- /* create */ "Slur",
+ /* doc */
+ "Build slur grobs from slur events.",
+
+ /* create */
+ "Slur ",
+
/* read */
"slurMelismaBusy "
"doubleSlurs ",
- /* write */ "");
+ /* write */
+ ""
+ );
}
ADD_TRANSLATOR (Slur_performer,
- "", "",
- "", "");
+ /* doc */
+ "",
+
+ /* create */
+ "",
+
+ /* read */
+ "",
+
+ /* write */
+ ""
+ );
}
ADD_INTERFACE (Slur,
-
- "A slur",
+ "A slur.",
/* properties */
"annotation "
ADD_INTERFACE (Spaceable_grob,
- "A layout object that takes part in the spacing problem. ",
-
+ "A layout object that takes part in the spacing problem.",
/* properties */
"allow-loose-spacing "
"minimum-distances "
"right-neighbors "
"spacing-wishes "
-
);
ADD_ACKNOWLEDGER (Spacing_engraver, rhythmic_grob);
ADD_TRANSLATOR (Spacing_engraver,
- "make a SpacingSpanner and do "
- "bookkeeping of shortest starting and playing notes ",
+ /* doc */
+ "Make a @code{SpacingSpanner} and do bookkeeping of shortest"
+ " starting and playing notes.",
+
+ /* create */
+ "SpacingSpanner ",
- /* create */ "SpacingSpanner",
/* read */
"currentMusicalColumn "
"currentCommandColumn "
- "proportionalNotationDuration",
+ "proportionalNotationDuration ",
- /* write */ "");
+ /* write */
+ ""
+ );
ADD_INTERFACE (Spacing_interface,
- "This object calculates the desired and minimum distances between two columns.",
+ "This object calculates the desired and minimum distances"
+ " between two columns.",
+ /* properties */
"left-items "
"right-items "
);
}
ADD_INTERFACE (Spacing_spanner,
- "The space taken by a note is dependent on its duration. Doubling a\n"
- "duration adds spacing-increment to the space. The most common shortest\n"
- "note gets @code{shortest-duration-space}. Notes that are even shorter are\n"
- "spaced proportonial to their duration.\n"
+ "The space taken by a note is dependent on its duration."
+ " Doubling a duration adds @code{spacing-increment} to the"
+ " space. The most common shortest note gets"
+ " @code{shortest-duration-space}. Notes that are even shorter"
+ " are spaced proportonial to their duration.\n"
"\n"
- "Typically, the increment is the width of a black note head. In a\n"
- "piece with lots of 8th notes, and some 16th notes, the eighth note\n"
- "gets 2 note heads width (i.e. the space following a note is 1 note\n"
- "head width) A 16th note is followed by 0.5 note head width. The\n"
- "quarter note is followed by 3 NHW, the half by 4 NHW, etc.\n",
-
-
+ "Typically, the increment is the width of a black note head."
+ " In a piece with lots of 8th notes, and some 16th notes, the"
+ " eighth note gets a 2@tie{}note heads width (i.e., the space"
+ " following a note is a 1@tie{}note head width). A 16th note"
+ " is followed by 0.5 note head width. The quarter note is"
+ " followed by 3@tie{}NHW, the half by 4@tie{}NHW, etc.",
+
+ /* properties */
"average-spacing-wishes "
"base-shortest-duration "
"common-shortest-duration "
"strict-grace-spacing "
"strict-note-spacing "
"uniform-stretching "
-
);
ADD_ACKNOWLEDGER (Span_arpeggio_engraver, arpeggio);
ADD_TRANSLATOR (Span_arpeggio_engraver,
- /* doc */ "",
- /* create */ "Arpeggio",
- /* read */ "connectArpeggios",
- /* write */ "");
+ /* doc */
+ "Make arpeggios that span multiple staves.",
+
+ /* create */
+ "Arpeggio ",
+
+ /* read */
+ "connectArpeggios ",
+
+ /* write */
+ ""
+ );
ADD_ACKNOWLEDGER (Span_bar_engraver, bar_line);
ADD_TRANSLATOR (Span_bar_engraver,
- /* doc */ "This engraver makes cross-staff barlines: It catches all normal "
- "bar lines, and draws a single span-bar across them.",
- /* create */ "SpanBar",
- /* read */ "",
- /* write */ "");
+ /* doc */
+ "Make cross-staff bar lines: It catches all normal bar lines"
+ " and draws a single span bar across them.",
+
+ /* create */
+ "SpanBar ",
+
+ /* read */
+ "",
+
+ /* write */
+ ""
+ );
}
ADD_INTERFACE (Span_bar,
- "A bar line that spanned between other barlines. This interface is "
- " used for bar lines that connect different staves.",
+ "A bar line that is spanned between other barlines. This"
+ " interface is used for bar lines that connect different"
+ " staves.",
/* properties */
"glyph-name "
- "elements");
+ "elements "
+ );
ADD_END_ACKNOWLEDGER (Spanner_break_forbid_engraver, unbreakable_spanner);
ADD_ACKNOWLEDGER (Spanner_break_forbid_engraver, unbreakable_spanner);
ADD_TRANSLATOR (Spanner_break_forbid_engraver,
- /* doc */ "Forbid breaks in certain spanners",
- /* create */ "",
- /* read */ "",
- /* write */ "");
+ /* doc */
+ "Forbid breaks in certain spanners.",
+
+ /* create */
+ "",
+
+ /* read */
+ "",
+
+ /* write */
+ ""
+ );
}
ADD_INTERFACE (Spanner,
- "Some objects are horizontally spanned between objects. For\n"
- "example, slur, beam, tie, etc. These grobs form a subtype called\n"
- "@code{Spanner}. All spanners have two span-points (these must be\n"
- "@code{Item} objects), one on the left and one on the right. The left bound is\n"
- "also the X-reference point of the spanner.\n",
-
+ "Some objects are horizontally spanned between objects. For"
+ " example, slurs, beams, ties, etc. These grobs form a subtype"
+ " called @code{Spanner}. All spanners have two span points"
+ " (these must be @code{Item} objects), one on the left and one"
+ " on the right. The left bound is also the X@tie{}reference"
+ " point of the spanner.",
+
+ /* properties */
"minimum-length "
"to-barline "
);
ADD_END_ACKNOWLEDGER (Staff_collecting_engraver, staff_symbol);
ADD_TRANSLATOR (Staff_collecting_engraver,
- /* doc */ "Maintain the stavesFound variable",
+ /* doc */
+ "Maintain the @code{stavesFound} variable.",
- /* create */ "",
- /* read */ "stavesFound",
- /* write */ "stavesFound");
+ /* create */
+ "",
+
+ /* read */
+ "stavesFound ",
+
+ /* write */
+ "stavesFound "
+ );
#include "translator.icc"
-ADD_TRANSLATOR (Staff_performer, "", "",
- "", "");
+ADD_TRANSLATOR (Staff_performer,
+ /* doc */
+ "",
+
+ /* create */
+ "",
+
+ /* read */
+ "",
+
+ /* write */
+ "");
Staff_performer::Staff_performer ()
{
}
ADD_INTERFACE (Staff_spacing,
- "This object calculates spacing details from a "
- " breakable symbol (left) to another object. For example, it takes care "
- " of optical spacing from a bar lines to a note.",
+ "This object calculates spacing details from a breakable"
+ " symbol (left) to another object. For example, it takes care"
+ " of optical spacing from a bar line to a note.",
/* properties */
"stem-spacing-correction "
ADD_ACKNOWLEDGER (Staff_symbol_engraver, grob);
ADD_TRANSLATOR (Staff_symbol_engraver,
- /* doc */ "Create the constellation of five (default) "
- "staff lines.",
- /* create */ "StaffSymbol",
- /* read */ "",
- /* write */ "");
+ /* doc */
+ "Create the constellation of five (default) staff lines.",
+
+ /* create */
+ "StaffSymbol ",
+
+ /* read */
+ "",
+
+ /* write */
+ ""
+ );
}
ADD_INTERFACE (Staff_symbol_referencer,
- "An object whose Y position is meant relative to a staff "
- "symbol. "
- "These usually have @code{Staff_symbol_referencer::callback} "
- "in their @code{Y-offset-callbacks}. ",
+ "An object whose Y@tie{}position is meant relative to a staff"
+ " symbol. These usually"
+ " have @code{Staff_symbol_referencer::callback} in their"
+ " @code{Y-offset-callbacks}.",
/* properties */
- "staff-position");
-
-
+ "staff-position "
+ );
ADD_INTERFACE (Staff_symbol,
- "This spanner draws the lines of a staff. "
- "A staff symbol definines a vertical unit, the staff space. "
- "Quantities that go by a half staff space are called positions "
- "The center (i.e. middle line "
- "or space) is position 0. The length of the symbol may be set by hand "
- "through the @code{width} property. ",
-
+ "This spanner draws the lines of a staff. A staff symbol"
+ " defines a vertical unit, the @emph{staff space}. Quantities"
+ " that go by a half staff space are called @emph{positions}."
+ " The center (i.e., middle line or space) is position@tie{}0."
+ " The length of the symbol may be set by hand through the"
+ " @code{width} property.",
/* properties */
"ledger-line-thickness "
ADD_ACKNOWLEDGER (Stanza_number_align_engraver, stanza_number);
ADD_TRANSLATOR (Stanza_number_align_engraver,
- "This engraver ensures that stanza numbers are neatly aligned. ",
+ /* doc */
+ "This engraver ensures that stanza numbers are neatly"
+ " aligned.",
+
+ /* create */
"",
+
+ /* read */
"",
+
+ /* write */
"");
ADD_ACKNOWLEDGER (Stanza_number_engraver, lyric_syllable);
ADD_TRANSLATOR (Stanza_number_engraver,
- /* doc */ "",
- /* create */ "StanzaNumber",
- /* read */ "stanza",
- /* write */ "");
+ /* doc */
+ "Engrave stanza numbers.",
+
+ /* create */
+ "StanzaNumber ",
+
+ /* read */
+ "stanza ",
+
+ /* write */
+ ""
+ );
ADD_ACKNOWLEDGER (Stem_engraver, rhythmic_head);
ADD_TRANSLATOR (Stem_engraver,
-
- /* doc */ "Create stems and single-stem tremolos. It also works together with "
- "the beam engraver for overriding beaming.",
+ /* doc */
+ "Create stems and single-stem tremolos. It also works"
+ " together with the beam engraver for overriding beaming.",
/* create */
"Stem "
"stemLeftBeamCount "
"stemRightBeamCount ",
- /* write */ "");
+ /* write */
+ ""
+ );
}
ADD_INTERFACE (Stem_tremolo,
- "A beam slashing a stem to indicate a tremolo. "
- "The property @code{style} can be @code{default} or "
- "@code{rectangle}.",
+ "A beam slashing a stem to indicate a tremolo. The property"
+ " @code{style} can be @code{default} or @code{rectangle}.",
/* properties */
"beam-thickness "
/* FIXME: Too many properties */
ADD_INTERFACE (Stem,
- "The stem represent the graphical stem. "
- "In addition, it internally connects note heads, beams and"
- "tremolos. "
- "Rests and whole notes have invisible stems."
-
- "\n\nThe following properties may be set in the details list."
+ "The stem represents the graphical stem. In addition, it"
+ " internally connects note heads, beams, and tremolos. Rests"
+ " and whole notes have invisible stems.\n"
+ "\n"
+ "The following properties may be set in the @code{details}"
+ " list.\n"
+ "\n"
"@table @code\n"
- "@item beamed-lengths \n"
- "list of stem lengths given beam multiplicity. \n"
- "@item beamed-minimum-free-lengths \n"
- "list of normal minimum free stem lengths (chord to beams) given beam multiplicity.\n"
+ "@item beamed-lengths\n"
+ "List of stem lengths given beam multiplicity.\n"
+ "@item beamed-minimum-free-lengths\n"
+ "List of normal minimum free stem lengths (chord to beams)"
+ " given beam multiplicity.\n"
"@item beamed-extreme-minimum-free-lengths\n"
- "list of extreme minimum free stem lengths (chord to beams) given beam multiplicity.\n"
+ "List of extreme minimum free stem lengths (chord to beams)"
+ " given beam multiplicity.\n"
"@item lengths\n"
- "Default stem lengths. The list gives a length for each flag-count.\n"
+ "Default stem lengths. The list gives a length for each"
+ " flag count.\n"
"@item stem-shorten\n"
- "How much a stem in a forced direction "
- "should be shortened. The list gives an amount depending on the number "
- "of flags/beams."
- "@end table\n"
- ,
+ "How much a stem in a forced direction should be shortened."
+ " The list gives an amount depending on the number of flags"
+ " and beams.\n"
+ "@end table\n",
/* properties */
"avoid-note-head "
#include "translator.icc"
ADD_TRANSLATOR (String_number_engraver,
- /* doc */ "Swallow string-number-events - the purpose of this engraver is to"
- " process tab for normal notation. To provent warnings for unprocessed "
- " string-number-event to obscure real error messages, this engraver "
- " swallows them all.",
-
- /* create */ "",
- /* read */ "",
- /* write */ "");
+ /* doc */
+ "Swallow string number events. The purpose of this engraver"
+ " is to process tablatures for normal notation. To provent"
+ " warnings for unprocessed string number events to obscure"
+ " real error messages, this engraver swallows them all.",
+
+ /* create */
+ "",
+
+ /* read */
+ "",
+
+ /* write */
+ ""
+ );
#include "translator.icc"
ADD_TRANSLATOR (Swallow_engraver,
- /* doc */ "This engraver swallows everything given to it silently. The purpose of "
- "this is to prevent spurious \"event junked\" warnings.",
- /* create */ "",
- /* read */ "",
- /* write */ "");
+ /* doc */
+ "This engraver swallows everything given to it silently."
+ " The purpose of this is to prevent spurious @q{event junked}"
+ " warnings.",
+
+ /* create */
+ "",
+
+ /* read */
+ "",
+
+ /* write */
+ ""
+ );
#include "translator.icc"
ADD_TRANSLATOR (Swallow_performer,
- /* doc */ "",
- /* create */ "",
- /* read */ "",
- /* write */ "");
+ /* doc */
+ "",
+
+ /* create */
+ "",
+
+ /* read */
+ "",
+
+ /* write */
+ ""
+ );
ADD_ACKNOWLEDGER (System_start_delimiter_engraver, system_start_text);
ADD_TRANSLATOR (System_start_delimiter_engraver,
- /* doc */ "Creates a system start delimiter (ie. SystemStart@{Bar, Brace, Bracket@} spanner",
- /* create */ "SystemStartSquare "
+ /* doc */
+ "Create a system start delimiter (i.e., a"
+ " @code{SystemStartBar}, @code{SystemStartBrace},"
+ " @code{SystemStartBracket} or @code{SystemStartSquare}"
+ " spanner).",
+
+ /* create */
+ "SystemStartSquare "
"SystemStartBrace "
"SystemStartBracket "
- "SystemStartBar",
+ "SystemStartBar ",
+
/* read */
"systemStartDelimiter "
"systemStartDelimiterHierarchy "
- "currentCommandColumn",
+ "currentCommandColumn ",
- /* write */ "");
+ /* write */
+ ""
+ );
*/
#include "system-start-delimiter.hh"
-#include "text-interface.hh"
+#include "text-interface.hh"
#include "all-font-metrics.hh"
#include "axis-group-interface.hh"
#include "font-interface.hh"
}
ADD_INTERFACE (System_start_delimiter,
- "The brace, bracket or bar in front of the system. The following "
- "values for @code{style} are recognized:\n"
- "\n"
- " @table @samp\n"
- " @item @code{bracket}\n"
- " A thick bracket, normally used to group similar\n"
- " instruments in a score. Default for StaffGroup.\n"
- " SystemStartBracket use this style.\n"
- "\n"
- " @item @code{brace}\n"
- " A \"piano style\" brace normally used for an instrument\n"
- " that use two staffs. The default style for GrandStaff.\n"
- " SystemStartBrace use this style.\n"
- "\n"
- " @item @code{bar-line}\n"
- " A simple line between the staffs in a score. Default\n"
- " for staffs enclosed in << >>.\n"
- " SystemStartBar use this style.\n"
- "\n"
- " @item @code{line-bracket}\n"
- " A simple square, normally used for subgrouping\n"
- " instruments in a score.\n"
- " SystemStartSquare use this style.\n"
- " @end table\n"
- "\n"
- "See also @file{input/regression/system-start-nesting.ly}. ",
+ "The brace, bracket or bar in front of the system. The"
+ " following values for @code{style} are recognized:\n"
+ "\n"
+ "@table @code\n"
+ "@item bracket\n"
+ "A thick bracket, normally used to group similar"
+ " instruments in a score. Default for @code{StaffGroup}."
+ " @code{SystemStartBracket} uses this style.\n"
+ "@item brace\n"
+ "A @q{piano style} brace normally used for an instrument"
+ " that uses two staves. The default style for"
+ " @code{GrandStaff}. @code{SystemStartBrace} uses this"
+ " style.\n"
+ "@item bar-line\n"
+ "A simple line between the staves in a score. Default"
+ " for staves enclosed in @code{<<} and @code{>>}."
+ " @code{SystemStartBar} uses this style.\n"
+ "@item line-bracket\n"
+ "A simple square, normally used for subgrouping"
+ " instruments in a score. @code{SystemStartSquare} uses"
+ " this style.\n"
+ "@end table\n"
+ "\n"
+ "See also @file{input/regression/system-start-nesting.ly}.",
/* properties */
"collapse-height "
}
ADD_INTERFACE (System,
- "This is the toplevel object: each object in a score "
- "ultimately has a System object as its X and Y parent. ",
+ "This is the top-level object: Each object in a score"
+ " ultimately has a @code{System} object as its X and"
+ " Y@tie{}parent.",
/* properties */
"all-elements "
ADD_ACKNOWLEDGER (Tab_harmonic_engraver, note_head);
ADD_TRANSLATOR (Tab_harmonic_engraver,
- /* doc */ "Parenthesize objects whose music cause has the @code{parenthesize} "
- "property.",
+ /* doc */
+ "In a tablature, parenthesize objects whose music cause has"
+ " the @code{parenthesize} property.",
/* create */
"HarmonicParenthesesItem ",
- /* read */ "",
- /* write */ "");
+
+ /* read */
+ "",
+
+ /* write */
+ ""
+ );
}
ADD_TRANSLATOR (Tab_note_heads_engraver,
- /* doc */ "Generate one or more tablature noteheads from event of type NoteEvent.",
+ /* doc */
+ "Generate one or more tablature noteheads from event of type"
+ " @code{NoteEvent}.",
+
/* create */
- "TabNoteHead "
- ,
+ "TabNoteHead ",
/* read */
"middleCPosition "
"highStringOne "
"stringOneTopmost ",
- /* write */ "");
+ /* write */ ""
+ );
ADD_ACKNOWLEDGER (Tab_staff_symbol_engraver, staff_symbol);
ADD_TRANSLATOR (Tab_staff_symbol_engraver,
/* doc */
- "Create a staff-symbol, but look at "
- "stringTunings for the number of lines. "
- ,
- /* create */ "StaffSymbol",
- /* read */ "stringTunings",
- /* write */ "");
+ "Create a tablature staff symbol, but look at"
+ " @code{stringTunings} for the number of lines.",
+
+ /* create */
+ "StaffSymbol ",
+
+ /* read */
+ "stringTunings ",
+
+ /* write */
+ ""
+ );
}
}
-ADD_TRANSLATOR (Tempo_performer, "", "",
+ADD_TRANSLATOR (Tempo_performer,
+ /* doc */
+ "",
+
+ /* create */
+ "",
+
+ /* read */
"tempoWholesPerMinute ",
- "");
+
+ /* write */
+ ""
+ );
}
ADD_TRANSLATOR (Text_engraver,
- /* doc */ "Create text-scripts",
- /* create */ "TextScript",
- /* read */ "",
- /* write */ "");
+ /* doc */
+ "Create text scripts.",
+
+ /* create */
+ "TextScript ",
+
+ /* read */
+ "",
+
+ /* write */
+ ""
+ );
ADD_INTERFACE (Text_interface,
- "A scheme markup text, see @ruser{Text markup} and "
- "@ruser{New markup command definition}. "
- "\n\n"
- "There are two important commands: ly:text-interface::print, which is a "
- "grob callback, and ly:text-interface::interpret-markup ",
-
- /* props */
+ "A Scheme markup text, see @ruser{Text markup} and"
+ " @ruser{New markup command definition}.\n"
+ "\n"
+ "There are two important commands:"
+ " @code{ly:text-interface::print}, which is a"
+ " grob callback, and"
+ " @code{ly:text-interface::interpret-markup}.",
+
+ /* properties */
"baseline-skip "
"text "
"word-space "
ADD_TRANSLATOR (Text_spanner_engraver,
/* doc */
"Create text spanner from an event.",
+
/* create */
"TextSpanner ",
+
/* read */
"",
+
/* write */
""
);
ADD_INTERFACE (Tie_column,
- "Object that sets directions of multiple ties in a tied chord",
+ "Object that sets directions of multiple ties in a tied chord.",
/* properties */
"positioning-done "
ADD_ACKNOWLEDGER (Tie_engraver, note_head);
ADD_TRANSLATOR (Tie_engraver,
- /* doc */ "Generate ties between noteheads of equal pitch.",
+ /* doc */
+ "Generate ties between note heads of equal pitch.",
+
/* create */
"Tie "
"TieColumn ",
- /* read */ "tieWaitForNote",
- /* write */ "tieMelismaBusy");
+
+ /* read */
+ "tieWaitForNote ",
+
+ /* write */
+ "tieMelismaBusy "
+ );
#include "axis-group-interface.hh"
#include "paper-column.hh"
-#include "bezier.hh"
+#include "bezier.hh"
#include "directional-element-interface.hh"
#include "libc-extension.hh"
#include "misc.hh"
#include "note-head.hh"
#include "rhythmic-head.hh"
-#include "spanner.hh"
+#include "spanner.hh"
#include "staff-symbol-referencer.hh"
#include "stem.hh"
#include "tie-configuration.hh"
}
ADD_TRANSLATOR (Tie_performer,
- /* doc */ "Generate ties between noteheads of equal pitch.",
- /* create */ "",
- /* read */ "tieMelismaBusy",
- /* write */ "");
+ /* doc */
+ "Generate ties between note heads of equal pitch.",
+
+ /* create */
+ "",
+
+ /* read */
+ "tieMelismaBusy",
+
+ /* write */
+ ""
+ );
}
ADD_INTERFACE (Tie,
- "A horizontal curve connecting two noteheads. \n\n"
- ,
+ "A horizontal curve connecting two noteheads.",
-
/* properties */
"annotation "
"avoid-slur " // UGH.
"direction "
"separation-item "
"head-direction "
- "line-thickness "
+ "line-thickness "
"quant-score "
"staff-position "
"thickness "
-
);
#include "translator.icc"
ADD_TRANSLATOR (Time_signature_engraver,
- /* doc */ "Create a @ref{TimeSignature} whenever @code{timeSignatureFraction} changes",
+ /* doc */
+ "Create a @ref{TimeSignature} whenever"
+ " @code{timeSignatureFraction} changes.",
+
/* create */
"TimeSignature ",
/* read */
"implicitTimeSignatureVisibility "
- "timeSignatureFraction "
+ "timeSignatureFraction ",
- ,
- /* write */ "");
+ /* write */
+ ""
+ );
#include "translator.icc"
-ADD_TRANSLATOR (Time_signature_performer, "", "", "", "");
+ADD_TRANSLATOR (Time_signature_performer,
+ /* doc */
+ "",
+
+ /* create */
+ "",
+
+ /* read */
+ "",
+
+ /* write */
+ ""
+ );
}
ADD_INTERFACE (Time_signature,
- "A time signature, in different styles.\n"
- " The following values for 'style are are recognized:\n"
+ "A time signature, in different styles. The following values"
+ " for @code{style} are are recognized:\n"
"\n"
- " @table @samp\n"
- " @item @code{C}\n"
- " 4/4 and 2/2 are typeset as C and struck C, respectively. All\n"
- " other time signatures are written with two digits.\n"
+ "@table @code\n"
+ "@item C\n"
+ "4/4 and 2/2 are typeset as C and struck C, respectively."
+ " All other time signatures are written with two digits.\n"
+ "@item neomensural\n"
+ "2/2, 3/2, 2/4, 3/4, 4/4, 6/4, 9/4, 4/8, 6/8, and 9/8 are"
+ " typeset with neo-mensural style mensuration marks. All"
+ " other time signatures are written with two digits.\n"
+ "@item mensural\n"
+ "2/2, 3/2, 2/4, 3/4, 4/4, 6/4, 9/4, 4/8, 6/8, and 9/8 are"
+ " typeset with mensural style mensuration marks. All other"
+ " time signatures are written with two digits.\n"
+ "@item single-digit\n"
+ "All time signatures are typeset with a single digit, e.g.,"
+ " 3/2 is written as 3.\n"
+ "@end table\n"
"\n"
- " @item @code{neomensural}\n"
- " 2/2, 3/2, 2/4, 3/4, 4/4, 6/4, 9/4, 4/8, 6/8 and 9/8 are\n"
- " typeset with neo-mensural style mensuration marks. All other time\n"
- " signatures are written with two digits.\n"
- "\n"
- " @item @code{mensural}\n"
- " 2/2, 3/2, 2/4, 3/4, 4/4, 6/4, 9/4, 4/8, 6/8 and 9/8 are\n"
- " typeset with mensural style mensuration marks. All other time\n"
- " signatures are written with two digits.\n"
- "\n"
- " @item @code{single-digit}\n"
- " All time signatures are typeset with a single\n"
- " digit, e.g. 3/2 is written as 3.\n"
- " @end table\n"
- "\n"
- "See also the test-file @file{input/test/time.ly}.\n",
- "fraction style");
+ "See also the test-file @file{input/test/time.ly}.",
+
+ /* properties */
+ "fraction "
+ "style "
+ );
#include "translator.icc"
ADD_TRANSLATOR (Timing_translator,
- "This engraver adds the alias "
- "@code{Timing} to its containing context."
- "Responsible for synchronizing timing information from staves. "
- "Normally in @code{Score}. In order to create polyrhythmic music, "
- "this engraver should be removed from @code{Score} and placed in "
- "@code{Staff}. "
- "\n\nThis engraver adds the alias @code{Timing} to its containing context.",
-
+ /* doc */
+ "This engraver adds the alias @code{Timing} to its containing"
+ " context. Responsible for synchronizing timing information"
+ " from staves. Normally in @code{Score}. In order to create"
+ " polyrhythmic music, this engraver should be removed from"
+ " @code{Score} and placed in @code{Staff}.",
+
+ /* create */
"",
+ /* read */
"internalBarNumber "
"currentBarNumber "
"measureLength "
"measurePosition ",
+ /* write */
"internalBarNumber "
"currentBarNumber "
"measurePosition "
}
ADD_TRANSLATOR (Translator,
- "Base class. Not instantiated.",
+ /* doc */
+ "Base class. Not instantiated.",
+
+ /* create */
"",
+
+ /* read */
"",
- "");
+
+ /* write */
+ ""
+ );
ADD_ACKNOWLEDGER (Trill_spanner_engraver, note_column);
ADD_TRANSLATOR (Trill_spanner_engraver,
- /* doc */ "Create trill spanner from an event.",
+ /* doc */
+ "Create trill spanner from an event.",
+
/* create */
"TrillSpanner ",
- /* read */ "",
- /* write */ "");
+
+ /* read */
+ "",
+
+ /* write */
+ ""
+ );
}
ADD_INTERFACE (Tuplet_bracket,
- "A bracket with a number in the middle, used for tuplets. "
- "When the bracket spans a line break, the value of "
- "@code{break-overshoot} determines how far it extends "
- "beyond the staff. "
- "At a line break, the markups in the @code{edge-text} are printed "
- "at the edges. ",
-
+ "A bracket with a number in the middle, used for tuplets."
+ " When the bracket spans a line break, the value of"
+ " @code{break-overshoot} determines how far it extends"
+ " beyond the staff. At a line break, the markups in the"
+ " @code{edge-text} are printed at the edges.",
/* properties */
"bracket-flare "
"shorten-pair "
"staff-padding "
"thickness "
- "tuplets ");
+ "tuplets "
+ );
ADD_ACKNOWLEDGER (Tuplet_engraver, note_column);
ADD_TRANSLATOR (Tuplet_engraver,
-
/* doc */
"Catch tuplet events and generate appropriate bracket.",
/* create */
"TupletBracket "
"TupletNumber ",
+
/* read */
"tupletFullLength "
"tupletFullLengthNote ",
- /* write */ "");
+
+ /* write */
+ ""
+ );
}
ADD_INTERFACE (Tuplet_number,
- "The number for a bracket. "
- ,
+ "The number for a bracket.",
/* properties */
"avoid-slur " // UGH.
- "bracket ");
+ "bracket "
+ );
ADD_ACKNOWLEDGER (Tweak_engraver, grob);
ADD_TRANSLATOR (Tweak_engraver,
- /* doc */ "Read the @code{tweaks} property from the originating event, and set properties." ,
+ /* doc */
+ "Read the @code{tweaks} property from the originating event,"
+ " and set properties.",
- /* create */ "",
- /* read */ "",
- /* write */ "");
+ /* create */
+ "",
+
+ /* read */
+ "",
+
+ /* write */
+ ""
+ );
}
ADD_TRANSLATOR (Skip_event_swallow_translator,
- "Swallow \\skip.",
+ /* doc */
+ "Swallow @code{\\skip}.",
+
+ /* create */
"",
+
+ /* read */
"",
- "");
+
+ /* write */
+ ""
+ );
Rest_swallow_translator::Rest_swallow_translator (){}
ADD_TRANSLATOR (Rest_swallow_translator,
- "Swallow rest",
+ /* doc */
+ "Swallow rest.",
+
+ /* create */
"",
+
+ /* read */
"",
- "");
+
+ /* write */
+ ""
+ );
class Note_swallow_translator : public Translator
{
}
ADD_TRANSLATOR (Note_swallow_translator,
- "Swallow notes",
+ /* doc */
+ "Swallow notes.",
+
+ /* create */
"",
+
+ /* read */
"",
- "");
+ /* write */
+ ""
+ );
if (glyph_name_scm == SCM_EOL)
{
primitive->programming_error ("Vaticana_ligature:"
- "undefined glyph-name -> "
- "ignoring grob");
+ " undefined glyph-name ->"
+ " ignoring grob");
continue;
}
string glyph_name = ly_scm2string (glyph_name_scm);
else
{
primitive->programming_error ("Vaticana_ligature:"
- "delta-position undefined -> "
- "ignoring grob");
+ " delta-position undefined ->"
+ " ignoring grob");
continue;
}
}
else
{
primitive->programming_error ("Vaticana_ligature:"
- "delta-position undefined -> "
- "ignoring grob");
+ " delta-position undefined ->"
+ " ignoring grob");
continue;
}
else // (prev_delta_pitch == 0)
{
primitive->programming_error ("Vaticana_ligature:"
- "deminutum head must have different "
- "pitch -> ignoring grob");
+ " deminutum head must have different"
+ " pitch -> ignoring grob");
}
else if (prefix_set & (CAVUM | LINEA))
if ((prefix_set & CAVUM) && (prefix_set & LINEA))
ADD_ACKNOWLEDGER (Vaticana_ligature_engraver, rest);
ADD_ACKNOWLEDGER (Vaticana_ligature_engraver, note_head);
ADD_TRANSLATOR (Vaticana_ligature_engraver,
- /* doc */ "Handles ligatures by glueing special ligature heads together.",
- /* create */ "VaticanaLigature DotColumn",
- /* read */ "",
- /* write */ "");
+ /* doc */
+ "Handle ligatures by glueing special ligature heads together.",
+
+ /* create */
+ "VaticanaLigature "
+ "DotColumn ",
+
+ /* read */
+ "",
+
+ /* write */
+ ""
+ );
}
ADD_INTERFACE (Vaticana_ligature,
- "A vaticana style gregorian ligature",
+ "A vaticana style Gregorian ligature.",
/* properties */
"glyph-name "
- "flexa-height "
+ "flexa-height "
"flexa-width "
"thickness "
"add-cauda "
ADD_ACKNOWLEDGER (Vertical_align_engraver, axis_group);
ADD_TRANSLATOR (Vertical_align_engraver,
- "Catch groups (staves, lyrics lines, etc.) and stack "
- "them vertically.",
- /* create */ "VerticalAlignment",
+ /* doc */
+ "Catch groups (staves, lyrics lines, etc.) and stack them"
+ " vertically.",
+
+ /* create */
+ "VerticalAlignment ",
+
/* read */
"alignAboveContext "
"alignBelowContext ",
- /* write */ "");
+ /* write */
+ ""
+ );
Vertical_align_engraver::Vertical_align_engraver ()
{
ADD_ACKNOWLEDGER (Vertically_spaced_contexts_engraver, vertically_spaceable);
ADD_TRANSLATOR (Vertically_spaced_contexts_engraver,
- /* doc */ "",
- /* create */ "",
- /* read */ "verticallySpacedContexts",
- /* write */ "verticallySpacedContexts");
+ /* doc */
+ "",
+
+ /* create */
+ "",
+
+ /* read */
+ "verticallySpacedContexts ",
+
+ /* write */
+ "verticallySpacedContexts "
+ );
}
ADD_INTERFACE (Volta_bracket_interface,
- "Volta bracket with number",
+ "Volta bracket with number.",
/* properties */
"bars "
"thickness "
- "height");
+ "height "
+ );
*/
ADD_ACKNOWLEDGER (Volta_engraver, bar_line);
ADD_TRANSLATOR (Volta_engraver,
- /* doc */ "Make volta brackets.",
- /* create */ "VoltaBracket VoltaBracketSpanner",
- /* read */ "repeatCommands voltaSpannerDuration stavesFound",
- /* write */ "");
+ /* doc */
+ "Make volta brackets.",
+
+ /* create */
+ "VoltaBracket "
+ "VoltaBracketSpanner ",
+
+ /* read */
+ "repeatCommands "
+ "voltaSpannerDuration "
+ "stavesFound ",
+
+ /* write */
+ ""
+ );
'elements (list (make-music 'BreathingEvent))))
bendAfter =
-#(define-music-function (parser location delta) (integer?)
+#(define-music-function (parser location delta) (real?)
(make-music 'BendAfterEvent
'delta-step delta))
whether to put a page turn at this column. Can be @code{force} or
@code{allow}.")
(parenthesized ,boolean? "Parenthesize this grob.")
- (positions ,number-pair? "Pair of staff coordinates @code{(@var{left}
-. @var{right})}, where both @var{left} and @var{right} are in
-@code{staff-space} units of the current staff.
-
-For slurs, this value selects which slur candidate
-to use; if extreme positions are requested, the closest one is taken.")
+ (positions ,number-pair? "Pair of staff coordinates
+@code{(@var{left} . @var{right})}, where both @var{left} and
+@var{right} are in @code{staff-space} units of the current staff.
+For slurs, this value selects which slur candidate to use; if
+extreme positions are requested, the closest one is taken.")
+ (prefer-dotted-right ,boolean? "For note collisions, prefer to
+shift dotted up-note to the right, rather than shifting just the
+dot.")
(ratio ,number? "Parameter for slur shape. The higher this
number, the quicker the slur attains its @code{height-limit}.")
(axes . (,X ,Y))
(X-extent . ,ly:axis-group-interface::width)
(Y-extent . ,ly:axis-group-interface::height)
+ (prefer-dotted-right . #t)
(positioning-done . ,ly:note-collision-interface::calc-positioning-done)
(meta . ((class . Item)
(interfaces . (note-collision-interface
))
(define-public alteration-hufnagel-glyph-name-alist
- '((-1/2 . "accidentals.hufnagel-1")
+ '((-1/2 . "accidentals.hufnagelM1")
(0 . "accidentals.vaticana0")
(1/2 . "accidentals.mensural1")))
(define-public alteration-medicaea-glyph-name-alist
- '((-1/2 . "accidentals.medicaea-1")
+ '((-1/2 . "accidentals.medicaeaM1")
(0 . "accidentals.vaticana0")
(1/2 . "accidentals.mensural1")))
(define-public alteration-vaticana-glyph-name-alist
- '((-1/2 . "accidentals.vaticana-1")
+ '((-1/2 . "accidentals.vaticanaM1")
(0 . "accidentals.vaticana0")
(1/2 . "accidentals.mensural1")))
(define-public alteration-mensural-glyph-name-alist
- '((-1/2 . "accidentals.mensural-1")
+ '((-1/2 . "accidentals.mensuralM1")
(0 . "accidentals.vaticana0")
(1/2 . "accidentals.mensural1")))