8 Commits

Author SHA1 Message Date
Mike Oliphant 3d0e1c26a4 Bump version -> 0.2.3 2026-07-20 07:17:03 -07:00
Mike Oliphant f40f72536e clang22 for linux x64, gcc16 for rpi, 8frame convo for rpi5 2026-07-20 07:07:04 -07:00
Mike Oliphant b0b720bc3c Fix race condition when setting the quality scale while loading a model 2026-07-18 16:30:20 -07:00
Mike Oliphant 1bb859eec7 Merge branch 'main' of https://github.com/mikeoliphant/neural-amp-modeler-lv2 2026-07-17 10:03:29 -07:00
Mike Oliphant 2b83c812ad Update Cmake. Update NeuralAudio. 2026-07-17 10:03:18 -07:00
mikeoliphant 423813bbdd O3 instead of Ofast for gcc/clang 2026-07-16 12:36:20 -07:00
Mike Oliphant 9981fd4005 Update NeuralAudio 2026-07-15 09:53:29 -07:00
Mike Oliphant a5e59e2f86 Update NeuralAudio. Disable optimized 8x8 convolution for x64 if native arch is off. 2026-07-08 17:58:00 -07:00
6 changed files with 25 additions and 26 deletions
+6 -6
View File
@@ -42,15 +42,15 @@ jobs:
with:
submodules: recursive
- name: Setup GCC 15
uses: egor-tensin/setup-gcc@v2
- name: Setup Clang 21
uses: egor-tensin/setup-clang@v2
with:
version: '15'
version: '22'
- name: Build Plugin
working-directory: ${{github.workspace}}/build
env:
CXX: g++-15
CXX: clang++
CXXFLAGS: "-static-libstdc++ -static-libgcc"
run: |
cmake .. -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DUSE_NATIVE_ARCH=${{ matrix.native_arch }} -DBUILD_NAMCORE=ON -DBUILD_INTERNAL_STATIC_WAVENET=ON -DBUILD_INTERNAL_STATIC_LSTM=ON
@@ -78,7 +78,7 @@ jobs:
native_arch: [rpi4, rpi5]
runs-on: ubuntu-latest
container:
image: ghcr.io/tttapa/docker-arm-cross-toolchain:aarch64-rpi3-linux-gnu-gcc15
image: ghcr.io/tttapa/docker-arm-cross-toolchain:aarch64-rpi3-linux-gnu-gcc16
env:
ARCHIVE_NAME: neural_amp_modeler_lv2_${{ matrix.native_arch }}.tgz
steps:
@@ -91,7 +91,7 @@ jobs:
env:
CXXFLAGS: "-static-libstdc++ -static-libgcc"
run: |
cmake .. -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DBUILD_NAMCORE=ON -DBUILD_INTERNAL_STATIC_WAVENET=ON -DBUILD_INTERNAL_STATIC_LSTM=ON -DCMAKE_TOOLCHAIN_FILE=/home/develop/opt/x-tools/aarch64-rpi3-linux-gnu/aarch64-${{ matrix.native_arch }}-linux-gnu.toolchain.cmake
cmake .. -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DBUILD_NAMCORE=ON -DBUILD_INTERNAL_STATIC_WAVENET=ON -DBUILD_INTERNAL_STATIC_LSTM=ON ${{ matrix.native_arch == 'rpi5' && '-DMULTIFRAME_8X8_CONVOLUTION=8' || '' }} -DCMAKE_TOOLCHAIN_FILE=/home/develop/opt/x-tools/aarch64-rpi3-linux-gnu/aarch64-${{ matrix.native_arch }}-linux-gnu.toolchain.cmake
cmake --build . --config $BUILD_TYPE -j4
- name: Add LV2 Archive
+1 -1
View File
@@ -1,6 +1,6 @@
cmake_minimum_required(VERSION 3.10)
project(NeuralAmpModelerLv2 VERSION 0.2.2)
project(NeuralAmpModelerLv2 VERSION 0.2.3)
set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake")
set(LIB_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/lib CACHE PATH "The library install dir (default: lib)")
+6 -5
View File
@@ -8,8 +8,8 @@ else()
-Wall
# -Wpedantic -Wextra -Wstrict-aliasing -Wunreachable-code -Weffc++ -Wno-unused-parameter
"$<$<CONFIG:DEBUG>:-Og;-ggdb>"
"$<$<CONFIG:RELWITHDEBINFO>:-Ofast>"
"$<$<CONFIG:RELEASE>:-Ofast>"
"$<$<CONFIG:RELWITHDEBINFO>:-O3>"
"$<$<CONFIG:RELEASE>:-O3>"
)
endif()
@@ -19,13 +19,14 @@ if (CMAKE_SYSTEM_PROCESSOR MATCHES "(amd64)|(AMD64)|(x86_64)")
if (USE_NATIVE_ARCH)
if (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
add_compile_options(/arch:AVX2)
message(STATUS "Enabling /arch:AVX2")
add_compile_options(/arch:AVX2 /fp:fast)
message(STATUS "Enabling /arch:AVX2")
else()
add_compile_options(-march=x86-64-v3)
message(STATUS "Enabling -march=x86-64-v3")
endif()
else()
set(MULTIFRAME_8X8_CONVOLUTION OFF CACHE BOOL "0" FORCE)
endif (USE_NATIVE_ARCH)
endif ()
+11 -12
View File
@@ -222,6 +222,12 @@ namespace NAM {
lv2_atom_forge_set_buffer(&atom_forge, (uint8_t*)ports.notify, ports.notify->atom.size);
lv2_atom_forge_sequence_head(&atom_forge, &sequence_frame, uris.units_frame);
if (*(ports.quality_scale) != loader.GetDefaultQualityScaleFactor())
{
// Do this before checking the model path parameter so we make sure to set the quality first
loader.SetDefaultQualityScaleFactor(*(ports.quality_scale));
}
LV2_ATOM_SEQUENCE_FOREACH(ports.control, event)
{
if (event->body.type == uris.atom_Object)
@@ -254,24 +260,17 @@ namespace NAM {
}
}
if (*(ports.quality_scale) != qualityScale)
{
qualityScale = *(ports.quality_scale);
loader.SetDefaultQualityScaleFactor(qualityScale);
if (currentModel != nullptr)
{
currentModel->SetQualityScaleFactor(qualityScale);
}
}
float level;
float modelInputAdjustmentDB = 0;
if (currentModel != nullptr)
{
if (*(ports.quality_scale) != currentModel->GetQualityScaleFactor())
{
currentModel->SetQualityScaleFactor(*(ports.quality_scale));
}
modelInputAdjustmentDB = currentModel->GetRecommendedInputDBAdjustment();
#ifdef SMART_BYPASS_ENABLED
-1
View File
@@ -76,7 +76,6 @@ namespace NAM {
std::string currentModelPath;
float prevDCInput = 0;
float prevDCOutput = 0;
float qualityScale = 1.0f;
Plugin();
~Plugin();