diff options
author | David Robillard <d@drobilla.net> | 2006-08-23 04:30:57 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2006-08-23 04:30:57 +0000 |
commit | ea71de278461b2bc0240515b82bb56ef68f5eee3 (patch) | |
tree | cbc615b5f4aa0d01f2d479abc214f6798fd67862 /libs/ardour/ardour/midi_ring_buffer.h | |
parent | 50baf0382f1f98793dff151bd0a940a4d140d6c0 (diff) |
- Fixes for some recording bugs
- Working MIDI playback
- Various SMF fixes
- Loading of MIDI containing sessions w/o clobbering .mid files
- Varispeed MIDI fixes (still no reverse though)
- Fix for crazy rec-region sizes
- Throttled MIDI diskstream flush based on time passed (related to rec-region fix)
- Fixed playback of MIDI regions not positioned at origin (time stamp translation)
- Commented/removed old debug print statements (though some still remain)
git-svn-id: svn://localhost/ardour2/branches/midi@844 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/ardour/midi_ring_buffer.h')
-rw-r--r-- | libs/ardour/ardour/midi_ring_buffer.h | 24 |
1 files changed, 1 insertions, 23 deletions
diff --git a/libs/ardour/ardour/midi_ring_buffer.h b/libs/ardour/ardour/midi_ring_buffer.h index 08ddfd6ca3..662f5a8350 100644 --- a/libs/ardour/ardour/midi_ring_buffer.h +++ b/libs/ardour/ardour/midi_ring_buffer.h @@ -124,27 +124,7 @@ MidiRingBuffer::clear_event(size_t index) _ev_buf[index].buffer = 0; } -#if 0 -inline size_t -MidiRingBuffer::read (MidiBuffer& buf) -{ - const size_t priv_read_ptr = g_atomic_int_get(&_read_ptr); - if (read_space() == 0) { - return 0; - } else { - MidiEvent* const read_ev = &_ev_buf[priv_read_ptr]; - assert(read_ev->size > 0); - buf.push_back(*read_ev); - printf("MRB - read %xd %d %d with time %u at index %zu\n", - read_ev->buffer[0], read_ev->buffer[1], read_ev->buffer[2], read_ev->time, - priv_read_ptr); - clear_event(priv_read_ptr); - g_atomic_int_set(&_read_ptr, (priv_read_ptr + 1) % _size); - return 1; - } -} -#endif inline size_t MidiRingBuffer::write (const MidiEvent& ev) { @@ -175,7 +155,7 @@ MidiRingBuffer::write (const MidiEvent& ev) assert(write_ev->size = ev.size); //last_write_time = ev.time; - printf("(W) read space: %zu\n", read_space()); + //printf("(W) read space: %zu\n", read_space()); return 1; } @@ -192,8 +172,6 @@ MidiRingBuffer::read(MidiBuffer& dst, jack_nframes_t start, jack_nframes_t end) size_t count = 0; size_t limit = read_space(); - assert(time >= start); // FIXME: deal with skipped cycles/lost notes somehow - while (time <= end && limit > 0) { MidiEvent* const read_ev = &_ev_buf[priv_read_ptr]; if (time >= start) { |