X-Git-Url: https://git.aubio.org/?p=aubio.git;a=blobdiff_plain;f=tests%2Fsrc%2Fio%2Ftest-source_sndfile.c;h=5c2c06fe3238bcd3205e3f087dce812a3d467262;hp=e50ae47268c8bd103e3e0bb9282065e337e7d37b;hb=7735d0634a5c8e7805c57414a32fc7d31e791c13;hpb=2434566042c69ea1e64fbe7bef600f3e3474d480 diff --git a/tests/src/io/test-source_sndfile.c b/tests/src/io/test-source_sndfile.c index e50ae472..5c2c06fe 100644 --- a/tests/src/io/test-source_sndfile.c +++ b/tests/src/io/test-source_sndfile.c @@ -2,62 +2,29 @@ #include #include "utils_tests.h" +#define aubio_source_custom "sndfile" + +#ifdef HAVE_SNDFILE +#define HAVE_AUBIO_SOURCE_CUSTOM +#define aubio_source_custom_t aubio_source_sndfile_t +#define new_aubio_source_custom new_aubio_source_sndfile +#define del_aubio_source_custom del_aubio_source_sndfile +#define aubio_source_custom_get_samplerate aubio_source_sndfile_get_samplerate +#define aubio_source_custom_get_duration aubio_source_sndfile_get_duration +#define aubio_source_custom_do aubio_source_sndfile_do +#define aubio_source_custom_do_multi aubio_source_sndfile_do_multi +#define aubio_source_custom_seek aubio_source_sndfile_seek +#define aubio_source_custom_close aubio_source_sndfile_close +#define aubio_source_custom_get_channels aubio_source_sndfile_get_channels +#define aubio_source_custom_get_samplerate aubio_source_sndfile_get_samplerate +#endif /* HAVE_LIBAV */ + +#include "base-source_custom.h" + // this file uses the unstable aubio api, please use aubio_source instead // see src/io/source.h and tests/src/source/test-source.c int main (int argc, char **argv) { - uint_t err = 0; - if (argc < 2) { - PRINT_ERR("not enough arguments, running tests\n"); - err = run_on_default_source(main); - PRINT_MSG("read a wave file as a mono vector\n"); - PRINT_MSG("usage: %s [samplerate] [hop_size]\n", argv[0]); - PRINT_MSG("examples:\n"); - PRINT_MSG(" - read file.wav at original samplerate\n"); - PRINT_MSG(" %s file.wav\n", argv[0]); - PRINT_MSG(" - read file.wav at 32000Hz\n"); - PRINT_MSG(" %s file.aif 32000\n", argv[0]); - PRINT_MSG(" - read file.wav at original samplerate with 4096 blocks\n"); - PRINT_MSG(" %s file.wav 0 4096 \n", argv[0]); - return err; - } - -#ifdef HAVE_SNDFILE - uint_t samplerate = 0; - uint_t hop_size = 256; - uint_t n_frames = 0, read = 0; - if ( argc >= 3 ) samplerate = atoi(argv[2]); - if ( argc >= 4 ) hop_size = atoi(argv[3]); - - char_t *source_path = argv[1]; - - - aubio_source_sndfile_t * s = - new_aubio_source_sndfile(source_path, samplerate, hop_size); - if (!s) { err = 1; goto beach; } - fvec_t *vec = new_fvec(hop_size); - - uint_t n_frames_expected = aubio_source_sndfile_get_duration(s); - - samplerate = aubio_source_sndfile_get_samplerate(s); - - do { - aubio_source_sndfile_do(s, vec, &read); - fvec_print (vec); - n_frames += read; - } while ( read == hop_size ); - - PRINT_MSG("read %d frames (expected %d) at %dHz (%d blocks) from %s\n", - n_frames, n_frames_expected, samplerate, n_frames / hop_size, - source_path); - - del_fvec (vec); - del_aubio_source_sndfile (s); -beach: -#else - err = 0; - PRINT_ERR("aubio was not compiled with aubio_source_sndfile\n"); -#endif /* HAVE_SNDFILE */ - return err; + return base_main(argc, argv); }