return NULL;
}
-uint_t aubio_sampler_load( aubio_sampler_t * o, char_t * uri )
+uint_t aubio_sampler_load( aubio_sampler_t * o, const char_t * uri )
{
if (o->source) del_aubio_source(o->source);
- o->uri = uri;
+
+ if (s->uri) AUBIO_FREE(s->uri);
+ s->uri = AUBIO_ARRAY(char_t, strnlen(uri, PATH_MAX));
+ strncpy(s->uri, uri, strnlen(uri, PATH_MAX));
+
o->source = new_aubio_source(uri, o->samplerate, o->blocksize);
if (o->source) return 0;
AUBIO_ERR("sampler: failed loading %s", uri);
return 1;
}
-void aubio_sampler_do ( aubio_sampler_t * o, fvec_t * input, fvec_t * output)
+void aubio_sampler_do ( aubio_sampler_t * o, const fvec_t * input, fvec_t * output)
{
uint_t read = 0, i;
if (o->playing) {
}
}
-void aubio_sampler_do_multi ( aubio_sampler_t * o, fmat_t * input, fmat_t * output)
+void aubio_sampler_do_multi ( aubio_sampler_t * o, const fmat_t * input, fmat_t * output)
{
uint_t read = 0, i, j;
if (o->playing) {
}
}
-uint_t aubio_sampler_get_playing ( aubio_sampler_t * o )
+uint_t aubio_sampler_get_playing ( const aubio_sampler_t * o )
{
return o->playing;
}
if (o->source) {
del_aubio_source(o->source);
}
+ if (s->uri) AUBIO_FREE(s->uri);
del_fvec(o->source_output);
del_fmat(o->source_output_multi);
AUBIO_FREE(o);