Created
January 4, 2019 17:21
-
-
Save jpcima/c1c43b264a01a99c600df0f8fbd8e70e to your computer and use it in GitHub Desktop.
Dragonfly Reverb patch for system libsamplerate
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/freeverb3/Makefile b/freeverb3/Makefile | |
index 9477246..2ce8e1e 100644 | |
--- a/freeverb3/Makefile | |
+++ b/freeverb3/Makefile | |
@@ -1,12 +1,6 @@ | |
include Makefile.mk | |
OBJS_FV3 = \ | |
- samplerate.c.o \ | |
- samplerate_common.c.o \ | |
- src_common.c.o \ | |
- src_linear.c.o \ | |
- src_sinc.c.o \ | |
- src_zoh.c.o \ | |
allpass.cpp.o \ | |
biquad.cpp.o \ | |
comb.cpp.o \ | |
@@ -23,9 +17,6 @@ OBJS_FV3 = \ | |
all: $(OBJS_FV3) | |
-%.c.o: libsamplerate2/%.c | |
- $(CC) $< $(BUILD_C_FLAGS) -I. -DLIBSRATE2_FLOAT -c -o $@ | |
- | |
%.cpp.o: freeverb/%.cpp | |
$(CXX) $< $(BUILD_CXX_FLAGS) -I. -DLIBSRATE2_FLOAT -DLIBFV3_FLOAT -Wno-unused-parameter -c -o $@ | |
diff --git a/freeverb3/freeverb/earlyref.hpp b/freeverb3/freeverb/earlyref.hpp | |
index 393e08e..9eed750 100644 | |
--- a/freeverb3/freeverb/earlyref.hpp | |
+++ b/freeverb3/freeverb/earlyref.hpp | |
@@ -38,6 +38,7 @@ namespace fv3 | |
#undef _FV3_ | |
#undef _fv3_float_t | |
+/* | |
#define _fv3_float_t double | |
#define _FV3_(name) name ## _ | |
#include "freeverb/earlyref_t.hpp" | |
@@ -49,6 +50,7 @@ namespace fv3 | |
#include "freeverb/earlyref_t.hpp" | |
#undef _FV3_ | |
#undef _fv3_float_t | |
+*/ | |
}; | |
diff --git a/freeverb3/freeverb/fv3_type_float.h b/freeverb3/freeverb/fv3_type_float.h | |
index 4634b6c..a69dbab 100644 | |
--- a/freeverb3/freeverb/fv3_type_float.h | |
+++ b/freeverb3/freeverb/fv3_type_float.h | |
@@ -27,7 +27,7 @@ | |
typedef float fv3_float_t; | |
#define FV3_(name) name ## _f | |
#define FFTW_(name) fftwf_ ## name | |
-#define SRC_(name) name ## _f | |
+#define SRC_(name) name/* ## _f*/ | |
#else | |
#ifdef LIBFV3_DOUBLE | |
typedef double fv3_float_t; | |
diff --git a/freeverb3/freeverb/revbase.hpp b/freeverb3/freeverb/revbase.hpp | |
index 479f869..747cb3e 100644 | |
--- a/freeverb3/freeverb/revbase.hpp | |
+++ b/freeverb3/freeverb/revbase.hpp | |
@@ -39,6 +39,7 @@ namespace fv3 | |
#undef _FV3_ | |
#undef _fv3_float_t | |
+/* | |
#define _fv3_float_t double | |
#define _FV3_(name) name ## _ | |
#include "freeverb/revbase_t.hpp" | |
@@ -50,6 +51,7 @@ namespace fv3 | |
#include "freeverb/revbase_t.hpp" | |
#undef _FV3_ | |
#undef _fv3_float_t | |
+*/ | |
}; | |
diff --git a/freeverb3/freeverb/src.hpp b/freeverb3/freeverb/src.hpp | |
index a71bc43..22c881f 100644 | |
--- a/freeverb3/freeverb/src.hpp | |
+++ b/freeverb3/freeverb/src.hpp | |
@@ -22,7 +22,7 @@ | |
#define _FV3_SRC_HPP | |
#include <cstdio> | |
-#include <libsamplerate2/samplerate2.h> | |
+#include <samplerate.h> | |
#include "freeverb/utils.hpp" | |
#include "freeverb/efilter.hpp" | |
#include "freeverb/biquad.hpp" | |
@@ -33,12 +33,13 @@ namespace fv3 | |
#define _fv3_float_t float | |
#define _FV3_(name) name ## _f | |
-#define _SRC_(name) name ## _f | |
+#define _SRC_(name) name /* ## _f*/ | |
#include "freeverb/src_t.hpp" | |
#undef _FV3_ | |
#undef _SRC_ | |
#undef _fv3_float_t | |
+/* | |
#define _fv3_float_t double | |
#define _FV3_(name) name ## _ | |
#define _SRC_(name) name ## _ | |
@@ -54,6 +55,7 @@ namespace fv3 | |
#undef _FV3_ | |
#undef _SRC_ | |
#undef _fv3_float_t | |
+*/ | |
}; | |
diff --git a/freeverb3/freeverb/src_t.hpp b/freeverb3/freeverb/src_t.hpp | |
index 8c51c01..6143a8e 100644 | |
--- a/freeverb3/freeverb/src_t.hpp | |
+++ b/freeverb3/freeverb/src_t.hpp | |
@@ -47,7 +47,7 @@ class _FV3_(src) | |
long overSamplingFactor, src_converter, latency; | |
_SRC_(SRC_STATE) *src_stateL, *src_stateR, *src_stateLV, *src_stateRV; | |
_SRC_(SRC_DATA) src_dataL, src_dataR, src_dataLV, src_dataRV; | |
- long src_errorL, src_errorR; | |
+ int src_errorL, src_errorR; | |
_FV3_(iir_1st) up1L, up1R, down1L, down1R; | |
_FV3_(biquad) up2L, up2R, down2L, down2R; | |
_fv3_float_t lpf_iir2_bw; | |
diff --git a/freeverb3/freeverb/zrev.hpp b/freeverb3/freeverb/zrev.hpp | |
index a58211d..058e0ec 100644 | |
--- a/freeverb3/freeverb/zrev.hpp | |
+++ b/freeverb3/freeverb/zrev.hpp | |
@@ -39,6 +39,7 @@ namespace fv3 | |
#undef _FV3_ | |
#undef _fv3_float_t | |
+/* | |
#define _fv3_float_t double | |
#define _FV3_(name) name ## _ | |
#include "freeverb/zrev_t.hpp" | |
@@ -50,6 +51,7 @@ namespace fv3 | |
#include "freeverb/zrev_t.hpp" | |
#undef _FV3_ | |
#undef _fv3_float_t | |
+*/ | |
}; | |
diff --git a/freeverb3/freeverb/zrev2.hpp b/freeverb3/freeverb/zrev2.hpp | |
index bd111ba..74f1719 100644 | |
--- a/freeverb3/freeverb/zrev2.hpp | |
+++ b/freeverb3/freeverb/zrev2.hpp | |
@@ -37,6 +37,7 @@ namespace fv3 | |
#undef _FV3_ | |
#undef _fv3_float_t | |
+/* | |
#define _fv3_float_t double | |
#define _FV3_(name) name ## _ | |
#include "freeverb/zrev2_t.hpp" | |
@@ -48,6 +49,7 @@ namespace fv3 | |
#include "freeverb/zrev2_t.hpp" | |
#undef _FV3_ | |
#undef _fv3_float_t | |
+*/ | |
}; | |
diff --git a/plugins/dragonfly-reverb/Makefile b/plugins/dragonfly-reverb/Makefile | |
index ba8cf83..050dca0 100644 | |
--- a/plugins/dragonfly-reverb/Makefile | |
+++ b/plugins/dragonfly-reverb/Makefile | |
@@ -30,11 +30,13 @@ FILES_UI = \ | |
include ../../dpf/Makefile.plugins.mk | |
-BUILD_CXX_FLAGS := ../../freeverb3/*.cpp.o ../../freeverb3/*.c.o -I../../freeverb3 $(BUILD_CXX_FLAGS) | |
+BUILD_CXX_FLAGS := ../../freeverb3/*.cpp.o -I../../freeverb3 $(BUILD_CXX_FLAGS) | |
# -------------------------------------------------------------- | |
# Link dependencies | |
+LINK_OPTS += -lsamplerate | |
+ | |
LINK_OPTS += -lm | |
ifeq ($(WIN32),true) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
@trebmuh la
libsamplerate2
de freeverb diffère de lalibsamplerate
ordinaire : la 2 permet de traiter tous les types de flottants 32/64/80 bits, alors que la première gère le float 32 bits uniquement.Or, Dragonfly n'utilise que la variante de reverb en type float 32 bits.
_f
de la samplerate2 qui sont absents en samplerate1)