13
0

* debugging output

* style guide


git-svn-id: svn://localhost/ardour2/branches/3.0@4476 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
Hans Baier 2009-02-02 08:50:36 +00:00
parent ae2e090e74
commit 858f0cb5ab
2 changed files with 18 additions and 8 deletions

View File

@ -1487,19 +1487,20 @@ MidiDiskstream::get_playback(MidiBuffer& dst, nframes_t start, nframes_t end, nf
// Check only events added this offset cycle
MidiBuffer::iterator this_cycle_start = dst.end();
// 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;
//cout << "data read = " << data_read << " e=" << end << " s=" << start << "off= " << offset
// << " readspace " << _playback_buf->read_space() << " writespace " << _playback_buf->write_space() << endl;
g_atomic_int_add(&_frames_read_from_ringbuffer, data_read);
gint32 frames_read = end-start;
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;
g_atomic_int_add(&_frames_read_from_ringbuffer, frames_read);
// Now feed the data through the MidiStateTracker.
// In case it detects a LoopEvent it will add necessary note
// 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);
}
}

View File

@ -98,13 +98,22 @@ MidiRingBuffer<T>::read(MidiBuffer& dst, nframes_t start, nframes_t end, nframes
ev_time -= start;
ev_time += offset;
// this writes the timestamp to write_loc[0]
uint8_t* write_loc = dst.reserve(ev_time, ev_size);
if (write_loc == NULL) {
cerr << "MRB: Unable to reserve space in buffer, event skipped";
continue;
}
// write MIDI buffer contents
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 (is_channel_event(status) && get_channel_mode() == ForceChannel) {