From 053fc3ef2dd52c15846f5d0799c5138b8d13ad86 Mon Sep 17 00:00:00 2001 From: Rik Hemsley Date: Fri, 11 Sep 2026 15:44:46 +0100 Subject: [PATCH 1/4] Enable the planar NEON WaveNet engine in plugin builds MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Point NeuralAmpModelerCore at rikkus/OptimisationWorkOnNeuralAmpModelerCore (the armv7-a2-planar branch, head of sdatkinson/NeuralAmpModelerCore#313) and wire the planar kernels into plugin builds. This replaces an earlier attempt at enabling a different, now-retired engine ("fused"); that work is superseded by the planar kernels and dropped here. - macOS: swap wavenet/fused.{cpp,h} for wavenet/a2_planar.{cpp,h} in the Xcode project across all 8 native targets. NAM_ENABLE_A2_FAST was already defined here; no new build flag is needed, since a2_planar.h gates itself internally on NAM_ENABLE_A2_FAST plus the target being AArch64 or ARMv7 with NEON+FMA — the header declares nothing and the translation unit compiles to no symbols everywhere else. - iOS: same swap, plus a fix -- the previous attempt gave a2_fast.cpp and fused.cpp the same UUID for both their PBXFileReference and PBXBuildFile entries, a duplicate-key bug that meant only one of the two was ever actually wired into the build. Re-added both a2_fast.{cpp,h} (this PR's iOS enablement, kept) and a2_planar.{cpp,h} with distinct UUIDs across all 3 native targets. Also defines NAM_ENABLE_A2_FAST on iOS, which wasn't set before. - Windows: a2_fast.cpp/h was already registered in the three .vcxproj files; added a2_planar.cpp/h alongside it the same way. NAM_ENABLE_FUSED (which had been added to NeuralAmpModeler-win.props without ever registering fused.cpp in any .vcxproj -- a build that would not have linked) is removed; nothing else changes since a2_fast was already there. - All three platforms: also registered linear.{cpp,h}, nam_file.{cpp,h}, sequential.{cpp,h} and the newly-referenced headers (compiler.h, container.h, model_config.h, slimmable.h, wavenet/detail.h, wavenet/params.h, wavenet/slimmable.h), none of which this project's Core submodule pin had reached before. Without these the build fails to link on nam::validate_nam_file -- unrelated to fused/planar, just Core having grown new files since this project was last synced, surfaced now because the submodule bump needed to pick up the planar kernels also picks up everything else Core has added since. - .gitmodules points at the fork rather than upstream NeuralAmpModelerCore for now, since sdatkinson/NeuralAmpModelerCore#313 is not yet merged. Repoint to upstream once it lands. Verified on macOS (Apple Silicon): VST3 and AU targets both build clean (universal arm64+x86_64) from the official NeuralAmpModeler/scripts recipe's own toolchain steps, the planar kernel symbols (A2PlanarNano/A2PlanarFull) are present in the built binary, and `auval -v aufx 1YEo SDAa` passes in full, including real audio-render tests at multiple block sizes and sample rates. iOS and Windows are verified by project-file correctness only (no device/ Windows machine available here) -- same caveat as the PR this replaces. Co-Authored-By: Claude Sonnet 5 --- .gitmodules | 2 +- .../config/NeuralAmpModeler-ios.xcconfig | 2 +- .../projects/NeuralAmpModeler-aax.vcxproj | 15 ++ .../projects/NeuralAmpModeler-app.vcxproj | 15 ++ .../project.pbxproj | 80 ++++++- .../project.pbxproj | 219 +++++++++++++----- .../projects/NeuralAmpModeler-vst3.vcxproj | 15 ++ NeuralAmpModelerCore | 2 +- 8 files changed, 277 insertions(+), 73 deletions(-) diff --git a/.gitmodules b/.gitmodules index e7f81f8d4..474f6d291 100644 --- a/.gitmodules +++ b/.gitmodules @@ -9,4 +9,4 @@ url = https://github.com/sdatkinson/AudioDSPTools.git [submodule "NeuralAmpModelerCore"] path = NeuralAmpModelerCore - url = https://github.com/sdatkinson/NeuralAmpModelerCore.git + url = https://github.com/rikkus/OptimisationWorkOnNeuralAmpModelerCore.git diff --git a/NeuralAmpModeler/config/NeuralAmpModeler-ios.xcconfig b/NeuralAmpModeler/config/NeuralAmpModeler-ios.xcconfig index f46bfcc93..801a13687 100644 --- a/NeuralAmpModeler/config/NeuralAmpModeler-ios.xcconfig +++ b/NeuralAmpModeler/config/NeuralAmpModeler-ios.xcconfig @@ -22,7 +22,7 @@ EXTRA_LNK_FLAGS = -framework Metal -framework MetalKit -framework Accelerate//$( //------------------------------ // PREPROCESSOR MACROS -EXTRA_ALL_DEFS = OBJC_PREFIX=vNeuralAmpModeler IGRAPHICS_NANOVG IGRAPHICS_METAL GRAYED_ALPHA=0.5f +EXTRA_ALL_DEFS = OBJC_PREFIX=vNeuralAmpModeler IGRAPHICS_NANOVG IGRAPHICS_METAL GRAYED_ALPHA=0.5f NAM_ENABLE_A2_FAST //EXTRA_DEBUG_DEFS = //EXTRA_RELEASE_DEFS = //EXTRA_TRACER_DEFS = diff --git a/NeuralAmpModeler/projects/NeuralAmpModeler-aax.vcxproj b/NeuralAmpModeler/projects/NeuralAmpModeler-aax.vcxproj index b4ea647f2..7c6b1aa2a 100644 --- a/NeuralAmpModeler/projects/NeuralAmpModeler-aax.vcxproj +++ b/NeuralAmpModeler/projects/NeuralAmpModeler-aax.vcxproj @@ -433,6 +433,10 @@ + + + + @@ -547,6 +551,17 @@ + + + + + + + + + + + diff --git a/NeuralAmpModeler/projects/NeuralAmpModeler-app.vcxproj b/NeuralAmpModeler/projects/NeuralAmpModeler-app.vcxproj index e016cc972..78de5f221 100644 --- a/NeuralAmpModeler/projects/NeuralAmpModeler-app.vcxproj +++ b/NeuralAmpModeler/projects/NeuralAmpModeler-app.vcxproj @@ -349,6 +349,17 @@ + + + + + + + + + + + @@ -416,6 +427,10 @@ + + + + diff --git a/NeuralAmpModeler/projects/NeuralAmpModeler-iOS.xcodeproj/project.pbxproj b/NeuralAmpModeler/projects/NeuralAmpModeler-iOS.xcodeproj/project.pbxproj index cf9d95eb7..7f0b4b572 100644 --- a/NeuralAmpModeler/projects/NeuralAmpModeler-iOS.xcodeproj/project.pbxproj +++ b/NeuralAmpModeler/projects/NeuralAmpModeler-iOS.xcodeproj/project.pbxproj @@ -21,6 +21,14 @@ /* End PBXAggregateTarget section */ /* Begin PBXBuildFile section */ + 024953A6C6D7BA9F89A34B2A /* linear.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 87B879AEFBDBAD47DB17733A /* linear.cpp */; }; + 04C62F62FBFCD0324E5FE518 /* a2_fast.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E2AA9769F8EE64B0C97379B7 /* a2_fast.cpp */; }; + 0ACA7BB721A86CDEC3642D72 /* a2_fast.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E2AA9769F8EE64B0C97379B7 /* a2_fast.cpp */; }; + 1757DFDD1FEAD85D0469DF0B /* a2_fast.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E2AA9769F8EE64B0C97379B7 /* a2_fast.cpp */; }; + 21C2AB77C47E8AA9A6F8DC3B /* nam_file.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 786BA4B0EB1830A5EB10A1A3 /* nam_file.cpp */; }; + 2751D54F7AA7DF68D68A3035 /* a2_planar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D88107BA1B1DA6F4C9DAFE1B /* a2_planar.cpp */; }; + 419E1EADA81E36B8975ABA42 /* sequential.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EFCA0691D15710331824146C /* sequential.cpp */; }; + 4B9158480A1EFCFEA949430E /* linear.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 87B879AEFBDBAD47DB17733A /* linear.cpp */; }; 4F10E7C020B17EDB00F5B09B /* NeuralAmpModeler-iOS-MainInterface.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 4F10E7BF20B17EDB00F5B09B /* NeuralAmpModeler-iOS-MainInterface.storyboard */; }; 4F1115CF2296DA95000CFCBF /* NeuralAmpModeler-iOS-MainInterface.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 4F10E7BF20B17EDB00F5B09B /* NeuralAmpModeler-iOS-MainInterface.storyboard */; }; 4F3E0F6A20A0BCD900A9C2BE /* NeuralAmpModeler-iOS.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 4F3E0F6720A0BC5B00A9C2BE /* NeuralAmpModeler-iOS.storyboard */; }; @@ -51,8 +59,6 @@ 4FBDC96229FFF143004FF203 /* activations.h in Headers */ = {isa = PBXBuildFile; fileRef = 4FBDC94929FFF143004FF203 /* activations.h */; }; 4FBDC96329FFF143004FF203 /* activations.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4FBDC94A29FFF143004FF203 /* activations.cpp */; }; 4FBDC96429FFF143004FF203 /* model.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4FBDC94B29FFF143004FF203 /* model.cpp */; }; - 4FBDC98029FFF143004FF203 /* slimmable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4FBDC97E29FFF143004FF203 /* slimmable.cpp */; }; - 4FBDC98129FFF143004FF203 /* container.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4FBDC97F29FFF143004FF203 /* container.cpp */; }; 4FBDC96529FFF143004FF203 /* get_dsp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4FBDC94C29FFF143004FF203 /* get_dsp.cpp */; }; 4FBDC97729FFF143004FF203 /* conv1d.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4FBDC97029FFF143004FF203 /* conv1d.cpp */; }; 4FBDC97829FFF143004FF203 /* conv1d.h in Headers */ = {isa = PBXBuildFile; fileRef = 4FBDC97129FFF143004FF203 /* conv1d.h */; }; @@ -61,6 +67,8 @@ 4FBDC97B29FFF143004FF203 /* film.h in Headers */ = {isa = PBXBuildFile; fileRef = 4FBDC97429FFF143004FF203 /* film.h */; }; 4FBDC97C29FFF143004FF203 /* gating_activations.h in Headers */ = {isa = PBXBuildFile; fileRef = 4FBDC97529FFF143004FF203 /* gating_activations.h */; }; 4FBDC97D29FFF143004FF203 /* registry.h in Headers */ = {isa = PBXBuildFile; fileRef = 4FBDC97629FFF143004FF203 /* registry.h */; }; + 4FBDC98029FFF143004FF203 /* slimmable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4FBDC97E29FFF143004FF203 /* slimmable.cpp */; }; + 4FBDC98129FFF143004FF203 /* container.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4FBDC97F29FFF143004FF203 /* container.cpp */; }; 4FC69835293BA47F0076EC33 /* NeuralAmpModelerAU.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4FC6982F293BA47F0076EC33 /* NeuralAmpModelerAU.framework */; }; 4FC69836293BA47F0076EC33 /* NeuralAmpModelerAU.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 4FC6982F293BA47F0076EC33 /* NeuralAmpModelerAU.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 4FC6983A293BA4F10076EC33 /* NeuralAmpModelerAU.h in Headers */ = {isa = PBXBuildFile; fileRef = 4FA61F7B22E89A5900A92C58 /* NeuralAmpModelerAU.h */; settings = {ATTRIBUTES = (Public, ); }; }; @@ -92,7 +100,10 @@ 4FDF6D7F2267CEBA0007B686 /* IPlugAUPlayer.mm in Sources */ = {isa = PBXBuildFile; fileRef = 4FDF6D7D2267CEBA0007B686 /* IPlugAUPlayer.mm */; }; 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"; }; }; + 61A2585768B23900CB105A08 /* a2_planar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D88107BA1B1DA6F4C9DAFE1B /* a2_planar.cpp */; }; + 759B5959B2FCBB0FD24979C5 /* sequential.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EFCA0691D15710331824146C /* sequential.cpp */; }; 91236D811B08F59300734C5E /* NeuralAmpModelerAppExtension.appex in Embed App Extensions */ = {isa = PBXBuildFile; fileRef = 91236D771B08F59300734C5E /* NeuralAmpModelerAppExtension.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; + 94B3B7E98BF35C0F739C5E2A /* nam_file.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 786BA4B0EB1830A5EB10A1A3 /* nam_file.cpp */; }; AA341E2B2B9E5A650069C260 /* ToneStack.h in Headers */ = {isa = PBXBuildFile; fileRef = AA341E292B9E5A650069C260 /* ToneStack.h */; }; AA341E2C2B9E5A650069C260 /* ToneStack.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA341E2A2B9E5A650069C260 /* ToneStack.cpp */; }; AA341E2D2B9E5A650069C260 /* ToneStack.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA341E2A2B9E5A650069C260 /* ToneStack.cpp */; }; @@ -104,6 +115,10 @@ AA7C860F2B43A42F00B5FB3A /* heapbuf.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7C860A2B43A42E00B5FB3A /* heapbuf.h */; }; AA8CA7772A452EF500F5BEF0 /* resample.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA8CA7752A452EF500F5BEF0 /* resample.cpp */; }; AAB7BBB92CC4B8D6000B8B6E /* get_dsp.h in Headers */ = {isa = PBXBuildFile; fileRef = AAB7BBB82CC4B8D6000B8B6E /* get_dsp.h */; }; + D102983EE265EF647DC54A63 /* sequential.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EFCA0691D15710331824146C /* sequential.cpp */; }; + D1BA6D9CABF842650FDFEF9E /* nam_file.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 786BA4B0EB1830A5EB10A1A3 /* nam_file.cpp */; }; + D3F84C0B6FCA6934F0AD38E4 /* linear.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 87B879AEFBDBAD47DB17733A /* linear.cpp */; }; + DB857E2D3DEE4604FA3E9FD3 /* a2_planar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D88107BA1B1DA6F4C9DAFE1B /* a2_planar.cpp */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -156,6 +171,12 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ + 154E0CB1AF87B1D46F35BDEE /* compiler.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = compiler.h; sourceTree = ""; }; + 241E5854C6956A3DE1DBCBCF /* nam_file.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = nam_file.h; sourceTree = ""; }; + 24FB0F94BC8621CBA54C3DC1 /* container.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = container.h; sourceTree = ""; }; + 2C465F6DF5F513B876DA04EE /* sequential.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = sequential.h; sourceTree = ""; }; + 3435AADE94EE12E6BDFBCC74 /* detail.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = detail.h; path = wavenet/detail.h; sourceTree = ""; }; + 4281482B1171EF932BAF757A /* params.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = params.h; path = wavenet/params.h; sourceTree = ""; }; 4F10E7BF20B17EDB00F5B09B /* NeuralAmpModeler-iOS-MainInterface.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = "NeuralAmpModeler-iOS-MainInterface.storyboard"; path = "../resources/NeuralAmpModeler-iOS-MainInterface.storyboard"; sourceTree = ""; }; 4F10E7C520B189DD00F5B09B /* NeuralAmpModeler-iOS.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = "NeuralAmpModeler-iOS.entitlements"; sourceTree = ""; }; 4F2020F620A1B2B500F22200 /* scripts */ = {isa = PBXFileReference; lastKnownFileType = folder; name = scripts; path = ../scripts; sourceTree = ""; }; @@ -291,6 +312,12 @@ 4FBDC94429FFF143004FF203 /* convnet.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = convnet.cpp; sourceTree = ""; }; 4FBDC94529FFF143004FF203 /* model.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wavenet/model.h; sourceTree = ""; }; 4FBDC94629FFF143004FF203 /* lstm.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = lstm.cpp; sourceTree = ""; }; + 4FBDC94729FFF143004FF203 /* util.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = util.h; sourceTree = ""; }; + 4FBDC94829FFF143004FF203 /* dsp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dsp.h; sourceTree = ""; }; + 4FBDC94929FFF143004FF203 /* activations.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = activations.h; sourceTree = ""; }; + 4FBDC94A29FFF143004FF203 /* activations.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = activations.cpp; sourceTree = ""; }; + 4FBDC94B29FFF143004FF203 /* model.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wavenet/model.cpp; sourceTree = ""; }; + 4FBDC94C29FFF143004FF203 /* get_dsp.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = get_dsp.cpp; sourceTree = ""; }; 4FBDC97029FFF143004FF203 /* conv1d.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = conv1d.cpp; sourceTree = ""; }; 4FBDC97129FFF143004FF203 /* conv1d.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = conv1d.h; sourceTree = ""; }; 4FBDC97229FFF143004FF203 /* ring_buffer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ring_buffer.cpp; sourceTree = ""; }; @@ -298,14 +325,8 @@ 4FBDC97429FFF143004FF203 /* film.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = film.h; sourceTree = ""; }; 4FBDC97529FFF143004FF203 /* gating_activations.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gating_activations.h; sourceTree = ""; }; 4FBDC97629FFF143004FF203 /* registry.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = registry.h; sourceTree = ""; }; - 4FBDC94729FFF143004FF203 /* util.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = util.h; sourceTree = ""; }; - 4FBDC94829FFF143004FF203 /* dsp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dsp.h; sourceTree = ""; }; - 4FBDC94929FFF143004FF203 /* activations.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = activations.h; sourceTree = ""; }; - 4FBDC94A29FFF143004FF203 /* activations.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = activations.cpp; sourceTree = ""; }; - 4FBDC94B29FFF143004FF203 /* model.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wavenet/model.cpp; sourceTree = ""; }; 4FBDC97E29FFF143004FF203 /* slimmable.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wavenet/slimmable.cpp; sourceTree = ""; }; 4FBDC97F29FFF143004FF203 /* container.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = container.cpp; sourceTree = ""; }; - 4FBDC94C29FFF143004FF203 /* get_dsp.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = get_dsp.cpp; sourceTree = ""; }; 4FC46E58231440C8000045E7 /* web */ = {isa = PBXFileReference; lastKnownFileType = folder; name = web; path = ../resources/web; sourceTree = ""; }; 4FC6982F293BA47F0076EC33 /* NeuralAmpModelerAU.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = NeuralAmpModelerAU.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 4FC82B4720BD524700722133 /* img */ = {isa = PBXFileReference; lastKnownFileType = folder; name = img; path = ../resources/img; sourceTree = ""; }; @@ -362,6 +383,10 @@ 4FFF108420A1036200D3092F /* config.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = config.h; path = ../config.h; sourceTree = ""; }; 4FFF108720A1036200D3092F /* NeuralAmpModeler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = NeuralAmpModeler.cpp; path = ../NeuralAmpModeler.cpp; sourceTree = ""; }; 4FFF108820A1036200D3092F /* NeuralAmpModeler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = NeuralAmpModeler.h; path = ../NeuralAmpModeler.h; sourceTree = ""; }; + 65180F8A34DF34E6D776C421 /* a2_fast.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = a2_fast.h; path = wavenet/a2_fast.h; sourceTree = ""; }; + 786BA4B0EB1830A5EB10A1A3 /* nam_file.cpp */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.cpp; path = nam_file.cpp; sourceTree = ""; }; + 7D9EA8935DC2021DCBD16C9F /* slimmable.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = slimmable.h; path = wavenet/slimmable.h; sourceTree = ""; }; + 87B879AEFBDBAD47DB17733A /* linear.cpp */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.cpp; path = linear.cpp; sourceTree = ""; }; 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; }; AA341E292B9E5A650069C260 /* ToneStack.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ToneStack.h; path = ../ToneStack.h; sourceTree = ""; }; @@ -373,6 +398,13 @@ AA7C860A2B43A42E00B5FB3A /* heapbuf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = heapbuf.h; sourceTree = ""; }; AA8CA7752A452EF500F5BEF0 /* resample.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = resample.cpp; sourceTree = ""; }; AAB7BBB82CC4B8D6000B8B6E /* get_dsp.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = get_dsp.h; sourceTree = ""; }; + AD5B7C148C765CFAB61C34DF /* a2_planar.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = a2_planar.h; path = wavenet/a2_planar.h; sourceTree = ""; }; + B48253CBFD93C2B9FDE2FD48 /* slimmable.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = slimmable.h; sourceTree = ""; }; + D88107BA1B1DA6F4C9DAFE1B /* a2_planar.cpp */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.cpp; name = a2_planar.cpp; path = wavenet/a2_planar.cpp; sourceTree = ""; }; + E2AA9769F8EE64B0C97379B7 /* a2_fast.cpp */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.cpp; name = a2_fast.cpp; path = wavenet/a2_fast.cpp; sourceTree = ""; }; + EFCA0691D15710331824146C /* sequential.cpp */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.cpp; path = sequential.cpp; sourceTree = ""; }; + F5C2DC2149578D403E9894A7 /* linear.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = linear.h; sourceTree = ""; }; + F6C0B19CBDA39CF560786AAC /* model_config.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = model_config.h; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -699,6 +731,23 @@ 4FBDC97429FFF143004FF203 /* film.h */, 4FBDC97529FFF143004FF203 /* gating_activations.h */, 4FBDC97629FFF143004FF203 /* registry.h */, + E2AA9769F8EE64B0C97379B7 /* a2_fast.cpp */, + 65180F8A34DF34E6D776C421 /* a2_fast.h */, + D88107BA1B1DA6F4C9DAFE1B /* a2_planar.cpp */, + AD5B7C148C765CFAB61C34DF /* a2_planar.h */, + 154E0CB1AF87B1D46F35BDEE /* compiler.h */, + 24FB0F94BC8621CBA54C3DC1 /* container.h */, + 87B879AEFBDBAD47DB17733A /* linear.cpp */, + F5C2DC2149578D403E9894A7 /* linear.h */, + F6C0B19CBDA39CF560786AAC /* model_config.h */, + 786BA4B0EB1830A5EB10A1A3 /* nam_file.cpp */, + 241E5854C6956A3DE1DBCBCF /* nam_file.h */, + EFCA0691D15710331824146C /* sequential.cpp */, + 2C465F6DF5F513B876DA04EE /* sequential.h */, + B48253CBFD93C2B9FDE2FD48 /* slimmable.h */, + 3435AADE94EE12E6BDFBCC74 /* detail.h */, + 4281482B1171EF932BAF757A /* params.h */, + 7D9EA8935DC2021DCBD16C9F /* slimmable.h */, ); name = NAM; path = ../../NeuralAmpModelerCore/NAM; @@ -1113,6 +1162,11 @@ 4FBDC96329FFF143004FF203 /* activations.cpp in Sources */, 4FC69847293BA5F90076EC33 /* IPopupMenuControl.cpp in Sources */, 4FC6984E293BA61D0076EC33 /* NeuralAmpModeler.cpp in Sources */, + 04C62F62FBFCD0324E5FE518 /* a2_fast.cpp in Sources */, + 61A2585768B23900CB105A08 /* a2_planar.cpp in Sources */, + 4B9158480A1EFCFEA949430E /* linear.cpp in Sources */, + 94B3B7E98BF35C0F739C5E2A /* nam_file.cpp in Sources */, + D102983EE265EF647DC54A63 /* sequential.cpp in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1125,6 +1179,11 @@ 4FDF6D7B2267CE540007B686 /* AppDelegate.m in Sources */, 4FDF6D772267CE540007B686 /* AppViewController.mm in Sources */, 4FDF6D792267CE540007B686 /* main.m in Sources */, + 0ACA7BB721A86CDEC3642D72 /* a2_fast.cpp in Sources */, + 2751D54F7AA7DF68D68A3035 /* a2_planar.cpp in Sources */, + D3F84C0B6FCA6934F0AD38E4 /* linear.cpp in Sources */, + 21C2AB77C47E8AA9A6F8DC3B /* nam_file.cpp in Sources */, + 759B5959B2FCBB0FD24979C5 /* sequential.cpp in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1135,6 +1194,11 @@ 4FCBE769293CDFB7005D913D /* IPlugAUViewController.mm in Sources */, AA341E2D2B9E5A650069C260 /* ToneStack.cpp in Sources */, 4F4856842773BD77005BCF8E /* NeuralAmpModelerAUv3Appex.m in Sources */, + 1757DFDD1FEAD85D0469DF0B /* a2_fast.cpp in Sources */, + DB857E2D3DEE4604FA3E9FD3 /* a2_planar.cpp in Sources */, + 024953A6C6D7BA9F89A34B2A /* linear.cpp in Sources */, + D1BA6D9CABF842650FDFEF9E /* nam_file.cpp in Sources */, + 419E1EADA81E36B8975ABA42 /* sequential.cpp in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/NeuralAmpModeler/projects/NeuralAmpModeler-macOS.xcodeproj/project.pbxproj b/NeuralAmpModeler/projects/NeuralAmpModeler-macOS.xcodeproj/project.pbxproj index e4cff679f..19d2ad12a 100644 --- a/NeuralAmpModeler/projects/NeuralAmpModeler-macOS.xcodeproj/project.pbxproj +++ b/NeuralAmpModeler/projects/NeuralAmpModeler-macOS.xcodeproj/project.pbxproj @@ -34,6 +34,11 @@ /* End PBXAggregateTarget section */ /* Begin PBXBuildFile section */ + 0F7E58E6E16AB192A3AE7151 /* linear.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E08C695C46B19F8E7AC2864B /* linear.cpp */; }; + 311623CED50ABF5538272057 /* linear.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E08C695C46B19F8E7AC2864B /* linear.cpp */; }; + 32FBDEF19AA8DA7512E80F63 /* a2_planar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 63E3141817CFA8B969A7488B /* a2_planar.cpp */; }; + 3FACB4B233BBF581E1FFFB0F /* linear.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E08C695C46B19F8E7AC2864B /* linear.cpp */; }; + 484CC888135C56E2500ABF01 /* nam_file.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1DE72E16F9EA4DD5F22A8ED3 /* nam_file.cpp */; }; 4F037D76261F9DB400A752B5 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 4F037D75261F9DB400A752B5 /* Images.xcassets */; }; 4F037D77261F9DB400A752B5 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 4F037D75261F9DB400A752B5 /* Images.xcassets */; }; 4F03A58C20A4621100EBDFFB /* IGraphicsNanoVG.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F03A55020A4621000EBDFFB /* IGraphicsNanoVG.h */; }; @@ -133,7 +138,7 @@ 4F2FB1A22A0047430027AB66 /* convnet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F2FB14B2A0047420027AB66 /* convnet.cpp */; }; 4F2FB1A32A0047430027AB66 /* convnet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F2FB14B2A0047420027AB66 /* convnet.cpp */; }; 4F2FB1A42A0047430027AB66 /* convnet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F2FB14B2A0047420027AB66 /* convnet.cpp */; }; - 4F2FB1A52A0047430027AB66 /* wavenet/model.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F2FB14C2A0047420027AB66 /* wavenet/model.h */; }; + 4F2FB1A52A0047430027AB66 /* model.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F2FB14C2A0047420027AB66 /* model.h */; }; 4F2FB1A62A0047430027AB66 /* lstm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F2FB14D2A0047420027AB66 /* lstm.cpp */; }; 4F2FB1A82A0047430027AB66 /* lstm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F2FB14D2A0047420027AB66 /* lstm.cpp */; }; 4F2FB1A92A0047430027AB66 /* lstm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F2FB14D2A0047420027AB66 /* lstm.cpp */; }; @@ -153,14 +158,14 @@ 4F2FB1B82A0047430027AB66 /* activations.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F2FB1512A0047420027AB66 /* activations.cpp */; }; 4F2FB1B92A0047430027AB66 /* activations.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F2FB1512A0047420027AB66 /* activations.cpp */; }; 4F2FB1BA2A0047430027AB66 /* activations.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F2FB1512A0047420027AB66 /* activations.cpp */; }; - 4F2FB1BB2A0047430027AB66 /* wavenet/model.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F2FB1522A0047420027AB66 /* wavenet/model.cpp */; }; - 4F2FB1BD2A0047430027AB66 /* wavenet/model.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F2FB1522A0047420027AB66 /* wavenet/model.cpp */; }; - 4F2FB1BE2A0047430027AB66 /* wavenet/model.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F2FB1522A0047420027AB66 /* wavenet/model.cpp */; }; - 4F2FB1BF2A0047430027AB66 /* wavenet/model.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F2FB1522A0047420027AB66 /* wavenet/model.cpp */; }; - 4F2FB1C02A0047430027AB66 /* wavenet/model.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F2FB1522A0047420027AB66 /* wavenet/model.cpp */; }; - 4F2FB1C12A0047430027AB66 /* wavenet/model.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F2FB1522A0047420027AB66 /* wavenet/model.cpp */; }; - 4F2FB1C22A0047430027AB66 /* wavenet/model.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F2FB1522A0047420027AB66 /* wavenet/model.cpp */; }; - 4F2FB1C32A0047430027AB66 /* wavenet/model.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F2FB1522A0047420027AB66 /* wavenet/model.cpp */; }; + 4F2FB1BB2A0047430027AB66 /* model.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F2FB1522A0047420027AB66 /* model.cpp */; }; + 4F2FB1BD2A0047430027AB66 /* model.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F2FB1522A0047420027AB66 /* model.cpp */; }; + 4F2FB1BE2A0047430027AB66 /* model.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F2FB1522A0047420027AB66 /* model.cpp */; }; + 4F2FB1BF2A0047430027AB66 /* model.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F2FB1522A0047420027AB66 /* model.cpp */; }; + 4F2FB1C02A0047430027AB66 /* model.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F2FB1522A0047420027AB66 /* model.cpp */; }; + 4F2FB1C12A0047430027AB66 /* model.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F2FB1522A0047420027AB66 /* model.cpp */; }; + 4F2FB1C22A0047430027AB66 /* model.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F2FB1522A0047420027AB66 /* model.cpp */; }; + 4F2FB1C32A0047430027AB66 /* model.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F2FB1522A0047420027AB66 /* model.cpp */; }; 4F2FB1C42A0047430027AB66 /* get_dsp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F2FB1532A0047420027AB66 /* get_dsp.cpp */; }; 4F2FB1C62A0047430027AB66 /* get_dsp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F2FB1532A0047420027AB66 /* get_dsp.cpp */; }; 4F2FB1C72A0047430027AB66 /* get_dsp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F2FB1532A0047420027AB66 /* get_dsp.cpp */; }; @@ -429,6 +434,21 @@ 4FFBB93020863B0E00DDD0E7 /* fbuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F8158C1205D50EB00393585 /* fbuffer.cpp */; }; 4FFBB93420863B0E00DDD0E7 /* coreiids.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F8158E0205D50EB00393585 /* coreiids.cpp */; }; 4FFBB93520863B0E00DDD0E7 /* vstnoteexpressiontypes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F81588E205D50EB00393585 /* vstnoteexpressiontypes.cpp */; }; + 54CFB79A50DB8A55A4960B49 /* linear.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E08C695C46B19F8E7AC2864B /* linear.cpp */; }; + 56E355C4746A4DC35B0E8B09 /* linear.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E08C695C46B19F8E7AC2864B /* linear.cpp */; }; + 577572438D24C3D87D2364A5 /* a2_planar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 63E3141817CFA8B969A7488B /* a2_planar.cpp */; }; + 5C69BEF6E12899B89FD73F62 /* nam_file.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1DE72E16F9EA4DD5F22A8ED3 /* nam_file.cpp */; }; + 5E94D2B231EBD8932449901E /* a2_planar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 63E3141817CFA8B969A7488B /* a2_planar.cpp */; }; + 698E380BEFB6B20C39CB8598 /* a2_planar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 63E3141817CFA8B969A7488B /* a2_planar.cpp */; }; + 72C8E0A1D9345CDCFB6D16C1 /* nam_file.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1DE72E16F9EA4DD5F22A8ED3 /* nam_file.cpp */; }; + 7373DBCCEAB853E1FC381C97 /* sequential.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A7443DDD198C9AD5E39E282 /* sequential.cpp */; }; + 73B3F419EE038587B1AA60A3 /* nam_file.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1DE72E16F9EA4DD5F22A8ED3 /* nam_file.cpp */; }; + 758365941E274A981E5FC9C0 /* a2_planar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 63E3141817CFA8B969A7488B /* a2_planar.cpp */; }; + 7D6C5E1BA508E7FBC93D8208 /* nam_file.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1DE72E16F9EA4DD5F22A8ED3 /* nam_file.cpp */; }; + 835348ACF25B1A80EDE82D27 /* sequential.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A7443DDD198C9AD5E39E282 /* sequential.cpp */; }; + 8904D649F9ED0AA288F0EA47 /* sequential.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A7443DDD198C9AD5E39E282 /* sequential.cpp */; }; + 898C7FD3D4991251C3342F52 /* sequential.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A7443DDD198C9AD5E39E282 /* sequential.cpp */; }; + 9D442A077D003F42035AB246 /* nam_file.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1DE72E16F9EA4DD5F22A8ED3 /* nam_file.cpp */; }; AA341E1D2B9E5A530069C260 /* ToneStack.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA341E1B2B9E5A530069C260 /* ToneStack.cpp */; }; AA341E1F2B9E5A530069C260 /* ToneStack.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA341E1B2B9E5A530069C260 /* ToneStack.cpp */; }; AA341E202B9E5A530069C260 /* ToneStack.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA341E1B2B9E5A530069C260 /* ToneStack.cpp */; }; @@ -461,25 +481,37 @@ AAB7E0172CC4B8C6000B8B6E /* container.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAB7E0102CC4B8C6000B8B6E /* container.cpp */; }; AAB7E0182CC4B8C6000B8B6E /* container.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAB7E0102CC4B8C6000B8B6E /* container.cpp */; }; AAB7E0192CC4B8C6000B8B6E /* container.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAB7E0102CC4B8C6000B8B6E /* container.cpp */; }; - B1D2F7012D0000020027AB66 /* wavenet/slimmable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B1D2F7002D0000010027AB66 /* wavenet/slimmable.cpp */; }; - B1D2F7032D0000020027AB66 /* wavenet/slimmable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B1D2F7002D0000010027AB66 /* wavenet/slimmable.cpp */; }; - B1D2F7042D0000020027AB66 /* wavenet/slimmable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B1D2F7002D0000010027AB66 /* wavenet/slimmable.cpp */; }; - B1D2F7052D0000020027AB66 /* wavenet/slimmable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B1D2F7002D0000010027AB66 /* wavenet/slimmable.cpp */; }; - B1D2F7062D0000020027AB66 /* wavenet/slimmable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B1D2F7002D0000010027AB66 /* wavenet/slimmable.cpp */; }; - B1D2F7072D0000020027AB66 /* wavenet/slimmable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B1D2F7002D0000010027AB66 /* wavenet/slimmable.cpp */; }; - B1D2F7082D0000020027AB66 /* wavenet/slimmable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B1D2F7002D0000010027AB66 /* wavenet/slimmable.cpp */; }; - B1D2F7092D0000020027AB66 /* wavenet/slimmable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B1D2F7002D0000010027AB66 /* wavenet/slimmable.cpp */; }; + AD3F2FF514421EB40C868B5B /* a2_planar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 63E3141817CFA8B969A7488B /* a2_planar.cpp */; }; + B1D2F7012D0000020027AB66 /* slimmable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B1D2F7002D0000010027AB66 /* slimmable.cpp */; }; + B1D2F7032D0000020027AB66 /* slimmable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B1D2F7002D0000010027AB66 /* slimmable.cpp */; }; + B1D2F7042D0000020027AB66 /* slimmable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B1D2F7002D0000010027AB66 /* slimmable.cpp */; }; + B1D2F7052D0000020027AB66 /* slimmable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B1D2F7002D0000010027AB66 /* slimmable.cpp */; }; + B1D2F7062D0000020027AB66 /* slimmable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B1D2F7002D0000010027AB66 /* slimmable.cpp */; }; + B1D2F7072D0000020027AB66 /* slimmable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B1D2F7002D0000010027AB66 /* slimmable.cpp */; }; + B1D2F7082D0000020027AB66 /* slimmable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B1D2F7002D0000010027AB66 /* slimmable.cpp */; }; + B1D2F7092D0000020027AB66 /* slimmable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B1D2F7002D0000010027AB66 /* slimmable.cpp */; }; + B464BD05366817A9654EC336 /* linear.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E08C695C46B19F8E7AC2864B /* linear.cpp */; }; 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 */; }; - C2A2FAE112D0000120027AB66 /* wavenet/a2_fast.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C2A2FAE012D0000110027AB66 /* wavenet/a2_fast.cpp */; }; - C2A2FAE122D0000120027AB66 /* wavenet/a2_fast.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C2A2FAE012D0000110027AB66 /* wavenet/a2_fast.cpp */; }; - C2A2FAE132D0000120027AB66 /* wavenet/a2_fast.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C2A2FAE012D0000110027AB66 /* wavenet/a2_fast.cpp */; }; - C2A2FAE142D0000120027AB66 /* wavenet/a2_fast.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C2A2FAE012D0000110027AB66 /* wavenet/a2_fast.cpp */; }; - C2A2FAE152D0000120027AB66 /* wavenet/a2_fast.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C2A2FAE012D0000110027AB66 /* wavenet/a2_fast.cpp */; }; - C2A2FAE162D0000120027AB66 /* wavenet/a2_fast.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C2A2FAE012D0000110027AB66 /* wavenet/a2_fast.cpp */; }; - C2A2FAE172D0000120027AB66 /* wavenet/a2_fast.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C2A2FAE012D0000110027AB66 /* wavenet/a2_fast.cpp */; }; - C2A2FAE182D0000120027AB66 /* wavenet/a2_fast.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C2A2FAE012D0000110027AB66 /* wavenet/a2_fast.cpp */; }; + C2A2FAE112D0000120027AB66 /* a2_fast.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C2A2FAE012D0000110027AB66 /* a2_fast.cpp */; }; + C2A2FAE122D0000120027AB66 /* a2_fast.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C2A2FAE012D0000110027AB66 /* a2_fast.cpp */; }; + C2A2FAE132D0000120027AB66 /* a2_fast.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C2A2FAE012D0000110027AB66 /* a2_fast.cpp */; }; + C2A2FAE142D0000120027AB66 /* a2_fast.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C2A2FAE012D0000110027AB66 /* a2_fast.cpp */; }; + C2A2FAE152D0000120027AB66 /* a2_fast.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C2A2FAE012D0000110027AB66 /* a2_fast.cpp */; }; + C2A2FAE162D0000120027AB66 /* a2_fast.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C2A2FAE012D0000110027AB66 /* a2_fast.cpp */; }; + C2A2FAE172D0000120027AB66 /* a2_fast.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C2A2FAE012D0000110027AB66 /* a2_fast.cpp */; }; + C2A2FAE182D0000120027AB66 /* a2_fast.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C2A2FAE012D0000110027AB66 /* a2_fast.cpp */; }; + C39CBE7BAE22DDCD471CD4A7 /* sequential.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A7443DDD198C9AD5E39E282 /* sequential.cpp */; }; + C80DB778885F62AABB711016 /* a2_planar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 63E3141817CFA8B969A7488B /* a2_planar.cpp */; }; + CB040B0A1C917C156D1849A6 /* nam_file.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1DE72E16F9EA4DD5F22A8ED3 /* nam_file.cpp */; }; + DE40E4D968C73AA17858BB47 /* a2_planar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 63E3141817CFA8B969A7488B /* a2_planar.cpp */; }; + DF67A7128DF60F79A953CE61 /* linear.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E08C695C46B19F8E7AC2864B /* linear.cpp */; }; + E1C0A919EB6F29CB642089B2 /* sequential.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A7443DDD198C9AD5E39E282 /* sequential.cpp */; }; + E4AEA1C7023B0E7CD3874B20 /* linear.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E08C695C46B19F8E7AC2864B /* linear.cpp */; }; + E562D88680506FBE86C4795B /* sequential.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A7443DDD198C9AD5E39E282 /* sequential.cpp */; }; + EF2C946B70AF5E91592C15F2 /* sequential.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A7443DDD198C9AD5E39E282 /* sequential.cpp */; }; + F176DAFFBFC62C5697547BB7 /* nam_file.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1DE72E16F9EA4DD5F22A8ED3 /* nam_file.cpp */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -614,6 +646,9 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ + 08408998DACF3B822BC5ED59 /* detail.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = detail.h; path = wavenet/detail.h; sourceTree = ""; }; + 1A7443DDD198C9AD5E39E282 /* sequential.cpp */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.cpp; path = sequential.cpp; sourceTree = ""; }; + 1DE72E16F9EA4DD5F22A8ED3 /* nam_file.cpp */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.cpp; path = nam_file.cpp; sourceTree = ""; }; 4F037D75261F9DB400A752B5 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = ../resources/Images.xcassets; sourceTree = ""; }; 4F03A55020A4621000EBDFFB /* IGraphicsNanoVG.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGraphicsNanoVG.h; sourceTree = ""; }; 4F03A55420A4621000EBDFFB /* IGraphicsNanoVG.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = IGraphicsNanoVG.cpp; sourceTree = ""; }; @@ -669,13 +704,13 @@ 4F2FB1492A0047420027AB66 /* convnet.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = convnet.h; sourceTree = ""; }; 4F2FB14A2A0047420027AB66 /* lstm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = lstm.h; sourceTree = ""; }; 4F2FB14B2A0047420027AB66 /* convnet.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = convnet.cpp; sourceTree = ""; }; - 4F2FB14C2A0047420027AB66 /* wavenet/model.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wavenet/model.h; sourceTree = ""; }; + 4F2FB14C2A0047420027AB66 /* model.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wavenet/model.h; sourceTree = ""; }; 4F2FB14D2A0047420027AB66 /* lstm.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = lstm.cpp; sourceTree = ""; }; 4F2FB14E2A0047420027AB66 /* util.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = util.h; sourceTree = ""; }; 4F2FB14F2A0047420027AB66 /* dsp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dsp.h; sourceTree = ""; }; 4F2FB1502A0047420027AB66 /* activations.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = activations.h; sourceTree = ""; }; 4F2FB1512A0047420027AB66 /* activations.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = activations.cpp; sourceTree = ""; }; - 4F2FB1522A0047420027AB66 /* wavenet/model.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wavenet/model.cpp; sourceTree = ""; }; + 4F2FB1522A0047420027AB66 /* model.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wavenet/model.cpp; sourceTree = ""; }; 4F2FB1532A0047420027AB66 /* get_dsp.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = get_dsp.cpp; sourceTree = ""; }; 4F2FB1562A0047420027AB67 /* conv1d.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = conv1d.cpp; sourceTree = ""; }; 4F2FB1572A0047420027AB67 /* conv1d.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = conv1d.h; sourceTree = ""; }; @@ -1030,6 +1065,12 @@ 4FFBB94120863E9300DDD0E7 /* IPlugVST3_Parameter.h */ = {isa = PBXFileReference; indentWidth = 2; lastKnownFileType = sourcecode.c.h; name = IPlugVST3_Parameter.h; path = ../../iPlug2/IPlug/VST3/IPlugVST3_Parameter.h; sourceTree = ""; tabWidth = 2; }; 4FFF72B8214BB71400839091 /* main.rc */ = {isa = PBXFileReference; lastKnownFileType = text; name = main.rc; path = ../resources/main.rc; sourceTree = ""; }; 52FBBED30D0CF143001C8B8A /* config.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.c.h; name = config.h; path = ../config.h; sourceTree = ""; tabWidth = 2; usesTabs = 0; }; + 599A29B7CFCA1F86D941EC43 /* params.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = params.h; path = wavenet/params.h; sourceTree = ""; }; + 63E3141817CFA8B969A7488B /* a2_planar.cpp */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.cpp; name = a2_planar.cpp; path = wavenet/a2_planar.cpp; sourceTree = ""; }; + 7C5804E54C769B945368D84B /* container.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = container.h; sourceTree = ""; }; + 804ACCE18181F13579E46C24 /* sequential.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = sequential.h; sourceTree = ""; }; + 9206A491708E6C4CE521F30E /* model_config.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = model_config.h; sourceTree = ""; }; + 945FB5993591652C2812E552 /* linear.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = linear.h; sourceTree = ""; }; AA341E1B2B9E5A530069C260 /* ToneStack.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ToneStack.cpp; path = ../ToneStack.cpp; sourceTree = ""; }; AA341E1C2B9E5A530069C260 /* ToneStack.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ToneStack.h; path = ../ToneStack.h; sourceTree = ""; }; AA355E2C295B688F0061AA3D /* Colors.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Colors.h; path = ../Colors.h; sourceTree = ""; }; @@ -1040,12 +1081,18 @@ AA7C85F82B439AC000B5FB3A /* heapbuf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = heapbuf.h; sourceTree = ""; }; AAB7BBB62CC4B8C6000B8B6E /* get_dsp.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = get_dsp.h; sourceTree = ""; }; AAB7E0102CC4B8C6000B8B6E /* container.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = container.cpp; sourceTree = ""; }; - B1D2F7002D0000010027AB66 /* wavenet/slimmable.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wavenet/slimmable.cpp; sourceTree = ""; }; + B1D2F7002D0000010027AB66 /* slimmable.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wavenet/slimmable.cpp; sourceTree = ""; }; B8E22A0A220268C4007CBF4C /* IPlugVST3_ProcessorBase.cpp */ = {isa = PBXFileReference; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; name = IPlugVST3_ProcessorBase.cpp; path = ../../iPlug2/IPlug/VST3/IPlugVST3_ProcessorBase.cpp; sourceTree = ""; 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 = ""; 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 = ""; tabWidth = 2; }; - C2A2FAE012D0000110027AB66 /* wavenet/a2_fast.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wavenet/a2_fast.cpp; sourceTree = ""; }; - C2A2FAE022D0000110027AB66 /* wavenet/a2_fast.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wavenet/a2_fast.h; sourceTree = ""; }; + C2A2FAE012D0000110027AB66 /* a2_fast.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wavenet/a2_fast.cpp; sourceTree = ""; }; + C2A2FAE022D0000110027AB66 /* a2_fast.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wavenet/a2_fast.h; sourceTree = ""; }; + CFF26E7F3F068D77DC29BE28 /* slimmable.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = slimmable.h; sourceTree = ""; }; + D222523D9582D02CFA0E5E8B /* slimmable.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = slimmable.h; path = wavenet/slimmable.h; sourceTree = ""; }; + D794289C5C50C694D1A7C691 /* compiler.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = compiler.h; sourceTree = ""; }; + E08C695C46B19F8E7AC2864B /* linear.cpp */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.cpp; path = linear.cpp; sourceTree = ""; }; + F35EBCAA9A387421A39A9E8F /* nam_file.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = nam_file.h; sourceTree = ""; }; + FD44429C8F5A2D4E10236935 /* a2_planar.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = a2_planar.h; path = wavenet/a2_planar.h; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -1111,7 +1158,7 @@ /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 089C166AFE841209C02AAC07 /* IPlugExample */ = { + 089C166AFE841209C02AAC07 = { isa = PBXGroup; children = ( 4F2FB1392A0047420027AB66 /* dsp */, @@ -1309,14 +1356,29 @@ 4F2FB1462A0047420027AB66 /* util.cpp */, 4F2FB14E2A0047420027AB66 /* util.h */, 4F2FB1472A0047420027AB66 /* version.h */, - 4F2FB1522A0047420027AB66 /* wavenet/model.cpp */, - C2A2FAE012D0000110027AB66 /* wavenet/a2_fast.cpp */, - C2A2FAE022D0000110027AB66 /* wavenet/a2_fast.h */, - B1D2F7002D0000010027AB66 /* wavenet/slimmable.cpp */, - 4F2FB14C2A0047420027AB66 /* wavenet/model.h */, + 4F2FB1522A0047420027AB66 /* model.cpp */, + C2A2FAE012D0000110027AB66 /* a2_fast.cpp */, + C2A2FAE022D0000110027AB66 /* a2_fast.h */, + B1D2F7002D0000010027AB66 /* slimmable.cpp */, + 4F2FB14C2A0047420027AB66 /* model.h */, 4F2FB15A2A0047420027AB68 /* film.h */, 4F2FB15B2A0047420027AB68 /* gating_activations.h */, 4F2FB15C2A0047420027AB68 /* registry.h */, + 63E3141817CFA8B969A7488B /* a2_planar.cpp */, + FD44429C8F5A2D4E10236935 /* a2_planar.h */, + D794289C5C50C694D1A7C691 /* compiler.h */, + 7C5804E54C769B945368D84B /* container.h */, + E08C695C46B19F8E7AC2864B /* linear.cpp */, + 945FB5993591652C2812E552 /* linear.h */, + 9206A491708E6C4CE521F30E /* model_config.h */, + 1DE72E16F9EA4DD5F22A8ED3 /* nam_file.cpp */, + F35EBCAA9A387421A39A9E8F /* nam_file.h */, + 1A7443DDD198C9AD5E39E282 /* sequential.cpp */, + 804ACCE18181F13579E46C24 /* sequential.h */, + CFF26E7F3F068D77DC29BE28 /* slimmable.h */, + 08408998DACF3B822BC5ED59 /* detail.h */, + 599A29B7CFCA1F86D941EC43 /* params.h */, + D222523D9582D02CFA0E5E8B /* slimmable.h */, ); name = NAM; path = ../../NeuralAmpModelerCore/NAM; @@ -2008,7 +2070,7 @@ 4F4856862773C3B5005BCF8E /* IPlugAUAudioUnit.h in Headers */, 4F2FB15F2A0047420027AB66 /* NoiseGate.h in Headers */, 4F2FB17D2A0047430027AB66 /* dsp.h in Headers */, - 4F2FB1A52A0047430027AB66 /* wavenet/model.h in Headers */, + 4F2FB1A52A0047430027AB66 /* model.h in Headers */, 4F2FB1E22A0047430027AB68 /* film.h in Headers */, 4F2FB1E32A0047430027AB68 /* gating_activations.h in Headers */, 4F2FB1E42A0047430027AB68 /* registry.h in Headers */, @@ -2304,7 +2366,8 @@ de, Base, ); - mainGroup = 089C166AFE841209C02AAC07 /* IPlugExample */; + mainGroup = 089C166AFE841209C02AAC07; + productRefGroup = 19C28FB8FE9D52D311CA2CBB /* Products */; projectDirPath = ""; projectReferences = ( { @@ -2570,9 +2633,9 @@ files = ( 4F2FB1A22A0047430027AB66 /* convnet.cpp in Sources */, 4F2FB1842A0047430027AB66 /* wav.cpp in Sources */, - 4F2FB1C12A0047430027AB66 /* wavenet/model.cpp in Sources */, - B1D2F7072D0000020027AB66 /* wavenet/slimmable.cpp in Sources */, - C2A2FAE112D0000120027AB66 /* wavenet/a2_fast.cpp in Sources */, + 4F2FB1C12A0047430027AB66 /* model.cpp in Sources */, + B1D2F7072D0000020027AB66 /* slimmable.cpp in Sources */, + C2A2FAE112D0000120027AB66 /* a2_fast.cpp in Sources */, AAB7E0122CC4B8C6000B8B6E /* container.cpp in Sources */, 4F2FB1CF2A0047430027AB66 /* conv1d.cpp in Sources */, 4F2FB1D92A0047430027AB66 /* ring_buffer.cpp in Sources */, @@ -2587,6 +2650,10 @@ 4F2FB1782A0047430027AB66 /* ImpulseResponse.cpp in Sources */, 4F2FB1CA2A0047430027AB66 /* get_dsp.cpp in Sources */, 4F2FB1972A0047430027AB66 /* dsp.cpp in Sources */, + 577572438D24C3D87D2364A5 /* a2_planar.cpp in Sources */, + 54CFB79A50DB8A55A4960B49 /* linear.cpp in Sources */, + 73B3F419EE038587B1AA60A3 /* nam_file.cpp in Sources */, + 7373DBCCEAB853E1FC381C97 /* sequential.cpp in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -2610,9 +2677,9 @@ 4F2FB1582A0047420027AB66 /* RecursiveLinearFilter.cpp in Sources */, 4F2FB18A2A0047430027AB66 /* util.cpp in Sources */, 4F993F7423055C96000313AF /* IPlugProcessor.cpp in Sources */, - 4F2FB1BE2A0047430027AB66 /* wavenet/model.cpp in Sources */, - B1D2F7042D0000020027AB66 /* wavenet/slimmable.cpp in Sources */, - C2A2FAE122D0000120027AB66 /* wavenet/a2_fast.cpp in Sources */, + 4F2FB1BE2A0047430027AB66 /* model.cpp in Sources */, + B1D2F7042D0000020027AB66 /* slimmable.cpp in Sources */, + C2A2FAE122D0000120027AB66 /* a2_fast.cpp in Sources */, AAB7E0132CC4B8C6000B8B6E /* container.cpp in Sources */, 4F2FB1D02A0047430027AB66 /* conv1d.cpp in Sources */, 4F2FB1DA2A0047430027AB66 /* ring_buffer.cpp in Sources */, @@ -2632,6 +2699,10 @@ 4F2FB1B52A0047430027AB66 /* activations.cpp in Sources */, 4FB1F58C20E4B006004157C8 /* IGraphicsMac.mm in Sources */, 4F3862F22014BBEC0009F402 /* NeuralAmpModeler.cpp in Sources */, + C80DB778885F62AABB711016 /* a2_planar.cpp in Sources */, + 0F7E58E6E16AB192A3AE7151 /* linear.cpp in Sources */, + 9D442A077D003F42035AB246 /* nam_file.cpp in Sources */, + C39CBE7BAE22DDCD471CD4A7 /* sequential.cpp in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -2653,9 +2724,9 @@ 4F7C496F255DDFCB00DF7588 /* ITextEntryControl.cpp in Sources */, 4F3EE1CF231438D000004786 /* swell-menu.mm in Sources */, 4F2FB1992A0047430027AB66 /* dsp.cpp in Sources */, - 4F2FB1C32A0047430027AB66 /* wavenet/model.cpp in Sources */, - B1D2F7092D0000020027AB66 /* wavenet/slimmable.cpp in Sources */, - C2A2FAE132D0000120027AB66 /* wavenet/a2_fast.cpp in Sources */, + 4F2FB1C32A0047430027AB66 /* model.cpp in Sources */, + B1D2F7092D0000020027AB66 /* slimmable.cpp in Sources */, + C2A2FAE132D0000120027AB66 /* a2_fast.cpp in Sources */, AAB7E0142CC4B8C6000B8B6E /* container.cpp in Sources */, 4F2FB1D12A0047430027AB66 /* conv1d.cpp in Sources */, 4F2FB1DB2A0047430027AB66 /* ring_buffer.cpp in Sources */, @@ -2691,6 +2762,10 @@ 4F2FB1862A0047430027AB66 /* wav.cpp in Sources */, 4F3EE1E4231438D000004786 /* IPlugParameter.cpp in Sources */, 4F3EE1E5231438D000004786 /* IPlugTimer.cpp in Sources */, + DE40E4D968C73AA17858BB47 /* a2_planar.cpp in Sources */, + 56E355C4746A4DC35B0E8B09 /* linear.cpp in Sources */, + 72C8E0A1D9345CDCFB6D16C1 /* nam_file.cpp in Sources */, + 835348ACF25B1A80EDE82D27 /* sequential.cpp in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -2722,9 +2797,9 @@ 4F2FB1982A0047430027AB66 /* dsp.cpp in Sources */, AA341E252B9E5A530069C260 /* ToneStack.cpp in Sources */, 4F78BE2522E7406D00AD537E /* IPlugPluginBase.cpp in Sources */, - 4F2FB1C22A0047430027AB66 /* wavenet/model.cpp in Sources */, - B1D2F7082D0000020027AB66 /* wavenet/slimmable.cpp in Sources */, - C2A2FAE142D0000120027AB66 /* wavenet/a2_fast.cpp in Sources */, + 4F2FB1C22A0047430027AB66 /* model.cpp in Sources */, + B1D2F7082D0000020027AB66 /* slimmable.cpp in Sources */, + C2A2FAE142D0000120027AB66 /* a2_fast.cpp in Sources */, AAB7E0152CC4B8C6000B8B6E /* container.cpp in Sources */, 4F2FB1D22A0047430027AB66 /* conv1d.cpp in Sources */, 4F2FB1DC2A0047430027AB66 /* ring_buffer.cpp in Sources */, @@ -2737,6 +2812,10 @@ 4F2FB1702A0047430027AB66 /* NoiseGate.cpp in Sources */, 4F7C496B255DDFCB00DF7588 /* IPopupMenuControl.cpp in Sources */, 4F2FB15C2A0047420027AB66 /* RecursiveLinearFilter.cpp in Sources */, + 5E94D2B231EBD8932449901E /* a2_planar.cpp in Sources */, + DF67A7128DF60F79A953CE61 /* linear.cpp in Sources */, + 7D6C5E1BA508E7FBC93D8208 /* nam_file.cpp in Sources */, + E562D88680506FBE86C4795B /* sequential.cpp in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -2759,9 +2838,9 @@ 4F81597F205D50EB00393585 /* fdynlib.cpp in Sources */, 4F2FB1802A0047430027AB66 /* wav.cpp in Sources */, 4F2FB1622A0047430027AB66 /* dsp.cpp in Sources */, - 4F2FB1BD2A0047430027AB66 /* wavenet/model.cpp in Sources */, - B1D2F7032D0000020027AB66 /* wavenet/slimmable.cpp in Sources */, - C2A2FAE152D0000120027AB66 /* wavenet/a2_fast.cpp in Sources */, + 4F2FB1BD2A0047430027AB66 /* model.cpp in Sources */, + B1D2F7032D0000020027AB66 /* slimmable.cpp in Sources */, + C2A2FAE152D0000120027AB66 /* a2_fast.cpp in Sources */, AAB7E0162CC4B8C6000B8B6E /* container.cpp in Sources */, 4F2FB1D32A0047430027AB66 /* conv1d.cpp in Sources */, 4F2FB1DD2A0047430027AB66 /* ring_buffer.cpp in Sources */, @@ -2811,6 +2890,10 @@ 4F815988205D50EB00393585 /* coreiids.cpp in Sources */, 4F815993205D51F000393585 /* vstnoteexpressiontypes.cpp in Sources */, 4F2FB1742A0047430027AB66 /* ImpulseResponse.cpp in Sources */, + AD3F2FF514421EB40C868B5B /* a2_planar.cpp in Sources */, + 311623CED50ABF5538272057 /* linear.cpp in Sources */, + 5C69BEF6E12899B89FD73F62 /* nam_file.cpp in Sources */, + 898C7FD3D4991251C3342F52 /* sequential.cpp in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -2842,9 +2925,9 @@ 4F2FB1952A0047430027AB66 /* dsp.cpp in Sources */, AA341E212B9E5A530069C260 /* ToneStack.cpp in Sources */, 4FB600231567CB0A0020189A /* IPlugParameter.cpp in Sources */, - 4F2FB1BF2A0047430027AB66 /* wavenet/model.cpp in Sources */, - B1D2F7052D0000020027AB66 /* wavenet/slimmable.cpp in Sources */, - C2A2FAE162D0000120027AB66 /* wavenet/a2_fast.cpp in Sources */, + 4F2FB1BF2A0047430027AB66 /* model.cpp in Sources */, + B1D2F7052D0000020027AB66 /* slimmable.cpp in Sources */, + C2A2FAE162D0000120027AB66 /* a2_fast.cpp in Sources */, AAB7E0172CC4B8C6000B8B6E /* container.cpp in Sources */, 4F2FB1D42A0047430027AB66 /* conv1d.cpp in Sources */, 4F2FB1DE2A0047430027AB66 /* ring_buffer.cpp in Sources */, @@ -2857,6 +2940,10 @@ 4F2FB16D2A0047430027AB66 /* NoiseGate.cpp in Sources */, 4F7C4962255DDFC600DF7588 /* IPopupMenuControl.cpp in Sources */, 4F2FB1592A0047420027AB66 /* RecursiveLinearFilter.cpp in Sources */, + 32FBDEF19AA8DA7512E80F63 /* a2_planar.cpp in Sources */, + 3FACB4B233BBF581E1FFFB0F /* linear.cpp in Sources */, + CB040B0A1C917C156D1849A6 /* nam_file.cpp in Sources */, + 8904D649F9ED0AA288F0EA47 /* sequential.cpp in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -2901,9 +2988,9 @@ 4F7C4957255DDFC300DF7588 /* ITextEntryControl.cpp in Sources */, 4FD16D3E13B63595001D0217 /* swell-menu.mm in Sources */, 4F2FB1912A0047430027AB66 /* dsp.cpp in Sources */, - 4F2FB1BB2A0047430027AB66 /* wavenet/model.cpp in Sources */, - B1D2F7012D0000020027AB66 /* wavenet/slimmable.cpp in Sources */, - C2A2FAE172D0000120027AB66 /* wavenet/a2_fast.cpp in Sources */, + 4F2FB1BB2A0047430027AB66 /* model.cpp in Sources */, + B1D2F7012D0000020027AB66 /* slimmable.cpp in Sources */, + C2A2FAE172D0000120027AB66 /* a2_fast.cpp in Sources */, AAB7E0182CC4B8C6000B8B6E /* container.cpp in Sources */, 4F2FB1D52A0047430027AB66 /* conv1d.cpp in Sources */, 4F2FB1DF2A0047430027AB66 /* ring_buffer.cpp in Sources */, @@ -2939,6 +3026,10 @@ 4F2FB17E2A0047430027AB66 /* wav.cpp in Sources */, 4F78D91813B63BA50032E0F3 /* IPlugParameter.cpp in Sources */, 4FDAC0EA207D76C600299363 /* IPlugTimer.cpp in Sources */, + 758365941E274A981E5FC9C0 /* a2_planar.cpp in Sources */, + B464BD05366817A9654EC336 /* linear.cpp in Sources */, + 484CC888135C56E2500ABF01 /* nam_file.cpp in Sources */, + EF2C946B70AF5E91592C15F2 /* sequential.cpp in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -2979,9 +3070,9 @@ 4F2FB1772A0047430027AB66 /* ImpulseResponse.cpp in Sources */, 4F2FB1652A0047430027AB66 /* dsp.cpp in Sources */, 4F2FB1AB2A0047430027AB66 /* lstm.cpp in Sources */, - 4F2FB1C02A0047430027AB66 /* wavenet/model.cpp in Sources */, - B1D2F7062D0000020027AB66 /* wavenet/slimmable.cpp in Sources */, - C2A2FAE182D0000120027AB66 /* wavenet/a2_fast.cpp in Sources */, + 4F2FB1C02A0047430027AB66 /* model.cpp in Sources */, + B1D2F7062D0000020027AB66 /* slimmable.cpp in Sources */, + C2A2FAE182D0000120027AB66 /* a2_fast.cpp in Sources */, AAB7E0192CC4B8C6000B8B6E /* container.cpp in Sources */, 4F2FB1D62A0047430027AB66 /* conv1d.cpp in Sources */, 4F2FB1E02A0047430027AB66 /* ring_buffer.cpp in Sources */, @@ -3002,6 +3093,10 @@ 4FFBB93420863B0E00DDD0E7 /* coreiids.cpp in Sources */, 4F5F344720C0226200487201 /* IPlugPaths.mm in Sources */, 4FFBB93520863B0E00DDD0E7 /* vstnoteexpressiontypes.cpp in Sources */, + 698E380BEFB6B20C39CB8598 /* a2_planar.cpp in Sources */, + E4AEA1C7023B0E7CD3874B20 /* linear.cpp in Sources */, + F176DAFFBFC62C5697547BB7 /* nam_file.cpp in Sources */, + E1C0A919EB6F29CB642089B2 /* sequential.cpp in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/NeuralAmpModeler/projects/NeuralAmpModeler-vst3.vcxproj b/NeuralAmpModeler/projects/NeuralAmpModeler-vst3.vcxproj index ec59513a1..3a811bd01 100644 --- a/NeuralAmpModeler/projects/NeuralAmpModeler-vst3.vcxproj +++ b/NeuralAmpModeler/projects/NeuralAmpModeler-vst3.vcxproj @@ -358,6 +358,17 @@ + + + + + + + + + + + @@ -444,6 +455,10 @@ + + + + diff --git a/NeuralAmpModelerCore b/NeuralAmpModelerCore index 9c7b185de..d3814adb2 160000 --- a/NeuralAmpModelerCore +++ b/NeuralAmpModelerCore @@ -1 +1 @@ -Subproject commit 9c7b185de346fe0725dea537bcee4bc38b5bb6d6 +Subproject commit d3814adb2f6e327b71a8df1e36c5515a772d2db4 From ba150975fd8d8f4891562bb6dc9c181cf9fbbc36 Mon Sep 17 00:00:00 2001 From: Rik Hemsley Date: Fri, 11 Sep 2026 16:24:41 +0100 Subject: [PATCH 2/4] Bump NeuralAmpModelerCore to pick up the cached-prewarm fix The rebase behind sdatkinson/NeuralAmpModelerCore#313 had picked up upstream's cached-prewarm optimisation to A2FastModel without adapting the planar models to it, so the previous pin (d3814ad) fails Core's own zero-allocation prewarm test. Follows that fix (d3814ad -> 552c5ab). Verified: VST3 target rebuilds clean (universal arm64+x86_64) with this pin. Co-Authored-By: Claude Sonnet 5 --- NeuralAmpModelerCore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/NeuralAmpModelerCore b/NeuralAmpModelerCore index d3814adb2..552c5ab54 160000 --- a/NeuralAmpModelerCore +++ b/NeuralAmpModelerCore @@ -1 +1 @@ -Subproject commit d3814adb2f6e327b71a8df1e36c5515a772d2db4 +Subproject commit 552c5ab54cb8c2027ba9567c3ae974884e5b68c5 From f1a8c7939774946bb97a9d2fdc7fe6f23e49e60b Mon Sep 17 00:00:00 2001 From: Rik Hemsley Date: Fri, 11 Sep 2026 16:28:09 +0100 Subject: [PATCH 3/4] Point .gitmodules back at sdatkinson/NeuralAmpModelerCore A PR against this repo shouldn't propose changing where its own submodule is fetched from -- that's not something to ship, even temporarily. The pinned commit (552c5ab) still only exists on the fork (rikkus/OptimisationWorkOnNeuralAmpModelerCore) until Core PR #313 merges upstream, so a plain `git submodule update --init` against this branch will fail to fetch it until then; see the PR description for the one-line workaround to build and test locally in the meantime. Once #313 merges, the next pin bump needs no special handling -- .gitmodules already points at the right place. Co-Authored-By: Claude Sonnet 5 --- .gitmodules | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitmodules b/.gitmodules index 474f6d291..e7f81f8d4 100644 --- a/.gitmodules +++ b/.gitmodules @@ -9,4 +9,4 @@ url = https://github.com/sdatkinson/AudioDSPTools.git [submodule "NeuralAmpModelerCore"] path = NeuralAmpModelerCore - url = https://github.com/rikkus/OptimisationWorkOnNeuralAmpModelerCore.git + url = https://github.com/sdatkinson/NeuralAmpModelerCore.git From 7bddf78f01b1c553c68fa0cc08b7fc94e1142787 Mon Sep 17 00:00:00 2001 From: Rik Hemsley Date: Sat, 12 Sep 2026 11:36:34 +0100 Subject: [PATCH 4/4] Bump NeuralAmpModelerCore to pick up the run_tests optimisation fix Core PR #313's parity test could not pass as wired: run_tests compiles all of its sources at -O0, where GCC does not contract A2FastModel's 3-channel `a * b + c` chain into an FMA, so the reference stopped being the code the kernels reproduce. Fixed there by building the A2 kernels as an -O3 object library for that target only (552c5ab -> 44412fa). Core-side build config only -- the one file changed is Core's tools/CMakeLists.txt, which the plugin's Xcode projects never read, so nothing about this plugin's build changes. Co-Authored-By: Claude Opus 5 --- NeuralAmpModelerCore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/NeuralAmpModelerCore b/NeuralAmpModelerCore index 552c5ab54..44412fad6 160000 --- a/NeuralAmpModelerCore +++ b/NeuralAmpModelerCore @@ -1 +1 @@ -Subproject commit 552c5ab54cb8c2027ba9567c3ae974884e5b68c5 +Subproject commit 44412fad6ad135d51218785e15dc7418c29a2124