When seeking to the end of a file, no longer crash due to out
of range std::vector access, because it was using at() with an
offset of the array size. Instead, offset from the begin()
iterator return value, which allows offsetting to end().
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
Among the changes, range checking on lots of things, and especially,
the pre-render-loop backlog handler, which rendered samples left over
from the previous call, would possibly over-render by way too much, due
to a stupid backwards subtraction I managed to type into there. This is
totally fixed now.
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
This fixes a possible crash with seeking operations, especially with
Audio Unit plugins. Fix implemented in foo_midi and imported here.
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
The timing of block based mode was kind of off. Now it should be just
fine. Thanks to testing on Windows in foo_midi.
Signed-off-by: Christopher Snowhill <kode54@gmail.com>