update_local_key_signature (sig);
}
-ADD_ACKNOWLEDGER (Accidental_engraver, arpeggio);
-ADD_ACKNOWLEDGER (Accidental_engraver, finger);
-ADD_ACKNOWLEDGER (Accidental_engraver, rhythmic_head);
-ADD_END_ACKNOWLEDGER (Accidental_engraver, tie);
-ADD_ACKNOWLEDGER (Accidental_engraver, note_column);
+
+void
+Accidental_engraver::boot ()
+{
+ ADD_ACKNOWLEDGER (Accidental_engraver, arpeggio);
+ ADD_ACKNOWLEDGER (Accidental_engraver, finger);
+ ADD_ACKNOWLEDGER (Accidental_engraver, rhythmic_head);
+ ADD_END_ACKNOWLEDGER (Accidental_engraver, tie);
+ ADD_ACKNOWLEDGER (Accidental_engraver, note_column);
+}
ADD_TRANSLATOR (Accidental_engraver,
/* doc */
}
}
-ADD_ACKNOWLEDGER (Ambitus_engraver, note_head);
+void
+Ambitus_engraver::boot ()
+{
+ ADD_ACKNOWLEDGER (Ambitus_engraver, note_head);
+}
+
ADD_TRANSLATOR (Ambitus_engraver,
/* doc */
"Create an ambitus.",
arpeggio_event_ = 0;
}
-IMPLEMENT_TRANSLATOR_LISTENER (Arpeggio_engraver, arpeggio);
void Arpeggio_engraver::listen_arpeggio (Stream_event *ev)
{
ASSIGN_EVENT_ONCE (arpeggio_event_, ev);
arpeggio_event_ = 0;
}
-ADD_ACKNOWLEDGER (Arpeggio_engraver, stem);
-ADD_ACKNOWLEDGER (Arpeggio_engraver, rhythmic_head);
-ADD_ACKNOWLEDGER (Arpeggio_engraver, note_column);
+
+void
+Arpeggio_engraver::boot ()
+{
+ ADD_LISTENER (Arpeggio_engraver, arpeggio);
+ ADD_ACKNOWLEDGER (Arpeggio_engraver, stem);
+ ADD_ACKNOWLEDGER (Arpeggio_engraver, rhythmic_head);
+ ADD_ACKNOWLEDGER (Arpeggio_engraver, note_column);
+}
ADD_TRANSLATOR (Arpeggio_engraver,
/* doc */
beam_settings_ = SCM_EOL;
}
-IMPLEMENT_TRANSLATOR_LISTENER (Auto_beam_engraver, beam_forbid);
void
Auto_beam_engraver::listen_beam_forbid (Stream_event *ev)
{
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, breathing_sign);
-ADD_ACKNOWLEDGER (Auto_beam_engraver, rest);
+void
+Auto_beam_engraver::boot ()
+{
+ ADD_LISTENER (Auto_beam_engraver, beam_forbid);
+ ADD_ACKNOWLEDGER (Auto_beam_engraver, stem);
+ ADD_ACKNOWLEDGER (Auto_beam_engraver, bar_line);
+ ADD_ACKNOWLEDGER (Auto_beam_engraver, beam);
+ ADD_ACKNOWLEDGER (Auto_beam_engraver, breathing_sign);
+ ADD_ACKNOWLEDGER (Auto_beam_engraver, rest);
+}
+
ADD_TRANSLATOR (Auto_beam_engraver,
/* doc */
"Generate beams based on measure characteristics and observed"
// not considered.
}
-IMPLEMENT_TRANSLATOR_LISTENER (Grace_auto_beam_engraver, beam_forbid);
void
Grace_auto_beam_engraver::listen_beam_forbid (Stream_event *ev)
{
return !test_mom.grace_part_;
}
-ADD_ACKNOWLEDGER (Grace_auto_beam_engraver, stem);
-ADD_ACKNOWLEDGER (Grace_auto_beam_engraver, bar_line);
-ADD_ACKNOWLEDGER (Grace_auto_beam_engraver, beam);
-ADD_ACKNOWLEDGER (Grace_auto_beam_engraver, breathing_sign);
-ADD_ACKNOWLEDGER (Grace_auto_beam_engraver, rest);
+void
+Grace_auto_beam_engraver::boot ()
+{
+ ADD_LISTENER (Grace_auto_beam_engraver, beam_forbid);
+ ADD_ACKNOWLEDGER (Grace_auto_beam_engraver, stem);
+ ADD_ACKNOWLEDGER (Grace_auto_beam_engraver, bar_line);
+ ADD_ACKNOWLEDGER (Grace_auto_beam_engraver, beam);
+ ADD_ACKNOWLEDGER (Grace_auto_beam_engraver, breathing_sign);
+ ADD_ACKNOWLEDGER (Grace_auto_beam_engraver, rest);
+}
+
ADD_TRANSLATOR (Grace_auto_beam_engraver,
/* doc */
"Generates one autobeam group across an entire grace phrase. "
Axis_group_interface::add_element (staffline_, e);
}
-ADD_ACKNOWLEDGER (Axis_group_engraver, grob);
+
+void
+Axis_group_engraver::boot ()
+{
+ ADD_ACKNOWLEDGER (Axis_group_engraver, grob);
+}
ADD_TRANSLATOR (Axis_group_engraver,
/* doc */
void balloonify (Grob *, Stream_event *);
};
-IMPLEMENT_TRANSLATOR_LISTENER (Balloon_engraver, annotate_output);
void
Balloon_engraver::listen_annotate_output (Stream_event *ev)
{
}
}
-ADD_ACKNOWLEDGER (Balloon_engraver, grob);
+
+void
+Balloon_engraver::boot ()
+{
+ ADD_LISTENER (Balloon_engraver, annotate_output);
+ ADD_ACKNOWLEDGER (Balloon_engraver, grob);
+}
ADD_TRANSLATOR (Balloon_engraver,
/* doc */
spanners_.push_back (dynamic_cast<Spanner *> (g));
}
-ADD_END_ACKNOWLEDGER (Bar_engraver, spanner);
+
+void
+Bar_engraver::boot ()
+{
+ ADD_END_ACKNOWLEDGER (Bar_engraver, spanner);
+}
ADD_TRANSLATOR (Bar_engraver,
/* doc */
TRANSLATOR_DECLARATIONS (Bar_number_engraver);
};
-IMPLEMENT_TRANSLATOR_LISTENER (Bar_number_engraver, alternative);
void
Bar_number_engraver::listen_alternative (Stream_event *ev)
{
text_ = make_item ("BarNumber", SCM_EOL);
}
-ADD_ACKNOWLEDGER (Bar_number_engraver, break_alignment);
+
+void
+Bar_number_engraver::boot ()
+{
+ ADD_LISTENER (Bar_number_engraver, alternative);
+ ADD_ACKNOWLEDGER (Bar_number_engraver, break_alignment);
+}
ADD_TRANSLATOR (Bar_number_engraver,
/* doc */
#include "translator.icc"
-ADD_ACKNOWLEDGER (Beam_collision_engraver, note_head);
-ADD_ACKNOWLEDGER (Beam_collision_engraver, stem);
-ADD_ACKNOWLEDGER (Beam_collision_engraver, accidental);
-ADD_ACKNOWLEDGER (Beam_collision_engraver, clef);
-ADD_ACKNOWLEDGER (Beam_collision_engraver, key_signature);
-ADD_ACKNOWLEDGER (Beam_collision_engraver, time_signature);
-ADD_ACKNOWLEDGER (Beam_collision_engraver, clef_modifier);
-ADD_ACKNOWLEDGER (Beam_collision_engraver, flag);
-ADD_ACKNOWLEDGER (Beam_collision_engraver, beam);
+
+void
+Beam_collision_engraver::boot ()
+{
+ ADD_ACKNOWLEDGER (Beam_collision_engraver, note_head);
+ ADD_ACKNOWLEDGER (Beam_collision_engraver, stem);
+ ADD_ACKNOWLEDGER (Beam_collision_engraver, accidental);
+ ADD_ACKNOWLEDGER (Beam_collision_engraver, clef);
+ ADD_ACKNOWLEDGER (Beam_collision_engraver, key_signature);
+ ADD_ACKNOWLEDGER (Beam_collision_engraver, time_signature);
+ ADD_ACKNOWLEDGER (Beam_collision_engraver, clef_modifier);
+ ADD_ACKNOWLEDGER (Beam_collision_engraver, flag);
+ ADD_ACKNOWLEDGER (Beam_collision_engraver, beam);
+}
ADD_TRANSLATOR (Beam_collision_engraver,
/* doc */
prev_start_ev_ = 0;
}
-IMPLEMENT_TRANSLATOR_LISTENER (Beam_engraver, beam);
void
Beam_engraver::listen_beam (Stream_event *ev)
{
Beam::add_stem (beam_, stem);
}
-ADD_ACKNOWLEDGER (Beam_engraver, stem);
-ADD_ACKNOWLEDGER (Beam_engraver, rest);
+
+void
+Beam_engraver::boot ()
+{
+ ADD_LISTENER (Beam_engraver, beam);
+ ADD_ACKNOWLEDGER (Beam_engraver, stem);
+ ADD_ACKNOWLEDGER (Beam_engraver, rest);
+}
ADD_TRANSLATOR (Beam_engraver,
/* doc */
/*
Ugh, C&P code.
*/
-IMPLEMENT_TRANSLATOR_LISTENER (Grace_beam_engraver, beam);
void
Grace_beam_engraver::listen_beam (Stream_event *ev)
{
stop_ev_ = ev;
}
-ADD_ACKNOWLEDGER (Grace_beam_engraver, stem);
-ADD_ACKNOWLEDGER (Grace_beam_engraver, rest);
+
+void
+Grace_beam_engraver::boot ()
+{
+ ADD_LISTENER (Grace_beam_engraver, beam);
+ ADD_ACKNOWLEDGER (Grace_beam_engraver, stem);
+ ADD_ACKNOWLEDGER (Grace_beam_engraver, rest);
+}
ADD_TRANSLATOR (Grace_beam_engraver,
/* doc */
now_stop_ev_ = 0;
}
-IMPLEMENT_TRANSLATOR_LISTENER (Beam_performer, beam);
void
Beam_performer::listen_beam (Stream_event *ev)
{
now_stop_ev_ = ev;
}
+void
+Beam_performer::boot ()
+{
+ ADD_LISTENER (Beam_performer, beam);
+}
+
ADD_TRANSLATOR (Beam_performer,
/* doc */
"",
fall_event_ = 0;
}
-IMPLEMENT_TRANSLATOR_LISTENER (Bend_engraver, bend_after);
void
Bend_engraver::listen_bend_after (Stream_event *ev)
{
}
}
-ADD_ACKNOWLEDGER (Bend_engraver, note_head);
+
+void
+Bend_engraver::boot ()
+{
+ ADD_LISTENER (Bend_engraver, bend_after);
+ ADD_ACKNOWLEDGER (Bend_engraver, note_head);
+}
ADD_TRANSLATOR (Bend_engraver,
/* doc */
Axis_group_interface::add_element (group, item);
}
-ADD_ACKNOWLEDGER (Break_align_engraver, break_aligned);
-ADD_ACKNOWLEDGER (Break_align_engraver, break_alignable);
+void
+Break_align_engraver::boot ()
+{
+ ADD_ACKNOWLEDGER (Break_align_engraver, break_aligned);
+ ADD_ACKNOWLEDGER (Break_align_engraver, break_alignable);
+}
+
ADD_TRANSLATOR (Break_align_engraver,
/* doc */
"Align grobs with corresponding @code{break-align-symbols}"
breathing_sign_event_ = 0;
}
-IMPLEMENT_TRANSLATOR_LISTENER (Breathing_sign_engraver, breathing);
void
Breathing_sign_engraver::listen_breathing (Stream_event *ev)
{
breathing_sign_event_ = 0;
}
+void
+Breathing_sign_engraver::boot ()
+{
+ ADD_LISTENER (Breathing_sign_engraver, breathing);
+}
+
ADD_TRANSLATOR (Breathing_sign_engraver,
/* doc */
"Create a breathing sign.",
context ()->set_property ("lastChord", markup);
}
-IMPLEMENT_TRANSLATOR_LISTENER (Chord_name_engraver, note);
void
Chord_name_engraver::listen_note (Stream_event *ev)
{
notes_.push_back (ev);
}
-IMPLEMENT_TRANSLATOR_LISTENER (Chord_name_engraver, rest);
void
Chord_name_engraver::listen_rest (Stream_event *ev)
{
The READs description is not strictly accurate:
which properties are read depend on the chord naming function active.
*/
+void
+Chord_name_engraver::boot ()
+{
+ ADD_LISTENER (Chord_name_engraver, note);
+ ADD_LISTENER (Chord_name_engraver, rest);
+}
+
ADD_TRANSLATOR (Chord_name_engraver,
/* doc */
"Catch note and rest events and generate the appropriate chordname.",
previous_stem_ = 0;
}
-IMPLEMENT_TRANSLATOR_LISTENER (Chord_tremolo_engraver, tremolo_span);
void
Chord_tremolo_engraver::listen_tremolo_span (Stream_event *ev)
{
}
}
-ADD_ACKNOWLEDGER (Chord_tremolo_engraver, stem);
+void
+Chord_tremolo_engraver::boot ()
+{
+ ADD_LISTENER (Chord_tremolo_engraver, tremolo_span);
+ ADD_ACKNOWLEDGER (Chord_tremolo_engraver, stem);
+}
+
ADD_TRANSLATOR (Chord_tremolo_engraver,
/* doc */
"Generate beams for tremolo repeats.",
}
}
-ADD_ACKNOWLEDGER (Clef_engraver, bar_line);
+void
+Clef_engraver::boot ()
+{
+ ADD_ACKNOWLEDGER (Clef_engraver, bar_line);
+}
+
ADD_TRANSLATOR (Clef_engraver,
/* doc */
"Determine and set reference point for pitches.",
beacon_ = 0;
}
-IMPLEMENT_TRANSLATOR_LISTENER (Cluster_spanner_engraver, cluster_note);
void
Cluster_spanner_engraver::listen_cluster_note (Stream_event *ev)
{
}
}
-ADD_ACKNOWLEDGER (Cluster_spanner_engraver, note_column);
+void
+Cluster_spanner_engraver::boot ()
+{
+ ADD_LISTENER (Cluster_spanner_engraver, cluster_note);
+ ADD_ACKNOWLEDGER (Cluster_spanner_engraver, note_column);
+}
+
ADD_TRANSLATOR (Cluster_spanner_engraver,
/* doc */
"Engrave a cluster using @code{Spanner} notation.",
col_ = 0;
}
-ADD_ACKNOWLEDGER (Collision_engraver, note_column);
+
+void
+Collision_engraver::boot ()
+{
+ ADD_ACKNOWLEDGER (Collision_engraver, note_column);
+}
ADD_TRANSLATOR (Collision_engraver,
/* doc */
is_first_ = false;
}
-IMPLEMENT_TRANSLATOR_LISTENER (Completion_heads_engraver, note);
void
Completion_heads_engraver::listen_note (Stream_event *ev)
{
tie_column_ = 0;
}
+void
+Completion_heads_engraver::boot ()
+{
+ ADD_LISTENER (Completion_heads_engraver, note);
+}
+
ADD_TRANSLATOR (Completion_heads_engraver,
/* doc */
"This engraver replaces @code{Note_heads_engraver}. It plays"
is_first_ = false;
}
-IMPLEMENT_TRANSLATOR_LISTENER (Completion_rest_engraver, rest);
void
Completion_rest_engraver::listen_rest (Stream_event *ev)
{
{
}
+void
+Completion_rest_engraver::boot ()
+{
+ ADD_LISTENER (Completion_rest_engraver, rest);
+}
+
ADD_TRANSLATOR (Completion_rest_engraver,
/* doc */
"This engraver replaces @code{Rest_engraver}. It plays"
hairpins_hanging_out_.resize (0);
}
-ADD_ACKNOWLEDGER (Concurrent_hairpin_engraver, hairpin);
-ADD_END_ACKNOWLEDGER (Concurrent_hairpin_engraver, hairpin);
+
+void
+Concurrent_hairpin_engraver::boot ()
+{
+ ADD_ACKNOWLEDGER (Concurrent_hairpin_engraver, hairpin);
+ ADD_END_ACKNOWLEDGER (Concurrent_hairpin_engraver, hairpin);
+}
ADD_TRANSLATOR (Concurrent_hairpin_engraver,
/* doc */
add_text (Audio_text::TEXT, id_string);
}
+void
+Control_track_performer::boot ()
+{
+
+}
+
ADD_TRANSLATOR (Control_track_performer,
/* doc */
"",
}
}
-ADD_ACKNOWLEDGER (Cue_clef_engraver, bar_line);
+void
+Cue_clef_engraver::boot ()
+{
+ ADD_ACKNOWLEDGER (Cue_clef_engraver, bar_line);
+}
+
ADD_TRANSLATOR (Cue_clef_engraver,
/* doc */
"Determine and set reference point for pitches in cued voices.",
custodes_.clear ();
}
-ADD_ACKNOWLEDGER (Custos_engraver, bar);
-ADD_ACKNOWLEDGER (Custos_engraver, note_head);
+
+void
+Custos_engraver::boot ()
+{
+ ADD_ACKNOWLEDGER (Custos_engraver, bar);
+ ADD_ACKNOWLEDGER (Custos_engraver, note_head);
+}
ADD_TRANSLATOR (Custos_engraver,
/* doc */
#include "translator.icc"
+void
+Default_bar_line_engraver::boot ()
+{
+
+}
+
ADD_TRANSLATOR (Default_bar_line_engraver,
/* doc */
"This engraver determines what kind of automatic bar lines"
}
}
-ADD_ACKNOWLEDGER (Dot_column_engraver, rhythmic_head);
+void
+Dot_column_engraver::boot ()
+{
+ ADD_ACKNOWLEDGER (Dot_column_engraver, rhythmic_head);
+}
+
ADD_TRANSLATOR (Dot_column_engraver,
/* doc */
"Engrave dots on dotted notes shifted to the right of the"
}
}
-ADD_ACKNOWLEDGER (Dots_engraver, rhythmic_head);
+
+void
+Dots_engraver::boot ()
+{
+ ADD_ACKNOWLEDGER (Dots_engraver, rhythmic_head);
+}
ADD_TRANSLATOR (Dots_engraver,
"Create @ref{Dots} objects for"
percent_event_ = 0;
}
-IMPLEMENT_TRANSLATOR_LISTENER (Double_percent_repeat_engraver, double_percent);
void
Double_percent_repeat_engraver::listen_double_percent (Stream_event *ev)
{
}
}
+void
+Double_percent_repeat_engraver::boot ()
+{
+ ADD_LISTENER (Double_percent_repeat_engraver, double_percent);
+}
+
ADD_TRANSLATOR (Double_percent_repeat_engraver,
/* doc */
"Make double measure repeats.",
{
}
-IMPLEMENT_TRANSLATOR_LISTENER (Drum_notes_engraver, note);
void
Drum_notes_engraver::listen_note (Stream_event *ev)
{
events_.clear ();
}
-ADD_ACKNOWLEDGER (Drum_notes_engraver, stem);
-ADD_ACKNOWLEDGER (Drum_notes_engraver, note_column);
+
+void
+Drum_notes_engraver::boot ()
+{
+ ADD_LISTENER (Drum_notes_engraver, note);
+ ADD_ACKNOWLEDGER (Drum_notes_engraver, stem);
+ ADD_ACKNOWLEDGER (Drum_notes_engraver, note_column);
+}
ADD_TRANSLATOR (Drum_notes_engraver,
/* doc */
note_evs_.clear ();
}
-IMPLEMENT_TRANSLATOR_LISTENER (Drum_note_performer, note);
void
Drum_note_performer::listen_note (Stream_event *ev)
{
note_evs_.push_back (ev);
}
+void
+Drum_note_performer::boot ()
+{
+ ADD_LISTENER (Drum_note_performer, note);
+}
+
ADD_TRANSLATOR (Drum_note_performer,
/* doc */
"Play drum notes.",
current_dynamic_spanner_ = 0;
}
-ADD_ACKNOWLEDGER (Dynamic_align_engraver, dynamic);
-ADD_ACKNOWLEDGER (Dynamic_align_engraver, rhythmic_head);
-ADD_ACKNOWLEDGER (Dynamic_align_engraver, stem);
-ADD_ACKNOWLEDGER (Dynamic_align_engraver, footnote_spanner);
-ADD_END_ACKNOWLEDGER (Dynamic_align_engraver, dynamic);
void
Dynamic_align_engraver::create_line_spanner (Grob *cause)
support_.clear ();
}
+void
+Dynamic_align_engraver::boot ()
+{
+ ADD_ACKNOWLEDGER (Dynamic_align_engraver, dynamic);
+ ADD_ACKNOWLEDGER (Dynamic_align_engraver, rhythmic_head);
+ ADD_ACKNOWLEDGER (Dynamic_align_engraver, stem);
+ ADD_ACKNOWLEDGER (Dynamic_align_engraver, footnote_spanner);
+ ADD_END_ACKNOWLEDGER (Dynamic_align_engraver, dynamic);
+}
+
ADD_TRANSLATOR (Dynamic_align_engraver,
/* doc */
"Align hairpins and dynamic texts on a horizontal line.",
end_new_spanner_ = false;
}
-IMPLEMENT_TRANSLATOR_LISTENER (Dynamic_engraver, absolute_dynamic);
void
Dynamic_engraver::listen_absolute_dynamic (Stream_event *ev)
{
ASSIGN_EVENT_ONCE (script_event_, ev);
}
-IMPLEMENT_TRANSLATOR_LISTENER (Dynamic_engraver, span_dynamic);
void
Dynamic_engraver::listen_span_dynamic (Stream_event *ev)
{
ASSIGN_EVENT_ONCE (accepted_spanevents_drul_[d], ev);
}
-IMPLEMENT_TRANSLATOR_LISTENER (Dynamic_engraver, break_span);
void
Dynamic_engraver::listen_break_span (Stream_event *event)
{
finished_spanner_->set_bound (RIGHT, info.grob ());
}
-ADD_ACKNOWLEDGER (Dynamic_engraver, note_column);
+void
+Dynamic_engraver::boot ()
+{
+ ADD_LISTENER (Dynamic_engraver, absolute_dynamic);
+ ADD_LISTENER (Dynamic_engraver, span_dynamic);
+ ADD_LISTENER (Dynamic_engraver, break_span);
+ ADD_ACKNOWLEDGER (Dynamic_engraver, note_column);
+}
+
ADD_TRANSLATOR (Dynamic_engraver,
/* doc */
"Create hairpins, dynamic texts and dynamic text spanners.",
= span_events_[RIGHT] = 0;
}
-IMPLEMENT_TRANSLATOR_LISTENER (Dynamic_performer, decrescendo);
void
Dynamic_performer::listen_decrescendo (Stream_event *r)
{
grow_dir_[d] = SMALLER;
}
-IMPLEMENT_TRANSLATOR_LISTENER (Dynamic_performer, crescendo);
void
Dynamic_performer::listen_crescendo (Stream_event *r)
{
grow_dir_[d] = BIGGER;
}
-IMPLEMENT_TRANSLATOR_LISTENER (Dynamic_performer, absolute_dynamic);
void
Dynamic_performer::listen_absolute_dynamic (Stream_event *r)
{
script_event_ = r;
}
+void
+Dynamic_performer::boot ()
+{
+ ADD_LISTENER (Dynamic_performer, decrescendo);
+ ADD_LISTENER (Dynamic_performer, crescendo);
+ ADD_LISTENER (Dynamic_performer, absolute_dynamic);
+}
+
ADD_TRANSLATOR (Dynamic_performer,
/* doc */
"",
event_drul_.set (0, 0);
}
-IMPLEMENT_TRANSLATOR_LISTENER (Episema_engraver, episema);
void
Episema_engraver::listen_episema (Stream_event *ev)
{
}
}
-ADD_ACKNOWLEDGER (Episema_engraver, note_column);
-ADD_ACKNOWLEDGER (Episema_engraver, note_head);
+
+void
+Episema_engraver::boot ()
+{
+ ADD_LISTENER (Episema_engraver, episema);
+ ADD_ACKNOWLEDGER (Episema_engraver, note_column);
+ ADD_ACKNOWLEDGER (Episema_engraver, note_head);
+}
ADD_TRANSLATOR (Episema_engraver,
/* doc */
ev_ = 0;
}
-IMPLEMENT_TRANSLATOR_LISTENER (Extender_engraver, extender);
void
Extender_engraver::listen_extender (Stream_event *ev)
{
end before the associated voice (this prevents the right bound being extended
to the next note-column if no lyric follows the extender)
*/
-IMPLEMENT_TRANSLATOR_LISTENER (Extender_engraver, completize_extender);
void
Extender_engraver::listen_completize_extender (Stream_event * /* ev */)
{
}
}
-ADD_ACKNOWLEDGER (Extender_engraver, lyric_syllable);
+void
+Extender_engraver::boot ()
+{
+ ADD_LISTENER (Extender_engraver, extender);
+ ADD_LISTENER (Extender_engraver, completize_extender);
+ ADD_ACKNOWLEDGER (Extender_engraver, lyric_syllable);
+}
+
ADD_TRANSLATOR (Extender_engraver,
/* doc */
"Create lyric extenders.",
clear_spanners ();
}
-IMPLEMENT_TRANSLATOR_LISTENER (Figured_bass_engraver, rest);
void
Figured_bass_engraver::listen_rest (Stream_event *)
{
have_rest_ = true;
}
-IMPLEMENT_TRANSLATOR_LISTENER (Figured_bass_engraver, bass_figure);
void
Figured_bass_engraver::listen_bass_figure (Stream_event *ev)
{
}
}
+void
+Figured_bass_engraver::boot ()
+{
+ ADD_LISTENER (Figured_bass_engraver, rest);
+ ADD_LISTENER (Figured_bass_engraver, bass_figure);
+}
+
ADD_TRANSLATOR (Figured_bass_engraver,
/* doc */
"Make figured bass numbers.",
start_spanner ();
}
-ADD_ACKNOWLEDGER (Figured_bass_position_engraver, note_column);
-ADD_ACKNOWLEDGER (Figured_bass_position_engraver, slur);
-ADD_END_ACKNOWLEDGER (Figured_bass_position_engraver, slur);
-ADD_END_ACKNOWLEDGER (Figured_bass_position_engraver, tie);
-ADD_ACKNOWLEDGER (Figured_bass_position_engraver, bass_figure_alignment);
-ADD_END_ACKNOWLEDGER (Figured_bass_position_engraver, bass_figure_alignment);
+
+void
+Figured_bass_position_engraver::boot ()
+{
+ ADD_ACKNOWLEDGER (Figured_bass_position_engraver, note_column);
+ ADD_ACKNOWLEDGER (Figured_bass_position_engraver, slur);
+ ADD_END_ACKNOWLEDGER (Figured_bass_position_engraver, slur);
+ ADD_END_ACKNOWLEDGER (Figured_bass_position_engraver, tie);
+ ADD_ACKNOWLEDGER (Figured_bass_position_engraver, bass_figure_alignment);
+ ADD_END_ACKNOWLEDGER (Figured_bass_position_engraver, bass_figure_alignment);
+}
ADD_TRANSLATOR (Figured_bass_position_engraver,
/* doc */
}
}
-ADD_ACKNOWLEDGER (Fingering_column_engraver, finger);
+void
+Fingering_column_engraver::boot ()
+{
+ ADD_ACKNOWLEDGER (Fingering_column_engraver, finger);
+}
+
ADD_TRANSLATOR (Fingering_column_engraver,
/* doc */
"Find potentially colliding scripts and put them into a"
void make_script (Direction, Stream_event *, int);
};
-IMPLEMENT_TRANSLATOR_LISTENER (Fingering_engraver, fingering);
void
Fingering_engraver::listen_fingering (Stream_event *ev)
{
{
}
-ADD_ACKNOWLEDGER (Fingering_engraver, rhythmic_head);
-ADD_ACKNOWLEDGER (Fingering_engraver, stem);
-ADD_ACKNOWLEDGER (Fingering_engraver, flag);
+
+void
+Fingering_engraver::boot ()
+{
+ ADD_LISTENER (Fingering_engraver, fingering);
+ ADD_ACKNOWLEDGER (Fingering_engraver, rhythmic_head);
+ ADD_ACKNOWLEDGER (Fingering_engraver, stem);
+ ADD_ACKNOWLEDGER (Fingering_engraver, flag);
+}
ADD_TRANSLATOR (Fingering_engraver,
/* doc */
#include "translator.icc"
-ADD_ACKNOWLEDGER (Font_size_engraver, font);
+void
+Font_size_engraver::boot ()
+{
+ ADD_ACKNOWLEDGER (Font_size_engraver, font);
+}
+
ADD_TRANSLATOR (Font_size_engraver,
/* doc */
"Put @code{fontSize} into @code{font-size} grob property.",
}
}
-ADD_ACKNOWLEDGER (Footnote_engraver, grob);
-ADD_END_ACKNOWLEDGER (Footnote_engraver, grob);
+
+void
+Footnote_engraver::boot ()
+{
+ ADD_ACKNOWLEDGER (Footnote_engraver, grob);
+ ADD_END_ACKNOWLEDGER (Footnote_engraver, grob);
+}
ADD_TRANSLATOR (Footnote_engraver,
/* doc */
}
}
+void
+Forbid_line_break_engraver::boot ()
+{
+
+}
+
ADD_TRANSLATOR (Forbid_line_break_engraver,
/* doc */
"Forbid line breaks when note heads are still playing at some"
last_placements_ = SCM_BOOL_F;
}
-IMPLEMENT_TRANSLATOR_LISTENER (Fretboard_engraver, note);
void
Fretboard_engraver::listen_note (Stream_event *ev)
{
note_events_.push_back (ev);
}
-IMPLEMENT_TRANSLATOR_LISTENER (Fretboard_engraver, string_number);
void
Fretboard_engraver::listen_string_number (Stream_event *ev)
{
tabstring_events_.push_back (ev);
}
-IMPLEMENT_TRANSLATOR_LISTENER (Fretboard_engraver, fingering);
void
Fretboard_engraver::listen_fingering (Stream_event *ev)
{
fingering_events_.clear ();
}
+void
+Fretboard_engraver::boot ()
+{
+ ADD_LISTENER (Fretboard_engraver, note);
+ ADD_LISTENER (Fretboard_engraver, string_number);
+ ADD_LISTENER (Fretboard_engraver, fingering);
+}
+
ADD_TRANSLATOR (Fretboard_engraver,
/* doc */
"Generate fret diagram from one or more events of type"
stop_glissandi_ = false;
}
-IMPLEMENT_TRANSLATOR_LISTENER (Glissando_engraver, glissando);
void
Glissando_engraver::listen_glissando (Stream_event *ev)
{
kill_me_[i]->suicide ();
}
-ADD_ACKNOWLEDGER (Glissando_engraver, note_column);
+void
+Glissando_engraver::boot ()
+{
+ ADD_LISTENER (Glissando_engraver, glissando);
+ ADD_ACKNOWLEDGER (Glissando_engraver, note_column);
+}
+
ADD_TRANSLATOR (Glissando_engraver,
/* doc */
"Engrave glissandi.",
Engraver::derived_mark ();
}
+void
+Grace_engraver::boot ()
+{
+
+}
+
ADD_TRANSLATOR (Grace_engraver,
/* doc */
"Set font size and other properties for grace notes.",
grace_spacing_ = 0;
}
+void
+Grace_spacing_engraver::boot ()
+{
+
+}
+
ADD_TRANSLATOR (Grace_spacing_engraver,
"Bookkeeping of shortest starting and playing notes in grace"
" note runs.",
lines_.resize (0);
}
-ADD_ACKNOWLEDGER (Grid_line_span_engraver, grid_point);
+void
+Grid_line_span_engraver::boot ()
+{
+ ADD_ACKNOWLEDGER (Grid_line_span_engraver, grid_point);
+}
+
ADD_TRANSLATOR (Grid_line_span_engraver,
/* doc */
"This engraver makes cross-staff lines: It catches all normal"
{
}
+void
+Grid_point_engraver::boot ()
+{
+
+}
+
ADD_TRANSLATOR (Grid_point_engraver,
/* doc */
"Generate grid points.",
context ()->set_property ("busyGrobs", busy);
}
-ADD_ACKNOWLEDGER (Grob_pq_engraver, grob);
+void
+Grob_pq_engraver::boot ()
+{
+ ADD_ACKNOWLEDGER (Grob_pq_engraver, grob);
+}
+
ADD_TRANSLATOR (Grob_pq_engraver,
/* doc */
"Administrate when certain grobs (e.g., note heads) stop"
push_count_ = 0;
}
-IMPLEMENT_TRANSLATOR_LISTENER (Horizontal_bracket_engraver, note_grouping);
void
Horizontal_bracket_engraver::listen_note_grouping (Stream_event *ev)
{
events_.clear ();
}
-ADD_ACKNOWLEDGER (Horizontal_bracket_engraver, note_column);
+void
+Horizontal_bracket_engraver::boot ()
+{
+ ADD_LISTENER (Horizontal_bracket_engraver, note_grouping);
+ ADD_ACKNOWLEDGER (Horizontal_bracket_engraver, note_column);
+}
+
ADD_TRANSLATOR (Horizontal_bracket_engraver,
/* doc */
"Create horizontal brackets over notes for musical analysis"
finished_hyphen_->set_bound (RIGHT, item);
}
-IMPLEMENT_TRANSLATOR_LISTENER (Hyphen_engraver, hyphen);
void
Hyphen_engraver::listen_hyphen (Stream_event *ev)
{
ev_ = 0;
}
-ADD_ACKNOWLEDGER (Hyphen_engraver, lyric_syllable);
+
+void
+Hyphen_engraver::boot ()
+{
+ ADD_LISTENER (Hyphen_engraver, hyphen);
+ ADD_ACKNOWLEDGER (Hyphen_engraver, lyric_syllable);
+}
ADD_TRANSLATOR (Hyphen_engraver,
/* doc */
text_spanner_ = 0;
}
-ADD_ACKNOWLEDGER (Instrument_name_engraver, axis_group);
+
+void
+Instrument_name_engraver::boot ()
+{
+ ADD_ACKNOWLEDGER (Instrument_name_engraver, axis_group);
+}
ADD_TRANSLATOR (Instrument_name_engraver,
/* doc */
text_ = 0;
}
+void
+Instrument_switch_engraver::boot ()
+{
+
+}
+
ADD_TRANSLATOR (Instrument_switch_engraver,
/* doc */
"Create a cue text for taking instrument.",
}
}
-ADD_ACKNOWLEDGER (Keep_alive_together_engraver, hara_kiri_group_spanner);
+
+void
+Keep_alive_together_engraver::boot ()
+{
+ ADD_ACKNOWLEDGER (Keep_alive_together_engraver, hara_kiri_group_spanner);
+}
ADD_TRANSLATOR (Keep_alive_together_engraver,
/* doc */
}
}
-IMPLEMENT_TRANSLATOR_LISTENER (Key_engraver, key_change);
void
Key_engraver::listen_key_change (Stream_event *ev)
{
context ()->set_property ("tonic", p.smobbed_copy ());
}
-ADD_ACKNOWLEDGER (Key_engraver, clef);
-ADD_ACKNOWLEDGER (Key_engraver, bar_line);
+
+void
+Key_engraver::boot ()
+{
+ ADD_LISTENER (Key_engraver, key_change);
+ ADD_ACKNOWLEDGER (Key_engraver, clef);
+ ADD_ACKNOWLEDGER (Key_engraver, bar_line);
+}
ADD_TRANSLATOR (Key_engraver,
/* doc */
}
}
-IMPLEMENT_TRANSLATOR_LISTENER (Key_performer, key_change);
void
Key_performer::listen_key_change (Stream_event *ev)
{
key_ev_ = ev;
}
+void
+Key_performer::boot ()
+{
+ ADD_LISTENER (Key_performer, key_change);
+}
+
ADD_TRANSLATOR (Key_performer,
/* doc */
"",
void fold_up_primitives (vector<Grob_info> const &primitives, Real padding, Real &min_length);
};
-IMPLEMENT_TRANSLATOR_LISTENER (Kievan_ligature_engraver, ligature);
void
Kievan_ligature_engraver::listen_ligature (Stream_event *ev)
{
}
-ADD_ACKNOWLEDGER (Kievan_ligature_engraver, rest);
-ADD_ACKNOWLEDGER (Kievan_ligature_engraver, ligature_head);
+
+void
+Kievan_ligature_engraver::boot ()
+{
+ ADD_LISTENER (Kievan_ligature_engraver, ligature);
+ ADD_ACKNOWLEDGER (Kievan_ligature_engraver, rest);
+ ADD_ACKNOWLEDGER (Kievan_ligature_engraver, ligature_head);
+}
ADD_TRANSLATOR (Kievan_ligature_engraver,
/* doc */
lv_ties_.clear ();
}
-IMPLEMENT_TRANSLATOR_LISTENER (Laissez_vibrer_engraver, laissez_vibrer);
void
Laissez_vibrer_engraver::listen_laissez_vibrer (Stream_event *ev)
{
lv_ties_.push_back (lv_tie);
}
-ADD_ACKNOWLEDGER (Laissez_vibrer_engraver, note_head);
+void
+Laissez_vibrer_engraver::boot ()
+{
+ ADD_LISTENER (Laissez_vibrer_engraver, laissez_vibrer);
+ ADD_ACKNOWLEDGER (Laissez_vibrer_engraver, note_head);
+}
+
ADD_TRANSLATOR (Laissez_vibrer_engraver,
/* doc */
"Create laissez vibrer items.",
ledgered_grobs_.push_back (s.grob ());
}
-ADD_ACKNOWLEDGER (Ledger_line_engraver, ledgered);
-ADD_ACKNOWLEDGER (Ledger_line_engraver, staff_symbol);
+void
+Ledger_line_engraver::boot ()
+{
+ ADD_ACKNOWLEDGER (Ledger_line_engraver, ledgered);
+ ADD_ACKNOWLEDGER (Ledger_line_engraver, staff_symbol);
+}
+
ADD_TRANSLATOR (Ledger_line_engraver,
/* doc */
"Create the spanner to draw ledger lines, and notices"
Stream_event *previous_start_event_;
};
-IMPLEMENT_TRANSLATOR_LISTENER (Ligature_bracket_engraver, ligature);
void
Ligature_bracket_engraver::listen_ligature (Stream_event *ev)
{
finished_ligature_ = 0;
}
-ADD_ACKNOWLEDGER (Ligature_bracket_engraver, rest);
-ADD_ACKNOWLEDGER (Ligature_bracket_engraver, note_column);
+
+void
+Ligature_bracket_engraver::boot ()
+{
+ ADD_LISTENER (Ligature_bracket_engraver, ligature);
+ ADD_ACKNOWLEDGER (Ligature_bracket_engraver, rest);
+ ADD_ACKNOWLEDGER (Ligature_bracket_engraver, note_column);
+}
ADD_TRANSLATOR (Ligature_bracket_engraver,
/* doc */
event_ = 0;
}
-IMPLEMENT_TRANSLATOR_LISTENER (Lyric_engraver, lyric);
void
Lyric_engraver::listen_lyric (Stream_event *ev)
{
event_ = 0;
}
+void
+Lyric_engraver::boot ()
+{
+ ADD_LISTENER (Lyric_engraver, lyric);
+}
+
ADD_TRANSLATOR (Lyric_engraver,
/* doc */
"Engrave text for lyrics.",
events_.clear ();
}
-IMPLEMENT_TRANSLATOR_LISTENER (Lyric_performer, lyric);
void
Lyric_performer::listen_lyric (Stream_event *event)
{
events_.push_back (event);
}
+void
+Lyric_performer::boot ()
+{
+ ADD_LISTENER (Lyric_performer, lyric);
+}
+
ADD_TRANSLATOR (Lyric_performer,
/* doc */
"",
text_ = make_item ("RehearsalMark", ev->self_scm ());
}
-IMPLEMENT_TRANSLATOR_LISTENER (Mark_engraver, mark);
void
Mark_engraver::listen_mark (Stream_event *ev)
{
}
}
-ADD_ACKNOWLEDGER (Mark_engraver, break_alignment);
+
+void
+Mark_engraver::boot ()
+{
+ ADD_LISTENER (Mark_engraver, mark);
+ ADD_ACKNOWLEDGER (Mark_engraver, break_alignment);
+}
ADD_TRANSLATOR (Mark_engraver,
/* doc */
grouping_ = 0;
}
-ADD_ACKNOWLEDGER (Measure_grouping_engraver, note_column);
+void
+Measure_grouping_engraver::boot ()
+{
+ ADD_ACKNOWLEDGER (Measure_grouping_engraver, note_column);
+}
+
ADD_TRANSLATOR (Measure_grouping_engraver,
/* doc */
"Create @code{MeasureGrouping} to indicate beat subdivision.",
#include "translator.icc"
-ADD_ACKNOWLEDGER (Melody_engraver, stem);
-ADD_ACKNOWLEDGER (Melody_engraver, slur);
+
+void
+Melody_engraver::boot ()
+{
+ ADD_ACKNOWLEDGER (Melody_engraver, stem);
+ ADD_ACKNOWLEDGER (Melody_engraver, slur);
+}
ADD_TRANSLATOR (Melody_engraver,
/* doc */
Real &min_length);
};
-IMPLEMENT_TRANSLATOR_LISTENER (Mensural_ligature_engraver, ligature);
void
Mensural_ligature_engraver::listen_ligature (Stream_event *ev)
{
ligature->set_property ("minimum-length", scm_from_double (min_length));
}
-ADD_ACKNOWLEDGER (Mensural_ligature_engraver, rest);
-ADD_ACKNOWLEDGER (Mensural_ligature_engraver, ligature_head);
+
+void
+Mensural_ligature_engraver::boot ()
+{
+ ADD_LISTENER (Mensural_ligature_engraver, ligature);
+ ADD_ACKNOWLEDGER (Mensural_ligature_engraver, rest);
+ ADD_ACKNOWLEDGER (Mensural_ligature_engraver, ligature_head);
+}
ADD_TRANSLATOR (Mensural_ligature_engraver,
/* doc */
tempo_ev_ = 0;
}
-IMPLEMENT_TRANSLATOR_LISTENER (Metronome_mark_engraver, tempo_change);
void
Metronome_mark_engraver::listen_tempo_change (Stream_event *ev)
{
}
}
-ADD_ACKNOWLEDGER (Metronome_mark_engraver, break_aligned);
-ADD_ACKNOWLEDGER (Metronome_mark_engraver, break_alignment);
-ADD_ACKNOWLEDGER (Metronome_mark_engraver, grob);
+
+void
+Metronome_mark_engraver::boot ()
+{
+ ADD_LISTENER (Metronome_mark_engraver, tempo_change);
+ ADD_ACKNOWLEDGER (Metronome_mark_engraver, break_aligned);
+ ADD_ACKNOWLEDGER (Metronome_mark_engraver, break_alignment);
+ ADD_ACKNOWLEDGER (Metronome_mark_engraver, grob);
+}
ADD_TRANSLATOR (Metronome_mark_engraver,
/* doc */
}
}
+void
+Midi_control_function_performer::boot ()
+{
+
+}
+
ADD_TRANSLATOR (Midi_control_function_performer,
/* doc */
"",
{
}
-IMPLEMENT_TRANSLATOR_LISTENER (Multi_measure_rest_engraver, multi_measure_rest);
void
Multi_measure_rest_engraver::listen_multi_measure_rest (Stream_event *ev)
{
clear_lapsed_events (now);
}
-IMPLEMENT_TRANSLATOR_LISTENER (Multi_measure_rest_engraver, multi_measure_text);
void
Multi_measure_rest_engraver::listen_multi_measure_text (Stream_event *ev)
{
clear_lapsed_events (now_mom ());
}
+void
+Multi_measure_rest_engraver::boot ()
+{
+ ADD_LISTENER (Multi_measure_rest_engraver, multi_measure_rest);
+ ADD_LISTENER (Multi_measure_rest_engraver, multi_measure_text);
+}
+
ADD_TRANSLATOR (Multi_measure_rest_engraver,
/* doc */
"Engrave multi-measure rests that are produced with"
stem_ = 0;
}
-ADD_ACKNOWLEDGER (New_fingering_engraver, rhythmic_head);
-ADD_ACKNOWLEDGER (New_fingering_engraver, inline_accidental);
-ADD_ACKNOWLEDGER (New_fingering_engraver, stem);
+
+void
+New_fingering_engraver::boot ()
+{
+ ADD_ACKNOWLEDGER (New_fingering_engraver, rhythmic_head);
+ ADD_ACKNOWLEDGER (New_fingering_engraver, inline_accidental);
+ ADD_ACKNOWLEDGER (New_fingering_engraver, stem);
+}
ADD_TRANSLATOR (New_fingering_engraver,
/* doc */
#include "translator.icc"
-ADD_ACKNOWLEDGER (Note_head_line_engraver, rhythmic_head);
+void
+Note_head_line_engraver::boot ()
+{
+ ADD_ACKNOWLEDGER (Note_head_line_engraver, rhythmic_head);
+}
+
ADD_TRANSLATOR (Note_head_line_engraver,
/* doc */
"Engrave a line between two note heads in a staff"
{
}
-IMPLEMENT_TRANSLATOR_LISTENER (Note_heads_engraver, note);
void
Note_heads_engraver::listen_note (Stream_event *ev)
{
note_evs_.clear ();
}
+void
+Note_heads_engraver::boot ()
+{
+ ADD_LISTENER (Note_heads_engraver, note);
+}
+
ADD_TRANSLATOR (Note_heads_engraver,
/* doc */
"Generate note heads.",
void stop_translation_timestep ();
};
-IMPLEMENT_TRANSLATOR_LISTENER (Note_name_engraver, note);
void
Note_name_engraver::listen_note (Stream_event *ev)
{
{
}
+void
+Note_name_engraver::boot ()
+{
+ ADD_LISTENER (Note_name_engraver, note);
+}
+
ADD_TRANSLATOR (Note_name_engraver,
/* doc */
"Print pitches as words.",
note_evs_.clear ();
}
-IMPLEMENT_TRANSLATOR_LISTENER (Note_performer, note)
void
Note_performer::listen_note (Stream_event *ev)
{
note_evs_.push_back (ev);
}
-IMPLEMENT_TRANSLATOR_LISTENER (Note_performer, breathing)
void
Note_performer::listen_breathing (Stream_event *ev)
{
}
}
+void
+Note_performer::boot ()
+{
+ ADD_LISTENER (Note_performer, note)
+ ADD_LISTENER (Note_performer, breathing)
+}
+
ADD_TRANSLATOR (Note_performer,
/* doc */
"",
}
-ADD_ACKNOWLEDGER (Note_spacing_engraver, note_column);
-ADD_ACKNOWLEDGER (Note_spacing_engraver, rhythmic_grob);
+
+void
+Note_spacing_engraver::boot ()
+{
+ ADD_ACKNOWLEDGER (Note_spacing_engraver, note_column);
+ ADD_ACKNOWLEDGER (Note_spacing_engraver, rhythmic_grob);
+}
ADD_TRANSLATOR (Note_spacing_engraver,
/* doc */
#include "translator.icc"
-ADD_ACKNOWLEDGER (Ottava_spanner_engraver, note_column);
+
+void
+Ottava_spanner_engraver::boot ()
+{
+ ADD_ACKNOWLEDGER (Ottava_spanner_engraver, note_column);
+}
ADD_TRANSLATOR (Ottava_spanner_engraver,
/* doc */
void stop_translation_timestep ();
};
-IMPLEMENT_TRANSLATOR_LISTENER (Output_property_engraver, apply_output);
void
Output_property_engraver::listen_apply_output (Stream_event *ev)
{
{
}
-ADD_ACKNOWLEDGER (Output_property_engraver, grob);
+void
+Output_property_engraver::boot ()
+{
+ ADD_LISTENER (Output_property_engraver, apply_output);
+ ADD_ACKNOWLEDGER (Output_property_engraver, grob);
+}
+
ADD_TRANSLATOR (Output_property_engraver,
/* doc */
"Apply a procedure to any grob acknowledged.",
note_end_ = now_mom () + dur_ptr->get_length ();
}
-IMPLEMENT_TRANSLATOR_LISTENER (Page_turn_engraver, break);
void
Page_turn_engraver::listen_break (Stream_event *ev)
{
}
}
-ADD_ACKNOWLEDGER (Page_turn_engraver, note_head);
+
+void
+Page_turn_engraver::boot ()
+{
+ ADD_LISTENER (Page_turn_engraver, break);
+ ADD_ACKNOWLEDGER (Page_turn_engraver, note_head);
+}
ADD_TRANSLATOR (Page_turn_engraver,
/* doc */
system_->add_column (musical_column_);
}
-IMPLEMENT_TRANSLATOR_LISTENER (Paper_column_engraver, break);
void
Paper_column_engraver::listen_break (Stream_event *ev)
{
break_events_.push_back (ev);
}
-IMPLEMENT_TRANSLATOR_LISTENER (Paper_column_engraver, label);
void
Paper_column_engraver::listen_label (Stream_event *ev)
{
}
}
-ADD_ACKNOWLEDGER (Paper_column_engraver, item);
-ADD_ACKNOWLEDGER (Paper_column_engraver, note_spacing);
-ADD_ACKNOWLEDGER (Paper_column_engraver, staff_spacing);
+
+void
+Paper_column_engraver::boot ()
+{
+ ADD_LISTENER (Paper_column_engraver, break);
+ ADD_LISTENER (Paper_column_engraver, label);
+ 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,
/* doc */
}
}
-ADD_ACKNOWLEDGER (Parenthesis_engraver, grob);
+void
+Parenthesis_engraver::boot ()
+{
+ ADD_ACKNOWLEDGER (Parenthesis_engraver, grob);
+}
+
ADD_TRANSLATOR (Parenthesis_engraver,
/* doc */
"Parenthesize objects whose music cause has the"
Stream_event *waiting_event_;
};
-IMPLEMENT_TRANSLATOR_LISTENER (Part_combine_engraver, part_combine);
void
Part_combine_engraver::listen_part_combine (Stream_event *ev)
{
waiting_event_ = new_event_;
}
-IMPLEMENT_TRANSLATOR_LISTENER (Part_combine_engraver, note);
void
Part_combine_engraver::listen_note (Stream_event *)
{
note_found_ = false;
}
-ADD_ACKNOWLEDGER (Part_combine_engraver, note_head);
-ADD_ACKNOWLEDGER (Part_combine_engraver, stem);
+void
+Part_combine_engraver::boot ()
+{
+ ADD_LISTENER (Part_combine_engraver, part_combine);
+ ADD_LISTENER (Part_combine_engraver, note);
+ 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"
}
}
-IMPLEMENT_TRANSLATOR_LISTENER (Percent_repeat_engraver, percent);
void
Percent_repeat_engraver::listen_percent (Stream_event *ev)
{
{
}
+void
+Percent_repeat_engraver::boot ()
+{
+ ADD_LISTENER (Percent_repeat_engraver, percent);
+}
+
ADD_TRANSLATOR (Percent_repeat_engraver,
/* doc */
"Make whole measure repeats.",
return ly_symbol2scm ("phrasing-slur-event");
}
-IMPLEMENT_TRANSLATOR_LISTENER (Phrasing_slur_engraver, phrasing_slur);
void
Phrasing_slur_engraver::listen_phrasing_slur (Stream_event *ev)
{
Slur_proto_engraver::listen_slur (ev);
}
-IMPLEMENT_TRANSLATOR_LISTENER (Phrasing_slur_engraver, note);
void
Phrasing_slur_engraver::listen_note (Stream_event *ev)
{
acknowledge_extra_object (info);
}
-ADD_ACKNOWLEDGER (Phrasing_slur_engraver, inline_accidental);
-ADD_ACKNOWLEDGER (Phrasing_slur_engraver, fingering)
-ADD_ACKNOWLEDGER (Phrasing_slur_engraver, note_column);
-ADD_ACKNOWLEDGER (Phrasing_slur_engraver, slur);
-ADD_ACKNOWLEDGER (Phrasing_slur_engraver, script);
-ADD_ACKNOWLEDGER (Phrasing_slur_engraver, dots);
-ADD_ACKNOWLEDGER (Phrasing_slur_engraver, text_script);
-ADD_END_ACKNOWLEDGER (Phrasing_slur_engraver, tie);
-ADD_ACKNOWLEDGER (Phrasing_slur_engraver, tuplet_number);
+
+void
+Phrasing_slur_engraver::boot ()
+{
+ ADD_LISTENER (Phrasing_slur_engraver, phrasing_slur);
+ ADD_LISTENER (Phrasing_slur_engraver, note);
+ ADD_ACKNOWLEDGER (Phrasing_slur_engraver, inline_accidental);
+ ADD_ACKNOWLEDGER (Phrasing_slur_engraver, fingering)
+ ADD_ACKNOWLEDGER (Phrasing_slur_engraver, note_column);
+ ADD_ACKNOWLEDGER (Phrasing_slur_engraver, slur);
+ ADD_ACKNOWLEDGER (Phrasing_slur_engraver, script);
+ ADD_ACKNOWLEDGER (Phrasing_slur_engraver, dots);
+ ADD_ACKNOWLEDGER (Phrasing_slur_engraver, text_script);
+ ADD_END_ACKNOWLEDGER (Phrasing_slur_engraver, tie);
+ ADD_ACKNOWLEDGER (Phrasing_slur_engraver, tuplet_number);
+}
ADD_TRANSLATOR (Phrasing_slur_engraver,
/* doc */
}
}
-ADD_ACKNOWLEDGER (Piano_pedal_align_engraver, note_column);
-ADD_ACKNOWLEDGER (Piano_pedal_align_engraver, piano_pedal_bracket);
-ADD_ACKNOWLEDGER (Piano_pedal_align_engraver, piano_pedal_script);
-ADD_END_ACKNOWLEDGER (Piano_pedal_align_engraver, piano_pedal_bracket);
+
+void
+Piano_pedal_align_engraver::boot ()
+{
+ ADD_ACKNOWLEDGER (Piano_pedal_align_engraver, note_column);
+ ADD_ACKNOWLEDGER (Piano_pedal_align_engraver, piano_pedal_bracket);
+ ADD_ACKNOWLEDGER (Piano_pedal_align_engraver, piano_pedal_script);
+ ADD_END_ACKNOWLEDGER (Piano_pedal_align_engraver, piano_pedal_bracket);
+}
ADD_TRANSLATOR (Piano_pedal_align_engraver,
/* doc */
info_list_[NUM_PEDAL_TYPES].type_ = 0;
}
-IMPLEMENT_TRANSLATOR_LISTENER (Piano_pedal_engraver, sostenuto);
void
Piano_pedal_engraver::listen_sostenuto (Stream_event *ev)
{
ASSIGN_EVENT_ONCE (info_list_[SOSTENUTO].event_drul_[d], ev);
}
-IMPLEMENT_TRANSLATOR_LISTENER (Piano_pedal_engraver, sustain);
void
Piano_pedal_engraver::listen_sustain (Stream_event *ev)
{
ASSIGN_EVENT_ONCE (info_list_[SUSTAIN].event_drul_[d], ev);
}
-IMPLEMENT_TRANSLATOR_LISTENER (Piano_pedal_engraver, una_corda);
void
Piano_pedal_engraver::listen_una_corda (Stream_event *ev)
{
}
}
+void
+Piano_pedal_engraver::boot ()
+{
+ ADD_LISTENER (Piano_pedal_engraver, sostenuto);
+ ADD_LISTENER (Piano_pedal_engraver, sustain);
+ ADD_LISTENER (Piano_pedal_engraver, una_corda);
+}
+
ADD_TRANSLATOR (Piano_pedal_engraver,
/* doc */
"Engrave piano pedal symbols and brackets.",
}
}
-IMPLEMENT_TRANSLATOR_LISTENER (Piano_pedal_performer, sostenuto);
void
Piano_pedal_performer::listen_sostenuto (Stream_event *r)
{
info_alist_[SOSTENUTO].event_drul_[d] = r;
}
-IMPLEMENT_TRANSLATOR_LISTENER (Piano_pedal_performer, sustain);
void
Piano_pedal_performer::listen_sustain (Stream_event *r)
{
info_alist_[SUSTAIN].event_drul_[d] = r;
}
-IMPLEMENT_TRANSLATOR_LISTENER (Piano_pedal_performer, una_corda);
void
Piano_pedal_performer::listen_una_corda (Stream_event *r)
{
info_alist_[UNA_CORDA].event_drul_[d] = r;
}
+void
+Piano_pedal_performer::boot ()
+{
+ ADD_LISTENER (Piano_pedal_performer, sostenuto);
+ ADD_LISTENER (Piano_pedal_performer, sustain);
+ ADD_LISTENER (Piano_pedal_performer, una_corda);
+}
+
ADD_TRANSLATOR (Piano_pedal_performer,
/* doc */
"",
}
#include "translator.icc"
-ADD_ACKNOWLEDGER (Pitch_squash_engraver, note_head);
+void
+Pitch_squash_engraver::boot ()
+{
+ ADD_ACKNOWLEDGER (Pitch_squash_engraver, note_head);
+}
+
ADD_TRANSLATOR (Pitch_squash_engraver,
/* doc */
"Set the vertical position of note heads to"
trill_accidental_ = 0;
}
-ADD_ACKNOWLEDGER (Pitched_trill_engraver, note_head);
-ADD_ACKNOWLEDGER (Pitched_trill_engraver, dots);
-ADD_ACKNOWLEDGER (Pitched_trill_engraver, stem);
-ADD_ACKNOWLEDGER (Pitched_trill_engraver, flag);
-ADD_ACKNOWLEDGER (Pitched_trill_engraver, trill_spanner);
+
+void
+Pitched_trill_engraver::boot ()
+{
+ ADD_ACKNOWLEDGER (Pitched_trill_engraver, note_head);
+ ADD_ACKNOWLEDGER (Pitched_trill_engraver, dots);
+ ADD_ACKNOWLEDGER (Pitched_trill_engraver, stem);
+ ADD_ACKNOWLEDGER (Pitched_trill_engraver, flag);
+ ADD_ACKNOWLEDGER (Pitched_trill_engraver, trill_spanner);
+}
ADD_TRANSLATOR (Pitched_trill_engraver,
/* doc */
pure_relevants_.clear ();
}
-ADD_ACKNOWLEDGER (Pure_from_neighbor_engraver, item);
-ADD_ACKNOWLEDGER (Pure_from_neighbor_engraver, pure_from_neighbor);
+void
+Pure_from_neighbor_engraver::boot ()
+{
+ ADD_ACKNOWLEDGER (Pure_from_neighbor_engraver, item);
+ ADD_ACKNOWLEDGER (Pure_from_neighbor_engraver, pure_from_neighbor);
+}
+
ADD_TRANSLATOR (Pure_from_neighbor_engraver,
/* doc */
"Coordinates items that get their pure heights from their neighbors.",
}
}
+void
+Repeat_acknowledge_engraver::boot ()
+{
+
+}
+
ADD_TRANSLATOR (Repeat_acknowledge_engraver,
/* doc */
"Acknowledge repeated music, and convert the contents of"
semi_ties_.clear ();
}
-IMPLEMENT_TRANSLATOR_LISTENER (Repeat_tie_engraver, repeat_tie);
void
Repeat_tie_engraver::listen_repeat_tie (Stream_event *ev)
{
}
-ADD_ACKNOWLEDGER (Repeat_tie_engraver, note_head);
+void
+Repeat_tie_engraver::boot ()
+{
+ ADD_LISTENER (Repeat_tie_engraver, repeat_tie);
+ ADD_ACKNOWLEDGER (Repeat_tie_engraver, note_head);
+}
+
ADD_TRANSLATOR (Repeat_tie_engraver,
/* doc */
"Create repeat ties.",
rest_collision_ = 0;
}
+void
+Rest_collision_engraver::boot ()
+{
+
+}
+
ADD_TRANSLATOR (Rest_collision_engraver,
/* doc */
"Handle collisions of rests.",
}
}
-IMPLEMENT_TRANSLATOR_LISTENER (Rest_engraver, rest);
void
Rest_engraver::listen_rest (Stream_event *ev)
{
ASSIGN_EVENT_ONCE (rest_event_, ev);
}
+void
+Rest_engraver::boot ()
+{
+ ADD_LISTENER (Rest_engraver, rest);
+}
+
ADD_TRANSLATOR (Rest_engraver,
/* doc */
"Engrave rests.",
flag_ = 0;
}
-ADD_ACKNOWLEDGER (Rhythmic_column_engraver, stem);
-ADD_ACKNOWLEDGER (Rhythmic_column_engraver, flag);
-ADD_ACKNOWLEDGER (Rhythmic_column_engraver, rhythmic_head);
+
+void
+Rhythmic_column_engraver::boot ()
+{
+ ADD_ACKNOWLEDGER (Rhythmic_column_engraver, stem);
+ ADD_ACKNOWLEDGER (Rhythmic_column_engraver, flag);
+ ADD_ACKNOWLEDGER (Rhythmic_column_engraver, rhythmic_head);
+}
ADD_TRANSLATOR (Rhythmic_column_engraver,
/* doc */
script_column_ = make_item ("ScriptColumn", SCM_EOL);
}
-ADD_ACKNOWLEDGER (Script_column_engraver, side_position);
+void
+Script_column_engraver::boot ()
+{
+ ADD_ACKNOWLEDGER (Script_column_engraver, side_position);
+}
+
ADD_TRANSLATOR (Script_column_engraver,
/* doc */
"Find potentially colliding scripts and put them into a"
{
}
-IMPLEMENT_TRANSLATOR_LISTENER (Script_engraver, articulation);
void
Script_engraver::listen_articulation (Stream_event *ev)
{
scripts_.clear ();
}
-ADD_ACKNOWLEDGER (Script_engraver, rhythmic_head);
-ADD_ACKNOWLEDGER (Script_engraver, stem);
-ADD_ACKNOWLEDGER (Script_engraver, tie);
-ADD_END_ACKNOWLEDGER (Script_engraver, tie);
-ADD_ACKNOWLEDGER (Script_engraver, note_column);
-ADD_ACKNOWLEDGER (Script_engraver, stem_tremolo);
-ADD_ACKNOWLEDGER (Script_engraver, inline_accidental);
+
+void
+Script_engraver::boot ()
+{
+ ADD_LISTENER (Script_engraver, articulation);
+ ADD_ACKNOWLEDGER (Script_engraver, rhythmic_head);
+ ADD_ACKNOWLEDGER (Script_engraver, stem);
+ ADD_ACKNOWLEDGER (Script_engraver, tie);
+ ADD_END_ACKNOWLEDGER (Script_engraver, tie);
+ ADD_ACKNOWLEDGER (Script_engraver, note_column);
+ ADD_ACKNOWLEDGER (Script_engraver, stem_tremolo);
+ ADD_ACKNOWLEDGER (Script_engraver, inline_accidental);
+}
ADD_TRANSLATOR (Script_engraver,
/* doc */
script_row_ = make_item ("ScriptRow", SCM_EOL);
}
-ADD_ACKNOWLEDGER (Script_row_engraver, accidental_placement);
-ADD_ACKNOWLEDGER (Script_row_engraver, side_position);
+void
+Script_row_engraver::boot ()
+{
+ 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.",
break_aligned_.clear ();
}
-ADD_ACKNOWLEDGER (Separating_line_group_engraver, item);
-ADD_ACKNOWLEDGER (Separating_line_group_engraver, break_aligned);
+
+void
+Separating_line_group_engraver::boot ()
+{
+ ADD_ACKNOWLEDGER (Separating_line_group_engraver, item);
+ ADD_ACKNOWLEDGER (Separating_line_group_engraver, break_aligned);
+}
ADD_TRANSLATOR (Separating_line_group_engraver,
/* doc */
slash_ = 0;
}
-IMPLEMENT_TRANSLATOR_LISTENER (Slash_repeat_engraver, repeat_slash);
void
Slash_repeat_engraver::listen_repeat_slash (Stream_event *ev)
{
}
}
+void
+Slash_repeat_engraver::boot ()
+{
+ ADD_LISTENER (Slash_repeat_engraver, repeat_slash);
+}
+
ADD_TRANSLATOR (Slash_repeat_engraver,
/* doc */
"Make beat repeats.",
return ly_symbol2scm ("slur-event");
}
-IMPLEMENT_TRANSLATOR_LISTENER (Slur_engraver, slur);
void
Slur_engraver::listen_slur (Stream_event *ev)
{
Slur_proto_engraver::listen_slur (ev);
}
-IMPLEMENT_TRANSLATOR_LISTENER (Slur_engraver, note);
void
Slur_engraver::listen_note (Stream_event *ev)
{
context ()->set_property ("slurMelismaBusy", ly_bool2scm (m));
}
-ADD_ACKNOWLEDGER (Slur_engraver, inline_accidental);
-ADD_ACKNOWLEDGER (Slur_engraver, fingering);
-ADD_ACKNOWLEDGER (Slur_engraver, note_column);
-ADD_ACKNOWLEDGER (Slur_engraver, script);
-ADD_ACKNOWLEDGER (Slur_engraver, text_script);
-ADD_ACKNOWLEDGER (Slur_engraver, dots);
-ADD_END_ACKNOWLEDGER (Slur_engraver, tie);
-ADD_ACKNOWLEDGER (Slur_engraver, tuplet_number);
+void
+Slur_engraver::boot ()
+{
+ ADD_LISTENER (Slur_engraver, slur);
+ ADD_LISTENER (Slur_engraver, note);
+ ADD_ACKNOWLEDGER (Slur_engraver, inline_accidental);
+ ADD_ACKNOWLEDGER (Slur_engraver, fingering);
+ ADD_ACKNOWLEDGER (Slur_engraver, note_column);
+ ADD_ACKNOWLEDGER (Slur_engraver, script);
+ ADD_ACKNOWLEDGER (Slur_engraver, text_script);
+ ADD_ACKNOWLEDGER (Slur_engraver, dots);
+ ADD_END_ACKNOWLEDGER (Slur_engraver, tie);
+ ADD_ACKNOWLEDGER (Slur_engraver, tuplet_number);
+}
+
ADD_TRANSLATOR (Slur_engraver,
/* doc */
"Build slur grobs from slur events.",
now_stop_ev_ = 0;
}
-IMPLEMENT_TRANSLATOR_LISTENER (Slur_performer, slur);
void
Slur_performer::listen_slur (Stream_event *ev)
{
now_stop_ev_ = ev;
}
+void
+Slur_performer::boot ()
+{
+ ADD_LISTENER (Slur_performer, slur);
+}
+
ADD_TRANSLATOR (Slur_performer,
/* doc */
"",
start_section_ = 0;
}
-IMPLEMENT_TRANSLATOR_LISTENER (Spacing_engraver, spacing_section);
void
Spacing_engraver::listen_spacing_section (Stream_event *ev)
{
stopped_durations_.push_back (playing_durations_.get ());
}
-ADD_ACKNOWLEDGER (Spacing_engraver, staff_spacing);
-ADD_ACKNOWLEDGER (Spacing_engraver, note_spacing);
-ADD_ACKNOWLEDGER (Spacing_engraver, rhythmic_head);
-ADD_ACKNOWLEDGER (Spacing_engraver, rhythmic_grob);
+
+void
+Spacing_engraver::boot ()
+{
+ ADD_LISTENER (Spacing_engraver, spacing_section);
+ ADD_ACKNOWLEDGER (Spacing_engraver, staff_spacing);
+ ADD_ACKNOWLEDGER (Spacing_engraver, note_spacing);
+ ADD_ACKNOWLEDGER (Spacing_engraver, rhythmic_head);
+ ADD_ACKNOWLEDGER (Spacing_engraver, rhythmic_grob);
+}
ADD_TRANSLATOR (Spacing_engraver,
/* doc */
note_columns_.clear ();
}
-ADD_ACKNOWLEDGER (Span_arpeggio_engraver, arpeggio);
-ADD_ACKNOWLEDGER (Span_arpeggio_engraver, note_column);
+void
+Span_arpeggio_engraver::boot ()
+{
+ ADD_ACKNOWLEDGER (Span_arpeggio_engraver, arpeggio);
+ ADD_ACKNOWLEDGER (Span_arpeggio_engraver, note_column);
+}
+
ADD_TRANSLATOR (Span_arpeggio_engraver,
/* doc */
"Make arpeggios that span multiple staves.",
bars_.resize (0);
}
-ADD_ACKNOWLEDGER (Span_bar_engraver, bar_line);
+void
+Span_bar_engraver::boot ()
+{
+ ADD_ACKNOWLEDGER (Span_bar_engraver, bar_line);
+}
+
ADD_TRANSLATOR (Span_bar_engraver,
/* doc */
"Make cross-staff bar lines: It catches all normal bar lines"
axis_groups_ = axis_groups;
}
-ADD_ACKNOWLEDGER (Span_bar_stub_engraver, span_bar);
-ADD_ACKNOWLEDGER (Span_bar_stub_engraver, hara_kiri_group_spanner);
+void
+Span_bar_stub_engraver::boot ()
+{
+ ADD_ACKNOWLEDGER (Span_bar_stub_engraver, span_bar);
+ ADD_ACKNOWLEDGER (Span_bar_stub_engraver, hara_kiri_group_spanner);
+}
+
ADD_TRANSLATOR (Span_bar_stub_engraver,
/* doc */
"Make stubs for span bars in all contexts that the span bars cross.",
{
}
-ADD_END_ACKNOWLEDGER (Spanner_break_forbid_engraver, unbreakable_spanner);
-ADD_ACKNOWLEDGER (Spanner_break_forbid_engraver, unbreakable_spanner);
+void
+Spanner_break_forbid_engraver::boot ()
+{
+ 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.",
#include "translator.icc"
-ADD_ACKNOWLEDGER (Staff_collecting_engraver, staff_symbol);
-ADD_END_ACKNOWLEDGER (Staff_collecting_engraver, staff_symbol);
+
+void
+Staff_collecting_engraver::boot ()
+{
+ ADD_ACKNOWLEDGER (Staff_collecting_engraver, staff_symbol);
+ ADD_END_ACKNOWLEDGER (Staff_collecting_engraver, staff_symbol);
+}
ADD_TRANSLATOR (Staff_collecting_engraver,
/* doc */
int Staff_performer::channel_count_ = 0;
int Staff_performer::staff_performer_count_ = 0;
+void
+Staff_performer::boot ()
+{
+
+}
+
ADD_TRANSLATOR (Staff_performer,
/* doc */
"",
span_events_.set (0, 0);
}
-IMPLEMENT_TRANSLATOR_LISTENER (Staff_symbol_engraver, staff_span);
void
Staff_symbol_engraver::listen_staff_span (Stream_event *ev)
{
}
}
-ADD_ACKNOWLEDGER (Staff_symbol_engraver, grob);
+
+void
+Staff_symbol_engraver::boot ()
+{
+ ADD_LISTENER (Staff_symbol_engraver, staff_span);
+ ADD_ACKNOWLEDGER (Staff_symbol_engraver, grob);
+}
ADD_TRANSLATOR (Staff_symbol_engraver,
/* doc */
lyrics_.clear ();
}
-ADD_ACKNOWLEDGER (Stanza_number_align_engraver, lyric_syllable);
-ADD_ACKNOWLEDGER (Stanza_number_align_engraver, stanza_number);
+
+void
+Stanza_number_align_engraver::boot ()
+{
+ ADD_ACKNOWLEDGER (Stanza_number_align_engraver, lyric_syllable);
+ ADD_ACKNOWLEDGER (Stanza_number_align_engraver, stanza_number);
+}
ADD_TRANSLATOR (Stanza_number_align_engraver,
/* doc */
#include "translator.icc"
-ADD_ACKNOWLEDGER (Stanza_number_engraver, lyric_syllable);
+void
+Stanza_number_engraver::boot ()
+{
+ ADD_ACKNOWLEDGER (Stanza_number_engraver, lyric_syllable);
+}
+
ADD_TRANSLATOR (Stanza_number_engraver,
/* doc */
"Engrave stanza numbers.",
tremolo_ev_ = 0;
}
-IMPLEMENT_TRANSLATOR_LISTENER (Stem_engraver, tuplet_span);
void
Stem_engraver::listen_tuplet_span (Stream_event *ev)
{
}
}
-IMPLEMENT_TRANSLATOR_LISTENER (Stem_engraver, tremolo);
void
Stem_engraver::listen_tremolo (Stream_event *ev)
{
ASSIGN_EVENT_ONCE (tremolo_ev_, ev);
}
-ADD_ACKNOWLEDGER (Stem_engraver, rhythmic_head);
+
+void
+Stem_engraver::boot ()
+{
+ ADD_LISTENER (Stem_engraver, tuplet_span);
+ ADD_LISTENER (Stem_engraver, tremolo);
+ ADD_ACKNOWLEDGER (Stem_engraver, rhythmic_head);
+}
ADD_TRANSLATOR (Stem_engraver,
/* doc */
nesting_->add_support (inf.grob ());
}
-ADD_ACKNOWLEDGER (System_start_delimiter_engraver, staff_symbol);
-ADD_ACKNOWLEDGER (System_start_delimiter_engraver, system_start_delimiter);
+
+void
+System_start_delimiter_engraver::boot ()
+{
+ ADD_ACKNOWLEDGER (System_start_delimiter_engraver, staff_symbol);
+ ADD_ACKNOWLEDGER (System_start_delimiter_engraver, system_start_delimiter);
+}
ADD_TRANSLATOR (System_start_delimiter_engraver,
/* doc */
{
}
-IMPLEMENT_TRANSLATOR_LISTENER (Tab_note_heads_engraver, note);
void
Tab_note_heads_engraver::listen_note (Stream_event *ev)
{
note_events_.push_back (ev);
}
-IMPLEMENT_TRANSLATOR_LISTENER (Tab_note_heads_engraver, string_number);
void
Tab_note_heads_engraver::listen_string_number (Stream_event *ev)
{
tabstring_events_.push_back (ev);
}
-IMPLEMENT_TRANSLATOR_LISTENER (Tab_note_heads_engraver, fingering);
void
Tab_note_heads_engraver::listen_fingering (Stream_event *ev)
{
fingering_events_.clear ();
}
+void
+Tab_note_heads_engraver::boot ()
+{
+ ADD_LISTENER (Tab_note_heads_engraver, note);
+ ADD_LISTENER (Tab_note_heads_engraver, string_number);
+ ADD_LISTENER (Tab_note_heads_engraver, fingering);
+}
+
ADD_TRANSLATOR (Tab_note_heads_engraver,
/* doc */
"Generate one or more tablature note heads from event of type"
#include "translator.icc"
-ADD_ACKNOWLEDGER (Tab_staff_symbol_engraver, staff_symbol);
+void
+Tab_staff_symbol_engraver::boot ()
+{
+ ADD_ACKNOWLEDGER (Tab_staff_symbol_engraver, staff_symbol);
+}
+
ADD_TRANSLATOR (Tab_staff_symbol_engraver,
/* doc */
"Create a tablature staff symbol, but look at"
note_heads_.clear ();
}
-ADD_ACKNOWLEDGER (Tab_tie_follow_engraver, slur);
-ADD_ACKNOWLEDGER (Tab_tie_follow_engraver, glissando);
-ADD_ACKNOWLEDGER (Tab_tie_follow_engraver, tab_note_head);
+
+void
+Tab_tie_follow_engraver::boot ()
+{
+ ADD_ACKNOWLEDGER (Tab_tie_follow_engraver, slur);
+ ADD_ACKNOWLEDGER (Tab_tie_follow_engraver, glissando);
+ ADD_ACKNOWLEDGER (Tab_tie_follow_engraver, tab_note_head);
+}
ADD_TRANSLATOR (Tab_tie_follow_engraver,
/* doc */
}
}
+void
+Tempo_performer::boot ()
+{
+
+}
+
ADD_TRANSLATOR (Tempo_performer,
/* doc */
"",
DECLARE_TRANSLATOR_LISTENER (text_script);
};
-IMPLEMENT_TRANSLATOR_LISTENER (Text_engraver, text_script);
void
Text_engraver::listen_text_script (Stream_event *ev)
{
{
}
-ADD_ACKNOWLEDGER (Text_engraver, note_column);
+
+void
+Text_engraver::boot ()
+{
+ ADD_LISTENER (Text_engraver, text_script);
+ ADD_ACKNOWLEDGER (Text_engraver, note_column);
+}
ADD_TRANSLATOR (Text_engraver,
/* doc */
event_drul_.set (0, 0);
}
-IMPLEMENT_TRANSLATOR_LISTENER (Text_spanner_engraver, text_span);
void
Text_spanner_engraver::listen_text_span (Stream_event *ev)
{
}
}
-ADD_ACKNOWLEDGER (Text_spanner_engraver, note_column);
+
+void
+Text_spanner_engraver::boot ()
+{
+ ADD_LISTENER (Text_spanner_engraver, text_span);
+ ADD_ACKNOWLEDGER (Text_spanner_engraver, note_column);
+}
ADD_TRANSLATOR (Text_spanner_engraver,
/* doc */
event_processed_ = false;
}
-IMPLEMENT_TRANSLATOR_LISTENER (Tie_engraver, tie);
void
Tie_engraver::listen_tie (Stream_event *ev)
{
her->set_bound (RIGHT, right_head);
}
-ADD_ACKNOWLEDGER (Tie_engraver, note_head);
+void
+Tie_engraver::boot ()
+{
+ ADD_LISTENER (Tie_engraver, tie);
+ ADD_ACKNOWLEDGER (Tie_engraver, note_head);
+}
+
ADD_TRANSLATOR (Tie_engraver,
/* doc */
"Generate ties between note heads of equal pitch.",
event_ = 0;
}
-IMPLEMENT_TRANSLATOR_LISTENER (Tie_performer, tie);
void
Tie_performer::listen_tie (Stream_event *ev)
{
now_tied_heads_.clear ();
}
+void
+Tie_performer::boot ()
+{
+ ADD_LISTENER (Tie_performer, tie);
+}
+
ADD_TRANSLATOR (Tie_performer,
/* doc */
"Generate ties between note heads of equal pitch.",
last_time_fraction_ = SCM_BOOL_F;
}
-IMPLEMENT_TRANSLATOR_LISTENER (Time_signature_engraver, time_signature);
void
Time_signature_engraver::listen_time_signature (Stream_event *ev)
{
time_cause_ = SCM_EOL;
}
+void
+Time_signature_engraver::boot ()
+{
+ ADD_LISTENER (Time_signature_engraver, time_signature);
+}
+
ADD_TRANSLATOR (Time_signature_engraver,
/* doc */
"Create a @ref{TimeSignature} whenever"
#include "translator.icc"
+void
+Time_signature_performer::boot ()
+{
+
+}
+
ADD_TRANSLATOR (Time_signature_performer,
/* doc */
"",
#include "translator.icc"
+void
+Timing_translator::boot ()
+{
+
+}
+
ADD_TRANSLATOR (Timing_translator,
/* doc */
"This engraver adds the alias @code{Timing} to its containing"
event_drul_.set (0, 0);
}
-IMPLEMENT_TRANSLATOR_LISTENER (Trill_spanner_engraver, trill_span);
void
Trill_spanner_engraver::listen_trill_span (Stream_event *ev)
{
}
}
-ADD_ACKNOWLEDGER (Trill_spanner_engraver, note_column);
+
+void
+Trill_spanner_engraver::boot ()
+{
+ ADD_LISTENER (Trill_spanner_engraver, trill_span);
+ ADD_ACKNOWLEDGER (Trill_spanner_engraver, note_column);
+}
ADD_TRANSLATOR (Trill_spanner_engraver,
/* doc */
void process_music ();
};
-IMPLEMENT_TRANSLATOR_LISTENER (Tuplet_engraver, tuplet_span);
void
Tuplet_engraver::listen_tuplet_span (Stream_event *ev)
{
{
}
-ADD_ACKNOWLEDGER (Tuplet_engraver, note_column);
-ADD_ACKNOWLEDGER (Tuplet_engraver, script);
-ADD_ACKNOWLEDGER (Tuplet_engraver, finger);
-ADD_ACKNOWLEDGER (Tuplet_engraver, string_number);
+void
+Tuplet_engraver::boot ()
+{
+ ADD_LISTENER (Tuplet_engraver, tuplet_span);
+ ADD_ACKNOWLEDGER (Tuplet_engraver, note_column);
+ ADD_ACKNOWLEDGER (Tuplet_engraver, script);
+ ADD_ACKNOWLEDGER (Tuplet_engraver, finger);
+ ADD_ACKNOWLEDGER (Tuplet_engraver, string_number);
+}
+
ADD_TRANSLATOR (Tuplet_engraver,
/* doc */
"Catch tuplet events and generate appropriate bracket.",
}
}
-ADD_ACKNOWLEDGER (Tweak_engraver, grob);
+void
+Tweak_engraver::boot ()
+{
+ ADD_ACKNOWLEDGER (Tweak_engraver, grob);
+}
+
ADD_TRANSLATOR (Tweak_engraver,
/* doc */
"Read the @code{tweaks} property from the originating event,"
DECLARE_TRANSLATOR_LISTENER (ligature);
};
-IMPLEMENT_TRANSLATOR_LISTENER (Vaticana_ligature_engraver, pes_or_flexa);
void
Vaticana_ligature_engraver::listen_pes_or_flexa (Stream_event *ev)
{
Gregorian_ligature_engraver::listen_pes_or_flexa (ev);
}
-IMPLEMENT_TRANSLATOR_LISTENER (Vaticana_ligature_engraver, ligature);
void
Vaticana_ligature_engraver::listen_ligature (Stream_event *ev)
{
#endif
}
-ADD_ACKNOWLEDGER (Vaticana_ligature_engraver, rest);
-ADD_ACKNOWLEDGER (Vaticana_ligature_engraver, ligature_head);
+void
+Vaticana_ligature_engraver::boot ()
+{
+ ADD_LISTENER (Vaticana_ligature_engraver, pes_or_flexa);
+ ADD_LISTENER (Vaticana_ligature_engraver, ligature);
+ ADD_ACKNOWLEDGER (Vaticana_ligature_engraver, rest);
+ ADD_ACKNOWLEDGER (Vaticana_ligature_engraver, ligature_head);
+}
+
ADD_TRANSLATOR (Vaticana_ligature_engraver,
/* doc */
"Handle ligatures by glueing special ligature heads"
bool top_level_;
};
-ADD_ACKNOWLEDGER (Vertical_align_engraver, axis_group);
+void
+Vertical_align_engraver::boot ()
+{
+ ADD_ACKNOWLEDGER (Vertical_align_engraver, axis_group);
+}
+
ADD_TRANSLATOR (Vertical_align_engraver,
/* doc */
"Catch groups (staves, lyrics lines, etc.) and stack them"
/*
TODO: should attach volta to paper-column if no bar is found.
*/
-ADD_ACKNOWLEDGER (Volta_engraver, bar_line);
+void
+Volta_engraver::boot ()
+{
+ ADD_ACKNOWLEDGER (Volta_engraver, bar_line);
+}
+
ADD_TRANSLATOR (Volta_engraver,
/* doc */
"Make volta brackets.",