diff options
author | Bent Bisballe Nyeng <deva@aasimon.org> | 2018-08-08 17:52:46 +0200 |
---|---|---|
committer | Bent Bisballe Nyeng <deva@aasimon.org> | 2018-08-08 17:52:46 +0200 |
commit | 8fac5fb3ac631f430e8181f7fb471faf7ebbb76a (patch) | |
tree | 1527a3883d7fb996cabcde1708ad0c312240645a /test/resampler.cc | |
parent | 400959b536180cf8912f06dd80b4de077d8f8c74 (diff) |
Remove old CHReampler class.
Diffstat (limited to 'test/resampler.cc')
-rw-r--r-- | test/resampler.cc | 110 |
1 files changed, 0 insertions, 110 deletions
diff --git a/test/resampler.cc b/test/resampler.cc deleted file mode 100644 index 6df8b51..0000000 --- a/test/resampler.cc +++ /dev/null @@ -1,110 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/*************************************************************************** - * resampler.cc - * - * Sun Oct 5 20:16:22 CEST 2014 - * Copyright 2014 Bent Bisballe Nyeng - * deva@aasimon.org - ****************************************************************************/ - -/* - * This file is part of DrumGizmo. - * - * DrumGizmo is free software; you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * DrumGizmo 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 Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with DrumGizmo; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. - */ -#include "dgunit.h" - -#include "../src/chresampler.h" - -#define BUFSZ 500 - -static float roundoff(float a) { return a<0.5?0:1; } - -class test_resampler - : public DGUnit -{ -public: - test_resampler() - { - DGUNIT_TEST(test_resampler::resampling); - DGUNIT_TEST(test_resampler::resampling_buffer_sizes); - } - - void resampling() - { - CHResampler r; - DGUNIT_ASSERT_EQUAL(1.0, r.getRatio()); - - r.setup(44100.0, 48000.0); - DGUNIT_ASSERT_EQUAL(44100.0/48000.0, r.getRatio()); - - float in[BUFSZ]; - for(int i = 0; i < BUFSZ; i++) in[i] = 0;//(float)i/(float)BUFSZ; - in[100] = 1.0; - - float out[BUFSZ]; - r.setInputSamples(in, sizeof(in) / sizeof(float)); - r.setOutputSamples(out, sizeof(out) / sizeof(float)); - r.process(); - DGUNIT_ASSERT_EQUAL((size_t)0, r.getInputSampleCount()); - - // DGUNIT_ASSERT_EQUAL(, r.getOutputSampleCount()); - - int outidx = -1; - int inidx = -1; - for(int i = 0; i < BUFSZ - (int)r.getOutputSampleCount(); i++) { - if(in[i] == 1.0) inidx = i; - if(roundoff(out[i]) == 1.0) outidx = i; - //printf("in[% 4d]\t= %f\t", i, in[i]); - //printf("out[% 4d]\t= %f\n", i, out[i]); - } - - DGUNIT_ASSERT(inidx != -1); - DGUNIT_ASSERT(outidx != -1); - - //printf("inidx: %d - outidx: %d\n", inidx, outidx); - //DGUNIT_ASSERT_EQUAL(71, inidx - outidx); // This does not make sense... - } - - void resampling_buffer_sizes() - { - CHResampler r; - DGUNIT_ASSERT_EQUAL(1.0, r.getRatio()); - - double infs = 24000; - double outfs = 48000; - r.setup(infs, outfs); - DGUNIT_ASSERT_EQUAL(infs / outfs, r.getRatio()); - - float in[BUFSZ]; - float out[(int)(BUFSZ / r.getRatio())]; - - // Preload resampler - r.setOutputSamples(out, 1); - while(r.getOutputSampleCount()) { - r.setInputSamples(in, 1); - r.process(); - } - - r.setInputSamples(in, sizeof(in) / sizeof(float)); - r.setOutputSamples(out, sizeof(out) / sizeof(float)); - r.process(); - DGUNIT_ASSERT_EQUAL((size_t)0, r.getInputSampleCount()); - DGUNIT_ASSERT_EQUAL((size_t)0, r.getOutputSampleCount()); - } -}; - -// Registers the fixture into the 'registry' -static test_resampler test; |