diff --git a/single/RubberBandSingle.cpp b/single/RubberBandSingle.cpp new file mode 100644 index 0000000..3885962 --- /dev/null +++ b/single/RubberBandSingle.cpp @@ -0,0 +1,78 @@ +/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */ + +/* + Rubber Band Library + An audio time-stretching and pitch-shifting library. + Copyright 2007-2021 Particular Programs Ltd. + + 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. See the file + COPYING included with this distribution for more information. + + Alternatively, if you have a valid commercial licence for the + Rubber Band Library obtained by agreement with the copyright + holders, you may redistribute and/or modify it under the terms + described in that licence. + + If you wish to distribute code using the Rubber Band Library + under terms other than those of the GNU General Public License, + you must obtain a valid commercial licence before doing so. +*/ + +/* + RubberBandSingle.cpp + + This is a single-file compilation unit for Rubber Band Library. + + To use the library in your project without building it separately, + include one of the headers rubberband/RubberBandStretcher.h if + your project is C++ or rubberband/rubberband-c.h if you need the C + ABI, then add this single C++ source file to your build. + + Don't move this file into your source tree - keep it in the same + place relative to the other Rubber Band code, so that the relative + include paths work, and just add it to your list of build files. + + This produces a build using the built-in FFT and resampler + implementations, except on Apple platforms where the vDSP FFT is + used (and you will need the Accelerate framework when linking). If + you want any further customisation, consider using the full build + system and building a standalone library. +*/ + +#define USE_BQRESAMPLER 1 + +#define NO_TIMING 1 +#define NO_THREADING 1 +#define NO_THREAD_CHECKS 1 + +#if defined(__APPLE__) +#define HAVE_VDSP 1 +#else +#define USE_BUILTIN_FFT 1 +#endif + +#include "../src/audiocurves/CompoundAudioCurve.cpp" +#include "../src/audiocurves/SpectralDifferenceAudioCurve.cpp" +#include "../src/audiocurves/HighFrequencyAudioCurve.cpp" +#include "../src/audiocurves/SilentAudioCurve.cpp" +#include "../src/audiocurves/ConstantAudioCurve.cpp" +#include "../src/audiocurves/PercussiveAudioCurve.cpp" +#include "../src/base/Profiler.cpp" +#include "../src/dsp/AudioCurveCalculator.cpp" +#include "../src/dsp/FFT.cpp" +#include "../src/dsp/Resampler.cpp" +#include "../src/dsp/BQResampler.cpp" +#include "../src/system/Allocators.cpp" +#include "../src/system/sysutils.cpp" +#include "../src/system/Thread.cpp" +#include "../src/RubberBandStretcher.cpp" +#include "../src/StretchCalculator.cpp" +#include "../src/StretcherChannelData.cpp" +#include "../src/StretcherImpl.cpp" +#include "../src/StretcherProcess.cpp" + +#include "../src/rubberband-c.cpp" +