]> git.donarmstrong.com Git - lilypond.git/blob - src/midicolumn.cc
partial: 0.0.34.hanjan
[lilypond.git] / src / midicolumn.cc
1 #include "musicalrequest.hh"
2 #include "voice.hh"
3 #include "staffwalker.hh"
4 #include "debug.hh"
5 #include "staff.hh"
6 #include "midistaff.hh"
7 #include "midicolumn.hh"
8 #include "midiitem.hh"
9 #include "sccol.hh" 
10 #include "pscore.hh"
11 #include "main.hh"
12
13 Midi_column::Midi_column(Midi_staff* mstaff_l)
14 {
15         mstaff_l_ = mstaff_l;
16 }
17
18 void
19 Midi_column::setup_one_request(Request*req_l)
20 {
21         if ( req_l->melodic() ) 
22                 melreq_l_array_.push( req_l->melodic() );   
23 }
24
25 void
26 Midi_column::note_off( Midi_track* midi_track_l, Moment next )
27 {
28         Moment delta_t = next - when();
29         for ( int i = 0; i < melreq_l_array_.size(); i++ )  {
30                 Midi_note midi_note( melreq_l_array_[ i ], midi_track_l->number_i_, false );
31                 midi_track_l->add( delta_t, &midi_note );
32                 delta_t = 0.0;
33         }
34 }
35
36 void
37 Midi_column::note_on( Midi_track* midi_track_l )
38 {
39         Moment delta_t = 0.0;
40         for ( int i = 0; i < melreq_l_array_.size(); i++ )  {
41                 Midi_note midi_note( melreq_l_array_[ i ], midi_track_l->number_i_, true );
42                 midi_track_l->add( delta_t, &midi_note );
43         }
44 }