]> git.donarmstrong.com Git - lilypond.git/commitdiff
Issue 1375/1: Let Translator constructor take a Context argument
authorDavid Kastrup <dak@gnu.org>
Fri, 27 Jan 2017 12:27:03 +0000 (13:27 +0100)
committerDavid Kastrup <dak@gnu.org>
Thu, 2 Feb 2017 20:32:27 +0000 (21:32 +0100)
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:
lily/accidental-engraver.cc
lily/ambitus-engraver.cc
lily/arpeggio-engraver.cc
lily/auto-beam-engraver.cc
lily/axis-group-engraver.cc
lily/balloon-engraver.cc
lily/bar-engraver.cc
lily/bar-number-engraver.cc
lily/beam-collision-engraver.cc
lily/beam-engraver.cc
lily/beam-performer.cc
lily/bend-engraver.cc
lily/break-align-engraver.cc
lily/breathing-sign-engraver.cc
lily/chord-name-engraver.cc
lily/chord-tremolo-engraver.cc
lily/clef-engraver.cc
lily/cluster-engraver.cc
lily/collision-engraver.cc
lily/completion-note-heads-engraver.cc
lily/completion-rest-engraver.cc
lily/concurrent-hairpin-engraver.cc
lily/control-track-performer.cc
lily/cue-clef-engraver.cc
lily/custos-engraver.cc
lily/default-bar-line-engraver.cc
lily/dot-column-engraver.cc
lily/dots-engraver.cc
lily/double-percent-repeat-engraver.cc
lily/drum-note-engraver.cc
lily/drum-note-performer.cc
lily/dynamic-align-engraver.cc
lily/dynamic-engraver.cc
lily/dynamic-performer.cc
lily/engraver.cc
lily/episema-engraver.cc
lily/extender-engraver.cc
lily/figured-bass-engraver.cc
lily/figured-bass-position-engraver.cc
lily/fingering-column-engraver.cc
lily/fingering-engraver.cc
lily/font-size-engraver.cc
lily/footnote-engraver.cc
lily/forbid-break-engraver.cc
lily/fretboard-engraver.cc
lily/glissando-engraver.cc
lily/grace-engraver.cc
lily/grace-spacing-engraver.cc
lily/gregorian-ligature-engraver.cc
lily/grid-line-span-engraver.cc
lily/grid-point-engraver.cc
lily/grob-pq-engraver.cc
lily/horizontal-bracket-engraver.cc
lily/hyphen-engraver.cc
lily/include/coherent-ligature-engraver.hh
lily/include/engraver.hh
lily/include/gregorian-ligature-engraver.hh
lily/include/ligature-engraver.hh
lily/include/performer.hh
lily/include/translator.hh
lily/include/translator.icc
lily/instrument-name-engraver.cc
lily/instrument-switch-engraver.cc
lily/keep-alive-together-engraver.cc
lily/key-engraver.cc
lily/key-performer.cc
lily/kievan-ligature-engraver.cc
lily/laissez-vibrer-engraver.cc
lily/ledger-line-engraver.cc
lily/ligature-bracket-engraver.cc
lily/ligature-engraver.cc
lily/lyric-engraver.cc
lily/lyric-performer.cc
lily/mark-engraver.cc
lily/measure-grouping-engraver.cc
lily/melody-engraver.cc
lily/mensural-ligature-engraver.cc
lily/metronome-engraver.cc
lily/midi-cc-performer.cc
lily/multi-measure-rest-engraver.cc
lily/new-fingering-engraver.cc
lily/note-head-line-engraver.cc
lily/note-heads-engraver.cc
lily/note-name-engraver.cc
lily/note-performer.cc
lily/note-spacing-engraver.cc
lily/ottava-engraver.cc
lily/output-property-engraver.cc
lily/page-turn-engraver.cc
lily/paper-column-engraver.cc
lily/parenthesis-engraver.cc
lily/part-combine-engraver.cc
lily/percent-repeat-engraver.cc
lily/phrasing-slur-engraver.cc
lily/piano-pedal-align-engraver.cc
lily/piano-pedal-engraver.cc
lily/piano-pedal-performer.cc
lily/pitch-squash-engraver.cc
lily/pitched-trill-engraver.cc
lily/pure-from-neighbor-engraver.cc
lily/repeat-acknowledge-engraver.cc
lily/repeat-tie-engraver.cc
lily/rest-collision-engraver.cc
lily/rest-engraver.cc
lily/rhythmic-column-engraver.cc
lily/scheme-engraver.cc
lily/script-column-engraver.cc
lily/script-engraver.cc
lily/script-row-engraver.cc
lily/separating-line-group-engraver.cc
lily/slash-repeat-engraver.cc
lily/slur-engraver.cc
lily/slur-performer.cc
lily/spacing-engraver.cc
lily/span-arpeggio-engraver.cc
lily/span-bar-engraver.cc
lily/span-bar-stub-engraver.cc
lily/spanner-break-forbid-engraver.cc
lily/staff-collecting-engraver.cc
lily/staff-performer.cc
lily/staff-symbol-engraver.cc
lily/stanza-number-align-engraver.cc
lily/stanza-number-engraver.cc
lily/stem-engraver.cc
lily/system-start-delimiter-engraver.cc
lily/tab-note-heads-engraver.cc
lily/tab-staff-symbol-engraver.cc
lily/tab-tie-follow-engraver.cc
lily/tempo-performer.cc
lily/text-engraver.cc
lily/text-spanner-engraver.cc
lily/tie-engraver.cc
lily/tie-performer.cc
lily/time-signature-engraver.cc
lily/time-signature-performer.cc
lily/timing-translator.cc
lily/translator.cc
lily/trill-spanner-engraver.cc
lily/tuplet-engraver.cc
lily/tweak-engraver.cc
lily/vaticana-ligature-engraver.cc
lily/vertical-align-engraver.cc
lily/volta-engraver.cc

index 95ebf7caa97e8e72bbb0e1543a055411ea4a5ef9..d8cc647bc0b07a0f809881bcd08355c6fc94f59b 100644 (file)
@@ -103,7 +103,8 @@ public:
   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;
index 665c83a4cc51c6b5648df8ee06565aaf6f9a093e..50cebbbf99a06a4d00c48b5ba12eff5df07e5674 100644 (file)
@@ -88,7 +88,8 @@ Ambitus_engraver::create_ambitus ()
   is_typeset_ = false;
 }
 
-Ambitus_engraver::Ambitus_engraver ()
+Ambitus_engraver::Ambitus_engraver (Context *c)
+  : Engraver (c)
 {
   ambitus_ = 0;
   heads_.set (0, 0);
index d308a430686a6dc085685b4ac1f68304eb6621fe..e0face3d7a0d82fc4a8ee9c235d1cd1053a167be 100644 (file)
@@ -49,7 +49,8 @@ private:
   Stream_event *arpeggio_event_;
 };
 
-Arpeggio_engraver::Arpeggio_engraver ()
+Arpeggio_engraver::Arpeggio_engraver (Context *c)
+  : Engraver (c)
 {
   arpeggio_ = 0;
   arpeggio_event_ = 0;
index 3f03362b3b4645a7517aebb0a51e35ef6b97ac97..2c61f00959b3283568bf6550508949f688555f60 100644 (file)
@@ -147,7 +147,8 @@ Auto_beam_engraver::process_music ()
     }
 }
 
-Auto_beam_engraver::Auto_beam_engraver ()
+Auto_beam_engraver::Auto_beam_engraver (Context *c)
+  : Engraver (c)
 {
   forbid_ = 0;
   process_acknowledged_count_ = 0;
@@ -589,7 +590,8 @@ private:
   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_
index 2a5f71e275cc15f30309ed0d141f0471fabb7882..d500c6ba64fea97a2f96e362143137ecd01a429e 100644 (file)
@@ -55,7 +55,8 @@ public:
 };
 
 
-Axis_group_engraver::Axis_group_engraver ()
+Axis_group_engraver::Axis_group_engraver (Context *c)
+  : Engraver (c)
 {
   staffline_ = 0;
   interesting_ = SCM_EOL;
index 4f0f136db05b8ca6f5edf72bfd9ead489859b34f..610a9906f0213b520b07eb82f2f406e6ca426ecf 100644 (file)
@@ -49,7 +49,8 @@ Balloon_engraver::stop_translation_timestep ()
   events_.clear ();
 }
 
-Balloon_engraver::Balloon_engraver ()
+Balloon_engraver::Balloon_engraver (Context *c)
+  : Engraver (c)
 {
 }
 
index 8feb63dd134fa873d229fc4e3f4b10ecd98ca9c6..fb39ae4955c5f301f141bc32b527362cfa74b759 100644 (file)
@@ -47,7 +47,8 @@ private:
   vector<Spanner *> spanners_;
 };
 
-Bar_engraver::Bar_engraver ()
+Bar_engraver::Bar_engraver (Context *c)
+  : Engraver (c)
 {
   bar_ = 0;
 }
index 1af5f19da1777115acda72facd0dd63d630a1c68..44f155df6e24298ca81a6f20c45b8b63904abd74 100644 (file)
@@ -135,7 +135,8 @@ Bar_number_engraver::process_music ()
     }
 }
 
-Bar_number_engraver::Bar_number_engraver ()
+Bar_number_engraver::Bar_number_engraver (Context *c)
+  : Engraver (c)
 {
   text_ = 0;
   alternative_starting_bar_number_ = 0;
index 31f96b72b17b4f406d2f87720b6af847bab55f23..4494bb03c2d3fd2397a8deb5917840451975cce8 100644 (file)
@@ -49,7 +49,9 @@ public:
   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)
index 9b4df64d9c9b9d1c055e1e1c6711f4d329be28b0..f252eea5e2a1037c715ac72ef3aaf700bea8a0c0 100644 (file)
@@ -100,7 +100,8 @@ Beam_engraver::valid_end_point ()
   return valid_start_point ();
 }
 
-Beam_engraver::Beam_engraver ()
+Beam_engraver::Beam_engraver (Context *c)
+  : Engraver (c)
 {
   beam_ = 0;
   finished_beam_ = 0;
@@ -349,7 +350,8 @@ protected:
   virtual bool valid_end_point ();
 };
 
-Grace_beam_engraver::Grace_beam_engraver ()
+Grace_beam_engraver::Grace_beam_engraver (Context *c)
+  : Beam_engraver (c)
 {
 }
 
index 0970e8b5e74831d5767b2e8367f7d00eb8c55fff..dad58500ca317b0dbe1ce6a52f6cabeada609ea0 100644 (file)
@@ -42,7 +42,8 @@ private:
   bool beam_;
 };
 
-Beam_performer::Beam_performer ()
+Beam_performer::Beam_performer (Context *c)
+  : Performer (c)
 {
   beam_ = false;
   start_ev_ = 0;
index 83c98a94e082a612a18d6c30c3d3935e090b7285..f9eaaa71f4bed96eb985f7f07782527dc9b7ad63 100644 (file)
@@ -107,7 +107,8 @@ Bend_engraver::acknowledge_note_head (Grob_info info)
                                                 now_mom ());
 }
 
-Bend_engraver::Bend_engraver ()
+Bend_engraver::Bend_engraver (Context *c)
+  : Engraver (c)
 {
   fall_ = 0;
   last_fall_ = 0;
index 55a638da870283b10b8446695221264a581c8991..160f6fe7ec2b62244ba323960f08b605ac9249bf 100644 (file)
@@ -53,7 +53,8 @@ Break_align_engraver::stop_translation_timestep ()
   left_edge_ = 0;
 }
 
-Break_align_engraver::Break_align_engraver ()
+Break_align_engraver::Break_align_engraver (Context *c)
+  : Engraver (c)
 {
   column_alist_ = SCM_EOL;
   left_edge_ = 0;
index ade1b15f297ea1dd4f32a1bfc1437c51fce8935e..917a47d4f6caa54a65c5ac6952b7a10093f121ed 100644 (file)
@@ -45,7 +45,8 @@ private:
   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;
index 3a14ff4b07f44168ce5117712d7e99e73812cc91..3d989ccfb14de07ee33cf981f0e5e67ed338a3cb 100644 (file)
@@ -52,7 +52,8 @@ Chord_name_engraver::finalize ()
 {
 }
 
-Chord_name_engraver::Chord_name_engraver ()
+Chord_name_engraver::Chord_name_engraver (Context *c)
+  : Engraver (c)
 {
   rest_event_ = 0;
 }
index 7a17c1350e36567857acb983eeda04695df3827f..9e48a1a4908d5a21bf0c0e59a9242483979f4dd3 100644 (file)
@@ -66,7 +66,8 @@ protected:
   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;
index 00b3c3e55a736ef930d8d048afe30c2d74869df3..5d30ce07c23c0e27af418ef7c222120f16935e34 100644 (file)
@@ -62,7 +62,8 @@ Clef_engraver::derived_mark () const
   scm_gc_mark (prev_glyph_);
 }
 
-Clef_engraver::Clef_engraver ()
+Clef_engraver::Clef_engraver (Context *c)
+  : Engraver (c)
 {
   clef_ = 0;
   modifier_ = 0;
index 0c84d1cb650019a32607e4744588715ea3b4d09e..e8ba45121229d414c83e0449ef07a5d2bd9b322d 100644 (file)
@@ -48,7 +48,8 @@ private:
   Spanner *finished_spanner_;
 };
 
-Cluster_spanner_engraver::Cluster_spanner_engraver ()
+Cluster_spanner_engraver::Cluster_spanner_engraver (Context *c)
+  : Engraver (c)
 {
   spanner_ = 0;
   finished_spanner_ = 0;
index ca6a52d320a09dde5c5ff326611bfe4309ded81b..15ee2d29239711fd3eda3b02413626078e2b52ab 100644 (file)
@@ -73,7 +73,8 @@ Collision_engraver::stop_translation_timestep ()
   note_columns_.clear ();
 }
 
-Collision_engraver::Collision_engraver ()
+Collision_engraver::Collision_engraver (Context *c)
+  : Engraver (c)
 {
   col_ = 0;
 }
index ef3a5012a26cbc5a77d192904ffb216d5082c4ab..18b51cd4ec9440217301156565d22dc11addf128 100644 (file)
@@ -301,7 +301,8 @@ Completion_heads_engraver::start_translation_timestep ()
                             ly_bool2scm (note_events_.size ()));
 }
 
-Completion_heads_engraver::Completion_heads_engraver ()
+Completion_heads_engraver::Completion_heads_engraver (Context *c)
+  : Engraver (c)
 {
   tie_column_ = 0;
 }
index 2b5693916e96ee25e02d0d1ff9a4882e50b51b1d..c3b8b10955d767404e34ee2d87bccc0a005e8e82 100644 (file)
@@ -253,7 +253,8 @@ Completion_rest_engraver::start_translation_timestep ()
                             ly_bool2scm (rest_events_.size ()));
 }
 
-Completion_rest_engraver::Completion_rest_engraver ()
+Completion_rest_engraver::Completion_rest_engraver (Context *c)
+  : Engraver (c)
 {
 }
 
index 3fdf6524c243f6745fa93883b7b46223528c1ca7..17cd90196eb5f02204b556ca0205dd81b7e85a8c 100644 (file)
@@ -46,7 +46,8 @@ private:
   vector<Grob *> hairpins_hanging_out_;
 };
 
-Concurrent_hairpin_engraver::Concurrent_hairpin_engraver ()
+Concurrent_hairpin_engraver::Concurrent_hairpin_engraver (Context *c)
+  : Engraver (c)
 {
 }
 
index db6efe649ed5b3fa15c6155d51e8d8084e51b14f..3846e3102da6c8c0ce2572480ee49d878b70efd9 100644 (file)
@@ -21,7 +21,8 @@ protected:
   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)
 {
   control_track_ = 0;
 }
index 53640afadc17264e62e765b6a1f238d592e5e548..b39b5ba34d728cd816f9c1246730ae856c2dd2c1 100644 (file)
@@ -66,7 +66,8 @@ Cue_clef_engraver::derived_mark () const
   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;
index a21ad4eb787ee8c9a4a91047abad40ffaa802601..7d15aeaba85a77e91f5b772eeace86aafbd5fc1d 100644 (file)
@@ -52,7 +52,8 @@ private:
   vector<Pitch> pitches_;
 };
 
-Custos_engraver::Custos_engraver ()
+Custos_engraver::Custos_engraver (Context *c)
+  : Engraver (c)
 {
   custos_permitted_ = false;
 }
index a8b9898276c518ea263b3663e67d1df37b7bcdc5..f3d1d595057499d390e02fe72f76357d3f075816 100644 (file)
@@ -65,7 +65,8 @@ ADD_TRANSLATOR (Default_bar_line_engraver,
                 ""
                );
 
-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);
 }
index c5c80015249791f858e82ba1499e820122be975a..2e905fe405f4377c92c5e2bfbf2d3ab0cbea3690 100644 (file)
@@ -37,7 +37,8 @@ protected:
   void stop_translation_timestep ();
 };
 
-Dot_column_engraver::Dot_column_engraver ()
+Dot_column_engraver::Dot_column_engraver (Context *c)
+  : Engraver (c)
 {
   dotcol_ = 0;
 }
index cbd6c718a9e944bcc70b245b64b88045575c4ed6..eb0f48722637577644b3274ce7c03e0747233fc8 100644 (file)
@@ -31,7 +31,8 @@ class Dots_engraver : public Engraver
   TRANSLATOR_DECLARATIONS (Dots_engraver);
 };
 
-Dots_engraver::Dots_engraver ()
+Dots_engraver::Dots_engraver (Context *c)
+  : Engraver (c)
 {
 }
 
index d1717f8314a96f68b67cb85367f8a79910673767..ec927c9eee5e733b117cf805dbb6c9b774dc4c77 100644 (file)
@@ -43,7 +43,8 @@ protected:
   void process_music ();
 };
 
-Double_percent_repeat_engraver::Double_percent_repeat_engraver ()
+Double_percent_repeat_engraver::Double_percent_repeat_engraver (Context *c)
+  : Engraver (c)
 {
   percent_event_ = 0;
 }
index 16b089cb703cca7877766b9e16ed202929357fbb..e358d8e0d673e9e892e435185df342bebae264f0 100644 (file)
@@ -49,7 +49,8 @@ protected:
   void stop_translation_timestep ();
 };
 
-Drum_notes_engraver::Drum_notes_engraver ()
+Drum_notes_engraver::Drum_notes_engraver (Context *c)
+  : Engraver (c)
 {
 }
 
index 93f648f3d765b4047afc23803e1e6eb8eda3a840..9fce62808fe910892b122b99831e53bb7370894d 100644 (file)
@@ -38,7 +38,8 @@ private:
   vector<Stream_event *> note_evs_;
 };
 
-Drum_note_performer::Drum_note_performer ()
+Drum_note_performer::Drum_note_performer (Context *c)
+  : Performer (c)
 {
 }
 
index c276e217593e7b209e1cce5f47b15a8610dd8e1b..ae3f968c58084d7dd94a16e31590b822b45d0ad4 100644 (file)
@@ -57,7 +57,8 @@ private:
   set<Spanner *> running_;
 };
 
-Dynamic_align_engraver::Dynamic_align_engraver ()
+Dynamic_align_engraver::Dynamic_align_engraver (Context *c)
+  : Engraver (c)
 {
   line_ = 0;
   ended_line_ = 0;
index 5d4ef33de3aee6f282176fd92d3f82baf23966dc..686fbc5a6869f4095ccc091c58d748e04a2b8a3d 100644 (file)
@@ -58,7 +58,8 @@ private:
   bool end_new_spanner_;
 };
 
-Dynamic_engraver::Dynamic_engraver ()
+Dynamic_engraver::Dynamic_engraver (Context *c)
+  : Engraver (c)
 {
   script_event_ = 0;
   current_span_event_ = 0;
index 23b7d43bfd4b104974691877bb08dbf71125daa3..2a2a1fbd2a2af41b63aa76b8bb68e5e42a865ab2 100644 (file)
@@ -123,8 +123,9 @@ private:
   State state_;
 };
 
-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)
index daf055ccf71141ea0df2e2c8e2a5843e93d082d1..59c91306ef39496f5f729273686c0d58def2ab68 100644 (file)
@@ -81,7 +81,8 @@ Engraver::announce_end_grob (Grob *e, SCM cause)
   announce_end_grob (make_grob_info (e, cause));
 }
 
-Engraver::Engraver ()
+Engraver::Engraver (Context *c)
+  : Translator (c)
 {
 }
 
index d2fc2f398f9ac8856a0ef4b69cf2e5d3392edb20..b58379482935219386b277c199f7ee81250e43b7 100644 (file)
@@ -48,7 +48,8 @@ private:
   void typeset_all ();
 };
 
-Episema_engraver::Episema_engraver ()
+Episema_engraver::Episema_engraver (Context *c)
+  : Engraver (c)
 {
   finished_ = 0;
   current_event_ = 0;
index 39fa7788dedb87fa6a4ff5344c865f9c963383c3..f1940083b95a350722cab732eec36a84d1127f3e 100644 (file)
@@ -53,7 +53,8 @@ protected:
   void process_music ();
 };
 
-Extender_engraver::Extender_engraver ()
+Extender_engraver::Extender_engraver (Context *c)
+  : Engraver (c)
 {
   extender_ = 0;
   pending_extender_ = 0;
index 9785f3fef47e763efc7acc2da7636ed7e20a7b72..b2a79262bb64727f7b4421dfb54981032f01e278 100644 (file)
@@ -132,7 +132,8 @@ protected:
   void process_music ();
 };
 
-Figured_bass_engraver::Figured_bass_engraver ()
+Figured_bass_engraver::Figured_bass_engraver (Context *c)
+  : Engraver (c)
 {
   alignment_ = 0;
   continuation_ = false;
index 66fabb1ffb6d4a0a316aeccb31bec741bfefd759..b35d037a35fb0ca8442a3fc3ad90db2b264e4e53 100644 (file)
@@ -49,7 +49,8 @@ protected:
   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;
index a2a37143b37a81efc59482fda913b1b7c7eddf20..5662dfbf709b404b5478474ff176a77bd7b371e3 100644 (file)
@@ -42,7 +42,8 @@ protected:
   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;
index 8de44e96984ed22d18a504a1d5fe41bc9118d8bc..4f40bff00e7a1048aed2b02fdc63e088ad14fa29 100644 (file)
@@ -136,7 +136,8 @@ Fingering_engraver::stop_translation_timestep ()
   events_.clear ();
 }
 
-Fingering_engraver::Fingering_engraver ()
+Fingering_engraver::Fingering_engraver (Context *c)
+  : Engraver (c)
 {
 }
 
index 4dfd24d01444a561a2485f6001aeb9f14f57c8d3..3889a89e3b793fbb2c903a232a0fe7c78aeeabcb 100644 (file)
@@ -31,7 +31,8 @@ protected:
 private:
 };
 
-Font_size_engraver::Font_size_engraver ()
+Font_size_engraver::Font_size_engraver (Context *c)
+  : Engraver (c)
 {
   size = 0.0;
 }
index e80d9b64cec69b8016a4a2aca5cb5bdfb4f924f5..ea5c4781b55532da20566082a7e6b2dc5b386349 100644 (file)
@@ -49,7 +49,8 @@ Footnote_engraver::finalize ()
   annotated_spanners_.clear ();
 }
 
-Footnote_engraver::Footnote_engraver ()
+Footnote_engraver::Footnote_engraver (Context *c)
+  : Engraver (c)
 {
 }
 
index 9cfdef24c82566634160bc4d22ba655e2be1e9e2..c5e4b7b06e4096ea394170a89d5aaf778d189641 100644 (file)
@@ -33,7 +33,8 @@ public:
   void start_translation_timestep ();
 };
 
-Forbid_line_break_engraver::Forbid_line_break_engraver ()
+Forbid_line_break_engraver::Forbid_line_break_engraver (Context *c)
+  : Engraver (c)
 {
 }
 
index 18843fc87c6d3c2d9829c6b29f1f337d85cd14f2..28b4bd1931f208e544ee219ee2eb7a65556d10ab 100644 (file)
@@ -62,7 +62,8 @@ Fretboard_engraver::derived_mark () const
   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;
index 878e7f88b355539a7f29e1cf75aa3e3e701108be..50e0386c62abe69c30dbdf263cf3c358aebcac8c 100644 (file)
@@ -53,7 +53,8 @@ private:
   vector<vsize> note_column_2;
 };
 
-Glissando_engraver::Glissando_engraver ()
+Glissando_engraver::Glissando_engraver (Context *c)
+  : Engraver (c)
 {
   event_ = 0;
   start_glissandi_ = false;
index 57ccb1e0fa4d18202fff38f18cc002a38b0f77f8..59550ba8326c17c9c2bd5bb74360020ccd40573f 100644 (file)
@@ -41,7 +41,8 @@ protected:
   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));
index 445d2b0f81a7504c44df39d87efbeebd1b4be4ba..57b934953933ff0ccf30fe40f3388086aae1d27c 100644 (file)
@@ -38,7 +38,8 @@ protected:
   void stop_translation_timestep ();
 };
 
-Grace_spacing_engraver::Grace_spacing_engraver ()
+Grace_spacing_engraver::Grace_spacing_engraver (Context *c)
+  : Engraver (c)
 {
   grace_spacing_ = 0;
 }
index 4e4fc135c406010197d1ead57183781728827e08..ad8b423eb58ec4d51d74b350369601067d35bf99 100644 (file)
@@ -42,7 +42,8 @@
  * 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;
 }
index efecf676228f01de4c5d225f68231d5a7b3f749c..d5f0335a480f7cff62b0a2d9a6e3e3bb90d66331 100644 (file)
@@ -35,7 +35,8 @@ protected:
   void stop_translation_timestep ();
 };
 
-Grid_line_span_engraver::Grid_line_span_engraver ()
+Grid_line_span_engraver::Grid_line_span_engraver (Context *c)
+  : Engraver (c)
 {
   spanline_ = 0;
 }
index d67fb191b6463605ae35440913b6bd7d6deab823..dd8ff1bdd9ea5c18dff4085cd11ec11d04cef730 100644 (file)
@@ -44,7 +44,8 @@ Grid_point_engraver::process_music ()
     }
 }
 
-Grid_point_engraver::Grid_point_engraver ()
+Grid_point_engraver::Grid_point_engraver (Context *c)
+  : Engraver (c)
 {
 }
 
index 25392a43556d8746b6742cded90cb9e30da521a9..174b93c26aee235b01b554371729ef082bc35b3c 100644 (file)
@@ -50,7 +50,8 @@ protected:
   vector<Grob_pq_entry> started_now_;
 };
 
-Grob_pq_engraver::Grob_pq_engraver ()
+Grob_pq_engraver::Grob_pq_engraver (Context *c)
+  : Engraver (c)
 {
 }
 
index d50146a2d0ddaf0061104d33252b73166d36077b..6dd34c17855f564989dcf79ccedfa9da3a6f018a 100644 (file)
@@ -43,7 +43,8 @@ public:
   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;
index 19ff388963d2273934eb9a5356b1da005557aefe..20d2a7c9380d3d4cd13fbb8cbae1d2a9f98ab916 100644 (file)
@@ -51,7 +51,8 @@ protected:
   void process_music ();
 };
 
-Hyphen_engraver::Hyphen_engraver ()
+Hyphen_engraver::Hyphen_engraver (Context *c)
+  : Engraver (c)
 {
   hyphen_ = 0;
   finished_hyphen_ = 0;
index 78bfef8897e626c20daaf07353f3b6243c8f5348..fb509dcb2260115ab74339f7174b85b7aca5fdd7 100644 (file)
@@ -24,6 +24,9 @@
 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);
index 074b5313898e9c0ef0e0945dc6ac2bbe33df7487..cecc42ce5e8010a4b6550afb95221a5b387c33ad 100644 (file)
@@ -80,7 +80,7 @@ public:
   */
   DECLARE_CLASSNAME (Engraver);
   DECLARE_TRANSLATOR_CALLBACKS (Engraver);
-  Engraver ();
+  Engraver (Context *);
 };
 
 #define make_item(x, cause) internal_make_item (ly_symbol2scm (x), cause, __FILE__, __LINE__, __FUNCTION__)
index fcac99c32230806387c2677779e0f7b01b68a08c..f2a1334ae93c89d834700bb7b3a8959f2e34ccbe 100644 (file)
@@ -32,7 +32,7 @@ public:
   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,
index a46c3fe22a0c393ab83577561d4c6558acf79b23..6e117a2ea3f244f7531634442a95091b8637a66c 100644 (file)
@@ -26,7 +26,7 @@
 class Ligature_engraver : public Engraver
 {
 protected:
-  Ligature_engraver ();
+  Ligature_engraver (Context *c);
   void stop_translation_timestep ();
   virtual void finalize ();
 
index 70354fdbf2d845f9fe2a571339170b2c0681b43b..a19334b9bf15bb3ccdab7ee4b6298d42345ec316 100644 (file)
@@ -33,6 +33,9 @@ public:
   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);
index 09ab16865815e322e02ecd476540555d4ee81101..ffd134efab66b96eb92f79a14e65546f6776ec0b 100644 (file)
@@ -77,7 +77,7 @@
     return static_get_acknowledger (sym, start_end);                    \
   }                                                                     \
 public:                                                                 \
-  NAME ();                                                              \
+  NAME (Context *);                                                     \
   static void boot ();                                                  \
   virtual SCM static_translator_description () const;                   \
   virtual SCM translator_description () const;                          \
@@ -106,13 +106,10 @@ public:
   SCM mark_smob () const;
   static const char * const type_p_name_;
   virtual ~Translator ();
-private:
-  void init ();
 
-public:
   Context *context () const { return daddy_context_; }
 
-  Translator ();
+  Translator (Context *);
   Translator (Translator const &);
 
   SCM internal_get_property (SCM symbol) const;
index 80a7466cd18c0a6e4a41d3bfebd57143890a1f96..20954ead0b6b1c670783ac07a8697421d55f0c6c 100644 (file)
@@ -36,7 +36,7 @@
   static void _ ## T ## _adder ()                                       \
   {                                                                     \
     T::boot ();                                                         \
-    T *t = new T;                                                       \
+    T *t = new T(0);                                                    \
     T::static_description_ =                                            \
       scm_permanent_object (t->static_translator_description ());       \
     add_translator (t);                                                 \
index ec37d6bcbffc2b18d638e76cf1ead798526e8e47..8ba26f31beaf97d7b7a2e5d454c19c85e599e276 100644 (file)
@@ -59,7 +59,8 @@ Instrument_name_engraver::derived_mark () const
   scm_gc_mark (short_text_);
 }
 
-Instrument_name_engraver::Instrument_name_engraver ()
+Instrument_name_engraver::Instrument_name_engraver (Context *c)
+  : Engraver (c)
 {
   text_spanner_ = 0;
 
index 59cbb4f13cd4102eee7d9cc00af1844f55eb70b1..cfc3cd5c825e2ddc491048a177ad08ed668b7113 100644 (file)
@@ -44,7 +44,8 @@ Instrument_switch_engraver::derived_mark () const
   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;
index 8931a819c6ff45150ccb229fdec3d06b8c457426..6875cd022fa68cf9e57eb4328c6d5af9f81952ed 100644 (file)
@@ -37,7 +37,8 @@ public:
   virtual void finalize ();
 };
 
-Keep_alive_together_engraver::Keep_alive_together_engraver ()
+Keep_alive_together_engraver::Keep_alive_together_engraver (Context *c)
+  : Engraver (c)
 {
 }
 
index 115902e89db2b789f80e3d257b471c7a75f07143..f54421cf255081c91b8baaa7cc6d9d503758c70a 100644 (file)
@@ -56,7 +56,8 @@ Key_engraver::finalize ()
 {
 }
 
-Key_engraver::Key_engraver ()
+Key_engraver::Key_engraver (Context *c)
+  : Engraver (c)
 {
   key_event_ = 0;
   item_ = 0;
index 219454115a04dc673f2ce903d04d2be68afded22..5de378eda49832c11a8366d155044b23373912ac 100644 (file)
@@ -42,7 +42,8 @@ private:
   Audio_key *audio_;
 };
 
-Key_performer::Key_performer ()
+Key_performer::Key_performer (Context *c)
+  : Performer (c)
 {
   key_ev_ = 0;
   audio_ = 0;
index ff9e7b942b48f4fbcb1407f5f91c41d56e3ec828..162674df2efd378bc138224661fde167330b7517 100644 (file)
@@ -45,7 +45,8 @@ private:
   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)
 {
 
 }
index e84ea36bca7b72cbbe263b3361afdd0813a6f642..2d2e2dd2e87ee0e06ae9aaa93e4072e4396d4e3f 100644 (file)
@@ -39,7 +39,8 @@ public:
   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;
index 869720cca4f8811a835c7ec00af5dd717348c706..cde6f5817cde603cca91c6d5b214cd7a739d35ac 100644 (file)
@@ -44,7 +44,8 @@ protected:
   void stop_translation_timestep ();
 };
 
-Ledger_line_engraver::Ledger_line_engraver ()
+Ledger_line_engraver::Ledger_line_engraver (Context *c)
+  : Engraver (c)
 {
   span_ = 0;
 }
index 4919071d97b92a05c01bdc960f8cc7a3e8d2002e..9e50962ddcb2473a0158068bb26f13e67ff81568 100644 (file)
@@ -53,7 +53,8 @@ Ligature_bracket_engraver::listen_ligature (Stream_event *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;
index f3bac03c76955f62a913224224d3966aacc2016c..08d3b419962ab833b4ead2389083662d0a87f0a0 100644 (file)
@@ -82,7 +82,8 @@
  * 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;
index 08c9306693a303f83ed31dc1c51c62c013d08422..bad1203266f75b43842e6bdea358b6a734dc339f 100644 (file)
@@ -49,7 +49,8 @@ private:
   Context *get_voice_context ();
 };
 
-Lyric_engraver::Lyric_engraver ()
+Lyric_engraver::Lyric_engraver (Context *c)
+  : Engraver (c)
 {
   text_ = 0;
   last_text_ = 0;
index 6a25d62a3f99e44fd8fbff912e20b0e2e70e61d0..9ba25c5bf1f1e6c839c4a7d05b319ba8a40251be 100644 (file)
@@ -36,7 +36,8 @@ private:
   Audio_text *audio_;
 };
 
-Lyric_performer::Lyric_performer ()
+Lyric_performer::Lyric_performer (Context *c)
+  : Performer (c)
 {
   audio_ = 0;
 }
index a849ec11ce0dddd77f57c586efc0db2c8a68a3f7..2242a44f22c4ac7d045b0e434e85f4985bde0473 100644 (file)
@@ -58,7 +58,8 @@ protected:
   void acknowledge_break_alignment (Grob_info);
 };
 
-Mark_engraver::Mark_engraver ()
+Mark_engraver::Mark_engraver (Context *c)
+  : Engraver (c)
 {
   text_ = 0;
   final_text_ = 0;
index 2ab7a7bcc6092d8aa4fb5fc7ab6c029f652924eb..c91fdc63418f748af80fdd4ddd0a421758226520 100644 (file)
@@ -114,7 +114,8 @@ Measure_grouping_engraver::process_music ()
     }
 }
 
-Measure_grouping_engraver::Measure_grouping_engraver ()
+Measure_grouping_engraver::Measure_grouping_engraver (Context *c)
+  : Engraver (c)
 {
   grouping_ = 0;
 }
index a97d13755f08e777948a70394ebbd15f7c2e437b..65f464c357e16982085603a0d86013508342159d 100644 (file)
@@ -37,7 +37,8 @@ protected:
   void process_music ();
 };
 
-Melody_engraver::Melody_engraver ()
+Melody_engraver::Melody_engraver (Context *c)
+  : Engraver (c)
 {
   stem_ = 0;
   melody_item_ = 0;
index 874b2ebb35e2eacae7e99b9a7f08238e12e05318..482538c720588537f16291fc2b243b46514fe7ad 100644 (file)
@@ -73,7 +73,8 @@ private:
                            Real &min_length);
 };
 
-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;
index 241a2da44aa0a7b990504dadc2765b97b59825c3..6cd2bfde25e73ff844e875ba6fc6b12519a2bc08 100644 (file)
@@ -53,7 +53,8 @@ protected:
   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;
index 2aff5d0039b8cea294172d1427e3419270f39ba7..91eddbfb6978565965cee0f0fe7f4c4eb24cd378 100644 (file)
@@ -63,7 +63,8 @@ private:
   };
 };
 
-Midi_control_change_performer::Midi_control_change_performer ()
+Midi_control_change_performer::Midi_control_change_performer (Context *c)
+  : Performer (c)
 {
 }
 
index 0a6071b6144de4cb30260789e5f5067762c45590..d66779f6ffedf76071dc29b471749098bcff33c4 100644 (file)
@@ -65,8 +65,9 @@ private:
   bool first_time_;
 };
 
-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),
index 047a547525ee9ac70bf484bf46bec633d8858c3b..06a3a8da9666669d7ab2d95672f167158887fe1b 100644 (file)
@@ -364,7 +364,8 @@ New_fingering_engraver::position_all ()
   articulations_.clear ();
 }
 
-New_fingering_engraver::New_fingering_engraver ()
+New_fingering_engraver::New_fingering_engraver (Context *c)
+  : Engraver (c)
 {
   stem_ = 0;
 }
index b09fe6636139ebe3a658decf524086b04437057c..f2d3ad8684346d826fc830c9462767254c8b13f9 100644 (file)
@@ -51,7 +51,8 @@ private:
   Grob *last_head_;
 };
 
-Note_head_line_engraver::Note_head_line_engraver ()
+Note_head_line_engraver::Note_head_line_engraver (Context *c)
+  : Engraver (c)
 {
   line_ = 0;
   follow_ = false;
index 5839a827eb3129045c9e5330d41dacf203ab0d67..7c82106623933eecfe502f34006149dc012b6661 100644 (file)
@@ -46,7 +46,8 @@ protected:
   void stop_translation_timestep ();
 };
 
-Note_heads_engraver::Note_heads_engraver ()
+Note_heads_engraver::Note_heads_engraver (Context *c)
+  : Engraver (c)
 {
 }
 
index 2b8fa87000c8331f6c6a02e137a176e95fb83636..1333feb4a65b380976b8bd890dc2d5f2ecb8aa09 100644 (file)
@@ -69,7 +69,8 @@ Note_name_engraver::stop_translation_timestep ()
   events_.clear ();
 }
 
-Note_name_engraver::Note_name_engraver ()
+Note_name_engraver::Note_name_engraver (Context *c)
+  : Engraver (c)
 {
 }
 
index 468210d20d0852f26a7d576dfc483defe42a277f..44efd745742744e43afa4c7e1033503058ab9ce4 100644 (file)
@@ -196,6 +196,7 @@ ADD_TRANSLATOR (Note_performer,
                 ""
                );
 
-Note_performer::Note_performer ()
+Note_performer::Note_performer (Context *c)
+  : Performer (c)
 {
 }
index 414e1ee7610cee80c76e1ead38768c21e9fbd5cb..653aa8db023f80ad804cae7c4d2ab235cbd38e51 100644 (file)
@@ -55,7 +55,8 @@ Note_spacing_engraver::derived_mark () const
     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;
index e681e73af6b65a661454712f47a4b535a72f6328..9a846377fb1c89de85e0c6cbae25177c82fec8a1 100644 (file)
@@ -52,7 +52,8 @@ Ottava_spanner_engraver::derived_mark () const
   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;
index 370d6e1c1f011400f0b8a8763083a0763e1a21f3..ccef5051f111403bc87cd5f9bf77ca23f403ff60 100644 (file)
@@ -75,7 +75,8 @@ Output_property_engraver::stop_translation_timestep ()
   props_.clear ();
 }
 
-Output_property_engraver::Output_property_engraver ()
+Output_property_engraver::Output_property_engraver (Context *c)
+  : Engraver (c)
 {
 }
 
index c77dc9b2a5de516ad7cf827c7793c8e310dc3cb2..b294dce7d7f803ca9b083d4a75235870178d2b01 100644 (file)
@@ -107,7 +107,8 @@ public:
   void finalize ();
 };
 
-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;
index 0e32f6e6444200d8b7dbe9887c53c08b5ad26690..6dd29300130878be798fc0bfb9670035874d02a7 100644 (file)
@@ -34,7 +34,8 @@
 
 #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;
index dcbd506a4a5326ec6fd8524f13fd5298ac07a453..c9b9ec62a481047adb88ba7c5a432903ad1a5f27 100644 (file)
@@ -35,7 +35,8 @@ protected:
   void acknowledge_grob (Grob_info);
 };
 
-Parenthesis_engraver::Parenthesis_engraver ()
+Parenthesis_engraver::Parenthesis_engraver (Context *c)
+  : Engraver (c)
 {
 }
 
index 33c10f59660cb77ff2a674656168ae7d1d19a951..9646d7a355a6a46bdf6c6bcb12b36614d9f904b8 100644 (file)
@@ -66,7 +66,8 @@ Part_combine_engraver::listen_note (Stream_event *)
   note_found_ = true;
 }
 
-Part_combine_engraver::Part_combine_engraver ()
+Part_combine_engraver::Part_combine_engraver (Context *c)
+  : Engraver (c)
 {
   text_ = 0;
   new_event_ = 0;
index b620cdccb561d49fc684917d58116b3be5a1c534..da0b9b2964279f21d69113646a149ccbf78bac1f 100644 (file)
@@ -57,7 +57,8 @@ protected:
   void process_music ();
 };
 
-Percent_repeat_engraver::Percent_repeat_engraver ()
+Percent_repeat_engraver::Percent_repeat_engraver (Context *c)
+  : Engraver (c)
 {
   percent_ = 0;
   percent_counter_ = 0;
index 18f20f5430bc23c2422f9731893e126fc3e32310..aeee14a1ee5d3ede63d92ee69fd5cb3d91df0fdd 100644 (file)
@@ -58,7 +58,8 @@ Phrasing_slur_engraver::object_name () const
   return "phrasing slur";
 }
 
-Phrasing_slur_engraver::Phrasing_slur_engraver ()
+Phrasing_slur_engraver::Phrasing_slur_engraver (Context *c)
+  : Slur_engraver (c)
 {
 }
 
index 7c120a1bc19f861cea5c14a7603326d629a5469b..0d07872db08b18eeb82ad7aef6a1d6747879908a 100644 (file)
@@ -100,7 +100,8 @@ private:
   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)
 {
 }
 
index cbdf5244d11e223d3c8aea157ac0d8acee5daf8d..2a2d2aa8ec5b417081fb09f8f1a31ba8e7de9f19 100644 (file)
@@ -181,7 +181,8 @@ 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)
 {
 }
 
index a8273980e924d61ca558444ec949475102b6c536..4a24625e04b8160a8def7bccd35e796985b64c53 100644 (file)
@@ -56,7 +56,8 @@ private:
   Pedal_info info_alist_[NUM_PEDAL_TYPES];
 };
 
-Piano_pedal_performer::Piano_pedal_performer ()
+Piano_pedal_performer::Piano_pedal_performer (Context *c)
+  : Performer (c)
 {
 }
 
index 0750c594950e7dd7ce5f9bcea9166345a1b9875f..a5ccfa483ea70269f9c0c286abc52d2b04e474d5 100644 (file)
@@ -39,7 +39,8 @@ Pitch_squash_engraver::acknowledge_note_head (Grob_info i)
     i.grob ()->set_property ("staff-position", newpos);
 }
 
-Pitch_squash_engraver::Pitch_squash_engraver ()
+Pitch_squash_engraver::Pitch_squash_engraver (Context *c)
+  : Engraver (c)
 {
 }
 
index 1ec4da9aebdd26c07c31725230d8f20d650937b0..0ab6bc989b8e4d54267285eef772dc8b367a4519 100644 (file)
@@ -55,7 +55,8 @@ private:
   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;
index 3bd0fa1091482d4e12a9f32707492c0630e9823b..cea3936161c4c62357250ca9ca664b7a00275bcb 100644 (file)
@@ -41,7 +41,8 @@ protected:
   void finalize ();
 };
 
-Pure_from_neighbor_engraver::Pure_from_neighbor_engraver ()
+Pure_from_neighbor_engraver::Pure_from_neighbor_engraver (Context *c)
+  : Engraver (c)
 {
 }
 
index d11b633fd5cb4b92ffb32af56f83c340056892bd..00e0c8abe259a4f0fcf5a29165cac81455705099 100644 (file)
@@ -51,7 +51,8 @@ Repeat_acknowledge_engraver::initialize ()
   context ()->set_property ("repeatCommands", SCM_EOL);
 }
 
-Repeat_acknowledge_engraver::Repeat_acknowledge_engraver ()
+Repeat_acknowledge_engraver::Repeat_acknowledge_engraver (Context *c)
+  : Engraver (c)
 {
 }
 
index fb2c8bb58465ca0c80ebc3d6f0de9cfa13652dcf..aebed3fdbab2db162214d758a497a80ab105a51e 100644 (file)
@@ -39,7 +39,8 @@ public:
   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;
index 56a6783fbfa34d338eac0366b6ecf5e9a90d864d..70984ae2ad1b9ddbe9516730fb443370c7b1f713 100644 (file)
@@ -45,7 +45,8 @@ public:
   TRANSLATOR_DECLARATIONS (Rest_collision_engraver);
 };
 
-Rest_collision_engraver::Rest_collision_engraver ()
+Rest_collision_engraver::Rest_collision_engraver (Context *c)
+  : Engraver (c)
 {
   rest_collision_ = 0;
 }
index d691c2e98c7f9e2001706845c9ca3cf15b590df1..8902e3591121c0adfc98a969c7af5da6e6eae4b1 100644 (file)
@@ -45,7 +45,8 @@ public:
 /*
   Should merge with Note_head_engraver
 */
-Rest_engraver::Rest_engraver ()
+Rest_engraver::Rest_engraver (Context *c)
+  : Engraver (c)
 {
   rest_event_ = 0;
   rest_ = 0;
index 04281231d52825410a3606900a52f36147b31d5b..e307b512de092653ce91d6f54000161c175b07f4 100644 (file)
@@ -68,7 +68,8 @@ protected:
   void stop_translation_timestep ();
 };
 
-Rhythmic_column_engraver::Rhythmic_column_engraver ()
+Rhythmic_column_engraver::Rhythmic_column_engraver (Context *c)
+  : Engraver (c)
 {
 
   stem_ = 0;
index d0abfb1bd062f73a7330147b406e5d0cc2fed12a..ad4186d81cc3384c7e915636f1d0128260f98877 100644 (file)
@@ -65,6 +65,7 @@ Scheme_engraver::fetch_precomputable_methods (SCM ptrs[])
 }
 
 Scheme_engraver::Scheme_engraver (SCM definition)
+  : Engraver (0)
 {
   precomputable_methods_[START_TRANSLATION_TIMESTEP]
     = callable (ly_symbol2scm ("start-translation-timestep"), definition);
index 6310f3b5403e5b56a98d984f3b3e735bb0c42cc4..e94e233882ab45d4b87aeb20575604db8755611b 100644 (file)
@@ -40,7 +40,8 @@ protected:
   void stop_translation_timestep ();
 };
 
-Script_column_engraver::Script_column_engraver ()
+Script_column_engraver::Script_column_engraver (Context *c)
+  : Engraver (c)
 {
   script_column_ = 0;
 }
index 8a7b122f1fb0c0be00bab174937f95d627f0206a..1e989ae55d7800aee0e3e5ba7b5e52ab229c3cb6 100644 (file)
@@ -67,7 +67,8 @@ public:
   TRANSLATOR_DECLARATIONS (Script_engraver);
 };
 
-Script_engraver::Script_engraver ()
+Script_engraver::Script_engraver (Context *c)
+  : Engraver (c)
 {
 }
 
index 20af8d1cbb20326dd041db1461b2facaf4dc89ce..30ded2b8345c72db47ff227d8240d38bee021d55 100644 (file)
@@ -45,7 +45,8 @@ protected:
   void stop_translation_timestep ();
 };
 
-Script_row_engraver::Script_row_engraver ()
+Script_row_engraver::Script_row_engraver (Context *c)
+  : Engraver (c)
 {
   script_row_ = 0;
 }
index 5eb1407a31787a4babd78271edffd528570f9dc4..234008d9830bcac736edd19ad69459a3a7931b67 100644 (file)
@@ -69,7 +69,8 @@ public:
   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)
 {
 }
 
index b1bdf9c0dac4746b26634d7bb4da9690073a98f9..aa80c2e2e544afc7e69330a5e10a09ace6ea37d1 100644 (file)
@@ -39,7 +39,8 @@ protected:
   void process_music ();
 };
 
-Slash_repeat_engraver::Slash_repeat_engraver ()
+Slash_repeat_engraver::Slash_repeat_engraver (Context *c)
+  : Engraver (c)
 {
   slash_ = 0;
 }
index 80ceb5f431fdf700dddc2000b95044ac9ff3f023..2309f114de1948d134d2fb03a0a79989a0618807 100644 (file)
@@ -53,7 +53,8 @@ Slur_engraver::object_name () const
   return "slur";
 }
 
-Slur_engraver::Slur_engraver ()
+Slur_engraver::Slur_engraver (Context *c)
+  : Engraver (c)
 {
 }
 
index 47fed784fe6c64335b1b926f033a372599405cbf..6c8a433226bcf4691884ec5b976fde7365fb9218 100644 (file)
@@ -47,7 +47,8 @@ private:
   bool slur_;
 };
 
-Slur_performer::Slur_performer ()
+Slur_performer::Slur_performer (Context *c)
+  : Performer (c)
 {
   slur_ = false;
   start_ev_ = 0;
index d77a55b757af67725ac237d49eeffdcb129fb793..00dc8227609b68fd2eb067d317399d1b678057b2 100644 (file)
@@ -93,7 +93,8 @@ protected:
   void stop_spanner ();
 };
 
-Spacing_engraver::Spacing_engraver ()
+Spacing_engraver::Spacing_engraver (Context *c)
+  : Engraver (c)
 {
   spacing_ = 0;
   start_section_ = 0;
index 9cece4a6fe336bd26d050168fa974f4c8db67737..dac5b91ab59cd643b423cd7dcfe886da8510d040 100644 (file)
@@ -50,7 +50,8 @@ private:
   vector<Grob *> note_columns_;
 };
 
-Span_arpeggio_engraver::Span_arpeggio_engraver ()
+Span_arpeggio_engraver::Span_arpeggio_engraver (Context *c)
+  : Engraver (c)
 {
   span_arpeggio_ = 0;
 }
index e74528535bfa0f2dd48dd8b0834e38bace2fd6b1..55ef59e32e40f656388f06b27f7cdf42a6a03b06 100644 (file)
@@ -46,7 +46,8 @@ protected:
   void process_acknowledged ();
 };
 
-Span_bar_engraver::Span_bar_engraver ()
+Span_bar_engraver::Span_bar_engraver (Context *c)
+  : Engraver (c)
 {
   spanbar_ = 0;
   make_spanbar_ = false;
index a0c10f8594ae1165cbe74fcdd3b077ad94c0cd86..914e73ed4b89ebecc735e1c531a53be3be8eaed1 100644 (file)
@@ -62,7 +62,8 @@ protected:
   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;
 }
index 8d64b40ce8134672fcc1e53dfa28daedbfcfab4a..98bf1934d0ee6b1edfdbd20e87f0b09b1eb3ef7b 100644 (file)
@@ -62,7 +62,8 @@ Spanner_break_forbid_engraver::acknowledge_unbreakable_spanner (Grob_info gi)
     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)
 {
 }
 
index 88680943d3d0937139645d0a6a8cf075f1e24bce..97711c89b55c75ba594b709295033f60dd88f9bd 100644 (file)
@@ -30,7 +30,8 @@ public:
   void acknowledge_end_staff_symbol (Grob_info);
 };
 
-Staff_collecting_engraver::Staff_collecting_engraver ()
+Staff_collecting_engraver::Staff_collecting_engraver (Context *c)
+  : Engraver (c)
 {
 }
 
index 592c6a7e016f4fd82e6be3d998318625dfb4fd42..1af71efd86db801f06c6b6222e8e7d73e8eae730 100644 (file)
@@ -112,8 +112,9 @@ ADD_TRANSLATOR (Staff_performer,
                 /* write */
                 "");
 
-Staff_performer::Staff_performer ()
-  : channel_ (-1),
+Staff_performer::Staff_performer (Context *c)
+  : Performer (c),
+    channel_ (-1),
     instrument_ (0),
     instrument_name_ (0),
     name_ (0),
index c8f528f0f541c6d6536bbff52e6a0474e2d4966b..fad9f0437900d5765301d6eb82376b9ce714d38e 100644 (file)
@@ -68,7 +68,8 @@ Staff_symbol_engraver::~Staff_symbol_engraver ()
     }
 }
 
-Staff_symbol_engraver::Staff_symbol_engraver ()
+Staff_symbol_engraver::Staff_symbol_engraver (Context *c)
+  : Engraver (c)
 {
   finished_span_ = 0;
   first_start_ = true;
index 39eae99831fb5c5c4f1ae353691523cd9e7aadd5..53ec89358f56359cad37b12d14b4d711d5dc6343 100644 (file)
@@ -40,7 +40,8 @@ protected:
   void stop_translation_timestep ();
 };
 
-Stanza_number_align_engraver::Stanza_number_align_engraver ()
+Stanza_number_align_engraver::Stanza_number_align_engraver (Context *c)
+  : Engraver (c)
 {
 }
 
index 0a4539e8f1679059ee81676ca5e8d08797473152..f823e099190bed0a82e9d96cf91fc144769c61b5 100644 (file)
@@ -47,7 +47,8 @@ Stanza_number_engraver::derived_mark () const
   all aligned.
 */
 
-Stanza_number_engraver::Stanza_number_engraver ()
+Stanza_number_engraver::Stanza_number_engraver (Context *c)
+  : Engraver (c)
 {
   text_ = 0;
   last_stanza_ = SCM_EOL;
index 8907c34bc3bcfd68b1e5375fa86d950f7d6d9eb1..199d9fd17ea735d1a1c2308324938d694268e208 100644 (file)
@@ -56,7 +56,8 @@ protected:
   void kill_unused_flags ();
 };
 
-Stem_engraver::Stem_engraver ()
+Stem_engraver::Stem_engraver (Context *c)
+  : Engraver (c)
 {
   tremolo_ev_ = 0;
   stem_ = 0;
index 2979e11a1918ed653e06108490ee190dab613cd3..b7a210e86956e01ed9a66f63d73dabcd60b7c4f7 100644 (file)
@@ -176,7 +176,8 @@ protected:
   virtual void finalize ();
 };
 
-System_start_delimiter_engraver::System_start_delimiter_engraver ()
+System_start_delimiter_engraver::System_start_delimiter_engraver (Context *c)
+  : Engraver (c)
 {
   nesting_ = 0;
 }
index 4294a2e5fe5279ff19a4df3e2031d8a77598de93..18a1e122f6eee8318005c52ba642e292254dd01e 100644 (file)
@@ -57,7 +57,8 @@ protected:
   void stop_translation_timestep ();
 };
 
-Tab_note_heads_engraver::Tab_note_heads_engraver ()
+Tab_note_heads_engraver::Tab_note_heads_engraver (Context *c)
+  : Engraver (c)
 {
 }
 
index cde9e82bbb20373d6edc10427a38ffa8f4716802..843fc4eba68032b1ccc16bfa77944d03495575a1 100644 (file)
@@ -36,7 +36,8 @@ Tab_staff_symbol_engraver::acknowledge_staff_symbol (Grob_info gi)
     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)
 {
 }
 
index 58c5203ef089a41ccb413a8c3040db0fbe50690b..75a7b5b2ea710bd42ec5283eb7b8de6549045e30 100644 (file)
@@ -51,7 +51,8 @@ protected:
   void stop_translation_timestep ();
 };
 
-Tab_tie_follow_engraver::Tab_tie_follow_engraver ()
+Tab_tie_follow_engraver::Tab_tie_follow_engraver (Context *c)
+  : Engraver (c)
 {
 }
 
index 683f133d6466c28ae3774448777f9e397f3fe4b4..967ae60e7067b7e6b803d85a81479690331f898c 100644 (file)
@@ -47,7 +47,8 @@ Tempo_performer::derived_mark () const
   scm_gc_mark (last_tempo_);
 }
 
-Tempo_performer::Tempo_performer ()
+Tempo_performer::Tempo_performer (Context *c)
+  : Performer (c)
 {
   last_tempo_ = SCM_EOL;
   audio_ = 0;
index 982b61a287461559c024b87911696bdf69b1870c..6bbcdc379479006055ef417679bc7cac439c095c 100644 (file)
@@ -105,7 +105,8 @@ Text_engraver::stop_translation_timestep ()
   scripts_.clear ();
 }
 
-Text_engraver::Text_engraver ()
+Text_engraver::Text_engraver (Context *c)
+  : Engraver (c)
 {
 }
 
index f63e19a0593083f9fbb1d869d24ea05696d30823..1b66b68f121139530e98d60b42f32fdc553b7666 100644 (file)
@@ -47,7 +47,8 @@ private:
   void typeset_all ();
 };
 
-Text_spanner_engraver::Text_spanner_engraver ()
+Text_spanner_engraver::Text_spanner_engraver (Context *c)
+  : Engraver (c)
 {
   finished_ = 0;
   current_event_ = 0;
index 2a016b31be8a08317422b17faa22b39cd5d84684..98eac4b19b81355b595133986f4bbf47565f40a5 100644 (file)
@@ -94,7 +94,8 @@ public:
   TRANSLATOR_DECLARATIONS (Tie_engraver);
 };
 
-Tie_engraver::Tie_engraver ()
+Tie_engraver::Tie_engraver (Context *c)
+  : Engraver (c)
 {
   event_ = 0;
   tie_column_ = 0;
index e93b3e6b0c6047fea2c2de8d33705b9a3098e0c4..1f95023eb6ab0962146dd13b54ce07f08b665717 100644 (file)
@@ -56,7 +56,8 @@ public:
   TRANSLATOR_DECLARATIONS (Tie_performer);
 };
 
-Tie_performer::Tie_performer ()
+Tie_performer::Tie_performer (Context *c)
+  : Performer (c)
 {
   event_ = 0;
 }
index d57b35bf6eae9bb95c04d2d0d1dde3d85c9f6764..1f7a8d6fe3c270c1dccd0402cce7e74bc1b43567 100644 (file)
@@ -53,7 +53,8 @@ Time_signature_engraver::derived_mark () const
   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;
index 3a3bbd2ca328de3c563bdc5314483c0bcea50d90..75c3ef5d086a87ddf99e6eed3e8dca81dda59e85 100644 (file)
@@ -44,7 +44,8 @@ Time_signature_performer::derived_mark () const
   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;
index 4716eceb24c489d05ff30feb19a304a449f80f2f..67c2ffeed1a34fded9052512ed206bac5abb53c8 100644 (file)
@@ -145,7 +145,8 @@ Timing_translator::measure_length () const
     return Rational (1);
 }
 
-Timing_translator::Timing_translator ()
+Timing_translator::Timing_translator (Context *c)
+  : Translator (c)
 {
 }
 
index bdc55f0f05467a4d4cb5fd56b548deb9995329c2..112d4cdd5f1eb92978b506f325301bd01051448f 100644 (file)
@@ -32,13 +32,6 @@ Translator::~Translator ()
 {
 }
 
-void
-Translator::init ()
-{
-  daddy_context_ = 0;
-  smobify_self ();
-}
-
 void
 Translator::process_music ()
 {
@@ -49,15 +42,16 @@ Translator::process_acknowledged ()
 {
 }
 
-Translator::Translator ()
+Translator::Translator (Context *c)
+  : daddy_context_ (c)
 {
-  init ();
+  smobify_self ();
 }
 
 Translator::Translator (Translator const &)
   : Smob<Translator> ()
 {
-  init ();
+  smobify_self ();
 }
 
 Moment
index 6634b5ea43be9cee202f9772cdeb79f00f6f765a..ff4612ac666fc6ed8ea4a3790fad427c6e18fe75 100644 (file)
@@ -55,7 +55,8 @@ private:
   void typeset_all ();
 };
 
-Trill_spanner_engraver::Trill_spanner_engraver ()
+Trill_spanner_engraver::Trill_spanner_engraver (Context *c)
+  : Engraver (c)
 {
   finished_ = 0;
   current_event_ = 0;
index 92e018aeceae7ed2f9475c0e7e20c226c806ca0d..61f623c54638d435d90b71212ac429b7cb48bf3c 100644 (file)
@@ -267,7 +267,8 @@ Tuplet_engraver::finalize ()
       }
 }
 
-Tuplet_engraver::Tuplet_engraver ()
+Tuplet_engraver::Tuplet_engraver (Context *c)
+  : Engraver (c)
 {
 }
 
index 5f97b1e4cbdb11a84bfb469f864e31a01f2b8d0c..ed66637abeec3357fe7d6c9eaec4d2f13917bbea 100644 (file)
@@ -32,7 +32,8 @@ protected:
   void acknowledge_grob (Grob_info);
 };
 
-Tweak_engraver::Tweak_engraver ()
+Tweak_engraver::Tweak_engraver (Context *c)
+  : Engraver (c)
 {
 }
 
index 6c34e9eb61ba3e42351e4df8d24409283ec1ec6f..1785d4478b407b142b839c82f766e277d6f555ea 100644 (file)
@@ -84,7 +84,8 @@ protected:
                                 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;
index 0226173a2e115ec81d153212a5c3317cee6755c2..921b35a47113ace9436136ed08664610127af9fc 100644 (file)
@@ -71,7 +71,8 @@ ADD_TRANSLATOR (Vertical_align_engraver,
                 ""
                );
 
-Vertical_align_engraver::Vertical_align_engraver ()
+Vertical_align_engraver::Vertical_align_engraver (Context *c)
+  : Engraver (c)
 {
   valign_ = 0;
   id_to_group_hashtab_ = SCM_EOL;
index 2f95ac7ac11b861216e75a77d7d63857f6373fab..8d6a16f1ee6f4d8d3f8f953ef4119103db988b05 100644 (file)
@@ -62,7 +62,8 @@ Volta_engraver::derived_mark () const
   scm_gc_mark (start_string_);
 }
 
-Volta_engraver::Volta_engraver ()
+Volta_engraver::Volta_engraver (Context *c)
+  : Engraver (c)
 {
   start_string_ = SCM_EOL;
   volta_bracket_ = 0;