]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/performance.cc
Fix some bugs in the dynamic engraver and PostScript backend
[lilypond.git] / lily / performance.cc
index a70f7aff993cbc1c3337770bbfffc52bf9bbb156..f765a3193772b021c0bcda98209810b2f676753e 100644 (file)
@@ -14,6 +14,7 @@ using namespace std;
 #include "audio-column.hh"
 #include "audio-staff.hh"
 #include "file-name.hh"
+#include "international.hh"
 #include "lily-version.hh"
 #include "main.hh"
 #include "midi-item.hh"
@@ -22,17 +23,14 @@ using namespace std;
 #include "string-convert.hh"
 #include "warn.hh"
 
-#include "killing-cons.tcc"
-
 Performance::Performance ()
 {
   midi_ = 0;
-  audio_element_list_ = 0;
 }
 
 Performance::~Performance ()
 {
-  delete audio_element_list_;
+  junk_pointers (audio_elements_);
 }
 
 void
@@ -47,7 +45,7 @@ Performance::output (Midi_stream &midi_stream)
   output_header_track (midi_stream);
   message (_ ("Track...") + " ");
   int channel = 0;
-  for (int i = 0; i < audio_staffs_.size (); i++)
+  for (vsize i = 0; i < audio_staffs_.size (); i++)
     {
       Audio_staff *s = audio_staffs_[i];
       if (be_verbose_global)
@@ -88,8 +86,8 @@ Performance::output_header_track (Midi_stream &midi_stream)
   midi_track.channel_ = 9;
 
   // perhaps multiple text events?
-  String id_string;
-  String str = String (_ ("Creator: "));
+  string id_string;
+  string str = string (_ ("Creator: "));
   id_string = String_convert::pad_to (gnu_lilypond_version_string (), 30);
   str += id_string;
 
@@ -112,7 +110,7 @@ Performance::output_header_track (Midi_stream &midi_stream)
   str = _ ("at ");
   time_t t (time (0));
   str += ctime (&t);
-  str = str.left_string (str.length () - 1);
+  str = str.substr (0, str.length () - 1);
   str = String_convert::pad_to (str, 60);
 
   Audio_text at_a (Audio_text::TEXT, str);
@@ -144,12 +142,13 @@ void
 Performance::add_element (Audio_element *p)
 {
   if (Audio_staff *s = dynamic_cast<Audio_staff *> (p))
-    audio_staffs_.push (s);
-  audio_element_list_ = new Killing_cons<Audio_element> (p, audio_element_list_);
+    audio_staffs_.push_back (s);
+
+  audio_elements_.push_back (p);
 }
 
 void
-Performance::write_output (String out)
+Performance::write_output (string out)
 {
   if (out == "-")
     out = "lelie.midi";