From: Paul Brossier Date: Thu, 8 Oct 2009 10:27:41 +0000 (+0200) Subject: rename src/temporal/resample.c to src/temporal/resampler.c X-Git-Tag: 0.4.0-beta1~688 X-Git-Url: https://git.aubio.org/?a=commitdiff_plain;h=0af05d386255b5c4f06e70a206b5db0369502132;p=aubio.git rename src/temporal/resample.c to src/temporal/resampler.c --- diff --git a/src/aubio.h b/src/aubio.h index e29fa3ba..e3dcb9b4 100644 --- a/src/aubio.h +++ b/src/aubio.h @@ -69,7 +69,7 @@ extern "C" #include "utils/hist.h" #include "spectral/tss.h" #if HAVE_SAMPLERATE -#include "temporal/resample.h" +#include "temporal/resampler.h" #endif /* HAVE_SAMPLERATE */ #include "temporal/biquad.h" #include "temporal/filter.h" diff --git a/src/temporal/resample.c b/src/temporal/resample.c deleted file mode 100644 index 458e4805..00000000 --- a/src/temporal/resample.c +++ /dev/null @@ -1,69 +0,0 @@ -/* - Copyright (C) 2003 Paul Brossier - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - -*/ - -#include "config.h" - -#if HAVE_SAMPLERATE - -#include /* from libsamplerate */ - -#include "aubio_priv.h" -#include "fvec.h" -#include "temporal/resample.h" - -struct _aubio_resampler_t { - SRC_DATA *proc; - SRC_STATE *stat; - float ratio; - uint_t type; -}; - -aubio_resampler_t * new_aubio_resampler(float ratio, uint_t type) { - aubio_resampler_t * s = AUBIO_NEW(aubio_resampler_t); - int error = 0; - s->stat = src_new (type, 1, &error) ; /* only one channel */ - s->proc = AUBIO_NEW(SRC_DATA); - if (error) AUBIO_ERR("%s\n",src_strerror(error)); - s->ratio = ratio; - return s; -} - -void del_aubio_resampler(aubio_resampler_t *s) { - src_delete(s->stat); - AUBIO_FREE(s->proc); - AUBIO_FREE(s); -} - -void aubio_resampler_do (aubio_resampler_t *s, - fvec_t * input, fvec_t * output) { - uint_t i ; - s->proc->input_frames = input->length; - s->proc->output_frames = output->length; - s->proc->src_ratio = s->ratio; - for (i = 0 ; i< input->channels; i++) - { - /* make SRC_PROC data point to input outputs */ - s->proc->data_in = (float *)input->data[i]; - s->proc->data_out= (float *)output->data[i]; - /* do resampling */ - src_process (s->stat, s->proc) ; - } -} - -#endif /* HAVE_SAMPLERATE */ diff --git a/src/temporal/resample.h b/src/temporal/resample.h deleted file mode 100644 index 57744886..00000000 --- a/src/temporal/resample.h +++ /dev/null @@ -1,63 +0,0 @@ -/* - Copyright (C) 2003 Paul Brossier - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - -*/ - -#ifndef _RESAMPLE_H -#define _RESAMPLE_H - -/** \file - - Resampling object - - This object resamples an input vector into an output vector using - libsamplerate. See http://www.mega-nerd.com/SRC/ - -*/ - -#ifdef __cplusplus -extern "C" { -#endif - -/** resampler object */ -typedef struct _aubio_resampler_t aubio_resampler_t; - -/** create resampler object - - \param ratio output_sample_rate / input_sample_rate - \param type libsamplerate resampling type - -*/ -aubio_resampler_t * new_aubio_resampler(float ratio, uint_t type); - -/** delete resampler object */ -void del_aubio_resampler(aubio_resampler_t *s); - -/** resample input in output - - \param s resampler object - \param input input buffer of size N - \param output output buffer of size N*ratio - -*/ -void aubio_resampler_do (aubio_resampler_t *s, fvec_t * input, fvec_t * output); - -#ifdef __cplusplus -} -#endif - -#endif /* _RESAMPLE_H */ diff --git a/src/temporal/resampler.c b/src/temporal/resampler.c new file mode 100644 index 00000000..2383be25 --- /dev/null +++ b/src/temporal/resampler.c @@ -0,0 +1,69 @@ +/* + Copyright (C) 2003 Paul Brossier + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +*/ + +#include "config.h" + +#if HAVE_SAMPLERATE + +#include /* from libsamplerate */ + +#include "aubio_priv.h" +#include "fvec.h" +#include "temporal/resampler.h" + +struct _aubio_resampler_t { + SRC_DATA *proc; + SRC_STATE *stat; + float ratio; + uint_t type; +}; + +aubio_resampler_t * new_aubio_resampler(float ratio, uint_t type) { + aubio_resampler_t * s = AUBIO_NEW(aubio_resampler_t); + int error = 0; + s->stat = src_new (type, 1, &error) ; /* only one channel */ + s->proc = AUBIO_NEW(SRC_DATA); + if (error) AUBIO_ERR("%s\n",src_strerror(error)); + s->ratio = ratio; + return s; +} + +void del_aubio_resampler(aubio_resampler_t *s) { + src_delete(s->stat); + AUBIO_FREE(s->proc); + AUBIO_FREE(s); +} + +void aubio_resampler_do (aubio_resampler_t *s, + fvec_t * input, fvec_t * output) { + uint_t i ; + s->proc->input_frames = input->length; + s->proc->output_frames = output->length; + s->proc->src_ratio = s->ratio; + for (i = 0 ; i< input->channels; i++) + { + /* make SRC_PROC data point to input outputs */ + s->proc->data_in = (float *)input->data[i]; + s->proc->data_out= (float *)output->data[i]; + /* do resampling */ + src_process (s->stat, s->proc) ; + } +} + +#endif /* HAVE_SAMPLERATE */ diff --git a/src/temporal/resampler.h b/src/temporal/resampler.h new file mode 100644 index 00000000..57744886 --- /dev/null +++ b/src/temporal/resampler.h @@ -0,0 +1,63 @@ +/* + Copyright (C) 2003 Paul Brossier + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +*/ + +#ifndef _RESAMPLE_H +#define _RESAMPLE_H + +/** \file + + Resampling object + + This object resamples an input vector into an output vector using + libsamplerate. See http://www.mega-nerd.com/SRC/ + +*/ + +#ifdef __cplusplus +extern "C" { +#endif + +/** resampler object */ +typedef struct _aubio_resampler_t aubio_resampler_t; + +/** create resampler object + + \param ratio output_sample_rate / input_sample_rate + \param type libsamplerate resampling type + +*/ +aubio_resampler_t * new_aubio_resampler(float ratio, uint_t type); + +/** delete resampler object */ +void del_aubio_resampler(aubio_resampler_t *s); + +/** resample input in output + + \param s resampler object + \param input input buffer of size N + \param output output buffer of size N*ratio + +*/ +void aubio_resampler_do (aubio_resampler_t *s, fvec_t * input, fvec_t * output); + +#ifdef __cplusplus +} +#endif + +#endif /* _RESAMPLE_H */