This is the first step towards constructing rather than cloning translators
when creating contexts. On its own, it does not make sense, but the change
is large and mostly mechanical, so keeping it separate from the actually
difficult parts makes sense.
143 files changed:
in grobs should always store ly_deep_copy ()s of those.
*/
in grobs should always store ly_deep_copy ()s of those.
*/
-Accidental_engraver::Accidental_engraver ()
+Accidental_engraver::Accidental_engraver (Context *c)
+ : Engraver (c)
{
accidental_placement_ = 0;
last_keysig_ = SCM_EOL;
{
accidental_placement_ = 0;
last_keysig_ = SCM_EOL;
-Ambitus_engraver::Ambitus_engraver ()
+Ambitus_engraver::Ambitus_engraver (Context *c)
+ : Engraver (c)
{
ambitus_ = 0;
heads_.set (0, 0);
{
ambitus_ = 0;
heads_.set (0, 0);
Stream_event *arpeggio_event_;
};
Stream_event *arpeggio_event_;
};
-Arpeggio_engraver::Arpeggio_engraver ()
+Arpeggio_engraver::Arpeggio_engraver (Context *c)
+ : Engraver (c)
{
arpeggio_ = 0;
arpeggio_event_ = 0;
{
arpeggio_ = 0;
arpeggio_event_ = 0;
-Auto_beam_engraver::Auto_beam_engraver ()
+Auto_beam_engraver::Auto_beam_engraver (Context *c)
+ : Engraver (c)
{
forbid_ = 0;
process_acknowledged_count_ = 0;
{
forbid_ = 0;
process_acknowledged_count_ = 0;
virtual bool test_moment (Direction, Moment, Moment);
};
virtual bool test_moment (Direction, Moment, Moment);
};
-Grace_auto_beam_engraver::Grace_auto_beam_engraver ()
+Grace_auto_beam_engraver::Grace_auto_beam_engraver (Context *c)
+ : Auto_beam_engraver (c)
{
last_grace_start_.main_part_.set_infinite (-1);
// grace_part_ is zero -> test_moment is false, last_grace_position_
{
last_grace_start_.main_part_.set_infinite (-1);
// grace_part_ is zero -> test_moment is false, last_grace_position_
-Axis_group_engraver::Axis_group_engraver ()
+Axis_group_engraver::Axis_group_engraver (Context *c)
+ : Engraver (c)
{
staffline_ = 0;
interesting_ = SCM_EOL;
{
staffline_ = 0;
interesting_ = SCM_EOL;
-Balloon_engraver::Balloon_engraver ()
+Balloon_engraver::Balloon_engraver (Context *c)
+ : Engraver (c)
vector<Spanner *> spanners_;
};
vector<Spanner *> spanners_;
};
-Bar_engraver::Bar_engraver ()
+Bar_engraver::Bar_engraver (Context *c)
+ : Engraver (c)
-Bar_number_engraver::Bar_number_engraver ()
+Bar_number_engraver::Bar_number_engraver (Context *c)
+ : Engraver (c)
{
text_ = 0;
alternative_starting_bar_number_ = 0;
{
text_ = 0;
alternative_starting_bar_number_ = 0;
TRANSLATOR_DECLARATIONS (Beam_collision_engraver);
};
TRANSLATOR_DECLARATIONS (Beam_collision_engraver);
};
-Beam_collision_engraver::Beam_collision_engraver () {}
+Beam_collision_engraver::Beam_collision_engraver (Context *c)
+ : Engraver (c)
+{}
bool
Beam_collision_engraver::covered_grob_has_interface (Grob *covered_grob, Grob *beam)
bool
Beam_collision_engraver::covered_grob_has_interface (Grob *covered_grob, Grob *beam)
return valid_start_point ();
}
return valid_start_point ();
}
-Beam_engraver::Beam_engraver ()
+Beam_engraver::Beam_engraver (Context *c)
+ : Engraver (c)
{
beam_ = 0;
finished_beam_ = 0;
{
beam_ = 0;
finished_beam_ = 0;
virtual bool valid_end_point ();
};
virtual bool valid_end_point ();
};
-Grace_beam_engraver::Grace_beam_engraver ()
+Grace_beam_engraver::Grace_beam_engraver (Context *c)
+ : Beam_engraver (c)
-Beam_performer::Beam_performer ()
+Beam_performer::Beam_performer (Context *c)
+ : Performer (c)
{
beam_ = false;
start_ev_ = 0;
{
beam_ = false;
start_ev_ = 0;
-Bend_engraver::Bend_engraver ()
+Bend_engraver::Bend_engraver (Context *c)
+ : Engraver (c)
{
fall_ = 0;
last_fall_ = 0;
{
fall_ = 0;
last_fall_ = 0;
-Break_align_engraver::Break_align_engraver ()
+Break_align_engraver::Break_align_engraver (Context *c)
+ : Engraver (c)
{
column_alist_ = SCM_EOL;
left_edge_ = 0;
{
column_alist_ = SCM_EOL;
left_edge_ = 0;
Grob *breathing_sign_;
};
Grob *breathing_sign_;
};
-Breathing_sign_engraver::Breathing_sign_engraver ()
+Breathing_sign_engraver::Breathing_sign_engraver (Context *c)
+ : Engraver (c)
{
breathing_sign_ = 0;
breathing_sign_event_ = 0;
{
breathing_sign_ = 0;
breathing_sign_event_ = 0;
-Chord_name_engraver::Chord_name_engraver ()
+Chord_name_engraver::Chord_name_engraver (Context *c)
+ : Engraver (c)
void acknowledge_stem (Grob_info);
};
void acknowledge_stem (Grob_info);
};
-Chord_tremolo_engraver::Chord_tremolo_engraver ()
+Chord_tremolo_engraver::Chord_tremolo_engraver (Context *c)
+ : Engraver (c)
{
beam_ = 0;
repeat_ = 0;
{
beam_ = 0;
repeat_ = 0;
scm_gc_mark (prev_glyph_);
}
scm_gc_mark (prev_glyph_);
}
-Clef_engraver::Clef_engraver ()
+Clef_engraver::Clef_engraver (Context *c)
+ : Engraver (c)
{
clef_ = 0;
modifier_ = 0;
{
clef_ = 0;
modifier_ = 0;
Spanner *finished_spanner_;
};
Spanner *finished_spanner_;
};
-Cluster_spanner_engraver::Cluster_spanner_engraver ()
+Cluster_spanner_engraver::Cluster_spanner_engraver (Context *c)
+ : Engraver (c)
{
spanner_ = 0;
finished_spanner_ = 0;
{
spanner_ = 0;
finished_spanner_ = 0;
note_columns_.clear ();
}
note_columns_.clear ();
}
-Collision_engraver::Collision_engraver ()
+Collision_engraver::Collision_engraver (Context *c)
+ : Engraver (c)
ly_bool2scm (note_events_.size ()));
}
ly_bool2scm (note_events_.size ()));
}
-Completion_heads_engraver::Completion_heads_engraver ()
+Completion_heads_engraver::Completion_heads_engraver (Context *c)
+ : Engraver (c)
ly_bool2scm (rest_events_.size ()));
}
ly_bool2scm (rest_events_.size ()));
}
-Completion_rest_engraver::Completion_rest_engraver ()
+Completion_rest_engraver::Completion_rest_engraver (Context *c)
+ : Engraver (c)
vector<Grob *> hairpins_hanging_out_;
};
vector<Grob *> hairpins_hanging_out_;
};
-Concurrent_hairpin_engraver::Concurrent_hairpin_engraver ()
+Concurrent_hairpin_engraver::Concurrent_hairpin_engraver (Context *c)
+ : Engraver (c)
virtual void acknowledge_audio_element (Audio_element_info info);
};
virtual void acknowledge_audio_element (Audio_element_info info);
};
-Control_track_performer::Control_track_performer ()
+Control_track_performer::Control_track_performer (Context *c)
+ : Performer (c)
scm_gc_mark (prev_glyph_);
}
scm_gc_mark (prev_glyph_);
}
-Cue_clef_engraver::Cue_clef_engraver ()
+Cue_clef_engraver::Cue_clef_engraver (Context *c)
+ : Engraver (c)
{
clef_ = 0;
modifier_ = 0;
{
clef_ = 0;
modifier_ = 0;
vector<Pitch> pitches_;
};
vector<Pitch> pitches_;
};
-Custos_engraver::Custos_engraver ()
+Custos_engraver::Custos_engraver (Context *c)
+ : Engraver (c)
{
custos_permitted_ = false;
}
{
custos_permitted_ = false;
}
-Default_bar_line_engraver::Default_bar_line_engraver ()
+Default_bar_line_engraver::Default_bar_line_engraver (Context *c)
+ : Engraver (c)
{
last_moment_.main_part_ = Rational (-1);
}
{
last_moment_.main_part_ = Rational (-1);
}
void stop_translation_timestep ();
};
void stop_translation_timestep ();
};
-Dot_column_engraver::Dot_column_engraver ()
+Dot_column_engraver::Dot_column_engraver (Context *c)
+ : Engraver (c)
TRANSLATOR_DECLARATIONS (Dots_engraver);
};
TRANSLATOR_DECLARATIONS (Dots_engraver);
};
-Dots_engraver::Dots_engraver ()
+Dots_engraver::Dots_engraver (Context *c)
+ : Engraver (c)
void process_music ();
};
void process_music ();
};
-Double_percent_repeat_engraver::Double_percent_repeat_engraver ()
+Double_percent_repeat_engraver::Double_percent_repeat_engraver (Context *c)
+ : Engraver (c)
void stop_translation_timestep ();
};
void stop_translation_timestep ();
};
-Drum_notes_engraver::Drum_notes_engraver ()
+Drum_notes_engraver::Drum_notes_engraver (Context *c)
+ : Engraver (c)
vector<Stream_event *> note_evs_;
};
vector<Stream_event *> note_evs_;
};
-Drum_note_performer::Drum_note_performer ()
+Drum_note_performer::Drum_note_performer (Context *c)
+ : Performer (c)
set<Spanner *> running_;
};
set<Spanner *> running_;
};
-Dynamic_align_engraver::Dynamic_align_engraver ()
+Dynamic_align_engraver::Dynamic_align_engraver (Context *c)
+ : Engraver (c)
{
line_ = 0;
ended_line_ = 0;
{
line_ = 0;
ended_line_ = 0;
bool end_new_spanner_;
};
bool end_new_spanner_;
};
-Dynamic_engraver::Dynamic_engraver ()
+Dynamic_engraver::Dynamic_engraver (Context *c)
+ : Engraver (c)
{
script_event_ = 0;
current_span_event_ = 0;
{
script_event_ = 0;
current_span_event_ = 0;
-Dynamic_performer::Dynamic_performer ()
- : script_event_ (0),
+Dynamic_performer::Dynamic_performer (Context *c)
+ : Performer (c),
+ script_event_ (0),
next_grow_dir_ (CENTER),
depart_dir_ (CENTER),
state_ (STATE_INITIAL)
next_grow_dir_ (CENTER),
depart_dir_ (CENTER),
state_ (STATE_INITIAL)
announce_end_grob (make_grob_info (e, cause));
}
announce_end_grob (make_grob_info (e, cause));
}
+Engraver::Engraver (Context *c)
+ : Translator (c)
-Episema_engraver::Episema_engraver ()
+Episema_engraver::Episema_engraver (Context *c)
+ : Engraver (c)
{
finished_ = 0;
current_event_ = 0;
{
finished_ = 0;
current_event_ = 0;
void process_music ();
};
void process_music ();
};
-Extender_engraver::Extender_engraver ()
+Extender_engraver::Extender_engraver (Context *c)
+ : Engraver (c)
{
extender_ = 0;
pending_extender_ = 0;
{
extender_ = 0;
pending_extender_ = 0;
void process_music ();
};
void process_music ();
};
-Figured_bass_engraver::Figured_bass_engraver ()
+Figured_bass_engraver::Figured_bass_engraver (Context *c)
+ : Engraver (c)
{
alignment_ = 0;
continuation_ = false;
{
alignment_ = 0;
continuation_ = false;
void stop_translation_timestep ();
};
void stop_translation_timestep ();
};
-Figured_bass_position_engraver::Figured_bass_position_engraver ()
+Figured_bass_position_engraver::Figured_bass_position_engraver (Context *c)
+ : Engraver (c)
{
positioner_ = 0;
bass_figure_alignment_ = 0;
{
positioner_ = 0;
bass_figure_alignment_ = 0;
void stop_translation_timestep ();
};
void stop_translation_timestep ();
};
-Fingering_column_engraver::Fingering_column_engraver ()
+Fingering_column_engraver::Fingering_column_engraver (Context *c)
+ : Engraver (c)
{
for (LEFT_and_RIGHT (d))
fingering_columns_[d] = 0;
{
for (LEFT_and_RIGHT (d))
fingering_columns_[d] = 0;
-Fingering_engraver::Fingering_engraver ()
+Fingering_engraver::Fingering_engraver (Context *c)
+ : Engraver (c)
-Font_size_engraver::Font_size_engraver ()
+Font_size_engraver::Font_size_engraver (Context *c)
+ : Engraver (c)
annotated_spanners_.clear ();
}
annotated_spanners_.clear ();
}
-Footnote_engraver::Footnote_engraver ()
+Footnote_engraver::Footnote_engraver (Context *c)
+ : Engraver (c)
void start_translation_timestep ();
};
void start_translation_timestep ();
};
-Forbid_line_break_engraver::Forbid_line_break_engraver ()
+Forbid_line_break_engraver::Forbid_line_break_engraver (Context *c)
+ : Engraver (c)
scm_gc_mark (last_placements_);
}
scm_gc_mark (last_placements_);
}
-Fretboard_engraver::Fretboard_engraver ()
+Fretboard_engraver::Fretboard_engraver (Context *c)
+ : Engraver (c)
{
fret_board_ = 0;
last_placements_ = SCM_BOOL_F;
{
fret_board_ = 0;
last_placements_ = SCM_BOOL_F;
vector<vsize> note_column_2;
};
vector<vsize> note_column_2;
};
-Glissando_engraver::Glissando_engraver ()
+Glissando_engraver::Glissando_engraver (Context *c)
+ : Engraver (c)
{
event_ = 0;
start_glissandi_ = false;
{
event_ = 0;
start_glissandi_ = false;
void grace_change (SCM);
};
void grace_change (SCM);
};
-Grace_engraver::Grace_engraver ()
+Grace_engraver::Grace_engraver (Context *c)
+ : Engraver (c)
{
grace_settings_ = SCM_EOL;
last_moment_ = Moment (Rational (-1, 1));
{
grace_settings_ = SCM_EOL;
last_moment_ = Moment (Rational (-1, 1));
void stop_translation_timestep ();
};
void stop_translation_timestep ();
};
-Grace_spacing_engraver::Grace_spacing_engraver ()
+Grace_spacing_engraver::Grace_spacing_engraver (Context *c)
+ : Engraver (c)
* engravers for Gregorian chant will be added in the future, such as
* Medicaea_ligature_engraver or Hufnagel_ligature_engraver.
*/
* engravers for Gregorian chant will be added in the future, such as
* Medicaea_ligature_engraver or Hufnagel_ligature_engraver.
*/
-Gregorian_ligature_engraver::Gregorian_ligature_engraver ()
+Gregorian_ligature_engraver::Gregorian_ligature_engraver (Context *c)
+ : Coherent_ligature_engraver (c)
{
pes_or_flexa_req_ = 0;
}
{
pes_or_flexa_req_ = 0;
}
void stop_translation_timestep ();
};
void stop_translation_timestep ();
};
-Grid_line_span_engraver::Grid_line_span_engraver ()
+Grid_line_span_engraver::Grid_line_span_engraver (Context *c)
+ : Engraver (c)
-Grid_point_engraver::Grid_point_engraver ()
+Grid_point_engraver::Grid_point_engraver (Context *c)
+ : Engraver (c)
vector<Grob_pq_entry> started_now_;
};
vector<Grob_pq_entry> started_now_;
};
-Grob_pq_engraver::Grob_pq_engraver ()
+Grob_pq_engraver::Grob_pq_engraver (Context *c)
+ : Engraver (c)
void listen_note_grouping (Stream_event *);
};
void listen_note_grouping (Stream_event *);
};
-Horizontal_bracket_engraver::Horizontal_bracket_engraver ()
+Horizontal_bracket_engraver::Horizontal_bracket_engraver (Context *c)
+ : Engraver (c)
{
pop_count_ = 0;
push_count_ = 0;
{
pop_count_ = 0;
push_count_ = 0;
void process_music ();
};
void process_music ();
};
-Hyphen_engraver::Hyphen_engraver ()
+Hyphen_engraver::Hyphen_engraver (Context *c)
+ : Engraver (c)
{
hyphen_ = 0;
finished_hyphen_ = 0;
{
hyphen_ = 0;
finished_hyphen_ = 0;
class Coherent_ligature_engraver : public Ligature_engraver
{
public:
class Coherent_ligature_engraver : public Ligature_engraver
{
public:
+ Coherent_ligature_engraver(Context *c)
+ : Ligature_engraver (c)
+ {}
// no TRANSLATOR_DECLARATIONS (Coherent_ligature_engraver) needed
// since this class is abstract
TRANSLATOR_INHERIT (Ligature_engraver);
// no TRANSLATOR_DECLARATIONS (Coherent_ligature_engraver) needed
// since this class is abstract
TRANSLATOR_INHERIT (Ligature_engraver);
*/
DECLARE_CLASSNAME (Engraver);
DECLARE_TRANSLATOR_CALLBACKS (Engraver);
*/
DECLARE_CLASSNAME (Engraver);
DECLARE_TRANSLATOR_CALLBACKS (Engraver);
};
#define make_item(x, cause) internal_make_item (ly_symbol2scm (x), cause, __FILE__, __LINE__, __FUNCTION__)
};
#define make_item(x, cause) internal_make_item (ly_symbol2scm (x), cause, __FILE__, __LINE__, __FUNCTION__)
TRANSLATOR_INHERIT(Coherent_ligature_engraver);
DECLARE_TRANSLATOR_CALLBACKS (Gregorian_ligature_engraver);
protected:
TRANSLATOR_INHERIT(Coherent_ligature_engraver);
DECLARE_TRANSLATOR_CALLBACKS (Gregorian_ligature_engraver);
protected:
- Gregorian_ligature_engraver ();
+ Gregorian_ligature_engraver (Context *);
void listen_pes_or_flexa (Stream_event *ev);
virtual void build_ligature (Spanner *ligature,
void listen_pes_or_flexa (Stream_event *ev);
virtual void build_ligature (Spanner *ligature,
class Ligature_engraver : public Engraver
{
protected:
class Ligature_engraver : public Engraver
{
protected:
+ Ligature_engraver (Context *c);
void stop_translation_timestep ();
virtual void finalize ();
void stop_translation_timestep ();
virtual void finalize ();
DECLARE_CLASSNAME (Performer);
friend class Performer_group;
Performer_group *get_daddy_performer () const;
DECLARE_CLASSNAME (Performer);
friend class Performer_group;
Performer_group *get_daddy_performer () const;
+ Performer (Context *c)
+ : Translator (c)
+ { }
protected:
virtual void announce_element (Audio_element_info);
protected:
virtual void announce_element (Audio_element_info);
return static_get_acknowledger (sym, start_end); \
} \
public: \
return static_get_acknowledger (sym, start_end); \
} \
public: \
static void boot (); \
virtual SCM static_translator_description () const; \
virtual SCM translator_description () const; \
static void boot (); \
virtual SCM static_translator_description () const; \
virtual SCM translator_description () const; \
SCM mark_smob () const;
static const char * const type_p_name_;
virtual ~Translator ();
SCM mark_smob () const;
static const char * const type_p_name_;
virtual ~Translator ();
-private:
- void init ();
Context *context () const { return daddy_context_; }
Context *context () const { return daddy_context_; }
+ Translator (Context *);
Translator (Translator const &);
SCM internal_get_property (SCM symbol) const;
Translator (Translator const &);
SCM internal_get_property (SCM symbol) const;
static void _ ## T ## _adder () \
{ \
T::boot (); \
static void _ ## T ## _adder () \
{ \
T::boot (); \
T::static_description_ = \
scm_permanent_object (t->static_translator_description ()); \
add_translator (t); \
T::static_description_ = \
scm_permanent_object (t->static_translator_description ()); \
add_translator (t); \
scm_gc_mark (short_text_);
}
scm_gc_mark (short_text_);
}
-Instrument_name_engraver::Instrument_name_engraver ()
+Instrument_name_engraver::Instrument_name_engraver (Context *c)
+ : Engraver (c)
scm_gc_mark (cue_name_);
}
scm_gc_mark (cue_name_);
}
-Instrument_switch_engraver::Instrument_switch_engraver ()
+Instrument_switch_engraver::Instrument_switch_engraver (Context *c)
+ : Engraver (c)
{
cue_name_ = SCM_EOL;
text_ = 0;
{
cue_name_ = SCM_EOL;
text_ = 0;
virtual void finalize ();
};
virtual void finalize ();
};
-Keep_alive_together_engraver::Keep_alive_together_engraver ()
+Keep_alive_together_engraver::Keep_alive_together_engraver (Context *c)
+ : Engraver (c)
-Key_engraver::Key_engraver ()
+Key_engraver::Key_engraver (Context *c)
+ : Engraver (c)
{
key_event_ = 0;
item_ = 0;
{
key_event_ = 0;
item_ = 0;
-Key_performer::Key_performer ()
+Key_performer::Key_performer (Context *c)
+ : Performer (c)
{
key_ev_ = 0;
audio_ = 0;
{
key_ev_ = 0;
audio_ = 0;
void fold_up_primitives (vector<Grob_info> const &primitives, Real padding, Real &min_length);
};
void fold_up_primitives (vector<Grob_info> const &primitives, Real padding, Real &min_length);
};
-Kievan_ligature_engraver::Kievan_ligature_engraver ()
+Kievan_ligature_engraver::Kievan_ligature_engraver (Context *c)
+ : Coherent_ligature_engraver (c)
TRANSLATOR_DECLARATIONS (Laissez_vibrer_engraver);
};
TRANSLATOR_DECLARATIONS (Laissez_vibrer_engraver);
};
-Laissez_vibrer_engraver::Laissez_vibrer_engraver ()
+Laissez_vibrer_engraver::Laissez_vibrer_engraver (Context *c)
+ : Engraver (c)
{
event_ = 0;
lv_column_ = 0;
{
event_ = 0;
lv_column_ = 0;
void stop_translation_timestep ();
};
void stop_translation_timestep ();
};
-Ledger_line_engraver::Ledger_line_engraver ()
+Ledger_line_engraver::Ledger_line_engraver (Context *c)
+ : Engraver (c)
ASSIGN_EVENT_ONCE (events_drul_[d], ev);
}
ASSIGN_EVENT_ONCE (events_drul_[d], ev);
}
-Ligature_bracket_engraver::Ligature_bracket_engraver ()
+Ligature_bracket_engraver::Ligature_bracket_engraver (Context *c)
+ : Engraver (c)
{
ligature_ = 0;
finished_ligature_ = 0;
{
ligature_ = 0;
finished_ligature_ = 0;
* would require to have a single, complicated Ligature_engraver that
* consists of all the code... This needs further thoughts.
*/
* would require to have a single, complicated Ligature_engraver that
* consists of all the code... This needs further thoughts.
*/
-Ligature_engraver::Ligature_engraver ()
+Ligature_engraver::Ligature_engraver (Context *c)
+ : Engraver (c)
{
ligature_ = 0;
finished_ligature_ = 0;
{
ligature_ = 0;
finished_ligature_ = 0;
Context *get_voice_context ();
};
Context *get_voice_context ();
};
-Lyric_engraver::Lyric_engraver ()
+Lyric_engraver::Lyric_engraver (Context *c)
+ : Engraver (c)
{
text_ = 0;
last_text_ = 0;
{
text_ = 0;
last_text_ = 0;
-Lyric_performer::Lyric_performer ()
+Lyric_performer::Lyric_performer (Context *c)
+ : Performer (c)
void acknowledge_break_alignment (Grob_info);
};
void acknowledge_break_alignment (Grob_info);
};
-Mark_engraver::Mark_engraver ()
+Mark_engraver::Mark_engraver (Context *c)
+ : Engraver (c)
{
text_ = 0;
final_text_ = 0;
{
text_ = 0;
final_text_ = 0;
-Measure_grouping_engraver::Measure_grouping_engraver ()
+Measure_grouping_engraver::Measure_grouping_engraver (Context *c)
+ : Engraver (c)
void process_music ();
};
void process_music ();
};
-Melody_engraver::Melody_engraver ()
+Melody_engraver::Melody_engraver (Context *c)
+ : Engraver (c)
{
stem_ = 0;
melody_item_ = 0;
{
stem_ = 0;
melody_item_ = 0;
-Mensural_ligature_engraver::Mensural_ligature_engraver ()
+Mensural_ligature_engraver::Mensural_ligature_engraver (Context *c)
+ : Coherent_ligature_engraver (c)
{
brew_ligature_primitive_proc
= Mensural_ligature::brew_ligature_primitive_proc;
{
brew_ligature_primitive_proc
= Mensural_ligature::brew_ligature_primitive_proc;
void listen_tempo_change (Stream_event *);
};
void listen_tempo_change (Stream_event *);
};
-Metronome_mark_engraver::Metronome_mark_engraver ()
+Metronome_mark_engraver::Metronome_mark_engraver (Context *c)
+ : Engraver (c)
{
text_ = 0;
support_ = 0;
{
text_ = 0;
support_ = 0;
-Midi_control_change_performer::Midi_control_change_performer ()
+Midi_control_change_performer::Midi_control_change_performer (Context *c)
+ : Performer (c)
-Multi_measure_rest_engraver::Multi_measure_rest_engraver ()
- : rest_ev_ (0),
+Multi_measure_rest_engraver::Multi_measure_rest_engraver (Context *c)
+ : Engraver (c),
+ rest_ev_ (0),
mmrest_ (0),
start_measure_ (0),
last_command_item_ (0),
mmrest_ (0),
start_measure_ (0),
last_command_item_ (0),
articulations_.clear ();
}
articulations_.clear ();
}
-New_fingering_engraver::New_fingering_engraver ()
+New_fingering_engraver::New_fingering_engraver (Context *c)
+ : Engraver (c)
-Note_head_line_engraver::Note_head_line_engraver ()
+Note_head_line_engraver::Note_head_line_engraver (Context *c)
+ : Engraver (c)
{
line_ = 0;
follow_ = false;
{
line_ = 0;
follow_ = false;
void stop_translation_timestep ();
};
void stop_translation_timestep ();
};
-Note_heads_engraver::Note_heads_engraver ()
+Note_heads_engraver::Note_heads_engraver (Context *c)
+ : Engraver (c)
-Note_name_engraver::Note_name_engraver ()
+Note_name_engraver::Note_name_engraver (Context *c)
+ : Engraver (c)
-Note_performer::Note_performer ()
+Note_performer::Note_performer (Context *c)
+ : Performer (c)
scm_gc_mark (i->first->self_scm ());
}
scm_gc_mark (i->first->self_scm ());
}
-Note_spacing_engraver::Note_spacing_engraver ()
+Note_spacing_engraver::Note_spacing_engraver (Context *c)
+ : Engraver (c)
{
spacing_ = 0;
last_spacing_ = 0;
{
spacing_ = 0;
last_spacing_ = 0;
scm_gc_mark (last_ottavation_);
}
scm_gc_mark (last_ottavation_);
}
-Ottava_spanner_engraver::Ottava_spanner_engraver ()
+Ottava_spanner_engraver::Ottava_spanner_engraver (Context *c)
+ : Engraver (c)
{
finished_ = 0;
span_ = 0;
{
finished_ = 0;
span_ = 0;
-Output_property_engraver::Output_property_engraver ()
+Output_property_engraver::Output_property_engraver (Context *c)
+ : Engraver (c)
-Page_turn_engraver::Page_turn_engraver ()
+Page_turn_engraver::Page_turn_engraver (Context *c)
+ : Engraver (c)
{
repeat_begin_ = Moment (-1);
repeat_begin_rest_length_ = 0;
{
repeat_begin_ = Moment (-1);
repeat_begin_rest_length_ = 0;
#include "translator.icc"
#include "translator.icc"
-Paper_column_engraver::Paper_column_engraver ()
+Paper_column_engraver::Paper_column_engraver (Context *c)
+ : Engraver (c)
{
last_moment_.main_part_ = Rational (-1, 1);
command_column_ = 0;
{
last_moment_.main_part_ = Rational (-1, 1);
command_column_ = 0;
void acknowledge_grob (Grob_info);
};
void acknowledge_grob (Grob_info);
};
-Parenthesis_engraver::Parenthesis_engraver ()
+Parenthesis_engraver::Parenthesis_engraver (Context *c)
+ : Engraver (c)
-Part_combine_engraver::Part_combine_engraver ()
+Part_combine_engraver::Part_combine_engraver (Context *c)
+ : Engraver (c)
{
text_ = 0;
new_event_ = 0;
{
text_ = 0;
new_event_ = 0;
void process_music ();
};
void process_music ();
};
-Percent_repeat_engraver::Percent_repeat_engraver ()
+Percent_repeat_engraver::Percent_repeat_engraver (Context *c)
+ : Engraver (c)
{
percent_ = 0;
percent_counter_ = 0;
{
percent_ = 0;
percent_counter_ = 0;
return "phrasing slur";
}
return "phrasing slur";
}
-Phrasing_slur_engraver::Phrasing_slur_engraver ()
+Phrasing_slur_engraver::Phrasing_slur_engraver (Context *c)
+ : Slur_engraver (c)
Spanner *make_line_spanner (Pedal_type t, SCM);
};
Spanner *make_line_spanner (Pedal_type t, SCM);
};
-Piano_pedal_align_engraver::Piano_pedal_align_engraver ()
+Piano_pedal_align_engraver::Piano_pedal_align_engraver (Context *c)
+ : Engraver (c)
ADD_SCM_INIT_FUNC (Piano_pedal_engraver_init_pedal_types_, init_pedal_types);
ADD_SCM_INIT_FUNC (Piano_pedal_engraver_init_pedal_types_, init_pedal_types);
-Piano_pedal_engraver::Piano_pedal_engraver ()
+Piano_pedal_engraver::Piano_pedal_engraver (Context *c)
+ : Engraver (c)
Pedal_info info_alist_[NUM_PEDAL_TYPES];
};
Pedal_info info_alist_[NUM_PEDAL_TYPES];
};
-Piano_pedal_performer::Piano_pedal_performer ()
+Piano_pedal_performer::Piano_pedal_performer (Context *c)
+ : Performer (c)
i.grob ()->set_property ("staff-position", newpos);
}
i.grob ()->set_property ("staff-position", newpos);
}
-Pitch_squash_engraver::Pitch_squash_engraver ()
+Pitch_squash_engraver::Pitch_squash_engraver (Context *c)
+ : Engraver (c)
void make_trill (Stream_event *);
};
void make_trill (Stream_event *);
};
-Pitched_trill_engraver::Pitched_trill_engraver ()
+Pitched_trill_engraver::Pitched_trill_engraver (Context *c)
+ : Engraver (c)
{
trill_head_ = 0;
trill_group_ = 0;
{
trill_head_ = 0;
trill_group_ = 0;
-Pure_from_neighbor_engraver::Pure_from_neighbor_engraver ()
+Pure_from_neighbor_engraver::Pure_from_neighbor_engraver (Context *c)
+ : Engraver (c)
context ()->set_property ("repeatCommands", SCM_EOL);
}
context ()->set_property ("repeatCommands", SCM_EOL);
}
-Repeat_acknowledge_engraver::Repeat_acknowledge_engraver ()
+Repeat_acknowledge_engraver::Repeat_acknowledge_engraver (Context *c)
+ : Engraver (c)
TRANSLATOR_DECLARATIONS (Repeat_tie_engraver);
};
TRANSLATOR_DECLARATIONS (Repeat_tie_engraver);
};
-Repeat_tie_engraver::Repeat_tie_engraver ()
+Repeat_tie_engraver::Repeat_tie_engraver (Context *c)
+ : Engraver (c)
{
event_ = 0;
semi_tie_column_ = 0;
{
event_ = 0;
semi_tie_column_ = 0;
TRANSLATOR_DECLARATIONS (Rest_collision_engraver);
};
TRANSLATOR_DECLARATIONS (Rest_collision_engraver);
};
-Rest_collision_engraver::Rest_collision_engraver ()
+Rest_collision_engraver::Rest_collision_engraver (Context *c)
+ : Engraver (c)
/*
Should merge with Note_head_engraver
*/
/*
Should merge with Note_head_engraver
*/
-Rest_engraver::Rest_engraver ()
+Rest_engraver::Rest_engraver (Context *c)
+ : Engraver (c)
{
rest_event_ = 0;
rest_ = 0;
{
rest_event_ = 0;
rest_ = 0;
void stop_translation_timestep ();
};
void stop_translation_timestep ();
};
-Rhythmic_column_engraver::Rhythmic_column_engraver ()
+Rhythmic_column_engraver::Rhythmic_column_engraver (Context *c)
+ : Engraver (c)
}
Scheme_engraver::Scheme_engraver (SCM definition)
}
Scheme_engraver::Scheme_engraver (SCM definition)
{
precomputable_methods_[START_TRANSLATION_TIMESTEP]
= callable (ly_symbol2scm ("start-translation-timestep"), definition);
{
precomputable_methods_[START_TRANSLATION_TIMESTEP]
= callable (ly_symbol2scm ("start-translation-timestep"), definition);
void stop_translation_timestep ();
};
void stop_translation_timestep ();
};
-Script_column_engraver::Script_column_engraver ()
+Script_column_engraver::Script_column_engraver (Context *c)
+ : Engraver (c)
TRANSLATOR_DECLARATIONS (Script_engraver);
};
TRANSLATOR_DECLARATIONS (Script_engraver);
};
-Script_engraver::Script_engraver ()
+Script_engraver::Script_engraver (Context *c)
+ : Engraver (c)
void stop_translation_timestep ();
};
void stop_translation_timestep ();
};
-Script_row_engraver::Script_row_engraver ()
+Script_row_engraver::Script_row_engraver (Context *c)
+ : Engraver (c)
TRANSLATOR_DECLARATIONS (Separating_line_group_engraver);
};
TRANSLATOR_DECLARATIONS (Separating_line_group_engraver);
};
-Separating_line_group_engraver::Separating_line_group_engraver ()
+Separating_line_group_engraver::Separating_line_group_engraver (Context *c)
+ : Engraver (c)
void process_music ();
};
void process_music ();
};
-Slash_repeat_engraver::Slash_repeat_engraver ()
+Slash_repeat_engraver::Slash_repeat_engraver (Context *c)
+ : Engraver (c)
-Slur_engraver::Slur_engraver ()
+Slur_engraver::Slur_engraver (Context *c)
+ : Engraver (c)
-Slur_performer::Slur_performer ()
+Slur_performer::Slur_performer (Context *c)
+ : Performer (c)
{
slur_ = false;
start_ev_ = 0;
{
slur_ = false;
start_ev_ = 0;
-Spacing_engraver::Spacing_engraver ()
+Spacing_engraver::Spacing_engraver (Context *c)
+ : Engraver (c)
{
spacing_ = 0;
start_section_ = 0;
{
spacing_ = 0;
start_section_ = 0;
vector<Grob *> note_columns_;
};
vector<Grob *> note_columns_;
};
-Span_arpeggio_engraver::Span_arpeggio_engraver ()
+Span_arpeggio_engraver::Span_arpeggio_engraver (Context *c)
+ : Engraver (c)
void process_acknowledged ();
};
void process_acknowledged ();
};
-Span_bar_engraver::Span_bar_engraver ()
+Span_bar_engraver::Span_bar_engraver (Context *c)
+ : Engraver (c)
{
spanbar_ = 0;
make_spanbar_ = false;
{
spanbar_ = 0;
make_spanbar_ = false;
virtual void derived_mark () const;
};
virtual void derived_mark () const;
};
-Span_bar_stub_engraver::Span_bar_stub_engraver ()
+Span_bar_stub_engraver::Span_bar_stub_engraver (Context *c)
+ : Engraver (c)
{
axis_groups_ = SCM_EOL;
}
{
axis_groups_ = SCM_EOL;
}
running_spanners_.push_back (gi.spanner ());
}
running_spanners_.push_back (gi.spanner ());
}
-Spanner_break_forbid_engraver::Spanner_break_forbid_engraver ()
+Spanner_break_forbid_engraver::Spanner_break_forbid_engraver (Context *c)
+ : Engraver (c)
void acknowledge_end_staff_symbol (Grob_info);
};
void acknowledge_end_staff_symbol (Grob_info);
};
-Staff_collecting_engraver::Staff_collecting_engraver ()
+Staff_collecting_engraver::Staff_collecting_engraver (Context *c)
+ : Engraver (c)
-Staff_performer::Staff_performer ()
- : channel_ (-1),
+Staff_performer::Staff_performer (Context *c)
+ : Performer (c),
+ channel_ (-1),
instrument_ (0),
instrument_name_ (0),
name_ (0),
instrument_ (0),
instrument_name_ (0),
name_ (0),
-Staff_symbol_engraver::Staff_symbol_engraver ()
+Staff_symbol_engraver::Staff_symbol_engraver (Context *c)
+ : Engraver (c)
{
finished_span_ = 0;
first_start_ = true;
{
finished_span_ = 0;
first_start_ = true;
void stop_translation_timestep ();
};
void stop_translation_timestep ();
};
-Stanza_number_align_engraver::Stanza_number_align_engraver ()
+Stanza_number_align_engraver::Stanza_number_align_engraver (Context *c)
+ : Engraver (c)
-Stanza_number_engraver::Stanza_number_engraver ()
+Stanza_number_engraver::Stanza_number_engraver (Context *c)
+ : Engraver (c)
{
text_ = 0;
last_stanza_ = SCM_EOL;
{
text_ = 0;
last_stanza_ = SCM_EOL;
void kill_unused_flags ();
};
void kill_unused_flags ();
};
-Stem_engraver::Stem_engraver ()
+Stem_engraver::Stem_engraver (Context *c)
+ : Engraver (c)
{
tremolo_ev_ = 0;
stem_ = 0;
{
tremolo_ev_ = 0;
stem_ = 0;
virtual void finalize ();
};
virtual void finalize ();
};
-System_start_delimiter_engraver::System_start_delimiter_engraver ()
+System_start_delimiter_engraver::System_start_delimiter_engraver (Context *c)
+ : Engraver (c)
void stop_translation_timestep ();
};
void stop_translation_timestep ();
};
-Tab_note_heads_engraver::Tab_note_heads_engraver ()
+Tab_note_heads_engraver::Tab_note_heads_engraver (Context *c)
+ : Engraver (c)
gi.grob ()->set_property ("line-count", scm_from_int (k));
}
gi.grob ()->set_property ("line-count", scm_from_int (k));
}
-Tab_staff_symbol_engraver::Tab_staff_symbol_engraver ()
+Tab_staff_symbol_engraver::Tab_staff_symbol_engraver (Context *c)
+ : Engraver (c)
void stop_translation_timestep ();
};
void stop_translation_timestep ();
};
-Tab_tie_follow_engraver::Tab_tie_follow_engraver ()
+Tab_tie_follow_engraver::Tab_tie_follow_engraver (Context *c)
+ : Engraver (c)
scm_gc_mark (last_tempo_);
}
scm_gc_mark (last_tempo_);
}
-Tempo_performer::Tempo_performer ()
+Tempo_performer::Tempo_performer (Context *c)
+ : Performer (c)
{
last_tempo_ = SCM_EOL;
audio_ = 0;
{
last_tempo_ = SCM_EOL;
audio_ = 0;
-Text_engraver::Text_engraver ()
+Text_engraver::Text_engraver (Context *c)
+ : Engraver (c)
-Text_spanner_engraver::Text_spanner_engraver ()
+Text_spanner_engraver::Text_spanner_engraver (Context *c)
+ : Engraver (c)
{
finished_ = 0;
current_event_ = 0;
{
finished_ = 0;
current_event_ = 0;
TRANSLATOR_DECLARATIONS (Tie_engraver);
};
TRANSLATOR_DECLARATIONS (Tie_engraver);
};
-Tie_engraver::Tie_engraver ()
+Tie_engraver::Tie_engraver (Context *c)
+ : Engraver (c)
{
event_ = 0;
tie_column_ = 0;
{
event_ = 0;
tie_column_ = 0;
TRANSLATOR_DECLARATIONS (Tie_performer);
};
TRANSLATOR_DECLARATIONS (Tie_performer);
};
-Tie_performer::Tie_performer ()
+Tie_performer::Tie_performer (Context *c)
+ : Performer (c)
scm_gc_mark (time_cause_);
}
scm_gc_mark (time_cause_);
}
-Time_signature_engraver::Time_signature_engraver ()
+Time_signature_engraver::Time_signature_engraver (Context *c)
+ : Engraver (c)
{
time_signature_ = 0;
time_cause_ = SCM_EOL;
{
time_signature_ = 0;
time_cause_ = SCM_EOL;
scm_gc_mark (prev_fraction_);
}
scm_gc_mark (prev_fraction_);
}
-Time_signature_performer::Time_signature_performer ()
+Time_signature_performer::Time_signature_performer (Context *c)
+ : Performer (c)
{
prev_fraction_ = SCM_BOOL_F;
audio_ = 0;
{
prev_fraction_ = SCM_BOOL_F;
audio_ = 0;
-Timing_translator::Timing_translator ()
+Timing_translator::Timing_translator (Context *c)
+ : Translator (c)
-void
-Translator::init ()
-{
- daddy_context_ = 0;
- smobify_self ();
-}
-
void
Translator::process_music ()
{
void
Translator::process_music ()
{
-Translator::Translator ()
+Translator::Translator (Context *c)
+ : daddy_context_ (c)
}
Translator::Translator (Translator const &)
: Smob<Translator> ()
{
}
Translator::Translator (Translator const &)
: Smob<Translator> ()
{
-Trill_spanner_engraver::Trill_spanner_engraver ()
+Trill_spanner_engraver::Trill_spanner_engraver (Context *c)
+ : Engraver (c)
{
finished_ = 0;
current_event_ = 0;
{
finished_ = 0;
current_event_ = 0;
-Tuplet_engraver::Tuplet_engraver ()
+Tuplet_engraver::Tuplet_engraver (Context *c)
+ : Engraver (c)
void acknowledge_grob (Grob_info);
};
void acknowledge_grob (Grob_info);
};
-Tweak_engraver::Tweak_engraver ()
+Tweak_engraver::Tweak_engraver (Context *c)
+ : Engraver (c)
vector<Grob_info> const &primitives);
};
vector<Grob_info> const &primitives);
};
-Vaticana_ligature_engraver::Vaticana_ligature_engraver ()
+Vaticana_ligature_engraver::Vaticana_ligature_engraver (Context *c)
+ : Gregorian_ligature_engraver (c)
{
brew_ligature_primitive_proc
= Vaticana_ligature::brew_ligature_primitive_proc;
{
brew_ligature_primitive_proc
= Vaticana_ligature::brew_ligature_primitive_proc;
-Vertical_align_engraver::Vertical_align_engraver ()
+Vertical_align_engraver::Vertical_align_engraver (Context *c)
+ : Engraver (c)
{
valign_ = 0;
id_to_group_hashtab_ = SCM_EOL;
{
valign_ = 0;
id_to_group_hashtab_ = SCM_EOL;
scm_gc_mark (start_string_);
}
scm_gc_mark (start_string_);
}
-Volta_engraver::Volta_engraver ()
+Volta_engraver::Volta_engraver (Context *c)
+ : Engraver (c)
{
start_string_ = SCM_EOL;
volta_bracket_ = 0;
{
start_string_ = SCM_EOL;
volta_bracket_ = 0;