]> 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 087522ebb4456c1debec539cbb5ca573a95a0e87..f765a3193772b021c0bcda98209810b2f676753e 100644 (file)
@@ -3,16 +3,18 @@
 
   source file of the GNU LilyPond music typesetter
 
-  (c) 1997--2005 Jan Nieuwenhuizen <janneke@gnu.org>
+  (c) 1997--2006 Jan Nieuwenhuizen <janneke@gnu.org>
 */
 
 #include "performance.hh"
 
 #include <ctime>
+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"
 #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
@@ -46,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)
@@ -87,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;
 
@@ -111,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);
@@ -143,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";