src/synth/sampler.c: also seek in table
authorPaul Brossier <piem@piem.org>
Mon, 28 Nov 2016 13:57:07 +0000 (14:57 +0100)
committerPaul Brossier <piem@piem.org>
Mon, 28 Nov 2016 13:57:07 +0000 (14:57 +0100)
src/synth/sampler.c

index ea6b063..b9a9e8a 100644 (file)
@@ -684,9 +684,11 @@ aubio_sampler_seek(aubio_sampler_t * o, uint_t pos)
   if (!o->opened) return AUBIO_OK;
   if (o->source) {
     ret = aubio_source_seek(o->source, pos);
-  } else {
-    o->table_index = pos;
+  } else if (o->table && (sint_t)pos >= 0 && pos < o->table->length) {
+    o->table_index = pos < o->table->length ? pos : o->table->length - 1;
+    ret = AUBIO_OK;
   }
+  o->last_read = 0;
   return ret;
 }