#include <multitrack.h>
Public Member Functions | |
| MIDIMultiTrackIteratorState (int num_tracks_=64) | |
| MIDIMultiTrackIteratorState (const MIDIMultiTrackIteratorState &m) | |
| virtual | ~MIDIMultiTrackIteratorState () |
| const MIDIMultiTrackIteratorState & | operator= (const MIDIMultiTrackIteratorState &m) |
| int | GetNumTracks () |
| int | GetCurEventTrack () |
| MIDIClockTime | GetCurrentTime () |
| void | Reset () |
| int | FindTrackOfFirstEvent () |
Public Attributes | |
| MIDIClockTime | cur_time |
| int | cur_event_track |
| int | num_tracks |
| int * | next_event_number |
| MIDIClockTime * | next_event_time |
|
|
Definition at line 119 of file jdkmidi_multitrack.cpp. References cur_event_track, jdkmidi::MIDIClockTime, next_event_number, next_event_time, num_tracks, and Reset().
00120 {
00121 num_tracks = num_tracks_;
00122
00123 cur_event_track=0;
00124
00125 next_event_number = new int [num_tracks];
00126 next_event_time = new MIDIClockTime [num_tracks];
00127
00128 Reset();
00129
00130 }
|
|
|
Definition at line 132 of file jdkmidi_multitrack.cpp. References cur_event_track, cur_time, jdkmidi::MIDIClockTime, next_event_number, next_event_time, and num_tracks.
00133 {
00134 num_tracks = m.num_tracks;
00135 cur_event_track = m.cur_event_track;
00136 next_event_number = new int [num_tracks];
00137 next_event_time = new MIDIClockTime [num_tracks];
00138 cur_time = m.cur_time;
00139
00140 for( int i=0; i<num_tracks; ++i )
00141 {
00142 next_event_number[i] = m.next_event_number[i];
00143 next_event_time[i] = m.next_event_time[i];
00144 }
00145
00146 }
|
|
|
Definition at line 148 of file jdkmidi_multitrack.cpp. References next_event_number, and next_event_time.
00149 {
00150 delete [] next_event_number;
00151 delete [] next_event_time;
00152 }
|
|
|
Definition at line 189 of file jdkmidi_multitrack.cpp. References cur_event_track, cur_time, jdkmidi::MIDIClockTime, next_event_number, next_event_time, and num_tracks.
00190 {
00191 MIDIClockTime minimum_time=0xffffffff;
00192 int minimum_time_track=-1;
00193
00194
00195 // go through all tracks and find the track with the smallest
00196 // event time.
00197
00198 for( int j=0; j<num_tracks; ++j )
00199 {
00200 int i=(j+cur_event_track+1) % num_tracks;
00201
00202 // skip any tracks that have a current event number less than 0 - these are
00203 // finished already
00204
00205
00206 if( next_event_number[i]>=0 && next_event_time[i]<minimum_time )
00207 {
00208 minimum_time = next_event_time[i];
00209 minimum_time_track = i;
00210 }
00211 }
00212
00213 // set cur_event_track to -1 if there are no more events left
00214 cur_event_track = minimum_time_track;
00215 cur_time = minimum_time;
00216
00217 return cur_event_track;
00218 }
|
|
|
Definition at line 94 of file multitrack.h. References cur_event_track.
00094 { return cur_event_track; }
|
|
|
Definition at line 95 of file multitrack.h. References cur_time, and jdkmidi::MIDIClockTime.
00095 { return cur_time; }
|
|
|
Definition at line 93 of file multitrack.h. References num_tracks.
00093 { return num_tracks; }
|
|
|
Definition at line 154 of file jdkmidi_multitrack.cpp. References cur_event_track, cur_time, jdkmidi::MIDIClockTime, next_event_number, next_event_time, and num_tracks.
00155 {
00156 if( num_tracks != m.num_tracks )
00157 {
00158 delete [] next_event_number;
00159 delete [] next_event_time;
00160
00161 num_tracks = m.num_tracks;
00162 next_event_number = new int [num_tracks];
00163 next_event_time = new MIDIClockTime [num_tracks];
00164 }
00165
00166 cur_time = m.cur_time;
00167 cur_event_track = m.cur_event_track;
00168
00169 for( int i=0; i<num_tracks; ++i )
00170 {
00171 next_event_number[i] = m.next_event_number[i];
00172 next_event_time[i] = m.next_event_time[i];
00173 }
00174
00175 return *this;
00176 }
|
|
|
Definition at line 178 of file jdkmidi_multitrack.cpp. References cur_event_track, cur_time, next_event_number, next_event_time, and num_tracks.
00179 {
00180 cur_time = 0;
00181 cur_event_track = 0;
00182 for( int i=0; i<num_tracks; ++i )
00183 {
00184 next_event_number[i] = 0;
00185 next_event_time[i] = 0xffffffff;
00186 }
00187 }
|
|
|
Definition at line 101 of file multitrack.h. |
|
|
Definition at line 100 of file multitrack.h. |
|
|
Definition at line 103 of file multitrack.h. |
|
|
Definition at line 104 of file multitrack.h. |
|
|
Definition at line 102 of file multitrack.h. |