]> git.donarmstrong.com Git - lilypond.git/commitdiff
patch::: 1.3.108.jcn3
authorJan Nieuwenhuizen <janneke@gnu.org>
Thu, 16 Nov 2000 21:25:34 +0000 (22:25 +0100)
committerJan Nieuwenhuizen <janneke@gnu.org>
Thu, 16 Nov 2000 21:25:34 +0000 (22:25 +0100)
63 files changed:
VERSION
lily/a2-engraver.cc
lily/auto-beam-engraver.cc
lily/bar-engraver.cc
lily/bar-number-engraver.cc
lily/beam-engraver.cc
lily/breathing-sign-engraver.cc
lily/chord-name-engraver.cc
lily/chord-tremolo-engraver.cc
lily/clef-engraver.cc
lily/custos-engraver.cc
lily/dynamic-engraver.cc
lily/dynamic-performer.cc
lily/engraver-group-engraver.cc
lily/extender-engraver.cc
lily/grace-engraver-group.cc
lily/grace-performer-group.cc
lily/hyphen-engraver.cc
lily/include/key-performer.hh
lily/include/lyric-engraver.hh
lily/include/lyric-performer.hh
lily/include/note-performer.hh
lily/include/staff-performer.hh
lily/include/tempo-performer.hh
lily/include/tie-performer.hh
lily/include/timing-translator.hh
lily/include/translator-group.hh
lily/include/translator.hh
lily/key-engraver.cc
lily/key-performer.cc
lily/local-key-engraver.cc
lily/lyric-engraver.cc
lily/lyric-performer.cc
lily/mark-engraver.cc
lily/multi-measure-rest-engraver.cc
lily/note-heads-engraver.cc
lily/note-name-engraver.cc
lily/note-performer.cc
lily/performer-group-performer.cc
lily/piano-pedal-engraver.cc
lily/piano-pedal-performer.cc
lily/property-engraver.cc
lily/repeat-acknowledge-engraver.cc
lily/rest-engraver.cc
lily/score-engraver.cc
lily/score-performer.cc
lily/script-engraver.cc
lily/slur-engraver.cc
lily/span-dynamic-performer.cc
lily/staff-performer.cc
lily/staff-symbol-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-group.cc
lily/translator.cc
lily/tuplet-engraver.cc
lily/volta-engraver.cc

diff --git a/VERSION b/VERSION
index 53df6170400c38029eb79b8807f97d2c2abb7f1b..2dfd11b7dca71eebf8dbefeebb31a4297ccaf66f 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -2,7 +2,7 @@ PACKAGE_NAME=LilyPond
 MAJOR_VERSION=1
 MINOR_VERSION=3
 PATCH_LEVEL=108
-MY_PATCH_LEVEL=jcn2
+MY_PATCH_LEVEL=jcn3
 
 # use the above to send patches: MY_PATCH_LEVEL is always empty for a
 # released version.
index ee33e68d75f4e3353fbead06625b376039cce5b3..ce29bf6209ccb7ffa15ed6fdf6ce18bd5194fbaf 100644 (file)
@@ -22,9 +22,10 @@ public:
   VIRTUAL_COPY_CONS (Translator);
   
 protected:
-  virtual void do_process_music ();
+  void deprecated_process_music ();
   virtual void acknowledge_element (Score_element_info);
 
+  virtual void process_acknowledged ();
   virtual void do_pre_move_processing ();
 
 private:
@@ -40,8 +41,9 @@ A2_engraver::A2_engraver ()
   state_ = UNISILENCE;
 }
 
+
 void
-A2_engraver::do_process_music ()
+A2_engraver::deprecated_process_music ()
 {
   if (!to_boolean (get_property ("combineParts")))
     return ;
@@ -159,6 +161,12 @@ A2_engraver::acknowledge_element (Score_element_info i)
     }
 }
 
+void
+A2_engraver::process_acknowledged ()
+{
+  deprecated_process_music ();
+}
+
 void 
 A2_engraver::do_pre_move_processing ()
 {
index 1ef88f13cc547dd95785aa0da3033660ac496b7b..5fb3ade2846d244ed471528060a7cf15046442a8 100644 (file)
@@ -34,7 +34,7 @@ protected:
   virtual void do_post_move_processing ();
   virtual void do_removal_processing ();
   virtual void acknowledge_element (Score_element_info);
-  virtual void do_process_music ();
+  void deprecated_process_music ();
   virtual void process_acknowledged ();
 private:
   void begin_beam ();
@@ -77,7 +77,7 @@ Auto_beam_engraver::do_try_music (Music*)
 } 
 
 void
-Auto_beam_engraver::do_process_music ()
+Auto_beam_engraver::deprecated_process_music ()
 {
   consider_end_and_begin (shortest_mom_);
 }
@@ -417,6 +417,7 @@ Auto_beam_engraver::junk_beam ()
 void
 Auto_beam_engraver::process_acknowledged ()
 {
+  deprecated_process_music ();
   if (stem_l_arr_p_)
     {
       Moment now = now_mom ();
index dc2d162fc2c3dd5788539f87402e1083058f84e0..cba7a83573668c23e4bad2f7fab3a72436f7d16e 100644 (file)
@@ -29,8 +29,9 @@ public:
 protected:
   virtual void do_creation_processing ();
   virtual void do_removal_processing ();
-  virtual void do_process_music();
+  void deprecated_process_music();
   virtual void do_pre_move_processing();
+  virtual void process_acknowledged ();
 
 private:
   void typeset_bar ();
@@ -73,10 +74,10 @@ Bar_engraver::do_removal_processing ()
 
 /*
   Bar_engraver should come *after* any engravers that expect bars to
-  modify whichBar in do_process_music () be typeset
+  modify whichBar in  deprecated_process_music () be typeset
 */
 void
-Bar_engraver::do_process_music()
+Bar_engraver::deprecated_process_music()
 {
   SCM b =get_property ("whichBar");
   if (gh_string_p (b))
@@ -85,6 +86,12 @@ Bar_engraver::do_process_music()
     }
 }
 
+void
+Bar_engraver::process_acknowledged ()
+{
+  deprecated_process_music ();
+}
+
 void
 Bar_engraver::typeset_bar ()
 {
index 834270e4d029ded9f84e44254fcfd1f36ead7d5d..a6bb7e803a1139d3c0ad97afeeb8506eb268c329 100644 (file)
@@ -27,15 +27,16 @@ protected:
   virtual void do_pre_move_processing ();
   virtual void acknowledge_element (Score_element_info);
   virtual void do_creation_processing ();
+  virtual void process_acknowledged ();
   void create_items();
-  void do_process_music ();
+  void  deprecated_process_music ();
 public:
   VIRTUAL_COPY_CONS(Translator);
   Bar_number_engraver();
 };
 
 void
-Bar_number_engraver::do_process_music ()
+Bar_number_engraver::deprecated_process_music ()
 {
   // todo include (&&!time->cadenza_b_ )
   SCM bn = get_property("currentBarNumber");
@@ -53,6 +54,13 @@ Bar_number_engraver::do_process_music ()
     }
 }
 
+void
+Bar_number_engraver::process_acknowledged ()
+{
+  deprecated_process_music ();
+}
+
+
 ADD_THIS_TRANSLATOR(Bar_number_engraver);
 
 Bar_number_engraver::Bar_number_engraver ()
index 84ff88a5dcde537d3d740facc2272f583bfda865..71c77da118ca1e5df73a593d00f5388bf9f537f6 100644 (file)
@@ -42,9 +42,10 @@ protected:
   virtual void do_pre_move_processing ();
   virtual void do_post_move_processing ();
   virtual void do_removal_processing ();
+  virtual void process_acknowledged ();
   virtual void acknowledge_element (Score_element_info);
   virtual bool do_try_music (Music*);
-  virtual void do_process_music ();
+  void deprecated_process_music ();
 public:
   Beam_engraver ();
   VIRTUAL_COPY_CONS (Translator);
@@ -112,7 +113,7 @@ Beam_engraver::set_melisma (bool m)
 
 
 void
-Beam_engraver::do_process_music ()
+Beam_engraver::deprecated_process_music ()
 {
   if (reqs_drul_[STOP])
     {
@@ -166,6 +167,8 @@ Beam_engraver::do_process_music ()
  
       announce_element (beam_p_, reqs_drul_[START]);
     }
+  reqs_drul_[STOP] = 0;
+  reqs_drul_[START] = 0;
 }
 
 void
@@ -222,6 +225,13 @@ Beam_engraver::do_removal_processing ()
     }
 }
 
+void
+Beam_engraver::process_acknowledged ()
+{
+  deprecated_process_music ();
+}
+
+
 void
 Beam_engraver::acknowledge_element (Score_element_info info)
 {
index 8c06a74e8dd09c8f979578f78116ae9fec4c3f6f..dfdc58b950d98b62b47bfa084454fa21afa8da9a 100644 (file)
@@ -29,7 +29,7 @@ public:
   
 protected:
   virtual bool do_try_music (Music *req_l);
-  virtual void do_process_music();
+  void deprecated_process_music();
 
   virtual void do_pre_move_processing();
   virtual void do_post_move_processing();
@@ -58,9 +58,9 @@ Breathing_sign_engraver::do_try_music (Music*r_l)
 }
 
 void
-Breathing_sign_engraver::do_process_music()
+Breathing_sign_engraver::deprecated_process_music()
 {
-  if(breathing_sign_req_l_)
+  if(breathing_sign_req_l_ && ! breathing_sign_p_)
     {
       SCM b = get_property ("BreathingSign");
       breathing_sign_p_ = new Item (b);
index b9328b5113956c3c82073f181fb87585e752f2fa..5b7e625a4eae0e2c1170be8a19b188ec27b3d1f8 100644 (file)
@@ -28,7 +28,7 @@ public:
 protected:
   virtual void do_pre_move_processing ();
   virtual void acknowledge_element (Score_element_info i);
-  virtual void do_process_music ();
+  void deprecated_process_music ();
   virtual bool do_try_music (Music *);
 
 private:
@@ -78,7 +78,7 @@ Chord_name_engraver::do_try_music (Music* m)
 }
 
 /* Uh, if we do acknowledge_element, shouldn't we postpone
-   do_process_music until do_process_acknowlegded?
+  deprecated_process_music until do_process_acknowlegded?
 
    Sigh, I can *never* remember how this works, can't we
    possibly-please just number these functions:
@@ -87,7 +87,7 @@ Chord_name_engraver::do_try_music (Music* m)
      
      post_move1
      do_try_music2
-     do_process_music3 (or is it acknowledge_element3 ?)
+  deprecated_process_music3 (or is it acknowledge_element3 ?)
      acknowledge_element4
   
      do_pre_move9
@@ -103,7 +103,7 @@ Chord_name_engraver::acknowledge_element (Score_element_info i)
 }
 
 void
-Chord_name_engraver::do_process_music ()
+Chord_name_engraver::deprecated_process_music ()
 {
   if (!chord_name_p_ && gh_car (chord_) != SCM_EOL)
     {
index ee310fb044ee84ef1f4b23ed2204f26a1157ef31..8570ff263d5bfdd0f8091ac478f04b7425e3a174 100644 (file)
@@ -58,11 +58,12 @@ protected:
   
 protected:
   virtual void do_removal_processing();
-  virtual void do_process_music();
+  void deprecated_process_music();
   virtual bool do_try_music (Music*);
   virtual void acknowledge_element (Score_element_info);
   virtual void do_pre_move_processing();
   virtual void do_post_move_processing();
+  virtual void process_acknowledged ();
 };
 
 Chord_tremolo_engraver::Chord_tremolo_engraver()
@@ -93,7 +94,13 @@ Chord_tremolo_engraver::do_try_music (Music * m)
 }
 
 void
-Chord_tremolo_engraver::do_process_music ()
+Chord_tremolo_engraver::process_acknowledged ()
+{
+  deprecated_process_music ();
+}
+
+void
+Chord_tremolo_engraver::deprecated_process_music ()
 {
   if (repeat_ && !beam_p_)
     {
index b57a2cc4f48150d84b4b940373eeb8c5e4624c3e..6a962c52a80513c2caec981790a0cc3714ee15eb 100644 (file)
@@ -33,10 +33,11 @@ public:
   Direction octave_dir_;
 
 protected:
-  virtual void do_process_music ();
+  void deprecated_process_music ();
   virtual void do_pre_move_processing ();
   virtual void do_creation_processing ();
   virtual void do_post_move_processing ();
+  virtual void process_acknowledged ();
   virtual void acknowledge_element (Score_element_info);
 
 private:
@@ -113,6 +114,7 @@ Clef_engraver::set_glyph ()
 void
 Clef_engraver::acknowledge_element (Score_element_info info)
 {
+  deprecated_process_music ();
   Item * item =dynamic_cast <Item *> (info.elem_l_);
   if (item)
     {
@@ -182,13 +184,20 @@ Clef_engraver::create_clef ()
 }
 
 void
-Clef_engraver::do_process_music ()
+Clef_engraver::process_acknowledged ()
+{
+  deprecated_process_music ();
+}
+
+void
+Clef_engraver::deprecated_process_music ()
 {
   SCM glyph = get_property ("clefGlyph");
   SCM clefpos = get_property ("clefPosition");
   SCM octavation = get_property ("clefOctavation");
-  
-  if (scm_equal_p (glyph, prev_glyph_) == SCM_BOOL_F
+
+  if (clefpos == SCM_EOL
+      || scm_equal_p (glyph, prev_glyph_) == SCM_BOOL_F
       || scm_equal_p (clefpos, prev_cpos_) == SCM_BOOL_F
       || scm_equal_p (octavation, prev_octavation_) == SCM_BOOL_F)    
     {
index 02ffd1f46d102b38867fbd530c8ebd9d2ec45a47..018d772de0dfbe2f65915d01818235745a71f777 100644 (file)
@@ -26,7 +26,7 @@ public:
   Custos_engraver();
   virtual void do_post_move_processing();
   virtual void acknowledge_element(Score_element_info);
-  virtual void do_process_music ();
+  void deprecated_process_music ();
   virtual void process_acknowledged ();
   virtual void do_pre_move_processing ();
   virtual void do_removal_processing ();
@@ -71,7 +71,7 @@ Custos_engraver::do_post_move_processing ()
   TODO check if this works with forced bar lines?
  */
 void
-Custos_engraver::do_process_music ()
+Custos_engraver::deprecated_process_music ()
 {
   if (gh_string_p (get_property( "whichBar")))
     custos_permitted = true;
@@ -106,6 +106,8 @@ Custos_engraver::acknowledge_element (Score_element_info info)
 void
 Custos_engraver::process_acknowledged ()
 {
+  deprecated_process_music ();
+
   if (custos_permitted)
     {
       for (int i = pitches_.size (); i--;)
index 57e35bd730472fd2cdb4cd24f93ed5fcd38c71c6..e9141a840e8a8a663418223505c72e71965dd920 100644 (file)
@@ -57,8 +57,9 @@ protected:
   virtual void do_removal_processing ();
   virtual void acknowledge_element (Score_element_info);
   virtual bool do_try_music (Music *req_l);
-  virtual void do_process_music ();
+  void deprecated_process_music ();
   virtual void do_pre_move_processing ();
+  virtual void process_acknowledged ();
   virtual void do_post_move_processing ();
 };
 
@@ -121,7 +122,7 @@ Dynamic_engraver::do_try_music (Music * m)
 }
 
 void
-Dynamic_engraver::do_process_music ()
+Dynamic_engraver::deprecated_process_music ()
 {
   if (accepted_spanreqs_drul_[START] || accepted_spanreqs_drul_[STOP] || script_req_l_)
     
@@ -274,6 +275,9 @@ Dynamic_engraver::do_process_music ()
          announce_element (cresc_p_, accepted_spanreqs_drul_[START]);
        }
     }
+  script_req_l_ = 0;
+  accepted_spanreqs_drul_[START] = 0;
+  accepted_spanreqs_drul_[STOP] = 0;
 }
 
 void
@@ -282,6 +286,12 @@ Dynamic_engraver::do_pre_move_processing ()
   typeset_all ();
 }
 
+void
+Dynamic_engraver::process_acknowledged ()
+{
+  deprecated_process_music ();
+}
+
 void
 Dynamic_engraver::do_removal_processing ()
 {
index 7818776d04478d95696cc99a9c57bea77c5d5239..262185b93a920f544becd724ee725d12e85b2f37 100644 (file)
@@ -29,8 +29,9 @@ public:
 
 protected:
   virtual bool do_try_music (Music* req_l);
-  virtual void do_process_music ();
+  void deprecated_process_music ();
   virtual void do_pre_move_processing ();
+  virtual void process_acknowledged ();
 
 private:
   Music* script_req_l_;
@@ -51,7 +52,7 @@ Dynamic_performer::~Dynamic_performer ()
 
 
 void
-Dynamic_performer::do_process_music ()
+Dynamic_performer::deprecated_process_music ()
 {
   if (script_req_l_)
     {
@@ -118,6 +119,12 @@ Dynamic_performer::do_process_music ()
     }
 }
 
+void
+Dynamic_performer::process_acknowledged ()
+{
+  deprecated_process_music ();
+}
+
 void
 Dynamic_performer::do_pre_move_processing ()
 {
index 847bb5d13e36d16d6ccb16484cd612cb7c776582..2e753f543d80268b4d25599898009401ca208ebe 100644 (file)
@@ -32,13 +32,19 @@ Engraver_group_engraver::do_announces()
       Translator * t = unsmob_translator (gh_car (p));
       dynamic_cast<Engraver_group_engraver*> (t)->do_announces ();
     }
-  
-  while (announce_info_arr_.size ())
+
+  // debug
+  int i = 0;
+  do
     {
+      i++;
       for (int j =0; j < announce_info_arr_.size(); j++)
        {
          Score_element_info info = announce_info_arr_[j];
-         
+
+         if (i > 10)
+           printf ("elt: %s\n",
+                   announce_info_arr_[j].elem_l_->name ().ch_C ());
          for (SCM p = simple_trans_list_; gh_pair_p (p); p = gh_cdr (p))
            {
              Translator * t = unsmob_translator (gh_car (p));
@@ -56,6 +62,7 @@ Engraver_group_engraver::do_announces()
            eng->process_acknowledged ();
        }
     }
+  while (announce_info_arr_.size ());
 }
 
 
index 5c893207eedcbd211b994948454bd97d6e63dd04..bf1fa72fe09bb9688d73d25cb9fcfec80dea552e 100644 (file)
@@ -39,10 +39,11 @@ public:
 protected:
   virtual void acknowledge_element (Score_element_info);
   virtual void do_removal_processing();
-  virtual void do_process_music();
+  void deprecated_process_music();
   virtual bool do_try_music (Music*);
   virtual void do_pre_move_processing();
   virtual void do_post_move_processing ();
+  virtual void process_acknowledged ();
 private:
 
 };
@@ -101,9 +102,15 @@ Extender_engraver::do_removal_processing ()
 }
 
 void
-Extender_engraver::do_process_music ()
+Extender_engraver::process_acknowledged ()
 {
-  if (req_l_)
+  deprecated_process_music ();
+}
+
+void
+Extender_engraver::deprecated_process_music ()
+{
+  if (req_l_ && ! extender_p_)
     {
       if (!last_lyric_l_)
        {
index db566fe4bbfa70b0315eb7a493f6f52496f5060c..8f932cc6326dec2cd9e9274c6e5b83bf45908e5b 100644 (file)
@@ -69,8 +69,8 @@ void
 Grace_engraver_group::process ()
 {
   calling_self_b_  = true;
-  process_music ();
-  do_announces();
+  //process_music ();
+  announces();
   pre_move_processing();
   check_removal();
   calling_self_b_ = false;
index 4bf89fe1da896647487f99e6b7283ce1e0c120a5..fde743bef0b4b4f35824fab08eca32f356c1d846 100644 (file)
@@ -71,8 +71,8 @@ void
 Grace_performer_group::process ()
 {
   calling_self_b_  = true;
-  process_music ();
-  do_announces();
+  //process_music ();
+  announces();
   pre_move_processing();
   check_removal();
   calling_self_b_ = false;
index e78882d3d14639523cda5ec6d509074a6abf3fa8..709339b8a11125326fadb951f296de6fe12809e1 100644 (file)
@@ -33,10 +33,11 @@ public:
 protected:
   virtual void acknowledge_element (Score_element_info);
   virtual void do_removal_processing();
-  virtual void do_process_music();
+  void deprecated_process_music();
   virtual bool do_try_music (Music*);
   virtual void do_pre_move_processing();
   virtual void do_post_move_processing ();
+  virtual void process_acknowledged ();
 private:
 
 };
@@ -93,9 +94,15 @@ Hyphen_engraver::do_removal_processing ()
 }
 
 void
-Hyphen_engraver::do_process_music ()
+Hyphen_engraver::process_acknowledged ()
 {
-  if (req_l_)
+  deprecated_process_music ();
+}
+
+void
+Hyphen_engraver::deprecated_process_music ()
+{
+  if (req_l_ &&! hyphen_p_)
     {
       if (!last_lyric_l_)
        {
index 512bd48a53e4ac7254011267667f82138cb8e290..b89dbb8b425fd3357ab6969c2d0c12426edc41fe 100644 (file)
@@ -22,7 +22,7 @@ public:
 
 protected:
   virtual bool do_try_music (Music* req_l);
-  virtual void do_process_music ();
+  void deprecated_process_music ();
   virtual void do_pre_move_processing ();
 
 private:
index d39ec7e558a90a36b032c35304e0f6d95f9eab85..cbc55f3628e6e98cf6ddadda2a59af68a29c9b5e 100644 (file)
@@ -23,7 +23,7 @@ class Lyric_engraver : public Engraver
 protected:
   virtual void do_pre_move_processing();
   virtual bool do_try_music (Music*);
-  virtual void do_process_music();
+  void deprecated_process_music();
   virtual void do_post_move_processing ();
 public:
   Lyric_engraver ();
index 9bb48d0b749eda7ccfd08b1b1f2f4916efa23516..4fe468899fbf5864771665e11dc9a6d8c2d0e664 100644 (file)
@@ -22,7 +22,7 @@ public:
 protected:
 
   virtual bool do_try_music (Music* req_l);
-  virtual void do_process_music();
+  void deprecated_process_music();
   virtual void do_pre_move_processing ();
 
 private:
index 574e6952244f0547267e0ce6f2541e8a3219a15e..a7ffbc22611ebf87bfc9f83e483a8778fc09fba6 100644 (file)
@@ -21,7 +21,7 @@ public:
   Note_performer();
 
 protected:
-  virtual void do_process_music ();
+  void deprecated_process_music ();
   virtual bool do_try_music (Music *req_l) ;
 
   virtual void do_pre_move_processing ();
index 2ff3cd276d02442218983e2e11843acdb5ed4aff..7fdaea3a0e96c309faf085853a9a1400eb4ab87d 100644 (file)
@@ -30,7 +30,7 @@ protected:
   virtual void play_element (Audio_element* p);
   virtual void do_removal_processing ();
   virtual void do_creation_processing ();
-  virtual void do_process_music ();
+  void deprecated_process_music ();
   virtual void do_pre_move_processing ();
 
 private:
index c4a6d0f7c894d8168e6e3e365ef4b57d3d6868cb..e2eb89cc24c5662bc3526b2b17499db68d78950c 100644 (file)
@@ -23,7 +23,7 @@ public:
 protected:
 
   virtual bool do_try_music (Music* req_l);
-  virtual void do_process_music();
+  void deprecated_process_music();
   virtual void do_pre_move_processing ();
 
 private:
index 54425eb2fa3f5458b6f60982c1a54594e845fcbd..cec634ac80b8fbca2c28670fb126b5fc41b0b865 100644 (file)
@@ -54,7 +54,7 @@ protected:
   virtual void do_pre_move_processing ();
   virtual void acknowledge_element (Audio_element_info);
   virtual bool do_try_music (Music*);
-  virtual void do_process_music ();
+  void deprecated_process_music ();
   virtual void process_acknowledged ();
 
 };
index cc852ca5d70b814b20bf3bbfdc6e3b346af7e002..8dac8a403fc1d378b6a8e965e697b68f2033bb3b 100644 (file)
@@ -27,7 +27,7 @@ public:
 protected: 
   virtual void do_creation_processing ();
   virtual bool do_try_music (Music *req_l);
-  virtual void do_process_music();
+  void deprecated_process_music();
   virtual void do_pre_move_processing();
   virtual void do_post_move_processing();
 
index 5d24929d5b53cc1c6af83655ebbb07694d462374..63b2d70ffc82d2f537d040c59c7853e50f25f008 100644 (file)
@@ -70,7 +70,8 @@ protected:
   bool try_music_on_nongroup_children (Music *m);
   
 
-  virtual void do_process_music ();
+  void deprecated_process_music ();
+  virtual void do_announces ();
   virtual void do_add_processing ();
   virtual bool do_try_music (Music* req_l);       
   virtual void do_pre_move_processing();
index 05f865082db658324bd60d73f03092f1c9e58f58..083c16910656b15ecd397a328aedc99c3e965be1 100644 (file)
@@ -53,6 +53,7 @@ public:
   void add_processing ();
   void creation_processing ();
   void process_music();
+  void announces();
   void post_move_processing();
   void removal_processing();
   /**
@@ -98,7 +99,8 @@ protected:
   virtual bool do_try_music (Music *req_l);
   virtual void do_pre_move_processing();
   virtual void do_post_move_processing();
-  virtual void do_process_music () ;
+  void deprecated_process_music () ;
+  virtual void do_announces () ;
   virtual void do_creation_processing() ;
   virtual void do_removal_processing();
 };
index 4b1e204a835164bd2c121eb52c0c79c381d881a9..d38939cd6ad38be8cdd92e6023de92eaa1129297 100644 (file)
@@ -40,9 +40,10 @@ protected:
   virtual void do_creation_processing();
   virtual void do_removal_processing ();
   virtual bool do_try_music (Music *req_l);
-  virtual void do_process_music();
+  void deprecated_process_music();
   virtual void do_pre_move_processing();
   virtual void do_post_move_processing();
+  virtual void process_acknowledged ();
   virtual void acknowledge_element (Score_element_info);
 };
 
@@ -128,7 +129,13 @@ Key_engraver::acknowledge_element (Score_element_info info)
 }
 
 void
-Key_engraver::do_process_music ()
+Key_engraver::process_acknowledged ()
+{
+  deprecated_process_music ();
+}
+
+void
+Key_engraver::deprecated_process_music ()
 {
   if (keyreq_l_ || old_accs_ != get_property ("keySignature"))
     {
index f13cc85d7d6f828b5bf053497623dcdd335878a4..77fb5c74e79c30e73bb2915658ea27dc38ec30cf 100644 (file)
@@ -24,7 +24,7 @@ Key_performer::~Key_performer ()
 }
 
 void
-Key_performer::do_process_music ()
+Key_performer::deprecated_process_music ()
 {
   if (key_req_l_ &&
       gh_list_p (key_req_l_->get_mus_property ("pitch-alist")))
index 271b61606ada934c8cc3239d42661bc356f92e06..487bf473110a9b606b803f4c93e4b0220120b484 100644 (file)
@@ -31,7 +31,7 @@ struct Local_key_engraver : Engraver {
   Item *key_item_p_;
 protected:
   VIRTUAL_COPY_CONS(Translator);
-  virtual void do_process_music();
+  void deprecated_process_music();
   virtual void acknowledge_element (Score_element_info);
   virtual void do_pre_move_processing();
   virtual void do_creation_processing ();
@@ -74,6 +74,8 @@ Local_key_engraver::do_creation_processing ()
 void
 Local_key_engraver::process_acknowledged ()
 {
+  deprecated_process_music ();
+
   if (!key_item_p_ && mel_l_arr_.size()) 
     {
       SCM localsig = get_property ("localKeySignature");
@@ -237,7 +239,7 @@ Local_key_engraver::acknowledge_element (Score_element_info info)
   ugh. repeated deep_copy generates lots of garbage.
  */
 void
-Local_key_engraver::do_process_music()
+Local_key_engraver::deprecated_process_music()
 {
   SCM smp = get_property ("measurePosition");
   Moment mp =  (unsmob_moment (smp)) ? *unsmob_moment (smp) : Moment (0);
index 09e9fc9ee94eacf41e0e234bee8a5ac5b72c86dc..3360f0a3ec767ae410bf904b54903b77244a3882 100644 (file)
@@ -37,7 +37,7 @@ Lyric_engraver::do_try_music (Music*r)
 }
 
 void
-Lyric_engraver::do_process_music()
+Lyric_engraver::deprecated_process_music()
 {
   if (req_l_)
     {
@@ -55,6 +55,7 @@ Lyric_engraver::do_process_music()
       text_p_->translate_axis (0.66, X_AXIS);
       
       announce_element (text_p_, req_l_);
+      req_l_ = 0;
     }
 }
 
index 4557f43076481c043189dd39fba1340da4d06cd5..f20891ab28775167d9ec34fb93eb8bb2e28cb75f 100644 (file)
@@ -19,7 +19,7 @@ Lyric_performer::Lyric_performer ()
 
 
 void
-Lyric_performer::do_process_music ()
+Lyric_performer::deprecated_process_music ()
 {
   // FIXME: won't work with fancy lyrics
   if (lreq_arr_.size ()
index 7e76790d778e86d0df5777a162c822d8a5b3dd31..a739c21d60ed79017d795f99a5ad2e2acf404da7 100644 (file)
@@ -38,9 +38,10 @@ protected:
   virtual void acknowledge_element (Score_element_info);
   void create_items(Request*);
   virtual bool do_try_music (Music *req_l);
-  virtual void do_process_music ();
+  void deprecated_process_music ();
   virtual void do_post_move_processing ();
   virtual void do_creation_processing ();
+  virtual void process_acknowledged ();
   
 private:
   Mark_req * mark_req_l_;
@@ -136,7 +137,13 @@ Mark_engraver::do_try_music (Music* r_l)
 }
 
 void
-Mark_engraver::do_process_music ()
+Mark_engraver::process_acknowledged ()
+{
+  deprecated_process_music ();
+}
+
+void
+Mark_engraver::deprecated_process_music ()
 {
   if (mark_req_l_)
     {
index 228ab780c957f61fbab70b1fb3f14fe4152317c5..58e38470dab7e96330e39a6596428d1ce96695d3 100644 (file)
@@ -30,11 +30,13 @@ public:
 
 protected:
   virtual void acknowledge_element (Score_element_info i);
-  virtual void do_process_music ();
+  void deprecated_process_music ();
   virtual bool do_try_music (Music*);
   virtual void do_pre_move_processing ();
   virtual void do_post_move_processing ();
   virtual void do_removal_processing ();
+  virtual void process_acknowledged ();
+
 private:
   Span_req * new_req_l_;
   Span_req * busy_span_req_l_;
@@ -91,10 +93,15 @@ Multi_measure_rest_engraver::do_try_music (Music* req_l)
   return false;
 }
 
+void
+Multi_measure_rest_engraver::process_acknowledged ()
+{  
+  deprecated_process_music ();
+}
 
 
 void
-Multi_measure_rest_engraver::do_process_music ()
+Multi_measure_rest_engraver::deprecated_process_music ()
 {
   if (new_req_l_ && stop_req_l_)
     stop_req_l_ = 0;
index 414e2aedbb561bfeda46b3d1f2fb76e47ae45175..310a180fadf3e29f239e05eaf980b74c517532e8 100644 (file)
@@ -30,7 +30,9 @@ public:
 protected:
   virtual void do_post_move_processing ();
   virtual bool do_try_music (Music *req_l) ;
-  virtual void do_process_music();
+  virtual void process_acknowledged ();
+  virtual void acknowledge_element (Score_element_info) ;
+  void deprecated_process_music();
   virtual void do_pre_move_processing();
 };
 
@@ -73,7 +75,19 @@ Note_heads_engraver::do_try_music (Music *m)
 }
 
 void
-Note_heads_engraver::do_process_music()
+Note_heads_engraver::process_acknowledged ()
+{
+  deprecated_process_music ();
+}
+
+void
+Note_heads_engraver::acknowledge_element (Score_element_info)
+{
+  //deprecated_process_music ();
+}
+
+void
+Note_heads_engraver::deprecated_process_music()
 {
   if (note_p_arr_.size ())
     return ;
index b5ce78e561951312a925ea3e5735dda647ef0f8a..17fa147b21f0bd1face648a630cffc8a9ae0fa40 100644 (file)
@@ -18,7 +18,7 @@ public:
   Link_array<Note_req> req_l_arr_;
   Link_array<Item> texts_;
   virtual bool  do_try_music (Music*m);
-  virtual void do_process_music ();
+  void deprecated_process_music ();
   virtual void do_pre_move_processing ();
 };
 
@@ -35,8 +35,10 @@ Note_name_engraver::do_try_music (Music *m)
 
 
 void
-Note_name_engraver::do_process_music ()
+Note_name_engraver::deprecated_process_music ()
 {
+  if (texts_.size ())
+    return;
   String s ;
   for (int i=0; i < req_l_arr_.size (); i++)
     {
index d452ae5e870beb2827d871793d751dd83d38faae..d63d0c442b52110376b1f745083b792ba9c05963 100644 (file)
@@ -23,7 +23,7 @@ Note_performer::Note_performer ()
 
 
 void 
-Note_performer::do_process_music () 
+Note_performer::deprecated_process_music () 
 {
   if (note_req_l_arr_.size ())
     {
index 0c07bf694f8af4b7f1ac7d43bab1076dc39ca5f7..d594e49b92ef507d6132880beca84586c0635e88 100644 (file)
@@ -9,6 +9,7 @@
 
 #include "performer-group-performer.hh"
 
+#include "audio-element.hh"
 #include "debug.hh"
 
 
@@ -33,12 +34,22 @@ Performer_group_performer::do_announces()
       dynamic_cast<Performer_group_performer*> (t)->do_announces ();
     }
   
-  while (announce_info_arr_.size ())
-    {
-      for (int j =0; j < announce_info_arr_.size(); j++)
-       {
-         Audio_element_info info = announce_info_arr_[j];
-         
+  // debug
+  int i = 0;
+  do
+  {
+    i++;
+    for (int j =0; j < announce_info_arr_.size(); j++)
+      {
+       Audio_element_info info = announce_info_arr_[j];
+
+       if (i > 10)
+         {
+           printf ("elt: %s\n",
+                   classname (announce_info_arr_[j].elem_l_));
+           announce_info_arr_.clear ();
+         }
+
          for (SCM p = simple_trans_list_; gh_pair_p (p); p = gh_cdr (p))
            {
              Translator * t = unsmob_translator (gh_car (p));
@@ -56,6 +67,7 @@ Performer_group_performer::do_announces()
            eng->process_acknowledged ();
        }
     }
+  while (announce_info_arr_.size ());
 }
 
 
index 3f09f169e1579d2bddc1ca60bc7f59fa1453ed00..0d2348f41b2ffa58ad24cdbcd5094f64ff564a6e 100644 (file)
@@ -33,10 +33,11 @@ public:
 protected:
   virtual void do_creation_processing ();
   virtual bool do_try_music (Music*);
-  virtual void do_process_music ();
+  void deprecated_process_music ();
   virtual void do_pre_move_processing ();
   virtual void do_post_move_processing ();
   virtual void acknowledge_element (Score_element_info);
+  virtual void process_acknowledged ();
 
 private:
   struct Pedal_info
@@ -91,7 +92,7 @@ Piano_pedal_engraver::~Piano_pedal_engraver()
 void
 Piano_pedal_engraver::acknowledge_element (Score_element_info info)
 {
-  for (Pedal_info*p = info_list_; p->name_; p ++)
+  for (Pedal_info*p = info_list_; p && p->name_; p ++)
     {
       if (p->item_p_)
        {
@@ -130,10 +131,18 @@ Piano_pedal_engraver::do_try_music (Music *m)
 }
 
 void
-Piano_pedal_engraver::do_process_music ()
+Piano_pedal_engraver::process_acknowledged ()
 {
-  for (Pedal_info*p = info_list_; p->name_; p ++)
+  deprecated_process_music ();
+}
+
+void
+Piano_pedal_engraver::deprecated_process_music ()
+{
+  for (Pedal_info*p = info_list_; p && p->name_; p ++)
     {
+      if (p->item_p_)
+       continue;
       SCM s = SCM_EOL;
       if (p->req_l_drul_[STOP] && p->req_l_drul_[START])
        {
index a3c8fb482939688686cbf16b7335e218d40fc159..e2d6eb02cab86c75419300bf8a469dab20047da5 100644 (file)
@@ -33,7 +33,7 @@ public:
 protected:
   virtual void do_creation_processing ();
   virtual bool do_try_music (Music*);
-  virtual void do_process_music ();
+  void deprecated_process_music ();
   virtual void do_pre_move_processing ();
   virtual void do_post_move_processing ();
 
@@ -75,9 +75,9 @@ Piano_pedal_performer::do_creation_processing ()
 }
 
 void
-Piano_pedal_performer::do_process_music ()
+Piano_pedal_performer::deprecated_process_music ()
 {
-  for (Pedal_info*p = info_alist_; p->name_; p ++)
+  for (Pedal_info*p = info_alist_; p && p->name_; p ++)
  
     {
       if (p->req_l_drul_[STOP])
@@ -118,7 +118,7 @@ Piano_pedal_performer::do_pre_move_processing ()
 void
 Piano_pedal_performer::do_post_move_processing ()
 {
-  for (Pedal_info*p = info_alist_; p->name_; p ++)
+  for (Pedal_info*p = info_alist_; p && p->name_; p ++)
     {
       p->req_l_drul_[STOP] = 0;
       p->req_l_drul_[START] = 0;
index 9861866e82442545206b97bdfc2f00153a1dd147..0a003b23d180c32a9861c8a84252a76e4c4c48f6 100644 (file)
@@ -70,6 +70,8 @@ Property_engraver::do_creation_processing ()
 void
 Property_engraver::acknowledge_element (Score_element_info i)
 {
+  /////////
+  return;
   SCM ifs = i.elem_l_->get_elt_property ("interfaces");
   SCM props;
   for (; gh_pair_p (ifs); ifs = gh_cdr (ifs))
index e119ab714adf7c1dadce2d7bfaf093932a6fa55a..e3f544d0f6fad4d0f65f5089e0558244883d4c68 100644 (file)
@@ -29,7 +29,7 @@ public:
   Repeat_acknowledge_engraver();
   
   virtual void do_post_move_processing ();
-  virtual void do_process_music ();
+  void deprecated_process_music ();
   virtual void do_creation_processing ();
 };
 
@@ -55,7 +55,7 @@ Repeat_acknowledge_engraver::do_post_move_processing ()
 }
 
 void
-Repeat_acknowledge_engraver::do_process_music ()
+Repeat_acknowledge_engraver::deprecated_process_music ()
 {
   /*
     At the start of a piece, we don't print any repeat bars.
index ead302fbb49f3852eace4f2d5f2d52a37c713d0a..4fe90403e04fd3daee82227e7032f4506b431980 100644 (file)
@@ -22,7 +22,7 @@ protected:
   virtual bool do_try_music (Music *);
   virtual void do_pre_move_processing ();
   virtual void do_post_move_processing ();
-  virtual void do_process_music ();
+  void deprecated_process_music ();
 public:
   
   VIRTUAL_COPY_CONS(Translator);
@@ -62,7 +62,7 @@ Rest_engraver::do_pre_move_processing ()
 }
 
 void
-Rest_engraver::do_process_music ()
+Rest_engraver::deprecated_process_music ()
 {
   if (rest_req_l_ && !rest_p_) 
     {
index 3bd5dd257bfc92583e1f715c4317c907c1c49665..fb3dc3910815dc619d7649c7319c270275037f70 100644 (file)
@@ -90,8 +90,8 @@ Score_engraver::do_removal_processing()
 void
 Score_engraver::process()
 {
-  process_music();
-  do_announces();
+  //process_music();
+  announces();
   pre_move_processing();
   check_removal();
 }
@@ -114,8 +114,9 @@ Score_engraver::announce_element (Score_element_info info)
 void
 Score_engraver::do_announces()
 {
-  while (announce_info_arr_.size()) 
+  //////  do
     Engraver_group_engraver::do_announces();
+    //////while (announce_info_arr_.size());
 }
 
 
index 1908644904f4ba32ce95e0b1131f8eb54ac25a66..3479a17b469f07496593d2c66161d48d1c4477b1 100644 (file)
@@ -71,8 +71,8 @@ Score_performer::prepare (Moment m)
 void 
 Score_performer::process()
 {
-  process_music();
-  do_announces ();
+  //process_music();
+  announces ();
   pre_move_processing();
   check_removal();
 }
index 7490bb68f99bd4a8729b5223452c8134271bd94f..7eba9b7c24c94b7ff7ca6a4f2778f9c85159bf80 100644 (file)
@@ -22,9 +22,10 @@ public:
   Script_engraver();
 protected:
   virtual bool do_try_music (Music*);
-  virtual void do_process_music ();
+  void deprecated_process_music ();
   virtual void do_pre_move_processing ();
   virtual void do_post_move_processing ();
+  virtual void process_acknowledged ();
   virtual void acknowledge_element (Score_element_info);
 };
 
@@ -51,7 +52,13 @@ Script_engraver::do_try_music (Music *r_l)
 }
 
 void
-Script_engraver::do_process_music()
+Script_engraver::process_acknowledged ()
+{
+  deprecated_process_music ();
+}
+
+void
+Script_engraver::deprecated_process_music()
 {
   for (int i=0; i < script_req_l_arr_.size(); i++)
     {
@@ -112,6 +119,7 @@ Script_engraver::do_process_music()
       
       announce_element (p, l);
     }
+  script_req_l_arr_.clear ();
 }
 
 void
index d159020b82e1e47a7c16dd1f154788e65aa777f4..4d363d3d431cde3374d200df4055208b6531542a 100644 (file)
@@ -25,11 +25,12 @@ class Slur_engraver : public Engraver
 
 protected:
   virtual bool do_try_music (Music*);
-  virtual void do_process_music ();
+  void deprecated_process_music ();
   virtual void acknowledge_element (Score_element_info);
   virtual void do_pre_move_processing ();
   virtual void do_post_move_processing ();
   virtual void do_removal_processing ();
+  virtual void process_acknowledged ();
 
 public:
   VIRTUAL_COPY_CONS (Translator);
@@ -86,6 +87,12 @@ Slur_engraver::do_try_music (Music *req_l)
   return false;
 }
 
+void
+Slur_engraver::process_acknowledged ()
+{
+  deprecated_process_music ();
+}
+
 void
 Slur_engraver::set_melisma (bool m)
 {
@@ -130,7 +137,7 @@ Slur_engraver::do_removal_processing ()
 }
 
 void
-Slur_engraver::do_process_music ()
+Slur_engraver::deprecated_process_music ()
 {
   Link_array<Score_element> start_slur_l_arr;
   for (int i=0; i< new_slur_req_l_arr_.size (); i++)
@@ -171,6 +178,7 @@ Slur_engraver::do_process_music ()
     }
   for (int i=0; i < start_slur_l_arr.size (); i++)
     slur_l_stack_.push (start_slur_l_arr[i]);
+  new_slur_req_l_arr_.clear ();
 }
 
 void
index 1775f2681afe7c93582405f782553babdbe7e6ff..2fb2e818a26827b253cc27527f82c65da4a32804 100644 (file)
@@ -31,7 +31,7 @@ protected:
   virtual bool do_try_music (Music*);
   virtual void acknowledge_element (Audio_element_info);
   virtual void process_acknowledged ();
-  virtual void do_process_music ();
+  void deprecated_process_music ();
   virtual void do_pre_move_processing ();
   virtual void do_post_move_processing ();
 
@@ -67,7 +67,7 @@ Span_dynamic_performer::acknowledge_element (Audio_element_info i)
 }
 
 void
-Span_dynamic_performer::do_process_music ()
+Span_dynamic_performer::deprecated_process_music ()
 {
   if (span_start_req_l_ || span_req_l_drul_[START])
     {
@@ -111,6 +111,7 @@ Span_dynamic_performer::do_process_music ()
 void
 Span_dynamic_performer::process_acknowledged ()
 {
+  deprecated_process_music ();
   if (span_req_l_drul_[STOP])
    { 
      finished_dynamic_tuple_arr_.top ().audio_l_->volume_ = last_volume_;
@@ -120,6 +121,9 @@ Span_dynamic_performer::process_acknowledged ()
     {
      dynamic_tuple_arr_[0].audio_l_->volume_ = last_volume_;
     }
+  span_start_req_l_ = 0;
+  span_req_l_drul_[START] = 0;
+  span_req_l_drul_[STOP] = 0;
 }
   
 void
index bebb642468f2995be851d89733a7c5e935e99d70..61014a0d160d6b21ac3f9779c4a1c2bf3a0eea69 100644 (file)
@@ -45,7 +45,7 @@ Staff_performer::do_creation_processing ()
 }
 
 void
-Staff_performer::do_process_music ()
+Staff_performer::deprecated_process_music ()
 {
   String str = new_instrument_str ();
   if (str.length_i ())
@@ -55,7 +55,7 @@ Staff_performer::do_process_music ()
       instrument_p_ = new Audio_instrument (str);
       announce_element (Audio_element_info (instrument_p_, 0));
     }
-  Performer_group_performer::do_process_music ();
+  Performer_group_performer::deprecated_process_music ();
 }
 
 void
index d3685bfbf52004cd03b7021ad708391f47ee9062..520bcc701ddef5a33301b8a0502d4b76e0b35ac9 100644 (file)
@@ -62,8 +62,17 @@ Staff_symbol_engraver::do_removal_processing()
 void
 Staff_symbol_engraver::acknowledge_element (Score_element_info s)
 {
-  s.elem_l_->set_elt_property ("staff-symbol", span_p_->self_scm ());
-  s.elem_l_->add_dependency (span_p_); // UGH. UGH. UGH 
+  //////  assert (span_p_);
+  ////// ik weet 't zo onderhand echt niet meer
+  ///// if (!span_p_)
+  /////  do_creation_processing ();
+  if (!span_p_)
+    {
+      status_ = VIRGIN;
+      creation_processing ();
+    }
+    s.elem_l_->set_elt_property ("staff-symbol", span_p_->self_scm ());
+  s.elem_l_->add_dependency (span_p_); // UGH. UGH. UGH
 }
 
 
index 1f38e3a80950242fba35eb4ed38b4c5919a23bd7..9a8b89ade24682a8cbcfcbe99d968b461768d81e 100644 (file)
@@ -24,7 +24,7 @@ Tempo_performer::~Tempo_performer ()
 
 
 void
-Tempo_performer::do_process_music ()
+Tempo_performer::deprecated_process_music ()
 {
   if (tempo_req_l_)
     {
index c18a61f614c9e023e440b0e031dc8f09934aa96c..c463fdb275e7a3b45fa6575e6dca81635955790f 100644 (file)
@@ -29,7 +29,8 @@ protected:
   virtual bool do_try_music (Music* m);
   virtual void do_pre_move_processing ();
   virtual void do_post_move_processing ();
-  virtual void do_process_music ();
+  virtual void process_acknowledged ();
+  void deprecated_process_music ();
   virtual void acknowledge_element (Score_element_info);
 };
 
@@ -77,8 +78,16 @@ Text_engraver::acknowledge_element (Score_element_info inf)
 }
 
 void
-Text_engraver::do_process_music ()
+Text_engraver::process_acknowledged ()
 {
+  deprecated_process_music ();
+}
+
+void
+Text_engraver::deprecated_process_music ()
+{
+  if (texts_.size ())
+    return;
   for (int i=0; i < reqs_.size (); i++)
     {
       Text_script_req * r = reqs_[i];
index 2b04b01a7d61798673adb36a2054eda73e1cdeb0..1c843c4555a3f5cf5c0c5974cd0f355e4b201416 100644 (file)
@@ -29,9 +29,10 @@ protected:
   virtual void do_removal_processing ();
   virtual void acknowledge_element (Score_element_info);
   virtual bool do_try_music (Music *);
-  virtual void do_process_music ();
+  void deprecated_process_music ();
   virtual void do_pre_move_processing ();
   virtual void do_post_move_processing ();
+  virtual void process_acknowledged ();
 
 private:
   Spanner *span_;
@@ -84,8 +85,15 @@ Text_spanner_engraver::do_try_music (Music *m)
 }
 
 void
-Text_spanner_engraver::do_process_music ()
+Text_spanner_engraver::process_acknowledged ()
 {
+  deprecated_process_music ();
+}
+
+void
+Text_spanner_engraver::deprecated_process_music ()
+{
+  /////
   if (req_drul_[STOP])
     {
       if (!span_)
index 576e465317d1d5212c97247ce22b7b822b23446d..bee102edfd08ab44d4cbb7e181a70b01be71e1a2 100644 (file)
@@ -62,7 +62,7 @@ protected:
   virtual void do_pre_move_processing ();
   virtual void acknowledge_element (Score_element_info);
   virtual bool do_try_music (Music*);
-  virtual void do_process_music ();
+  void deprecated_process_music ();
   virtual void process_acknowledged ();
   void typeset_tie (Score_element*);
 public:
@@ -118,8 +118,16 @@ Tie_engraver::acknowledge_element (Score_element_info i)
 }
 
 void
-Tie_engraver::do_process_music ()
+Tie_engraver::deprecated_process_music ()
 {
+}
+
+void
+Tie_engraver::process_acknowledged ()
+{
+  if (tie_p_arr_.size ())
+    return;
+      
   if (req_l_)
     {
       Moment now = now_mom ();
@@ -128,11 +136,6 @@ Tie_engraver::do_process_music ()
             && past_notes_pq_.front ().end_ == now)
        stopped_heads_.push (past_notes_pq_.get ());
     }
-}
-
-void
-Tie_engraver::process_acknowledged ()
-{
   if (req_l_)
     {
       now_heads_.sort (CHead_melodic_tuple::pitch_compare);
index 521ac201c487022b55bffd7d0ae8597e64befd59..66de72eddbcf7a61d3ce3739424b27fd9ed13f19 100644 (file)
@@ -47,7 +47,7 @@ Tie_performer::acknowledge_element (Audio_element_info i)
 }
 
 void
-Tie_performer::do_process_music ()
+Tie_performer::deprecated_process_music ()
 {
   if (req_l_)
     {
@@ -64,6 +64,7 @@ Tie_performer::do_process_music ()
 void
 Tie_performer::process_acknowledged ()
 {
+  deprecated_process_music ();
   if (req_l_)
     {
       now_notes_.sort (CNote_melodic_tuple::pitch_compare);
index aee3ea0852eb6b7b629bd262289b4488171a33bc..2499bcba2eaed945e7e116e8372e7b24a67c177d 100644 (file)
@@ -19,7 +19,7 @@
   */
 class Time_signature_engraver : public Engraver {
 protected:
-  virtual void do_process_music();
+  void deprecated_process_music();
   virtual void do_pre_move_processing();
 public:
   VIRTUAL_COPY_CONS(Translator);
@@ -36,7 +36,7 @@ Time_signature_engraver::Time_signature_engraver()
 }
 
 void
-Time_signature_engraver::do_process_music()
+Time_signature_engraver::deprecated_process_music()
 {
   /*
     not rigorously safe, since the value might get GC'd and
index 8127dd940d89f0fb30fc2aa1db96f59004c85d5a..dcc2c5fe0d70d09c0529ee765f10a02944d69827 100644 (file)
@@ -21,7 +21,7 @@ public:
 
 protected:
 
-  virtual void do_process_music();
+  void deprecated_process_music();
   virtual void do_pre_move_processing ();
 
   SCM prev_fraction_;
@@ -43,7 +43,7 @@ Time_signature_performer::~Time_signature_performer ()
 
 
 void
-Time_signature_performer::do_process_music ()
+Time_signature_performer::deprecated_process_music ()
 {
   SCM fr = get_property ("timeSignatureFraction");
   if (gh_pair_p (fr)
index b130629ccdb4c3f911d994a18473ad52ff929b04..1f356c7c19185278d715e87253d294f569c5a4cb 100644 (file)
@@ -31,7 +31,7 @@ Timing_translator::do_try_music (Music*r)
 }
 
 void
-Timing_translator::do_process_music()
+Timing_translator::deprecated_process_music()
 {
   if (check_ && measure_position ())
     {
index 1b85d8113a1b147d3a14fb24ef7c279dba2c4de9..aa2541ebe453f6d48df3ea5b410b61ee87165109 100644 (file)
@@ -418,11 +418,18 @@ Translator_group::do_post_move_processing ()
 }
 
 void
-Translator_group::do_process_music ()
+Translator_group::deprecated_process_music ()
 {
+  assert (0);
   each (&Translator::process_music);
 }
 
+void
+Translator_group::do_announces ()
+{
+  each (&Translator::announces);
+}
+
 void
 Translator_group::do_creation_processing ()
 {
index 4946af8027e4be13812f60cc3d43cb8d627e64e1..2b767bc64ad2982d15269c1942582a1c7ae9fb54 100644 (file)
@@ -127,18 +127,42 @@ Translator::try_music (Music * r)
   return do_try_music (r);
 }
 
+
 void
 Translator::process_music ()
 {
+  assert (0);
   if (status_ < PROCESSED_REQS)
     post_move_processing ();
   else if (status_ >= PROCESSED_REQS)
     return; 
   
   status_ = PROCESSED_REQS;
-  do_process_music ();
+  deprecated_process_music ();
+}
+
+//////////
+static int te_vroeg = 0;
+void
+Translator::announces ()
+{
+  #if 0
+  if (te_vroeg && te_vroeg < 2)
+    {
+      do_creation_processing ();
+      te_vroeg++;
+    }
+  #endif
+  if (status_ < PROCESSED_REQS)
+    post_move_processing ();
+  else if (status_ >= PROCESSED_REQS)
+    return;
+  
+  status_ = PROCESSED_REQS;
+  do_announces ();
 }
 
+
 void
 Translator::pre_move_processing ()
 {
@@ -177,13 +201,20 @@ Translator::do_post_move_processing ()
 }
 
 void
-Translator::do_process_music ()
+Translator::deprecated_process_music ()
+{
+}
+
+void
+Translator::do_announces ()
 {
 }
 
+////////////
 void
 Translator::do_creation_processing ()
 {
+  te_vroeg++;
 }
 
 void
index c102fd7ad5e2b919ed782edb1ac2f36df76a6f7e..87446d86ebf3252514e06f08002e1a053de6826f 100644 (file)
@@ -35,8 +35,9 @@ protected:
   virtual void do_removal_processing ();
   virtual void acknowledge_element (Score_element_info);
   virtual bool do_try_music (Music*r);
-  virtual void do_process_music ();
+  void deprecated_process_music ();
   virtual void do_post_move_processing ();
+  virtual void process_acknowledged ();
 };
 
 bool
@@ -63,7 +64,13 @@ Tuplet_engraver::do_try_music (Music *r)
 }
 
 void
-Tuplet_engraver::do_process_music ()
+Tuplet_engraver::process_acknowledged ()
+{
+  deprecated_process_music ();
+}
+
+void
+Tuplet_engraver::deprecated_process_music ()
 {
   SCM v = get_property ("tupletInvisible");
   if (to_boolean (v))
index 2d8d6e6e9199e2f0c1040ae03c359af1faabbc8c..47a0cb19d26e652f64bd93bac2de4e3e4a23b644 100644 (file)
@@ -29,8 +29,9 @@ protected:
   virtual void acknowledge_element (Score_element_info);
   virtual void do_removal_processing ();
   virtual void do_pre_move_processing ();
-  virtual void do_process_music ();
-
+  void deprecated_process_music ();
+  virtual void process_acknowledged ();
+  
   Moment started_mom_;
   Spanner * volta_span_p_;
   Spanner* end_volta_span_p_;
@@ -45,8 +46,16 @@ Volta_engraver::Volta_engraver ()
 }
 
 void
-Volta_engraver::do_process_music ()
+Volta_engraver::process_acknowledged ()
 {
+  deprecated_process_music ();
+}
+  
+void
+Volta_engraver::deprecated_process_music ()
+{
+  if (volta_span_p_)
+    return;
   SCM cs = get_property ("repeatCommands");
 
   SCM str = SCM_EOL;