+2005-07-27 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+ * lily/accidental-engraver.cc: formatting fixes.
+
+ * lily/spacing-spanner.cc (prune_loose_columns): right-items is a
+ grob-array.
+
+ * lily/arpeggio.cc (print): suicide arpeggio for single notehead.
+
+ * lily/note-column.cc (arpeggio): new function.
+
+ * lily/note-spacing.cc (get_spacing): also take arpeggio into
+ account for spacing.
+
2005-07-25 Jan Nieuwenhuizen <janneke@gnu.org>
* lily/main.cc (sane_setenv)[!ARGV0_RELOCATION]: Also define.
* lily/profile.cc: new file.
- * lily/grob.cc (Grob): look properties up directly.
+ * lily/grob.cc (Grob::Grob): look properties up directly.
* lily/open-type-font.cc (get_indexed_char): cache index -> bbox
lookups.
PACKAGE_NAME=LilyPond
MAJOR_VERSION=2
MINOR_VERSION=7
-PATCH_LEVEL=3
+PATCH_LEVEL=4
MY_PATCH_LEVEL=
\header {
- texidoc = "Unless @code{allow-outside-line} is set for the relevant
+ texidoc = "If @code{keep-inside-line} is set for the relevant
PaperColumn, LilyPond will space a line to prevent text sticking out
of the right margin."
\layout { raggedright = ##t }
\relative {
+ \override PaperColumn #'keep-inside-line = ##t
c1 c1^"This is a really long text" c
}
}
-ADD_ACKNOWLEDGER(Accidental_engraver, arpeggio);
-ADD_ACKNOWLEDGER(Accidental_engraver, finger);
-ADD_ACKNOWLEDGER(Accidental_engraver, rhythmic_head);
-ADD_ACKNOWLEDGER(Accidental_engraver, tie);
+ADD_ACKNOWLEDGER (Accidental_engraver, arpeggio);
+ADD_ACKNOWLEDGER (Accidental_engraver, finger);
+ADD_ACKNOWLEDGER (Accidental_engraver, rhythmic_head);
+ADD_ACKNOWLEDGER (Accidental_engraver, tie);
ADD_TRANSLATOR (Accidental_engraver,
"Make accidentals. "
}
-ADD_ACKNOWLEDGER(Ambitus_engraver, note_head);
+ADD_ACKNOWLEDGER (Ambitus_engraver, note_head);
ADD_TRANSLATOR (Ambitus_engraver,
/* descr */ "",
/* creats*/ "Ambitus AmbitusLine AmbitusNoteHead AmbitusAccidental",
arpeggio_event_ = 0;
}
-ADD_ACKNOWLEDGER(Arpeggio_engraver, stem)
-ADD_ACKNOWLEDGER(Arpeggio_engraver, rhythmic_head)
-ADD_ACKNOWLEDGER(Arpeggio_engraver, note_column)
+ADD_ACKNOWLEDGER (Arpeggio_engraver, stem)
+ADD_ACKNOWLEDGER (Arpeggio_engraver, rhythmic_head)
+ADD_ACKNOWLEDGER (Arpeggio_engraver, note_column)
ADD_TRANSLATOR (Arpeggio_engraver,
/* descr */ "Generate an Arpeggio symbol",
- my_y);
}
- if (heads.is_empty ())
+ if (heads.is_empty () || heads.length () < 0.5)
{
- /*
- Dumb blonde error
-
- :-)
- */
programming_error ("no heads for arpeggio found?");
+ me->suicide ();
return SCM_EOL;
}
Arpeggio::brew_chord_bracket (SCM smob)
{
Grob *me = unsmob_grob (smob);
-
Grob *common = me;
-
extract_grob_set (me, "stems", stems);
for (int i = 0; i < stems.size(); i++)
virtual bool try_music (Music *);
virtual void finalize ();
- DECLARE_ACKNOWLEDGER(rest);
- DECLARE_ACKNOWLEDGER(beam);
- DECLARE_ACKNOWLEDGER(bar_line);
- DECLARE_ACKNOWLEDGER(stem);
+ DECLARE_ACKNOWLEDGER (rest);
+ DECLARE_ACKNOWLEDGER (beam);
+ DECLARE_ACKNOWLEDGER (bar_line);
+ DECLARE_ACKNOWLEDGER (stem);
void process_acknowledged ();
process_acknowledged_count_++;
}
-ADD_ACKNOWLEDGER(Auto_beam_engraver,stem);
-ADD_ACKNOWLEDGER(Auto_beam_engraver,bar_line);
-ADD_ACKNOWLEDGER(Auto_beam_engraver,beam);
-ADD_ACKNOWLEDGER(Auto_beam_engraver,rest);
+ADD_ACKNOWLEDGER (Auto_beam_engraver,stem);
+ADD_ACKNOWLEDGER (Auto_beam_engraver,bar_line);
+ADD_ACKNOWLEDGER (Auto_beam_engraver,beam);
+ADD_ACKNOWLEDGER (Auto_beam_engraver,rest);
ADD_TRANSLATOR (Auto_beam_engraver,
/* descr */ "Generate beams based on measure characteristics and observed "
"Stems. Uses beatLength, measureLength and measurePosition to decide "
Axis_group_interface::add_element (staffline_, e);
}
-ADD_ACKNOWLEDGER(Axis_group_engraver, grob);
+ADD_ACKNOWLEDGER (Axis_group_engraver, grob);
ADD_TRANSLATOR (Axis_group_engraver,
/* descr */ "Group all objects created in this context in a VerticalAxisGroup spanner.",
Item *text_;
protected:
void stop_translation_timestep ();
- DECLARE_ACKNOWLEDGER(break_aligned);
+ DECLARE_ACKNOWLEDGER (break_aligned);
void process_music ();
void create_items ();
TRANSLATOR_DECLARATIONS (Bar_number_engraver);
class Beam_engraver : public Engraver
{
public:
- DECLARE_ACKNOWLEDGER(stem);
- DECLARE_ACKNOWLEDGER(rest);
+ DECLARE_ACKNOWLEDGER (stem);
+ DECLARE_ACKNOWLEDGER (rest);
protected:
Music *start_ev_;
}
}
-ADD_ACKNOWLEDGER(Beam_engraver, stem);
-ADD_ACKNOWLEDGER(Beam_engraver, rest);
+ADD_ACKNOWLEDGER (Beam_engraver, stem);
+ADD_ACKNOWLEDGER (Beam_engraver, rest);
ADD_TRANSLATOR (Beam_engraver,
/* descr */ "Handles Beam events by engraving Beams. If omitted, then notes will be "
return beam_ && valid_start_point ();
}
-ADD_ACKNOWLEDGER(Grace_beam_engraver, stem);
-ADD_ACKNOWLEDGER(Grace_beam_engraver, rest);
+ADD_ACKNOWLEDGER (Grace_beam_engraver, stem);
+ADD_ACKNOWLEDGER (Grace_beam_engraver, rest);
ADD_TRANSLATOR (Grace_beam_engraver,
/* descr */ "Handles Beam events by engraving Beams. If omitted, then notes will "
"be printed with flags instead of beams. Only engraves beams when we "
virtual void derived_mark () const;
public:
TRANSLATOR_DECLARATIONS (Break_align_engraver);
- DECLARE_ACKNOWLEDGER(break_aligned);
+ DECLARE_ACKNOWLEDGER (break_aligned);
};
}
Axis_group_interface::add_element (group, item);
}
-ADD_ACKNOWLEDGER(Break_align_engraver, break_aligned);
+ADD_ACKNOWLEDGER (Break_align_engraver, break_aligned);
ADD_TRANSLATOR (Break_align_engraver,
"Align grobs with corresponding @code{break-align-symbols} into "
"groups, and order the groups according to @code{breakAlignOrder}. "
void stop_translation_timestep ();
void start_translation_timestep ();
void process_music ();
- DECLARE_ACKNOWLEDGER(stem);
+ DECLARE_ACKNOWLEDGER (stem);
};
Chord_tremolo_engraver::Chord_tremolo_engraver ()
}
-ADD_ACKNOWLEDGER(Chord_tremolo_engraver,stem);
+ADD_ACKNOWLEDGER (Chord_tremolo_engraver,stem);
ADD_TRANSLATOR (Chord_tremolo_engraver,
/* descr */ "Generates beams for tremolo repeats.",
/* creats*/ "Beam",
protected:
void stop_translation_timestep ();
void process_music ();
- DECLARE_ACKNOWLEDGER(bar_line);
+ DECLARE_ACKNOWLEDGER (bar_line);
private:
Item *clef_;
Item *octavate_;
}
}
-ADD_ACKNOWLEDGER(Clef_engraver, bar_line);
+ADD_ACKNOWLEDGER (Clef_engraver, bar_line);
ADD_TRANSLATOR (Clef_engraver,
/* descr */ "Determine and set reference point for pitches",
/* creats*/ "Clef OctavateEight",
TRANSLATOR_DECLARATIONS (Cluster_spanner_engraver);
virtual bool try_music (Music *);
void process_music ();
- DECLARE_ACKNOWLEDGER(note_column);
+ DECLARE_ACKNOWLEDGER (note_column);
void stop_translation_timestep ();
virtual void finalize ();
private:
#include "translator.icc"
-ADD_ACKNOWLEDGER(Cluster_spanner_engraver, note_column);
+ADD_ACKNOWLEDGER (Cluster_spanner_engraver, note_column);
ADD_TRANSLATOR (Cluster_spanner_engraver,
/* descr */ "Engraves a cluster using Spanner notation ",
/* creats*/ "ClusterSpanner ClusterSpannerBeacon",
#include "translator.icc"
-ADD_ACKNOWLEDGER(Coherent_ligature_engraver, note_head);
-ADD_ACKNOWLEDGER(Coherent_ligature_engraver, rest);
+ADD_ACKNOWLEDGER (Coherent_ligature_engraver, note_head);
+ADD_ACKNOWLEDGER (Coherent_ligature_engraver, rest);
ADD_TRANSLATOR (Coherent_ligature_engraver,
/* descr */ "This is an abstract class. Subclasses such as Gregorian_ligature_engraver handle ligatures by glueing special ligature heads together.",
/* creats*/ "",
Link_array<Grob> note_columns_;
protected:
- DECLARE_ACKNOWLEDGER(note_column);
+ DECLARE_ACKNOWLEDGER (note_column);
void process_acknowledged ();
void stop_translation_timestep ();
public:
#include "translator.icc"
-ADD_ACKNOWLEDGER(Collision_engraver, note_column);
+ADD_ACKNOWLEDGER (Collision_engraver, note_column);
ADD_TRANSLATOR (Collision_engraver,
/* descr */ "Collect NoteColumns, and as soon as there are two or more, put them in a NoteCollision object.",
public:
TRANSLATOR_DECLARATIONS (Custos_engraver);
void start_translation_timestep ();
- DECLARE_ACKNOWLEDGER(bar);
- DECLARE_ACKNOWLEDGER(note_head);
+ DECLARE_ACKNOWLEDGER (bar);
+ DECLARE_ACKNOWLEDGER (note_head);
void process_acknowledged ();
void stop_translation_timestep ();
virtual void finalize ();
}
-ADD_ACKNOWLEDGER(Custos_engraver,bar);
-ADD_ACKNOWLEDGER(Custos_engraver,note_head);
+ADD_ACKNOWLEDGER (Custos_engraver,bar);
+ADD_ACKNOWLEDGER (Custos_engraver,note_head);
ADD_TRANSLATOR (Custos_engraver,
/* descr */ "",
protected:
- DECLARE_ACKNOWLEDGER(stem);
- DECLARE_ACKNOWLEDGER(rhythmic_head);
+ DECLARE_ACKNOWLEDGER (stem);
+ DECLARE_ACKNOWLEDGER (rhythmic_head);
void stop_translation_timestep ();
};
stem_ = info.grob ();
}
-ADD_ACKNOWLEDGER(Dot_column_engraver, stem);
-ADD_ACKNOWLEDGER(Dot_column_engraver, rhythmic_head);
+ADD_ACKNOWLEDGER (Dot_column_engraver, stem);
+ADD_ACKNOWLEDGER (Dot_column_engraver, rhythmic_head);
ADD_TRANSLATOR (Dot_column_engraver,
/* descr */ "Engraves dots on dotted notes shifted to the right of the note.\n"
"If omitted, then dots appear on top of the notes.",
protected:
virtual bool try_music (Music *ev);
void process_music ();
- DECLARE_ACKNOWLEDGER(stem);
- DECLARE_ACKNOWLEDGER(note_column);
+ DECLARE_ACKNOWLEDGER (stem);
+ DECLARE_ACKNOWLEDGER (note_column);
void stop_translation_timestep ();
};
#include "translator.icc"
-ADD_ACKNOWLEDGER(Drum_notes_engraver, stem);
-ADD_ACKNOWLEDGER(Drum_notes_engraver,note_column);
+ADD_ACKNOWLEDGER (Drum_notes_engraver, stem);
+ADD_ACKNOWLEDGER (Drum_notes_engraver,note_column);
ADD_TRANSLATOR (Drum_notes_engraver,
/* descr */ "Generate noteheads.",
/* creats*/ "NoteHead Dots Script",
void typeset_all ();
TRANSLATOR_DECLARATIONS (Dynamic_engraver);
- DECLARE_ACKNOWLEDGER(script);
- DECLARE_ACKNOWLEDGER(note_column);
+ DECLARE_ACKNOWLEDGER (script);
+ DECLARE_ACKNOWLEDGER (note_column);
protected:
}
-ADD_ACKNOWLEDGER(Dynamic_engraver,script);
-ADD_ACKNOWLEDGER(Dynamic_engraver,note_column);
+ADD_ACKNOWLEDGER (Dynamic_engraver,script);
+ADD_ACKNOWLEDGER (Dynamic_engraver,note_column);
ADD_TRANSLATOR (Dynamic_engraver,
/* descr */
TRANSLATOR_DECLARATIONS (Extender_engraver);
protected:
- DECLARE_ACKNOWLEDGER(lyric_syllable);
+ DECLARE_ACKNOWLEDGER (lyric_syllable);
virtual void finalize ();
virtual bool try_music (Music *);
void stop_translation_timestep ();
#include "translator.icc"
-ADD_ACKNOWLEDGER(Extender_engraver,lyric_syllable);
+ADD_ACKNOWLEDGER (Extender_engraver,lyric_syllable);
ADD_TRANSLATOR (Extender_engraver,
/* descr */ "Create lyric extenders",
/* creats*/ "LyricExtender",
virtual bool try_music (Music *m);
void stop_translation_timestep ();
void process_music ();
- DECLARE_ACKNOWLEDGER(rhythmic_head);
- DECLARE_ACKNOWLEDGER(stem);
+ DECLARE_ACKNOWLEDGER (rhythmic_head);
+ DECLARE_ACKNOWLEDGER (stem);
private:
void make_script (Direction, Music *, int);
#include "translator.icc"
-ADD_ACKNOWLEDGER(Fingering_engraver,rhythmic_head);
-ADD_ACKNOWLEDGER(Fingering_engraver,stem);
+ADD_ACKNOWLEDGER (Fingering_engraver,rhythmic_head);
+ADD_ACKNOWLEDGER (Fingering_engraver,stem);
ADD_TRANSLATOR (Fingering_engraver,
/* descr */ "Create fingering-scripts",
/* creats*/ "Fingering",
TRANSLATOR_DECLARATIONS (Font_size_engraver);
protected:
- DECLARE_ACKNOWLEDGER(font);
+ DECLARE_ACKNOWLEDGER (font);
virtual void process_music ();
Real size;
private:
#include "translator.icc"
-ADD_ACKNOWLEDGER(Font_size_engraver,font);
+ADD_ACKNOWLEDGER (Font_size_engraver,font);
ADD_TRANSLATOR (Font_size_engraver,
/* descr */ "Puts fontSize into font-relative-size grob property.",
/* creats*/ "",
TRANSLATOR_DECLARATIONS (Glissando_engraver);
protected:
- DECLARE_ACKNOWLEDGER(rhythmic_head);
+ DECLARE_ACKNOWLEDGER (rhythmic_head);
virtual void finalize ();
void stop_translation_timestep ();
virtual bool try_music (Music *);
#include "translator.icc"
-ADD_ACKNOWLEDGER(Glissando_engraver,rhythmic_head);
+ADD_ACKNOWLEDGER (Glissando_engraver,rhythmic_head);
ADD_TRANSLATOR (Glissando_engraver,
/* descr */ "Engrave a glissandi",
/* creats*/ "Glissando",
#include "translator.icc"
-ADD_ACKNOWLEDGER(Gregorian_ligature_engraver, rest);
-ADD_ACKNOWLEDGER(Gregorian_ligature_engraver, note_head);
+ADD_ACKNOWLEDGER (Gregorian_ligature_engraver, rest);
+ADD_ACKNOWLEDGER (Gregorian_ligature_engraver, note_head);
ADD_TRANSLATOR (Gregorian_ligature_engraver,
/* descr */ "This is an abstract class. Subclasses such as Vaticana_ligature_engraver handle ligatures by glueing special ligature heads together.",
/* creats*/ "",
public:
TRANSLATOR_DECLARATIONS (Grid_line_span_engraver);
protected:
- DECLARE_ACKNOWLEDGER(grid_point);
+ DECLARE_ACKNOWLEDGER (grid_point);
void stop_translation_timestep ();
};
}
#include "translator.icc"
-ADD_ACKNOWLEDGER(Grid_line_span_engraver, grid_point);
+ADD_ACKNOWLEDGER (Grid_line_span_engraver, grid_point);
ADD_TRANSLATOR (Grid_line_span_engraver,
/* descr */ "This engraver makes cross-staff linelines: It catches all normal "
"line lines, and draws a single span-line across them.",
TRANSLATOR_DECLARATIONS (Grob_pq_engraver);
protected:
virtual void initialize ();
- DECLARE_ACKNOWLEDGER(grob);
+ DECLARE_ACKNOWLEDGER (grob);
void start_translation_timestep ();
void stop_translation_timestep ();
}
#include "translator.icc"
-ADD_ACKNOWLEDGER(Grob_pq_engraver, grob);
+ADD_ACKNOWLEDGER (Grob_pq_engraver, grob);
ADD_TRANSLATOR (Grob_pq_engraver,
/* descr */ "Administrate when certain grobs (eg. note heads) stop playing",
{
protected:
virtual Spanner *get_spanner ();
- DECLARE_ACKNOWLEDGER(grob);
+ DECLARE_ACKNOWLEDGER (grob);
virtual void add_element (Grob *e);
void start_translation_timestep ();
}
-ADD_ACKNOWLEDGER(Hara_kiri_engraver, grob);
+ADD_ACKNOWLEDGER (Hara_kiri_engraver, grob);
ADD_TRANSLATOR (Hara_kiri_engraver,
/* descr */ "Like Axis_group_engraver, but make a hara-kiri spanner, and add "
"interesting items (ie. note heads, lyric syllables and normal rests) ",
virtual bool try_music (Music *);
void stop_translation_timestep ();
void process_music ();
- DECLARE_ACKNOWLEDGER(note_column);
+ DECLARE_ACKNOWLEDGER (note_column);
};
-ADD_ACKNOWLEDGER(Horizontal_bracket_engraver,note_column);
+ADD_ACKNOWLEDGER (Horizontal_bracket_engraver,note_column);
ADD_TRANSLATOR (Horizontal_bracket_engraver,
"Create horizontal brackets over notes for musical analysis purposes.",
"HorizontalBracket",
TRANSLATOR_DECLARATIONS (Hyphen_engraver);
protected:
- DECLARE_ACKNOWLEDGER(lyric_syllable);
+ DECLARE_ACKNOWLEDGER (lyric_syllable);
virtual void finalize ();
virtual bool try_music (Music *);
void stop_translation_timestep ();
#include "translator.icc"
-ADD_ACKNOWLEDGER(Hyphen_engraver,lyric_syllable);
+ADD_ACKNOWLEDGER (Hyphen_engraver,lyric_syllable);
ADD_TRANSLATOR (Hyphen_engraver,
/* descr */ "Create lyric hyphens",
/* creats*/ "LyricHyphen",
Link_array<Grob> elts_;
void process_music ();
virtual void finalize ();
- DECLARE_ACKNOWLEDGER(grob);
+ DECLARE_ACKNOWLEDGER (grob);
void process_acknowledged ();
virtual Spanner *get_spanner ();
virtual void add_element (Grob *);
virtual void finalize ();
- DECLARE_ACKNOWLEDGER(rest);
- DECLARE_ACKNOWLEDGER(note_head);
+ DECLARE_ACKNOWLEDGER (rest);
+ DECLARE_ACKNOWLEDGER (note_head);
virtual bool try_music (Music *);
void process_music ();
virtual Spanner *create_ligature_spanner (); /* abstract method */
static int shift_compare (Grob *const &, Grob *const &);
static Direction dir (Grob *me);
static Grob *accidentals (Grob *me);
+ static Grob *arpeggio (Grob *me);
static Slice head_positions_interval (Grob *me);
static Direction static_dir (Grob *);
static void translate_rests (Grob *me, int dy);
virtual void finalize ();
virtual bool try_music (Music*);
- DECLARE_ACKNOWLEDGER(item);
- DECLARE_ACKNOWLEDGER(note_spacing);
- DECLARE_ACKNOWLEDGER(staff_spacing);
+ DECLARE_ACKNOWLEDGER (item);
+ DECLARE_ACKNOWLEDGER (note_spacing);
+ DECLARE_ACKNOWLEDGER (staff_spacing);
System *system_;
Music *break_event_;
void stop_translation_timestep ();
virtual bool try_music (Music *);
virtual ~Staff_symbol_engraver ();
- DECLARE_ACKNOWLEDGER(grob);
+ DECLARE_ACKNOWLEDGER (grob);
virtual void finalize ();
void process_music ();
};
virtual void create_text ();
virtual void initialize ();
- DECLARE_ACKNOWLEDGER(bar_line);
- DECLARE_ACKNOWLEDGER(axis_group);
+ DECLARE_ACKNOWLEDGER (bar_line);
+ DECLARE_ACKNOWLEDGER (axis_group);
void stop_translation_timestep ();
void process_music ();
#include "translator.icc"
-ADD_ACKNOWLEDGER(Instrument_name_engraver, bar_line);
-ADD_ACKNOWLEDGER(Instrument_name_engraver, axis_group);
+ADD_ACKNOWLEDGER (Instrument_name_engraver, bar_line);
+ADD_ACKNOWLEDGER (Instrument_name_engraver, axis_group);
ADD_TRANSLATOR (Instrument_name_engraver,
/* descr */ " Prints the name of the instrument (specified by "
" @code{Staff.instrument} and @code{Staff.instr}) "
text_->set_property ("text", txt);
}
-ADD_ACKNOWLEDGER(Vocal_name_engraver, bar_line);
-ADD_ACKNOWLEDGER(Vocal_name_engraver, axis_group);
+ADD_ACKNOWLEDGER (Vocal_name_engraver, bar_line);
+ADD_ACKNOWLEDGER (Vocal_name_engraver, axis_group);
ADD_TRANSLATOR (Vocal_name_engraver,
/* descr */ " Prints the name of the a lyric voice (specified by "
" @code{Staff.vocalName} and @code{Staff.vocNam}) "
void stop_translation_timestep ();
void process_music ();
- DECLARE_ACKNOWLEDGER(clef);
- DECLARE_ACKNOWLEDGER(bar_line);
+ DECLARE_ACKNOWLEDGER (clef);
+ DECLARE_ACKNOWLEDGER (bar_line);
};
#include "translator.icc"
-ADD_ACKNOWLEDGER(Key_engraver,clef);
-ADD_ACKNOWLEDGER(Key_engraver,bar_line);
+ADD_ACKNOWLEDGER (Key_engraver,clef);
+ADD_ACKNOWLEDGER (Key_engraver,bar_line);
ADD_TRANSLATOR (Key_engraver,
/* descr */ "",
/* creats*/ "KeySignature",
virtual void finalize ();
void process_music ();
- DECLARE_ACKNOWLEDGER(ledgered);
- DECLARE_ACKNOWLEDGER(staff_symbol);
+ DECLARE_ACKNOWLEDGER (ledgered);
+ DECLARE_ACKNOWLEDGER (staff_symbol);
void start_spanner ();
void stop_spanner ();
#include "translator.icc"
-ADD_ACKNOWLEDGER(Ledger_line_engraver,ledgered);
-ADD_ACKNOWLEDGER(Ledger_line_engraver,staff_symbol);
+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",
/* creats*/ "LedgerLineSpanner",
{
protected:
virtual Spanner *create_ligature_spanner ();
- DECLARE_ACKNOWLEDGER(rest);
- DECLARE_ACKNOWLEDGER(note_column);
+ DECLARE_ACKNOWLEDGER (rest);
+ DECLARE_ACKNOWLEDGER (note_column);
public:
TRANSLATOR_DECLARATIONS (Ligature_bracket_engraver);
};
#include "translator.icc"
-ADD_ACKNOWLEDGER(Ligature_bracket_engraver, rest);
-ADD_ACKNOWLEDGER(Ligature_bracket_engraver, note_column);
+ADD_ACKNOWLEDGER (Ligature_bracket_engraver, rest);
+ADD_ACKNOWLEDGER (Ligature_bracket_engraver, note_column);
ADD_TRANSLATOR (Ligature_bracket_engraver,
/* descr */ "Handles Ligature_events by engraving Ligature brackets.",
/* creats*/ "TupletBracket",
}
-ADD_ACKNOWLEDGER(Ligature_engraver, rest);
-ADD_ACKNOWLEDGER(Ligature_engraver, note_head);
+ADD_ACKNOWLEDGER (Ligature_engraver, rest);
+ADD_ACKNOWLEDGER (Ligature_engraver, note_head);
ADD_TRANSLATOR (Ligature_engraver,
/* descr */ "Abstract class; a concrete subclass handles Ligature_events by engraving Ligatures in a concrete style.",
/* creats */ "",
Item *text_;
protected:
void stop_translation_timestep ();
- DECLARE_ACKNOWLEDGER(bar_line);
+ DECLARE_ACKNOWLEDGER (bar_line);
void create_items (Music *);
virtual bool try_music (Music *ev);
void process_music ();
#include "translator.icc"
-ADD_ACKNOWLEDGER(Mark_engraver,bar_line);
+ADD_ACKNOWLEDGER (Mark_engraver,bar_line);
ADD_TRANSLATOR (Mark_engraver,
/* descr */ "This engraver will create RehearsalMark objects. "
"It puts them on top of all staves (which is taken from "
void process_music ();
virtual void finalize ();
- DECLARE_ACKNOWLEDGER(note_column);
+ DECLARE_ACKNOWLEDGER (note_column);
};
void
grouping_ = 0;
}
-ADD_ACKNOWLEDGER(Measure_grouping_engraver, note_column);
+ADD_ACKNOWLEDGER (Measure_grouping_engraver, note_column);
ADD_TRANSLATOR (Measure_grouping_engraver,
/* descr */ "Creates MeasureGrouping to indicate beat subdivision.",
/* creats*/ "MeasureGrouping",
#include "translator.icc"
-ADD_ACKNOWLEDGER(Mensural_ligature_engraver, rest);
-ADD_ACKNOWLEDGER(Mensural_ligature_engraver, note_head);
+ADD_ACKNOWLEDGER (Mensural_ligature_engraver, rest);
+ADD_ACKNOWLEDGER (Mensural_ligature_engraver, note_head);
ADD_TRANSLATOR (Mensural_ligature_engraver,
/* descr */ "Handles Mensural_ligature_events by glueing special ligature heads together.",
/* creats*/ "MensuralLigature",
TRANSLATOR_DECLARATIONS (New_fingering_engraver);
protected:
void stop_translation_timestep ();
- DECLARE_ACKNOWLEDGER(rhythmic_head);
- DECLARE_ACKNOWLEDGER(stem);
+ DECLARE_ACKNOWLEDGER (rhythmic_head);
+ DECLARE_ACKNOWLEDGER (stem);
void add_fingering (Grob *, Music *, Music *);
void add_script (Grob *, Music *, Music *);
void add_string (Grob *, Music *, Music *);
{
stem_ = 0;
}
-ADD_ACKNOWLEDGER(New_fingering_engraver, rhythmic_head);
-ADD_ACKNOWLEDGER(New_fingering_engraver, stem);
+ADD_ACKNOWLEDGER (New_fingering_engraver, rhythmic_head);
+ADD_ACKNOWLEDGER (New_fingering_engraver, stem);
ADD_TRANSLATOR (New_fingering_engraver,
/* descr */ "Create fingering-scripts for notes in a new chord. "
return acc;
}
+
+Grob *
+Note_column::arpeggio (Grob *me)
+{
+ return unsmob_grob (me->get_object ("arpeggio"));
+}
+
ADD_INTERFACE (Note_column, "note-column-interface",
"Stem and noteheads combined",
"arpeggio note-heads rest-collision rest horizontal-shift stem accidentals force-hshift");
-
TRANSLATOR_DECLARATIONS (Note_head_line_engraver);
protected:
- DECLARE_ACKNOWLEDGER(rhythmic_head);
+ DECLARE_ACKNOWLEDGER (rhythmic_head);
void process_acknowledged ();
void stop_translation_timestep ();
}
#include "translator.icc"
-ADD_ACKNOWLEDGER(Note_head_line_engraver, rhythmic_head);
+ADD_ACKNOWLEDGER (Note_head_line_engraver, rhythmic_head);
ADD_TRANSLATOR (Note_head_line_engraver,
/* descr */ "Engrave a line between two note heads, for example a glissando. If "
" followVoice is set, staff switches also generate a line.",
{
it = it->find_prebroken_piece (col_dir);
}
+
/*
some kind of mismatch, eg. a note column, that is behind a
linebreak.
extents[d].unite (v);
}
+
+
+ if (Grob *arpeggio = Note_column::arpeggio (it))
+ {
+ extents[d].unite (arpeggio->extent (it_col, X_AXIS));
+ }
}
}
(extents[LEFT][RIGHT] - left_head_wid[RIGHT]) / 2))
/*
- What is sticking out of the right note:
+ What is sticking out on the left side of the right note:
*/
- + (extents[RIGHT].is_empty () ? 0.0 : - extents[RIGHT][LEFT] / 2);
+ + (extents[RIGHT].is_empty ()
+ ? 0.0
+ : ((- extents[RIGHT][LEFT] / 2)
+
+ /*
+ Add that which sticks out a lot.
+ */
+ + max (0.0, -extents[RIGHT][LEFT] - (base_space - increment))));
+
+
/*
We don't do complicated stuff: (base_space - increment) is the
protected:
virtual void finalize ();
- DECLARE_ACKNOWLEDGER(note_column);
+ DECLARE_ACKNOWLEDGER (note_column);
void process_music ();
void stop_translation_timestep ();
}
#include "translator.icc"
-ADD_ACKNOWLEDGER(Ottava_spanner_engraver, note_column);
+ADD_ACKNOWLEDGER (Ottava_spanner_engraver, note_column);
ADD_TRANSLATOR (Ottava_spanner_engraver,
/* descr */ "Create a text spanner when the ottavation property changes..",
/* creats*/ "OttavaBracket",
TRANSLATOR_DECLARATIONS (Output_property_engraver);
protected:
Link_array<Music> props_;
- DECLARE_ACKNOWLEDGER(grob)
+ DECLARE_ACKNOWLEDGER (grob)
void stop_translation_timestep ();
virtual bool try_music (Music*);
}
#include "translator.icc"
-ADD_ACKNOWLEDGER(Output_property_engraver,grob)
+ADD_ACKNOWLEDGER (Output_property_engraver,grob)
ADD_TRANSLATOR (Output_property_engraver,
/* descr */ "Interpret Music of Output_property type, and apply a function "
" to any Graphic objects that satisfies the predicate.",
make_columns ();
}
-ADD_ACKNOWLEDGER(Paper_column_engraver,item);
-ADD_ACKNOWLEDGER(Paper_column_engraver,note_spacing);
-ADD_ACKNOWLEDGER(Paper_column_engraver,staff_spacing);
+ADD_ACKNOWLEDGER (Paper_column_engraver,item);
+ADD_ACKNOWLEDGER (Paper_column_engraver,note_spacing);
+ADD_ACKNOWLEDGER (Paper_column_engraver,staff_spacing);
ADD_TRANSLATOR (Paper_column_engraver,
TRANSLATOR_DECLARATIONS (Part_combine_engraver);
protected:
- DECLARE_ACKNOWLEDGER(note_head);
- DECLARE_ACKNOWLEDGER(stem);
+ DECLARE_ACKNOWLEDGER (note_head);
+ DECLARE_ACKNOWLEDGER (stem);
void process_music ();
void stop_translation_timestep ();
}
#include "translator.icc"
-ADD_ACKNOWLEDGER(Part_combine_engraver, note_head);
-ADD_ACKNOWLEDGER(Part_combine_engraver, stem);
+ADD_ACKNOWLEDGER (Part_combine_engraver, note_head);
+ADD_ACKNOWLEDGER (Part_combine_engraver, stem);
ADD_TRANSLATOR (Part_combine_engraver,
/* descr */ "Part combine engraver for orchestral scores: "
"Print markings a2, Solo, Solo II, and unisono ",
virtual bool try_music (Music *);
void acknowledge_extra_object (Grob_info);
- DECLARE_ACKNOWLEDGER(note_column);
- DECLARE_ACKNOWLEDGER(accidental);
- DECLARE_ACKNOWLEDGER(fingering);
- DECLARE_ACKNOWLEDGER(script);
- DECLARE_ACKNOWLEDGER(tie);
- DECLARE_ACKNOWLEDGER(text_script);
- DECLARE_ACKNOWLEDGER(slur);
+ DECLARE_ACKNOWLEDGER (note_column);
+ DECLARE_ACKNOWLEDGER (accidental);
+ DECLARE_ACKNOWLEDGER (fingering);
+ DECLARE_ACKNOWLEDGER (script);
+ DECLARE_ACKNOWLEDGER (tie);
+ DECLARE_ACKNOWLEDGER (text_script);
+ DECLARE_ACKNOWLEDGER (slur);
void stop_translation_timestep ();
virtual void finalize ();
#include "translator.icc"
-ADD_ACKNOWLEDGER(Phrasing_slur_engraver,note_column);
-ADD_ACKNOWLEDGER(Phrasing_slur_engraver,accidental);
-ADD_ACKNOWLEDGER(Phrasing_slur_engraver,fingering)
-ADD_ACKNOWLEDGER(Phrasing_slur_engraver,script);
-ADD_ACKNOWLEDGER(Phrasing_slur_engraver,tie);
-ADD_ACKNOWLEDGER(Phrasing_slur_engraver,text_script);
-ADD_ACKNOWLEDGER(Phrasing_slur_engraver,slur);
+ADD_ACKNOWLEDGER (Phrasing_slur_engraver,note_column);
+ADD_ACKNOWLEDGER (Phrasing_slur_engraver,accidental);
+ADD_ACKNOWLEDGER (Phrasing_slur_engraver,fingering)
+ADD_ACKNOWLEDGER (Phrasing_slur_engraver,script);
+ADD_ACKNOWLEDGER (Phrasing_slur_engraver,tie);
+ADD_ACKNOWLEDGER (Phrasing_slur_engraver,text_script);
+ADD_ACKNOWLEDGER (Phrasing_slur_engraver,slur);
ADD_TRANSLATOR (Phrasing_slur_engraver,
/* descr */ "Print phrasing slurs. Similar to @ref{Slur_engraver}",
virtual void finalize ();
virtual bool try_music (Music *);
void stop_translation_timestep ();
- DECLARE_ACKNOWLEDGER(note_column);
+ DECLARE_ACKNOWLEDGER (note_column);
void process_music ();
private:
}
#include "translator.icc"
-ADD_ACKNOWLEDGER(Piano_pedal_engraver,note_column);
+ADD_ACKNOWLEDGER (Piano_pedal_engraver,note_column);
ADD_TRANSLATOR (Piano_pedal_engraver,
/* descr */ "Engrave piano pedal symbols and brackets.",
/* creats*/ "SostenutoPedal SustainPedal UnaCordaPedal SostenutoPedalLineSpanner SustainPedalLineSpanner UnaCordaPedalLineSpanner",
{
public:
TRANSLATOR_DECLARATIONS (Pitch_squash_engraver);
- DECLARE_ACKNOWLEDGER(note_head);
+ DECLARE_ACKNOWLEDGER (note_head);
};
void
}
#include "translator.icc"
-ADD_ACKNOWLEDGER(Pitch_squash_engraver,note_head);
+ADD_ACKNOWLEDGER (Pitch_squash_engraver,note_head);
ADD_TRANSLATOR (Pitch_squash_engraver,
/* descr */
"Set the vertical position of noteheads to "
protected:
- DECLARE_ACKNOWLEDGER( note_head);
- DECLARE_ACKNOWLEDGER( dots);
- DECLARE_ACKNOWLEDGER( text_spanner);
+ DECLARE_ACKNOWLEDGER ( note_head);
+ DECLARE_ACKNOWLEDGER ( dots);
+ DECLARE_ACKNOWLEDGER ( text_spanner);
void process_music ();
virtual bool try_music (Music*);
void stop_translation_timestep ();
}
#include "translator.icc"
-ADD_ACKNOWLEDGER(Pitched_trill_engraver, note_head);
-ADD_ACKNOWLEDGER(Pitched_trill_engraver, dots);
-ADD_ACKNOWLEDGER(Pitched_trill_engraver, text_spanner);
+ADD_ACKNOWLEDGER (Pitched_trill_engraver, note_head);
+ADD_ACKNOWLEDGER (Pitched_trill_engraver, dots);
+ADD_ACKNOWLEDGER (Pitched_trill_engraver, text_spanner);
ADD_TRANSLATOR (Pitched_trill_engraver,
/* descr */ "Print the bracketed notehead after a notehead with trill.",
/* creats*/ "TrillPitchHead TrillPitchAccidental TrillPitchGroup",
int rest_count_;
Link_array<Grob> note_columns_;
protected:
- DECLARE_ACKNOWLEDGER(note_column);
+ DECLARE_ACKNOWLEDGER (note_column);
void process_acknowledged ();
void stop_translation_timestep ();
public:
#include "translator.icc"
-ADD_ACKNOWLEDGER(Rest_collision_engraver, note_column);
+ADD_ACKNOWLEDGER (Rest_collision_engraver, note_column);
ADD_TRANSLATOR (Rest_collision_engraver,
/* descr */ "Handles collisions of rests.",
/* creats*/ "RestCollision",
Grob *last_spacing_;
Grob *spacing_;
+ void add_spacing_item (Grob*);
+
TRANSLATOR_DECLARATIONS (Rhythmic_column_engraver);
protected:
-DECLARE_ACKNOWLEDGER(dot_column);
-DECLARE_ACKNOWLEDGER(stem);
-DECLARE_ACKNOWLEDGER(rhythmic_head);
+ DECLARE_ACKNOWLEDGER (dot_column);
+ DECLARE_ACKNOWLEDGER (stem);
+ DECLARE_ACKNOWLEDGER (rhythmic_head);
void process_acknowledged ();
void stop_translation_timestep ();
};
dotcol_ = 0;
}
+void
+Rhythmic_column_engraver::add_spacing_item (Grob *g)
+{
+ if (spacing_)
+ {
+ Pointer_group_interface::add_grob (spacing_,
+ ly_symbol2scm ("left-items"),
+ g);
+
+ if (last_spacing_)
+ {
+ Pointer_group_interface::add_grob (last_spacing_,
+ ly_symbol2scm ("right-items"),
+ g);
+ }
+ }
+}
void
Rhythmic_column_engraver::process_acknowledged ()
{
note_column_ = make_item ("NoteColumn", rheads_[0]->self_scm ());
spacing_ = make_item ("NoteSpacing", SCM_EOL);
- spacing_->set_object ("left-items", scm_cons (note_column_->self_scm (), SCM_EOL));
-
- if (last_spacing_)
- {
- Pointer_group_interface::add_grob (last_spacing_,
- ly_symbol2scm ("right-items"),
- note_column_);
- }
+ add_spacing_item (note_column_);
}
for (int i = 0; i < rheads_.size (); i++)
}
-ADD_ACKNOWLEDGER(Rhythmic_column_engraver,dot_column);
-ADD_ACKNOWLEDGER(Rhythmic_column_engraver,stem);
-ADD_ACKNOWLEDGER(Rhythmic_column_engraver,rhythmic_head);
+ADD_ACKNOWLEDGER (Rhythmic_column_engraver, dot_column);
+ADD_ACKNOWLEDGER (Rhythmic_column_engraver, stem);
+ADD_ACKNOWLEDGER (Rhythmic_column_engraver, rhythmic_head);
ADD_TRANSLATOR (Rhythmic_column_engraver,
/* descr */ "Generates NoteColumn, an objects that groups stems, noteheads and rests.",
public:
TRANSLATOR_DECLARATIONS (Script_column_engraver);
protected:
- DECLARE_ACKNOWLEDGER(side_position);
+ DECLARE_ACKNOWLEDGER (side_position);
void process_acknowledged ();
void stop_translation_timestep ();
};
scripts_.clear ();
}
}
-ADD_ACKNOWLEDGER(Script_column_engraver, side_position);
+ADD_ACKNOWLEDGER (Script_column_engraver, side_position);
ADD_TRANSLATOR (Script_column_engraver,
/* descr */ "",
/* creats*/ "ScriptColumn",
void stop_translation_timestep ();
void process_music ();
- DECLARE_ACKNOWLEDGER( slur);
- DECLARE_ACKNOWLEDGER( rhythmic_head);
- DECLARE_ACKNOWLEDGER( stem);
- DECLARE_ACKNOWLEDGER( note_column);
+ DECLARE_ACKNOWLEDGER ( slur);
+ DECLARE_ACKNOWLEDGER ( rhythmic_head);
+ DECLARE_ACKNOWLEDGER ( stem);
+ DECLARE_ACKNOWLEDGER ( note_column);
public:
TRANSLATOR_DECLARATIONS (Script_engraver);
#include "translator.icc"
-ADD_ACKNOWLEDGER(Script_engraver, slur);
-ADD_ACKNOWLEDGER(Script_engraver, rhythmic_head);
-ADD_ACKNOWLEDGER(Script_engraver, stem);
-ADD_ACKNOWLEDGER(Script_engraver, note_column);
+ADD_ACKNOWLEDGER (Script_engraver, slur);
+ADD_ACKNOWLEDGER (Script_engraver, rhythmic_head);
+ADD_ACKNOWLEDGER (Script_engraver, stem);
+ADD_ACKNOWLEDGER (Script_engraver, note_column);
ADD_TRANSLATOR (Script_engraver,
/* descr */ "Handles note scripted articulations.",
Spanner *sep_span_;
- DECLARE_ACKNOWLEDGER(item);
+ DECLARE_ACKNOWLEDGER (item);
void process_music ();
virtual void finalize ();
void stop_translation_timestep ();
musical_item_ = 0;
}
-ADD_ACKNOWLEDGER(Separating_line_group_engraver, item);
+ADD_ACKNOWLEDGER (Separating_line_group_engraver, item);
ADD_TRANSLATOR (Separating_line_group_engraver,
/* descr */ "Generates objects for computing spacing parameters.",
/* creats*/ "SeparationItem SeparatingGroupSpanner StaffSpacing",
protected:
virtual bool try_music (Music *);
- DECLARE_ACKNOWLEDGER(note_column);
- DECLARE_ACKNOWLEDGER(accidental);
- DECLARE_ACKNOWLEDGER(fingering);
- DECLARE_ACKNOWLEDGER(script);
- DECLARE_ACKNOWLEDGER(tie);
- DECLARE_ACKNOWLEDGER(text_script);
+ DECLARE_ACKNOWLEDGER (note_column);
+ DECLARE_ACKNOWLEDGER (accidental);
+ DECLARE_ACKNOWLEDGER (fingering);
+ DECLARE_ACKNOWLEDGER (script);
+ DECLARE_ACKNOWLEDGER (tie);
+ DECLARE_ACKNOWLEDGER (text_script);
void acknowledge_extra_object (Grob_info);
void stop_translation_timestep ();
virtual void finalize ();
#include "translator.icc"
-ADD_ACKNOWLEDGER(Slur_engraver,note_column);
-ADD_ACKNOWLEDGER(Slur_engraver,accidental);
-ADD_ACKNOWLEDGER(Slur_engraver,fingering)
-ADD_ACKNOWLEDGER(Slur_engraver,script);
-ADD_ACKNOWLEDGER(Slur_engraver,tie);
-ADD_ACKNOWLEDGER(Slur_engraver,text_script);
+ADD_ACKNOWLEDGER (Slur_engraver,note_column);
+ADD_ACKNOWLEDGER (Slur_engraver,accidental);
+ADD_ACKNOWLEDGER (Slur_engraver,fingering)
+ADD_ACKNOWLEDGER (Slur_engraver,script);
+ADD_ACKNOWLEDGER (Slur_engraver,tie);
+ADD_ACKNOWLEDGER (Slur_engraver,text_script);
ADD_TRANSLATOR (Slur_engraver,
/* descr */ "Build slurs grobs from slur events",
/* creats*/ "Slur",
TRANSLATOR_DECLARATIONS (Spacing_engraver);
protected:
- DECLARE_ACKNOWLEDGER(staff_spacing);
- DECLARE_ACKNOWLEDGER(note_spacing);
- DECLARE_ACKNOWLEDGER(rhythmic_head);
+ DECLARE_ACKNOWLEDGER (staff_spacing);
+ DECLARE_ACKNOWLEDGER (note_spacing);
+ DECLARE_ACKNOWLEDGER (rhythmic_head);
void start_translation_timestep ();
void stop_translation_timestep ();
void process_music ();
#include "translator.icc"
-ADD_ACKNOWLEDGER(Spacing_engraver,staff_spacing);
-ADD_ACKNOWLEDGER(Spacing_engraver,note_spacing);
-ADD_ACKNOWLEDGER(Spacing_engraver,rhythmic_head);
+ADD_ACKNOWLEDGER (Spacing_engraver, staff_spacing);
+ADD_ACKNOWLEDGER (Spacing_engraver, note_spacing);
+ADD_ACKNOWLEDGER (Spacing_engraver, rhythmic_head);
ADD_TRANSLATOR (Spacing_engraver,
/* descr */ "make a SpacingSpanner and do bookkeeping of shortest starting and playing notes ",
Either object can be non existent, if the score ends
prematurely.
*/
-
- rns = scm_car (unsmob_grob (rns)->get_object ("right-items"));
+
+ extract_grob_set (unsmob_grob (rns), "right-items", right_items);
c->set_object ("between-cols", scm_cons (lns,
- rns));
+ right_items[0]->self_scm ()));
/*
Set distance constraints for loose columns
if (right_rank <= min_rank)
{
if (right_rank < min_rank)
- right_neighbors = SCM_EOL;
+ rn_arr->clear ();
min_rank = right_rank;
rn_arr->add (wish);
{
public:
TRANSLATOR_DECLARATIONS (Span_arpeggio_engraver);
- DECLARE_ACKNOWLEDGER(arpeggio);
+ DECLARE_ACKNOWLEDGER (arpeggio);
protected:
void process_acknowledged ();
#include "translator.icc"
-ADD_ACKNOWLEDGER(Span_arpeggio_engraver,arpeggio);
+ADD_ACKNOWLEDGER (Span_arpeggio_engraver,arpeggio);
ADD_TRANSLATOR (Span_arpeggio_engraver,
/* descr */ "",
/* creats*/ "Arpeggio",
public:
TRANSLATOR_DECLARATIONS (Span_bar_engraver);
protected:
- DECLARE_ACKNOWLEDGER(bar_line);
+ DECLARE_ACKNOWLEDGER (bar_line);
void stop_translation_timestep ();
};
#include "translator.icc"
-ADD_ACKNOWLEDGER(Span_bar_engraver, bar_line);
+ADD_ACKNOWLEDGER (Span_bar_engraver, bar_line);
ADD_TRANSLATOR (Span_bar_engraver,
/* descr */ "This engraver makes cross-staff barlines: It catches all normal "
"bar lines, and draws a single span-bar across them.",
{
public:
TRANSLATOR_DECLARATIONS (Staff_collecting_engraver);
- DECLARE_ACKNOWLEDGER(staff_symbol);
+ DECLARE_ACKNOWLEDGER (staff_symbol);
};
Staff_collecting_engraver::Staff_collecting_engraver ()
}
#include "translator.icc"
-ADD_ACKNOWLEDGER(Staff_collecting_engraver,staff_symbol);
+ADD_ACKNOWLEDGER (Staff_collecting_engraver,staff_symbol);
ADD_TRANSLATOR (Staff_collecting_engraver,
/* descr */ "Maintain the stavesFound variable",
}
#include "translator.icc"
-ADD_ACKNOWLEDGER(Staff_symbol_engraver,grob);
+ADD_ACKNOWLEDGER (Staff_symbol_engraver,grob);
ADD_TRANSLATOR (Staff_symbol_engraver,
/* descr */ "Create the constellation of five (default) "
"staff lines.",
Link_array<Grob> lyrics_;
Link_array<Grob> stanza_numbers_;
- DECLARE_ACKNOWLEDGER(lyric_syllable);
- DECLARE_ACKNOWLEDGER(stanza_number);
+ DECLARE_ACKNOWLEDGER (lyric_syllable);
+ DECLARE_ACKNOWLEDGER (stanza_number);
void stop_translation_timestep ();
};
lyrics_.clear ();
}
-ADD_ACKNOWLEDGER(Stanza_number_align_engraver,lyric_syllable);
-ADD_ACKNOWLEDGER(Stanza_number_align_engraver,stanza_number);
+ADD_ACKNOWLEDGER (Stanza_number_align_engraver,lyric_syllable);
+ADD_ACKNOWLEDGER (Stanza_number_align_engraver,stanza_number);
ADD_TRANSLATOR (Stanza_number_align_engraver,
"This engraver ensures that stanza numbers are neatly aligned. ",
"",
TRANSLATOR_DECLARATIONS (Stanza_number_engraver);
void process_music ();
void stop_translation_timestep ();
- DECLARE_ACKNOWLEDGER(lyric_syllable);
+ DECLARE_ACKNOWLEDGER (lyric_syllable);
};
/*
#include "translator.icc"
-ADD_ACKNOWLEDGER(Stanza_number_engraver,lyric_syllable);
+ADD_ACKNOWLEDGER (Stanza_number_engraver,lyric_syllable);
ADD_TRANSLATOR (Stanza_number_engraver,
/* descr */ "",
/* creats*/ "StanzaNumber",
protected:
void make_stem (Grob_info);
- DECLARE_ACKNOWLEDGER(rhythmic_head);
+ DECLARE_ACKNOWLEDGER (rhythmic_head);
void stop_translation_timestep ();
virtual bool try_music (Music *);
};
}
#include "translator.icc"
-ADD_ACKNOWLEDGER(Stem_engraver,rhythmic_head);
+ADD_ACKNOWLEDGER (Stem_engraver,rhythmic_head);
ADD_TRANSLATOR (Stem_engraver,
/* descr */ "Create stems and single-stem tremolos. It also works together with "
"the beam engraver for overriding beaming.",
protected:
Spanner *delim_;
- DECLARE_ACKNOWLEDGER(system_start_delimiter);
- DECLARE_ACKNOWLEDGER(staff_symbol);
+ DECLARE_ACKNOWLEDGER (system_start_delimiter);
+ DECLARE_ACKNOWLEDGER (staff_symbol);
void process_music ();
virtual void finalize ();
#include "translator.icc"
-ADD_ACKNOWLEDGER(System_start_delimiter_engraver, system_start_delimiter);
-ADD_ACKNOWLEDGER(System_start_delimiter_engraver, staff_symbol);
+ADD_ACKNOWLEDGER (System_start_delimiter_engraver, system_start_delimiter);
+ADD_ACKNOWLEDGER (System_start_delimiter_engraver, staff_symbol);
ADD_TRANSLATOR (System_start_delimiter_engraver,
/* descr */ "Creates a system start delimiter (ie. SystemStart@{Bar, Brace, Bracket@} spanner",
#include "translator.icc"
-ADD_ACKNOWLEDGER(Tab_staff_symbol_engraver,grob);
+ADD_ACKNOWLEDGER (Tab_staff_symbol_engraver,grob);
ADD_TRANSLATOR (Tab_staff_symbol_engraver,
/* descr */ "Create a staff-symbol, but look at stringTunings for the number of lines."
"staff lines.",
void stop_translation_timestep ();
void process_acknowledged ();
- DECLARE_ACKNOWLEDGER(stem);
- DECLARE_ACKNOWLEDGER(rhythmic_head);
+ DECLARE_ACKNOWLEDGER (stem);
+ DECLARE_ACKNOWLEDGER (rhythmic_head);
};
bool
#include "translator.icc"
-ADD_ACKNOWLEDGER(Text_engraver, stem);
-ADD_ACKNOWLEDGER(Text_engraver, rhythmic_head);
+ADD_ACKNOWLEDGER (Text_engraver, stem);
+ADD_ACKNOWLEDGER (Text_engraver, rhythmic_head);
ADD_TRANSLATOR (Text_engraver,
/* descr */ "Create text-scripts",
/* creats*/ "TextScript",
TRANSLATOR_DECLARATIONS (Text_spanner_engraver);
protected:
virtual void finalize ();
- DECLARE_ACKNOWLEDGER(note_column);
+ DECLARE_ACKNOWLEDGER (note_column);
virtual bool try_music (Music *);
void stop_translation_timestep ();
void process_music ();
}
#include "translator.icc"
-ADD_ACKNOWLEDGER(Text_spanner_engraver,note_column);
+ADD_ACKNOWLEDGER (Text_spanner_engraver,note_column);
ADD_TRANSLATOR (Text_spanner_engraver,
/* descr */ "Create text spanner from a Music.",
/* creats*/ "TextSpanner",
void stop_translation_timestep ();
virtual void derived_mark () const;
void start_translation_timestep ();
- DECLARE_ACKNOWLEDGER(note_head);
+ DECLARE_ACKNOWLEDGER (note_head);
virtual bool try_music (Music *);
void process_music ();
void typeset_tie (Grob *);
}
#include "translator.icc"
-ADD_ACKNOWLEDGER(Tie_engraver, note_head);
+ADD_ACKNOWLEDGER (Tie_engraver, note_head);
ADD_TRANSLATOR (Tie_engraver,
/* descr */ "Generate ties between noteheads of equal pitch.",
/* creats*/ "Tie TieColumn",
TRANSLATOR_DECLARATIONS (Trill_spanner_engraver);
protected:
virtual void finalize ();
- DECLARE_ACKNOWLEDGER(note_column);
+ DECLARE_ACKNOWLEDGER (note_column);
virtual bool try_music (Music *);
void stop_translation_timestep ();
void process_music ();
span_ = 0;
}
}
-ADD_ACKNOWLEDGER(Trill_spanner_engraver,note_column);
+ADD_ACKNOWLEDGER (Trill_spanner_engraver,note_column);
ADD_TRANSLATOR (Trill_spanner_engraver,
/* descr */ "Create trill spanner from a Music.",
/* creats*/ "TrillSpanner",
protected:
Array<Tuplet_description> tuplets_;
- DECLARE_ACKNOWLEDGER(note_column);
+ DECLARE_ACKNOWLEDGER (note_column);
virtual bool try_music (Music *r);
void start_translation_timestep ();
void process_music ();
Tuplet_engraver::Tuplet_engraver ()
{
}
-ADD_ACKNOWLEDGER(Tuplet_engraver,note_column);
+ADD_ACKNOWLEDGER (Tuplet_engraver,note_column);
ADD_TRANSLATOR (Tuplet_engraver,
/* descr */ "Catch Time_scaled_music and generate appropriate bracket ",
/* creats*/ "TupletBracket",
#endif
}
-ADD_ACKNOWLEDGER(Vaticana_ligature_engraver, rest);
-ADD_ACKNOWLEDGER(Vaticana_ligature_engraver, note_head);
+ADD_ACKNOWLEDGER (Vaticana_ligature_engraver, rest);
+ADD_ACKNOWLEDGER (Vaticana_ligature_engraver, note_head);
ADD_TRANSLATOR (Vaticana_ligature_engraver,
/* descr */ "Handles ligatures by glueing special ligature heads together.",
/* creats*/ "VaticanaLigature",
public:
TRANSLATOR_DECLARATIONS (Vertical_align_engraver);
- DECLARE_ACKNOWLEDGER(axis_group);
+ DECLARE_ACKNOWLEDGER (axis_group);
protected:
virtual void derived_mark () const;
virtual void initialize ();
};
-ADD_ACKNOWLEDGER(Vertical_align_engraver, axis_group);
+ADD_ACKNOWLEDGER (Vertical_align_engraver, axis_group);
ADD_TRANSLATOR (Vertical_align_engraver,
"Catch groups (staffs, lyrics lines, etc.) and stack "
"them vertically.",
TRANSLATOR_DECLARATIONS(Vertically_spaced_contexts_engraver);
protected:
virtual void initialize ();
- DECLARE_ACKNOWLEDGER(vertically_spaceable);
+ DECLARE_ACKNOWLEDGER (vertically_spaceable);
private:
Grob *system_;
}
#include "translator.icc"
-ADD_ACKNOWLEDGER(Vertically_spaced_contexts_engraver, vertically_spaceable);
+
+ADD_ACKNOWLEDGER (Vertically_spaced_contexts_engraver, vertically_spaceable);
ADD_TRANSLATOR (Vertically_spaced_contexts_engraver,
/* descr */ "",
/* creats*/ "",
TRANSLATOR_DECLARATIONS (Volta_engraver);
protected:
- DECLARE_ACKNOWLEDGER(staff_symbol);
- DECLARE_ACKNOWLEDGER(note_column);
- DECLARE_ACKNOWLEDGER(bar_line);
+ DECLARE_ACKNOWLEDGER (staff_symbol);
+ DECLARE_ACKNOWLEDGER (note_column);
+ DECLARE_ACKNOWLEDGER (bar_line);
virtual void finalize ();
/*
TODO: should attach volta to paper-column if no bar is found.
*/
-ADD_ACKNOWLEDGER(Volta_engraver, staff_symbol);
-ADD_ACKNOWLEDGER(Volta_engraver, note_column);
-ADD_ACKNOWLEDGER(Volta_engraver, bar_line);
+ADD_ACKNOWLEDGER (Volta_engraver, staff_symbol);
+ADD_ACKNOWLEDGER (Volta_engraver, note_column);
+ADD_ACKNOWLEDGER (Volta_engraver, bar_line);
ADD_TRANSLATOR (Volta_engraver,
/* descr */ "Make volta brackets.",
/* creats*/ "VoltaBracket",