Add single-compilation-unit file

This commit is contained in:
Chris Cannam
2021-10-04 12:22:08 +01:00
parent 61f7b5f8e6
commit c69ce90c25

View File

@@ -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"