]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/score-performer.cc
("music.hh"): remove file.
[lilypond.git] / lily / score-performer.cc
index d44a836e35a26cf9a699d2e0a9e1d3973c9ee9f7..97afb37573231b12e3581a33fbdc25b213b578dc 100644 (file)
@@ -7,7 +7,7 @@
  */
 
 #include "score-performer.hh"
-#include "midi-def.hh"
+
 #include "audio-column.hh"
 #include "audio-item.hh"
 #include "performance.hh"
 #include "string-convert.hh"
 #include "warn.hh"
 #include "context-def.hh"
+#include "output-def.hh"
 
-
-
-ENTER_DESCRIPTION(Score_performer,
+ADD_TRANSLATOR (Score_performer,
 /* descr */       "",
 /* creats*/       "",
 /* accepts */     "",
@@ -40,7 +39,7 @@ Score_performer::~Score_performer ()
 void
 Score_performer::play_element (Audio_element * p)
 {
-  if (Audio_item * i=dynamic_cast<Audio_item *> (p)) 
+  if (Audio_item * i = dynamic_cast<Audio_item *> (p)) 
     {
       audio_column_->add_audio_item (i);
     }
@@ -58,22 +57,27 @@ Score_performer::prepare (Moment m)
 {
   audio_column_ = new Audio_column (m);
   play_element (audio_column_);
-  recurse_down_translators (daddy_context_, &Translator::start_translation_timestep, true);
+  recurse_over_translators (context (), &Translator::start_translation_timestep, UP);
 }
 
-
+void
+Score_performer::finish ()
+{
+  recurse_over_translators (context (), &Translator::finalize, UP);
+}
+  
 void 
 Score_performer::one_time_step ()
 {
-  recurse_down_performers (daddy_context_, &Performer::process_music, false);
-  recurse_down_performers (daddy_context_, &Performer::do_announces, true);
-  recurse_down_translators (daddy_context_, &Translator::stop_translation_timestep, false);
+  recurse_over_translators (context (), &Performer::process_music, UP);
+  recurse_over_translators (context (), &Performer::do_announces, UP);
+  recurse_over_translators (context (), &Translator::stop_translation_timestep, UP);
 }
 
 int
 Score_performer::get_tempo () const
 {
-  return performance_->midi_->get_tempo (Moment (Rational (1, 4)));
+  return ::get_tempo (performance_->midi_, Moment (Rational (1, 4)));
 }
 
 
@@ -81,7 +85,7 @@ Music_output *
 Score_performer::get_output ()
 {
   Music_output * o = performance_;
-  performance_ =0;
+  performance_ = 0;
   return o;
 }
 
@@ -89,7 +93,7 @@ void
 Score_performer::initialize ()
 {
   performance_ = new Performance;
-  performance_->midi_ = dynamic_cast<Midi_def*> (get_output_def ());
+  performance_->midi_ = get_output_def ();
 
   Translator_group::initialize ();
 }