do not allow smf_source's reads to stomp on cached read_end position in parent class, which creates chaos by being out of sync with MidiSource::_model_iterator. this doesn't totally fix MIDI playback, but it helps

git-svn-id: svn://localhost/ardour2/branches/3.0@5665 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
Paul Davis 2009-09-16 01:08:51 +00:00
parent 127b8a62b7
commit fa4e858eb3
12 changed files with 121 additions and 39 deletions

View file

@ -205,10 +205,10 @@ SMF::read_event(uint32_t* delta_t, uint32_t* size, uint8_t** buf) const
assert(midi_event_is_valid(*buf, *size));
/*printf("SMF::read_event:\n");
/* printf("SMF::read_event @ %u: ", *delta_t);
for (size_t i = 0; i < *size; ++i) {
printf("%X ", (*buf)[i]);
} printf("\n");*/
} printf("\n") */
return event_size;
} else {
@ -223,10 +223,10 @@ SMF::append_event_delta(uint32_t delta_t, uint32_t size, const uint8_t* buf)
return;
}
/*printf("SMF::append_event_delta:\n");
/* printf("SMF::append_event_delta @ %u:", delta_t);
for (size_t i = 0; i < size; ++i) {
printf("%X ", buf[i]);
} printf("\n");*/
} printf("\n"); */
if (!midi_event_is_valid(buf, size)) {
cerr << "WARNING: SMF ignoring illegal MIDI event" << endl;