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_elem_p_list_ = 0;
}
Performance::~Performance ()
{
- delete audio_elem_p_list_;
+ junk_pointers (audio_elements_);
}
void
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)
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;
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);
Audio_text track_name_a (Audio_text::TRACK_NAME, "Track "
+ String_convert::int2dec (0, 0, '0'));
Midi_text track_name (&track_name_a);
-
+
midi_track.add (Moment (0), &track_name);
// Some sequencers read track 0 last.
Performance::add_element (Audio_element *p)
{
if (Audio_staff *s = dynamic_cast<Audio_staff *> (p))
- {
- audio_staffs_.push (s);
- }
- audio_elem_p_list_ = new Killing_cons<Audio_element> (p, audio_elem_p_list_);
+ audio_staffs_.push_back (s);
+
+ audio_elements_.push_back (p);
}
-SCM
-Performance::process (String out)
+void
+Performance::write_output (string out)
{
if (out == "-")
out = "lelie.midi";
output (midi_stream);
progress_indication ("\n");
- return SCM_UNDEFINED;
}
+