* debugging output
* style guide git-svn-id: svn://localhost/ardour2/branches/3.0@4476 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
parent
ae2e090e74
commit
858f0cb5ab
@ -1489,17 +1489,18 @@ MidiDiskstream::get_playback(MidiBuffer& dst, nframes_t start, nframes_t end, nf
|
|||||||
MidiBuffer::iterator this_cycle_start = dst.end();
|
MidiBuffer::iterator this_cycle_start = dst.end();
|
||||||
|
|
||||||
// Translates stamps to be relative to start, but add offset.
|
// Translates stamps to be relative to start, but add offset.
|
||||||
_playback_buf->read(dst, start, end, offset);
|
const size_t events_read = _playback_buf->read(dst, start, end, offset);
|
||||||
|
|
||||||
gint32 data_read = end-start;
|
gint32 frames_read = end-start;
|
||||||
//cout << "data read = " << data_read << " e=" << end << " s=" << start << "off= " << offset
|
cout << "frames read = " << frames_read << " events read = " << events_read << " end=" << end << " start=" << start << " offset= " << offset
|
||||||
// << " readspace " << _playback_buf->read_space() << " writespace " << _playback_buf->write_space() << endl;
|
<< " readspace " << _playback_buf->read_space() << " writespace " << _playback_buf->write_space() << endl;
|
||||||
g_atomic_int_add(&_frames_read_from_ringbuffer, data_read);
|
g_atomic_int_add(&_frames_read_from_ringbuffer, frames_read);
|
||||||
|
|
||||||
// Now feed the data through the MidiStateTracker.
|
// Now feed the data through the MidiStateTracker.
|
||||||
// In case it detects a LoopEvent it will add necessary note
|
// In case it detects a LoopEvent it will add necessary note
|
||||||
// offs.
|
// offs.
|
||||||
|
|
||||||
if (_midistate_tracker.track(this_cycle_start, dst.end()))
|
if (_midistate_tracker.track(this_cycle_start, dst.end())) {
|
||||||
_midistate_tracker.resolve_notes(dst, end-start - 1 + offset);
|
_midistate_tracker.resolve_notes(dst, end-start - 1 + offset);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
@ -98,14 +98,23 @@ MidiRingBuffer<T>::read(MidiBuffer& dst, nframes_t start, nframes_t end, nframes
|
|||||||
ev_time -= start;
|
ev_time -= start;
|
||||||
ev_time += offset;
|
ev_time += offset;
|
||||||
|
|
||||||
|
// this writes the timestamp to write_loc[0]
|
||||||
uint8_t* write_loc = dst.reserve(ev_time, ev_size);
|
uint8_t* write_loc = dst.reserve(ev_time, ev_size);
|
||||||
if (write_loc == NULL) {
|
if (write_loc == NULL) {
|
||||||
cerr << "MRB: Unable to reserve space in buffer, event skipped";
|
cerr << "MRB: Unable to reserve space in buffer, event skipped";
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// write MIDI buffer contents
|
||||||
success = Evoral::EventRingBuffer<T>::full_read(ev_size, write_loc);
|
success = Evoral::EventRingBuffer<T>::full_read(ev_size, write_loc);
|
||||||
|
|
||||||
|
cerr << "wrote MidiEvent to Buffer: ";
|
||||||
|
for (size_t i=0; i < ev_size; ++i) {
|
||||||
|
printf("%X ", write_loc[i]);
|
||||||
|
}
|
||||||
|
printf("\n");
|
||||||
|
|
||||||
|
|
||||||
if (success) {
|
if (success) {
|
||||||
if (is_channel_event(status) && get_channel_mode() == ForceChannel) {
|
if (is_channel_event(status) && get_channel_mode() == ForceChannel) {
|
||||||
write_loc[0] = (write_loc[0] & 0xF0) | (get_channel_mask() & 0x0F);
|
write_loc[0] = (write_loc[0] & 0xF0) | (get_channel_mask() & 0x0F);
|
||||||
|
Loading…
Reference in New Issue
Block a user