NeuralAmpModelerPlugin

Plugin for Neural Amp Modeler
Log | Files | Refs | Submodules | README | LICENSE

commit 0b9ebc59e4f9708e35d2681dcd2a44d5ccf02db3
parent a18269fa7897d157b7c7e3053d4cff632ff76e72
Author: Steven Atkinson <[email protected]>
Date:   Mon,  1 Jan 2024 18:26:10 -0800

[BUGFIX] Fix resampler bugs (#419)

* Start fixing resampling. Needs another look-through.

* Update iPlug2

* Update AudioDSPTools

* Switch to AudioDSPTools ResamplingContainer

* Revert iPlug2 to main branch version

* Add files to VS projects

* Revert iPlug2 to version on main

* Track main iPlug2/iPlug2 fork
Diffstat:
MNeuralAmpModeler/NeuralAmpModeler.h | 9+++++----
MNeuralAmpModeler/projects/NeuralAmpModeler-aax.vcxproj | 5+++++
MNeuralAmpModeler/projects/NeuralAmpModeler-aax.vcxproj.filters | 24++++++++++++++++++++++++
MNeuralAmpModeler/projects/NeuralAmpModeler-app.vcxproj | 5+++++
MNeuralAmpModeler/projects/NeuralAmpModeler-app.vcxproj.filters | 24++++++++++++++++++++++++
MNeuralAmpModeler/projects/NeuralAmpModeler-iOS.xcodeproj/project.pbxproj | 68++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------
MNeuralAmpModeler/projects/NeuralAmpModeler-macOS.xcodeproj/project.pbxproj | 54++++++++++++++++++++++++++++++++++++++++++++++++++++++
MNeuralAmpModeler/projects/NeuralAmpModeler-macOS.xcodeproj/xcshareddata/xcschemes/macOS-AUv2.xcscheme | 2+-
MNeuralAmpModeler/projects/NeuralAmpModeler-vst3.vcxproj | 5+++++
MNeuralAmpModeler/projects/NeuralAmpModeler-vst3.vcxproj.filters | 24++++++++++++++++++++++++
10 files changed, 207 insertions(+), 13 deletions(-)

diff --git a/NeuralAmpModeler/NeuralAmpModeler.h b/NeuralAmpModeler/NeuralAmpModeler.h @@ -6,10 +6,11 @@ #include "AudioDSPTools/dsp/RecursiveLinearFilter.h" #include "AudioDSPTools/dsp/dsp.h" #include "AudioDSPTools/dsp/wav.h" +#include "AudioDSPTools/dsp/ResamplingContainer/ResamplingContainer.h" #include "IPlug_include_in_plug_hdr.h" #include "ISender.h" -#include "RealtimeResampler.h" + const int kNumPresets = 1; // The plugin is mono inside @@ -90,7 +91,7 @@ public: ResamplingNAM(std::unique_ptr<nam::DSP> encapsulated, const double expected_sample_rate) : nam::DSP(expected_sample_rate) , mEncapsulated(std::move(encapsulated)) - , mResampler(GetNAMSampleRate(mEncapsulated), iplug::ESRCMode::kLancsoz) + , mResampler(GetNAMSampleRate(mEncapsulated)) { // Assign the encapsulated object's processing function to this object's member so that the resampler can use it: auto ProcessBlockFunc = [&](NAM_SAMPLE** input, NAM_SAMPLE** output, int numFrames) { @@ -140,7 +141,7 @@ public: mFinalized = false; }; - void finalize_(const int num_frames) + void finalize_(const int num_frames) override { if (mFinalized) throw std::runtime_error("Call to ResamplingNAM.finalize_() when the object is already in a finalized state!"); @@ -188,7 +189,7 @@ private: bool mFinalized = true; // The resampling wrapper - iplug::RealtimeResampler<NAM_SAMPLE, 1, 12> mResampler; + dsp::ResamplingContainer<NAM_SAMPLE, 1, 12> mResampler; // Used to check that we don't get too large a block to process. int mMaxExternalBlockSize = 0; diff --git a/NeuralAmpModeler/projects/NeuralAmpModeler-aax.vcxproj b/NeuralAmpModeler/projects/NeuralAmpModeler-aax.vcxproj @@ -515,6 +515,11 @@ <ClInclude Include="..\AudioDSPTools\dsp\NoiseGate.h" /> <ClInclude Include="..\AudioDSPTools\dsp\RecursiveLinearFilter.h" /> <ClInclude Include="..\AudioDSPTools\dsp\Resample.h" /> + <ClInclude Include="..\AudioDSPTools\dsp\ResamplingContainer\Dependencies\LanczosResampler.h" /> + <ClInclude Include="..\AudioDSPTools\dsp\ResamplingContainer\Dependencies\WDL\heapbuf.h" /> + <ClInclude Include="..\AudioDSPTools\dsp\ResamplingContainer\Dependencies\WDL\ptrlist.h" /> + <ClInclude Include="..\AudioDSPTools\dsp\ResamplingContainer\Dependencies\WDL\wdltypes.h" /> + <ClInclude Include="..\AudioDSPTools\dsp\ResamplingContainer\ResamplingContainer.h" /> <ClInclude Include="..\AudioDSPTools\dsp\version.h" /> <ClInclude Include="..\AudioDSPTools\dsp\wav.h" /> <ClInclude Include="..\Colors.h" /> diff --git a/NeuralAmpModeler/projects/NeuralAmpModeler-aax.vcxproj.filters b/NeuralAmpModeler/projects/NeuralAmpModeler-aax.vcxproj.filters @@ -296,6 +296,21 @@ <ClInclude Include="..\..\iPlug2\IPlug\Extras\LanczosResampler.h"> <Filter>IPlug\Extras</Filter> </ClInclude> + <ClInclude Include="..\AudioDSPTools\dsp\ResamplingContainer\ResamplingContainer.h"> + <Filter>dsp\ResamplingContainer</Filter> + </ClInclude> + <ClInclude Include="..\AudioDSPTools\dsp\ResamplingContainer\Dependencies\LanczosResampler.h"> + <Filter>dsp\ResamplingContainer\Dependencies</Filter> + </ClInclude> + <ClInclude Include="..\AudioDSPTools\dsp\ResamplingContainer\Dependencies\WDL\heapbuf.h"> + <Filter>dsp\ResamplingContainer\Dependencies\WDL</Filter> + </ClInclude> + <ClInclude Include="..\AudioDSPTools\dsp\ResamplingContainer\Dependencies\WDL\ptrlist.h"> + <Filter>dsp\ResamplingContainer\Dependencies\WDL</Filter> + </ClInclude> + <ClInclude Include="..\AudioDSPTools\dsp\ResamplingContainer\Dependencies\WDL\wdltypes.h"> + <Filter>dsp\ResamplingContainer\Dependencies\WDL</Filter> + </ClInclude> </ItemGroup> <ItemGroup> <Filter Include="resources"> @@ -331,6 +346,15 @@ <Filter Include="IPlug\Extras"> <UniqueIdentifier>{db86886b-3f03-4c59-acdb-b4a137147b3c}</UniqueIdentifier> </Filter> + <Filter Include="dsp\ResamplingContainer"> + <UniqueIdentifier>{16dd1eb5-2d88-4f96-b703-3cefcfda4ad2}</UniqueIdentifier> + </Filter> + <Filter Include="dsp\ResamplingContainer\Dependencies"> + <UniqueIdentifier>{34fba925-37ff-48d3-899f-ac65a8006eb5}</UniqueIdentifier> + </Filter> + <Filter Include="dsp\ResamplingContainer\Dependencies\WDL"> + <UniqueIdentifier>{6d4ce6d3-2b3a-40d7-b093-9428bc7ffd6d}</UniqueIdentifier> + </Filter> </ItemGroup> <ItemGroup> <ResourceCompile Include="..\resources\main.rc"> diff --git a/NeuralAmpModeler/projects/NeuralAmpModeler-app.vcxproj b/NeuralAmpModeler/projects/NeuralAmpModeler-app.vcxproj @@ -324,6 +324,11 @@ <ClInclude Include="..\AudioDSPTools\dsp\NoiseGate.h" /> <ClInclude Include="..\AudioDSPTools\dsp\RecursiveLinearFilter.h" /> <ClInclude Include="..\AudioDSPTools\dsp\Resample.h" /> + <ClInclude Include="..\AudioDSPTools\dsp\ResamplingContainer\Dependencies\LanczosResampler.h" /> + <ClInclude Include="..\AudioDSPTools\dsp\ResamplingContainer\Dependencies\WDL\heapbuf.h" /> + <ClInclude Include="..\AudioDSPTools\dsp\ResamplingContainer\Dependencies\WDL\ptrlist.h" /> + <ClInclude Include="..\AudioDSPTools\dsp\ResamplingContainer\Dependencies\WDL\wdltypes.h" /> + <ClInclude Include="..\AudioDSPTools\dsp\ResamplingContainer\ResamplingContainer.h" /> <ClInclude Include="..\AudioDSPTools\dsp\version.h" /> <ClInclude Include="..\AudioDSPTools\dsp\wav.h" /> <ClInclude Include="..\Colors.h" /> diff --git a/NeuralAmpModeler/projects/NeuralAmpModeler-app.vcxproj.filters b/NeuralAmpModeler/projects/NeuralAmpModeler-app.vcxproj.filters @@ -344,6 +344,21 @@ <ClInclude Include="..\..\iPlug2\IPlug\Extras\LanczosResampler.h"> <Filter>IPlug\Extras</Filter> </ClInclude> + <ClInclude Include="..\AudioDSPTools\dsp\ResamplingContainer\ResamplingContainer.h"> + <Filter>dsp\ResamplingContainer</Filter> + </ClInclude> + <ClInclude Include="..\AudioDSPTools\dsp\ResamplingContainer\Dependencies\LanczosResampler.h"> + <Filter>dsp\ResamplingContainer\Dependencies</Filter> + </ClInclude> + <ClInclude Include="..\AudioDSPTools\dsp\ResamplingContainer\Dependencies\WDL\heapbuf.h"> + <Filter>dsp\ResamplingContainer\Dependencies\WDL</Filter> + </ClInclude> + <ClInclude Include="..\AudioDSPTools\dsp\ResamplingContainer\Dependencies\WDL\ptrlist.h"> + <Filter>dsp\ResamplingContainer\Dependencies\WDL</Filter> + </ClInclude> + <ClInclude Include="..\AudioDSPTools\dsp\ResamplingContainer\Dependencies\WDL\wdltypes.h"> + <Filter>dsp\ResamplingContainer\Dependencies\WDL</Filter> + </ClInclude> </ItemGroup> <ItemGroup> <Filter Include="resources"> @@ -385,6 +400,15 @@ <Filter Include="IPlug\Extras"> <UniqueIdentifier>{91ab74a9-d5f2-42db-9c8f-3bef7ee22bd3}</UniqueIdentifier> </Filter> + <Filter Include="dsp\ResamplingContainer"> + <UniqueIdentifier>{f6876073-a059-4852-bb59-10721432789b}</UniqueIdentifier> + </Filter> + <Filter Include="dsp\ResamplingContainer\Dependencies"> + <UniqueIdentifier>{f6334b2f-876a-49d4-bf81-92346df50ea7}</UniqueIdentifier> + </Filter> + <Filter Include="dsp\ResamplingContainer\Dependencies\WDL"> + <UniqueIdentifier>{f22f96a8-fd44-4509-987d-7683e32f3592}</UniqueIdentifier> + </Filter> </ItemGroup> <ItemGroup> <ResourceCompile Include="..\resources\main.rc"> diff --git a/NeuralAmpModeler/projects/NeuralAmpModeler-iOS.xcodeproj/project.pbxproj b/NeuralAmpModeler/projects/NeuralAmpModeler-iOS.xcodeproj/project.pbxproj @@ -84,6 +84,11 @@ 4FE0DEE829A183B700DDBCC8 /* NeuralAmpModelerAU.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4FC6982F293BA47F0076EC33 /* NeuralAmpModelerAU.framework */; }; 4FE0DEF029A2E0F100DDBCC8 /* IPlugAUViewController.mm in Sources */ = {isa = PBXBuildFile; fileRef = 4FFF105A20A0E57100D3092F /* IPlugAUViewController.mm */; settings = {COMPILER_FLAGS = "-fobjc-arc"; }; }; 91236D811B08F59300734C5E /* NeuralAmpModelerAppExtension.appex in Embed App Extensions */ = {isa = PBXBuildFile; fileRef = 91236D771B08F59300734C5E /* NeuralAmpModelerAppExtension.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; + AA7C860B2B43A42F00B5FB3A /* ResamplingContainer.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7C86042B43A42E00B5FB3A /* ResamplingContainer.h */; }; + AA7C860C2B43A42F00B5FB3A /* LanczosResampler.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7C86062B43A42E00B5FB3A /* LanczosResampler.h */; }; + AA7C860D2B43A42F00B5FB3A /* wdltypes.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7C86082B43A42E00B5FB3A /* wdltypes.h */; }; + AA7C860E2B43A42F00B5FB3A /* ptrlist.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7C86092B43A42E00B5FB3A /* ptrlist.h */; }; + AA7C860F2B43A42F00B5FB3A /* heapbuf.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7C860A2B43A42E00B5FB3A /* heapbuf.h */; }; AA8CA7772A452EF500F5BEF0 /* resample.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA8CA7752A452EF500F5BEF0 /* resample.cpp */; }; /* End PBXBuildFile section */ @@ -336,8 +341,12 @@ 4FFF108820A1036200D3092F /* NeuralAmpModeler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = NeuralAmpModeler.h; path = ../NeuralAmpModeler.h; sourceTree = "<group>"; }; 91236D0D1B08F42B00734C5E /* NeuralAmpModeler.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = NeuralAmpModeler.app; sourceTree = BUILT_PRODUCTS_DIR; }; 91236D771B08F59300734C5E /* NeuralAmpModelerAppExtension.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = NeuralAmpModelerAppExtension.appex; sourceTree = BUILT_PRODUCTS_DIR; }; + AA7C86042B43A42E00B5FB3A /* ResamplingContainer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ResamplingContainer.h; sourceTree = "<group>"; }; + AA7C86062B43A42E00B5FB3A /* LanczosResampler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LanczosResampler.h; sourceTree = "<group>"; }; + AA7C86082B43A42E00B5FB3A /* wdltypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wdltypes.h; sourceTree = "<group>"; }; + AA7C86092B43A42E00B5FB3A /* ptrlist.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ptrlist.h; sourceTree = "<group>"; }; + AA7C860A2B43A42E00B5FB3A /* heapbuf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = heapbuf.h; sourceTree = "<group>"; }; AA8CA7752A452EF500F5BEF0 /* resample.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = resample.cpp; sourceTree = "<group>"; }; - AA8CA7762A452EF500F5BEF0 /* resample.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = resample.h; sourceTree = "<group>"; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -620,17 +629,18 @@ 4FBDC93229FFF143004FF203 /* dsp */ = { isa = PBXGroup; children = ( - 4FBDC93329FFF143004FF203 /* Resample.h */, - 4FBDC93429FFF143004FF203 /* RecursiveLinearFilter.cpp */, - 4FBDC93529FFF143004FF203 /* wav.h */, - 4FBDC93629FFF143004FF203 /* NoiseGate.h */, + AA7C86032B43A42E00B5FB3A /* ResamplingContainer */, 4FBDC93729FFF143004FF203 /* dsp.cpp */, - 4FBDC93829FFF143004FF203 /* NoiseGate.cpp */, + 4FBDC93C29FFF143004FF203 /* dsp.h */, 4FBDC93929FFF143004FF203 /* ImpulseResponse.cpp */, - 4FBDC93A29FFF143004FF203 /* RecursiveLinearFilter.h */, 4FBDC93B29FFF143004FF203 /* ImpulseResponse.h */, - 4FBDC93C29FFF143004FF203 /* dsp.h */, + 4FBDC93829FFF143004FF203 /* NoiseGate.cpp */, + 4FBDC93629FFF143004FF203 /* NoiseGate.h */, + 4FBDC93429FFF143004FF203 /* RecursiveLinearFilter.cpp */, + 4FBDC93A29FFF143004FF203 /* RecursiveLinearFilter.h */, + 4FBDC93329FFF143004FF203 /* Resample.h */, 4FBDC93D29FFF143004FF203 /* wav.cpp */, + 4FBDC93529FFF143004FF203 /* wav.h */, ); name = dsp; path = ../AudioDSPTools/dsp; @@ -748,6 +758,7 @@ 4F67D51620A121F60061FB8E /* Other Sources */, 4F3E0F9B20A0C64100A9C2BE /* Frameworks */, 91D3DA171B023C1E008FFFBB /* Products */, + AA7C85EC2B43941500B5FB3A /* Recovered References */, ); sourceTree = "<group>"; }; @@ -761,6 +772,42 @@ name = Products; sourceTree = "<group>"; }; + AA7C85EC2B43941500B5FB3A /* Recovered References */ = { + isa = PBXGroup; + children = ( + AA8CA7752A452EF500F5BEF0 /* resample.cpp */, + ); + name = "Recovered References"; + sourceTree = "<group>"; + }; + AA7C86032B43A42E00B5FB3A /* ResamplingContainer */ = { + isa = PBXGroup; + children = ( + AA7C86042B43A42E00B5FB3A /* ResamplingContainer.h */, + AA7C86052B43A42E00B5FB3A /* Dependencies */, + ); + path = ResamplingContainer; + sourceTree = "<group>"; + }; + AA7C86052B43A42E00B5FB3A /* Dependencies */ = { + isa = PBXGroup; + children = ( + AA7C86062B43A42E00B5FB3A /* LanczosResampler.h */, + AA7C86072B43A42E00B5FB3A /* WDL */, + ); + path = Dependencies; + sourceTree = "<group>"; + }; + AA7C86072B43A42E00B5FB3A /* WDL */ = { + isa = PBXGroup; + children = ( + AA7C86082B43A42E00B5FB3A /* wdltypes.h */, + AA7C86092B43A42E00B5FB3A /* ptrlist.h */, + AA7C860A2B43A42E00B5FB3A /* heapbuf.h */, + ); + path = WDL; + sourceTree = "<group>"; + }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ @@ -769,13 +816,18 @@ buildActionMask = 2147483647; files = ( 4FC6983C293BA5090076EC33 /* IPlugAUViewController.h in Headers */, + AA7C860F2B43A42F00B5FB3A /* heapbuf.h in Headers */, + AA7C860E2B43A42F00B5FB3A /* ptrlist.h in Headers */, 4FBDC94D29FFF143004FF203 /* Resample.h in Headers */, 4FC6983A293BA4F10076EC33 /* NeuralAmpModelerAU.h in Headers */, 4FBDC95629FFF143004FF203 /* dsp.h in Headers */, 4FBDC95E29FFF143004FF203 /* wavenet.h in Headers */, 4FC6983B293BA5020076EC33 /* IPlugAUAudioUnit.h in Headers */, + AA7C860B2B43A42F00B5FB3A /* ResamplingContainer.h in Headers */, 4FBDC95B29FFF143004FF203 /* convnet.h in Headers */, 4FBDC95929FFF143004FF203 /* version.h in Headers */, + AA7C860C2B43A42F00B5FB3A /* LanczosResampler.h in Headers */, + AA7C860D2B43A42F00B5FB3A /* wdltypes.h in Headers */, 4FBDC96229FFF143004FF203 /* activations.h in Headers */, 4FBDC95429FFF143004FF203 /* RecursiveLinearFilter.h in Headers */, 4FBDC95C29FFF143004FF203 /* lstm.h in Headers */, diff --git a/NeuralAmpModeler/projects/NeuralAmpModeler-macOS.xcodeproj/project.pbxproj b/NeuralAmpModeler/projects/NeuralAmpModeler-macOS.xcodeproj/project.pbxproj @@ -442,6 +442,16 @@ 4FFBB93520863B0E00DDD0E7 /* vstnoteexpressiontypes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F81588E205D50EB00393585 /* vstnoteexpressiontypes.cpp */; }; AA355E2D295B688F0061AA3D /* Colors.h in Headers */ = {isa = PBXBuildFile; fileRef = AA355E2C295B688F0061AA3D /* Colors.h */; }; AA355E2E295B688F0061AA3D /* Colors.h in Headers */ = {isa = PBXBuildFile; fileRef = AA355E2C295B688F0061AA3D /* Colors.h */; }; + AA7C85F92B439AC000B5FB3A /* ResamplingContainer.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7C85F22B439AC000B5FB3A /* ResamplingContainer.h */; }; + AA7C85FA2B439AC000B5FB3A /* ResamplingContainer.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7C85F22B439AC000B5FB3A /* ResamplingContainer.h */; }; + AA7C85FB2B439AC000B5FB3A /* _LanczosResampler.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7C85F42B439AC000B5FB3A /* _LanczosResampler.h */; }; + AA7C85FC2B439AC000B5FB3A /* _LanczosResampler.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7C85F42B439AC000B5FB3A /* _LanczosResampler.h */; }; + AA7C85FD2B439AC000B5FB3A /* wdltypes.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7C85F62B439AC000B5FB3A /* wdltypes.h */; }; + AA7C85FE2B439AC000B5FB3A /* wdltypes.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7C85F62B439AC000B5FB3A /* wdltypes.h */; }; + AA7C85FF2B439AC000B5FB3A /* ptrlist.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7C85F72B439AC000B5FB3A /* ptrlist.h */; }; + AA7C86002B439AC000B5FB3A /* ptrlist.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7C85F72B439AC000B5FB3A /* ptrlist.h */; }; + AA7C86012B439AC000B5FB3A /* heapbuf.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7C85F82B439AC000B5FB3A /* heapbuf.h */; }; + AA7C86022B439AC000B5FB3A /* heapbuf.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7C85F82B439AC000B5FB3A /* heapbuf.h */; }; B885CBC52304AE7300D73128 /* IPlugProcessor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F8F61A8202807B9003F2573 /* IPlugProcessor.cpp */; }; B8E22A0C220268C4007CBF4C /* IPlugVST3_ProcessorBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B8E22A0A220268C4007CBF4C /* IPlugVST3_ProcessorBase.cpp */; }; B8E22A0D220268C4007CBF4C /* IPlugVST3_ProcessorBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B8E22A0A220268C4007CBF4C /* IPlugVST3_ProcessorBase.cpp */; }; @@ -1002,6 +1012,11 @@ 4FFF72B8214BB71400839091 /* main.rc */ = {isa = PBXFileReference; lastKnownFileType = text; name = main.rc; path = ../resources/main.rc; sourceTree = "<group>"; }; 52FBBED30D0CF143001C8B8A /* config.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.c.h; name = config.h; path = ../config.h; sourceTree = "<group>"; tabWidth = 2; usesTabs = 0; }; AA355E2C295B688F0061AA3D /* Colors.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Colors.h; path = ../Colors.h; sourceTree = "<group>"; }; + AA7C85F22B439AC000B5FB3A /* ResamplingContainer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ResamplingContainer.h; sourceTree = "<group>"; }; + AA7C85F42B439AC000B5FB3A /* _LanczosResampler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = _LanczosResampler.h; sourceTree = "<group>"; }; + AA7C85F62B439AC000B5FB3A /* wdltypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wdltypes.h; sourceTree = "<group>"; }; + AA7C85F72B439AC000B5FB3A /* ptrlist.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ptrlist.h; sourceTree = "<group>"; }; + AA7C85F82B439AC000B5FB3A /* heapbuf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = heapbuf.h; sourceTree = "<group>"; }; B8E22A0A220268C4007CBF4C /* IPlugVST3_ProcessorBase.cpp */ = {isa = PBXFileReference; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; name = IPlugVST3_ProcessorBase.cpp; path = ../../iPlug2/IPlug/VST3/IPlugVST3_ProcessorBase.cpp; sourceTree = "<group>"; tabWidth = 2; }; B8E22A0B220268C4007CBF4C /* IPlugVST3_ProcessorBase.h */ = {isa = PBXFileReference; indentWidth = 2; lastKnownFileType = sourcecode.c.h; name = IPlugVST3_ProcessorBase.h; path = ../../iPlug2/IPlug/VST3/IPlugVST3_ProcessorBase.h; sourceTree = "<group>"; tabWidth = 2; }; B8EA6B932203868500D23A86 /* IPlugVST3_Common.h */ = {isa = PBXFileReference; indentWidth = 2; lastKnownFileType = sourcecode.c.h; name = IPlugVST3_Common.h; path = ../../iPlug2/IPlug/VST3/IPlugVST3_Common.h; sourceTree = "<group>"; tabWidth = 2; }; @@ -1237,6 +1252,7 @@ 4F2FB1392A0047420027AB66 /* dsp */ = { isa = PBXGroup; children = ( + AA7C85F12B439AC000B5FB3A /* ResamplingContainer */, 4F2FB13E2A0047420027AB66 /* dsp.cpp */, 4F2FB1432A0047420027AB66 /* dsp.h */, 4F2FB1402A0047420027AB66 /* ImpulseResponse.cpp */, @@ -1938,6 +1954,34 @@ name = WDL; sourceTree = "<group>"; }; + AA7C85F12B439AC000B5FB3A /* ResamplingContainer */ = { + isa = PBXGroup; + children = ( + AA7C85F22B439AC000B5FB3A /* ResamplingContainer.h */, + AA7C85F32B439AC000B5FB3A /* Dependencies */, + ); + path = ResamplingContainer; + sourceTree = "<group>"; + }; + AA7C85F32B439AC000B5FB3A /* Dependencies */ = { + isa = PBXGroup; + children = ( + AA7C85F42B439AC000B5FB3A /* _LanczosResampler.h */, + AA7C85F52B439AC000B5FB3A /* WDL */, + ); + path = Dependencies; + sourceTree = "<group>"; + }; + AA7C85F52B439AC000B5FB3A /* WDL */ = { + isa = PBXGroup; + children = ( + AA7C85F62B439AC000B5FB3A /* wdltypes.h */, + AA7C85F72B439AC000B5FB3A /* ptrlist.h */, + AA7C85F82B439AC000B5FB3A /* heapbuf.h */, + ); + path = WDL; + sourceTree = "<group>"; + }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ @@ -1949,6 +1993,8 @@ 4F2FB19B2A0047430027AB66 /* lstm.h in Headers */, 4F2FB1B02A0047430027AB66 /* dsp.h in Headers */, 4F2FB19A2A0047430027AB66 /* convnet.h in Headers */, + AA7C86022B439AC000B5FB3A /* heapbuf.h in Headers */, + AA7C85FE2B439AC000B5FB3A /* wdltypes.h in Headers */, 4F4856862773C3B5005BCF8E /* IPlugAUAudioUnit.h in Headers */, 4F2FB15F2A0047420027AB66 /* NoiseGate.h in Headers */, 4F2FB17D2A0047430027AB66 /* dsp.h in Headers */, @@ -1957,10 +2003,13 @@ 4F2FB1542A0047420027AB66 /* Resample.h in Headers */, 4F2FB15E2A0047420027AB66 /* wav.h in Headers */, 4F2FB1902A0047430027AB66 /* version.h in Headers */, + AA7C86002B439AC000B5FB3A /* ptrlist.h in Headers */, 4F4856852773C3B5005BCF8E /* IPlugAUViewController.h in Headers */, + AA7C85FC2B439AC000B5FB3A /* _LanczosResampler.h in Headers */, 4F2FB17C2A0047430027AB66 /* ImpulseResponse.h in Headers */, 4F2FB17B2A0047430027AB66 /* RecursiveLinearFilter.h in Headers */, 4F2FB1B12A0047430027AB66 /* activations.h in Headers */, + AA7C85FA2B439AC000B5FB3A /* ResamplingContainer.h in Headers */, AA355E2E295B688F0061AA3D /* Colors.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; @@ -1974,12 +2023,15 @@ 4FC3EFF42086CE5700BD11FA /* module.h in Headers */, 4F03A58C20A4621100EBDFFB /* IGraphicsNanoVG.h in Headers */, 4F03A5D320A4621100EBDFFB /* IGraphicsStructs.h in Headers */, + AA7C85FD2B439AC000B5FB3A /* wdltypes.h in Headers */, 4FC3EFF82086CE5700BD11FA /* optional.h in Headers */, 4FC3F0012086CE5700BD11FA /* uid.h in Headers */, 4F03A5B620A4621100EBDFFB /* IGraphics_select.h in Headers */, 4F03A5AB20A4621100EBDFFB /* IGraphics_include_in_plug_hdr.h in Headers */, + AA7C85FB2B439AC000B5FB3A /* _LanczosResampler.h in Headers */, 4FC3EFF22086CE5700BD11FA /* hostclasses.h in Headers */, 4F03A5D420A4621100EBDFFB /* IGraphicsUtilities.h in Headers */, + AA7C85FF2B439AC000B5FB3A /* ptrlist.h in Headers */, 4F03A5AA20A4621100EBDFFB /* IGraphicsLiveEdit.h in Headers */, 4F6369EA20A466470022C370 /* IControl.h in Headers */, 4F03A5D520A4621100EBDFFB /* IGraphicsConstants.h in Headers */, @@ -1990,6 +2042,8 @@ 4FC3EFFE2086CE5700BD11FA /* processdata.h in Headers */, 4FC3F0002086CE5700BD11FA /* stringconvert.h in Headers */, 4F8C10E720BA2796006320CD /* IGraphicsEditorDelegate.h in Headers */, + AA7C85F92B439AC000B5FB3A /* ResamplingContainer.h in Headers */, + AA7C86012B439AC000B5FB3A /* heapbuf.h in Headers */, 4FC3EFFA2086CE5700BD11FA /* parameterchanges.h in Headers */, 4F03A5B320A4621100EBDFFB /* IGraphics_include_in_plug_src.h in Headers */, 4FC3EFFC2086CE5700BD11FA /* plugprovider.h in Headers */, diff --git a/NeuralAmpModeler/projects/NeuralAmpModeler-macOS.xcodeproj/xcshareddata/xcschemes/macOS-AUv2.xcscheme b/NeuralAmpModeler/projects/NeuralAmpModeler-macOS.xcodeproj/xcshareddata/xcschemes/macOS-AUv2.xcscheme @@ -31,7 +31,7 @@ </Testables> </TestAction> <LaunchAction - buildConfiguration = "Debug" + buildConfiguration = "Release" selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" launchStyle = "0" diff --git a/NeuralAmpModeler/projects/NeuralAmpModeler-vst3.vcxproj b/NeuralAmpModeler/projects/NeuralAmpModeler-vst3.vcxproj @@ -333,6 +333,11 @@ <ClInclude Include="..\AudioDSPTools\dsp\NoiseGate.h" /> <ClInclude Include="..\AudioDSPTools\dsp\RecursiveLinearFilter.h" /> <ClInclude Include="..\AudioDSPTools\dsp\Resample.h" /> + <ClInclude Include="..\AudioDSPTools\dsp\ResamplingContainer\Dependencies\LanczosResampler.h" /> + <ClInclude Include="..\AudioDSPTools\dsp\ResamplingContainer\Dependencies\WDL\heapbuf.h" /> + <ClInclude Include="..\AudioDSPTools\dsp\ResamplingContainer\Dependencies\WDL\ptrlist.h" /> + <ClInclude Include="..\AudioDSPTools\dsp\ResamplingContainer\Dependencies\WDL\wdltypes.h" /> + <ClInclude Include="..\AudioDSPTools\dsp\ResamplingContainer\ResamplingContainer.h" /> <ClInclude Include="..\AudioDSPTools\dsp\version.h" /> <ClInclude Include="..\AudioDSPTools\dsp\wav.h" /> <ClInclude Include="..\Colors.h" /> diff --git a/NeuralAmpModeler/projects/NeuralAmpModeler-vst3.vcxproj.filters b/NeuralAmpModeler/projects/NeuralAmpModeler-vst3.vcxproj.filters @@ -443,6 +443,21 @@ <ClInclude Include="..\..\iPlug2\IPlug\Extras\LanczosResampler.h"> <Filter>IPlug\Extras</Filter> </ClInclude> + <ClInclude Include="..\AudioDSPTools\dsp\ResamplingContainer\ResamplingContainer.h"> + <Filter>dsp\ResamplingContainer</Filter> + </ClInclude> + <ClInclude Include="..\AudioDSPTools\dsp\ResamplingContainer\Dependencies\LanczosResampler.h"> + <Filter>dsp\ResamplingContainer\Dependencies</Filter> + </ClInclude> + <ClInclude Include="..\AudioDSPTools\dsp\ResamplingContainer\Dependencies\WDL\heapbuf.h"> + <Filter>dsp\ResamplingContainer\Dependencies\WDL</Filter> + </ClInclude> + <ClInclude Include="..\AudioDSPTools\dsp\ResamplingContainer\Dependencies\WDL\ptrlist.h"> + <Filter>dsp\ResamplingContainer\Dependencies\WDL</Filter> + </ClInclude> + <ClInclude Include="..\AudioDSPTools\dsp\ResamplingContainer\Dependencies\WDL\wdltypes.h"> + <Filter>dsp\ResamplingContainer\Dependencies\WDL</Filter> + </ClInclude> </ItemGroup> <ItemGroup> <Filter Include="resources"> @@ -511,6 +526,15 @@ <Filter Include="IPlug\Extras"> <UniqueIdentifier>{4b6a01ff-796f-4098-a581-3b22035cc8be}</UniqueIdentifier> </Filter> + <Filter Include="dsp\ResamplingContainer"> + <UniqueIdentifier>{e899ee48-2aa4-4daa-8147-60bc5a3e395e}</UniqueIdentifier> + </Filter> + <Filter Include="dsp\ResamplingContainer\Dependencies"> + <UniqueIdentifier>{5dd75b0e-6ab4-45ff-b6f6-f93972c1f58a}</UniqueIdentifier> + </Filter> + <Filter Include="dsp\ResamplingContainer\Dependencies\WDL"> + <UniqueIdentifier>{a467e512-e643-4711-ad15-f0cf98f8eef2}</UniqueIdentifier> + </Filter> </ItemGroup> <ItemGroup> <ResourceCompile Include="..\resources\main.rc">