2 staff-performer.cc -- implement Staff_performer
4 (c) 1996, 1997 Jan Nieuwenhuizen <jan@digicash.com>
8 #include "staff-performer.hh"
9 #include "translator.hh"
10 #include "input-translator.hh"
12 #include "midi-def.hh"
13 #include "midi-item.hh"
14 #include "midi-stream.hh"
16 #include "string-convert.hh"
19 IMPLEMENT_IS_TYPE_B1(Staff_performer,Performer_group_performer);
20 ADD_THIS_PERFORMER(Staff_performer);
22 Staff_performer::Staff_performer()
25 midi_track_p_ = new Midi_track;
28 Staff_performer::do_creation_processing()
34 Staff_performer::do_removal_processing()
36 Performer::play_event( midi_track_p_);
39 Staff_performer::~Staff_performer()
45 Staff_performer::header()
48 Midi_text track_name( Midi_text::TRACK_NAME, instrument_str());
49 midi_track_p_->add( Moment( 0 ), &track_name );
52 Midi_text instrument_name( Midi_text::INSTRUMENT_NAME, instrument_str() );
53 midi_track_p_->add( Moment( 0 ), &instrument_name );
56 Midi_tempo midi_tempo( get_tempo_i( ) );
57 midi_track_p_->add( Moment( 0 ), &midi_tempo );
61 Staff_performer::instrument_str()
63 return Translator::id_str_;
67 Staff_performer::play_event( Midi_item* l )
69 Moment mom = get_mom();
70 Moment delta_t = mom - midi_mom_ ;
72 midi_track_p_->add( delta_t, l);