2 // midi-voice.cc -- implement midi_voice
4 // copyright 1997 Jan Nieuwenhuizen <jan@digicash.com>
8 Midi_voice::Midi_voice( Moment begin_mom )
10 begin_mom_ = begin_mom;
16 Midi_voice::add_event( Midi_event* midi_event_p )
18 midi_event_p_list_.bottom().add( midi_event_p );
22 Midi_voice::begin_mom()
30 // if ( events_i_ == midi_event_p_list_.length_i() )
31 if ( events_i_ == midi_event_p_list_.size() )
33 Moment now_mom = begin_mom_;
34 tor( DEBUG_ver ) << now_mom << ", ";
35 for ( PCursor<Midi_event*> i( midi_event_p_list_.top() ); i.ok(); i++ ) {
36 tor( DEBUG_ver ) << now_mom << ", ";
39 tor( DEBUG_ver ) << endl;
41 // events_i_ = midi_event_p_list_.length_i();
42 events_i_ = midi_event_p_list_.size();
47 Midi_voice::mudela_str( Moment from_mom, Moment to_mom, bool multiple_bo )
51 if ( begin_mom() >= to_mom )
53 if ( end_mom() <= from_mom )
56 Moment now_mom = begin_mom();
57 PCursor<Midi_event*> i( midi_event_p_list_.top() );
58 for ( ; i.ok() && now_mom < from_mom ; i++ )
61 for ( ; i.ok() && now_mom < to_mom ; i++ ) {
63 str += i->mudela_str( false ) + " ";
66 if ( str.length_i() && multiple_bo )
67 str = "{ " + str + "} ";