commit 0404408445de9cd01694e8eee37ef63cc6c8f49a parent 6283854a6a1566aa6c5f8665a36721f79aa0a120 Author: jatinchowdhury18 <[email protected]> Date: Mon, 16 Oct 2023 22:05:39 -0700 Presets improvements (#311) * Normalizing factory preset output levels * CI tweaks and making mix group parameter preset agnostic * Update validation script for MacOS Diffstat:
38 files changed, 224 insertions(+), 154 deletions(-)
diff --git a/.github/workflows/clang-tidy.yml b/.github/workflows/clang-tidy.yml @@ -1,48 +1,48 @@ -name: clang-tidy - -on: - pull_request: - branches: - - main - - develop - paths: - - '**.cpp' - - '**.h' - - workflow_dispatch: - -jobs: - build_and_test: - if: contains(toJson(github.event.commits), '***NO_CI***') == false && contains(toJson(github.event.commits), '[ci skip]') == false && contains(toJson(github.event.commits), '[skip ci]') == false - name: Run clang-tidy on pull request - runs-on: ubuntu-latest - - steps: - - name: Install Linux Deps - if: runner.os == 'Linux' - run: | - sudo apt-get update - sudo apt install clang-tidy - - - name: Checkout code - uses: actions/checkout@v2 - with: - persist-credentials: false - fetch-depth: 0 - - - name: Run clang-tidy - shell: bash - working-directory: ${{github.workspace}}/Plugin - run: find Source -iname "*.cpp" -not -path "Source/Headless*" | xargs clang-tidy > tidy_log.txt && status=0 || status=1 - - - name: Check results - shell: bash - working-directory: ${{github.workspace}}/Plugin - run: | - num_failures=$(grep "" -c tidy_log.txt) - num_ignore=$(echo $(($(grep "file not found" -c tidy_log.txt)*3))) - num_actual=$(($num_failures - $num_ignore)) - if [ "$num_actual" -gt 1 ]; then - more tidy_log.txt - exit 1 - fi +#name: clang-tidy +# +#on: +# pull_request: +# branches: +# - main +# - develop +# paths: +# - '**.cpp' +# - '**.h' +# +# workflow_dispatch: +# +#jobs: +# build_and_test: +# if: contains(toJson(github.event.commits), '***NO_CI***') == false && contains(toJson(github.event.commits), '[ci skip]') == false && contains(toJson(github.event.commits), '[skip ci]') == false +# name: Run clang-tidy on pull request +# runs-on: ubuntu-latest +# +# steps: +# - name: Install Linux Deps +# if: runner.os == 'Linux' +# run: | +# sudo apt-get update +# sudo apt install clang-tidy +# +# - name: Checkout code +# uses: actions/checkout@v2 +# with: +# persist-credentials: false +# fetch-depth: 0 +# +# - name: Run clang-tidy +# shell: bash +# working-directory: ${{github.workspace}}/Plugin +# run: find Source -iname "*.cpp" -not -path "Source/Headless*" | xargs clang-tidy > tidy_log.txt && status=0 || status=1 +# +# - name: Check results +# shell: bash +# working-directory: ${{github.workspace}}/Plugin +# run: | +# num_failures=$(grep "" -c tidy_log.txt) +# num_ignore=$(echo $(($(grep "file not found" -c tidy_log.txt)*3))) +# num_actual=$(($num_failures - $num_ignore)) +# if [ "$num_actual" -gt 1 ]; then +# more tidy_log.txt +# exit 1 +# fi diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml @@ -48,7 +48,7 @@ jobs: - name: Configure shell: bash working-directory: ${{github.workspace}}/Plugin - run: cmake -Bbuild -DBUILD_HEADLESS=ON + run: cmake -Bbuild -DBUILD_HEADLESS=ON -DCMAKE_BUILD_TYPE=Release - name: Build shell: bash diff --git a/.github/workflows/ios.yml b/.github/workflows/ios.yml @@ -1,63 +1,63 @@ -name: CI-iOS - -on: - push: - branches: - - master - - develop - paths-ignore: - - 'Manual/**' - - 'Paper/**' - - 'Simulations/**' - - 'Testing/**' - - 'Scripts/**' - - '*.md' - pull_request: - branches: - - master - - develop - paths-ignore: - - 'Manual/**' - - 'Paper/**' - - 'Simulations/**' - - 'Testing/**' - - 'Scripts/**' - - '*.md' - - workflow_dispatch: - -jobs: - build_and_test: - if: contains(toJson(github.event.commits), '***NO_CI***') == false && contains(toJson(github.event.commits), '[ci skip]') == false && contains(toJson(github.event.commits), '[skip ci]') == false - name: Build AUv3 plugin for iOS - runs-on: macos-latest - - steps: - - name: Get latest CMake - uses: lukka/get-cmake@latest - - - name: Checkout code - uses: actions/checkout@v2 - with: - submodules: recursive - - - uses: Apple-Actions/import-codesign-certs@v1 - with: - p12-file-base64: ${{ secrets.MAC_CERTIFICATES_BASE64 }} - p12-password: ${{ secrets.MAC_CERTIFICATES_PASS }} - - - uses: Apple-Actions/download-provisioning-profiles@v1 - with: - bundle-id: com.chowdsp.CHOWTapeModel* - issuer-id: ${{ secrets.APPSTORE_ISSUER_ID }} - api-key-id: ${{ secrets.APPSTORE_KEY_ID }} - api-private-key: ${{ secrets.APPSTORE_PRIVATE_KEY }} - - - name: Configure - shell: bash - run: cmake -Bbuild-ios Plugin -GXcode -DCMAKE_SYSTEM_NAME=iOS -DCMAKE_OSX_DEPLOYMENT_TARGET=11.4 -DCMAKE_XCODE_ATTRIBUTE_TARGETED_DEVICE_FAMILY="1,2" -DCMAKE_XCODE_ATTRIBUTE_CODE_SIGN_STYLE="Manual" -DCMAKE_XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY="Apple Distribution" -DCMAKE_XCODE_ATTRIBUTE_PROVISIONING_PROFILE_SPECIFIER="ChowTapeModel" -DCMAKE_XCODE_ATTRIBUTE_DEVELOPMENT_TEAM=${{ secrets.APPLE_TEAM_ID }} - - - - name: Build - shell: bash - run: cmake --build build-ios --config Release --parallel 4 | xcpretty +#name: CI-iOS +# +#on: +# push: +# branches: +# - master +# - develop +# paths-ignore: +# - 'Manual/**' +# - 'Paper/**' +# - 'Simulations/**' +# - 'Testing/**' +# - 'Scripts/**' +# - '*.md' +# pull_request: +# branches: +# - master +# - develop +# paths-ignore: +# - 'Manual/**' +# - 'Paper/**' +# - 'Simulations/**' +# - 'Testing/**' +# - 'Scripts/**' +# - '*.md' +# +# workflow_dispatch: +# +#jobs: +# build_and_test: +# if: contains(toJson(github.event.commits), '***NO_CI***') == false && contains(toJson(github.event.commits), '[ci skip]') == false && contains(toJson(github.event.commits), '[skip ci]') == false +# name: Build AUv3 plugin for iOS +# runs-on: macos-latest +# +# steps: +# - name: Get latest CMake +# uses: lukka/get-cmake@latest +# +# - name: Checkout code +# uses: actions/checkout@v2 +# with: +# submodules: recursive +# +# - uses: Apple-Actions/import-codesign-certs@v1 +# with: +# p12-file-base64: ${{ secrets.MAC_CERTIFICATES_BASE64 }} +# p12-password: ${{ secrets.MAC_CERTIFICATES_PASS }} +# +# - uses: Apple-Actions/download-provisioning-profiles@v1 +# with: +# bundle-id: com.chowdsp.CHOWTapeModel* +# issuer-id: ${{ secrets.APPSTORE_ISSUER_ID }} +# api-key-id: ${{ secrets.APPSTORE_KEY_ID }} +# api-private-key: ${{ secrets.APPSTORE_PRIVATE_KEY }} +# +# - name: Configure +# shell: bash +# run: cmake -Bbuild-ios Plugin -GXcode -DCMAKE_SYSTEM_NAME=iOS -DCMAKE_OSX_DEPLOYMENT_TARGET=11.4 -DCMAKE_XCODE_ATTRIBUTE_TARGETED_DEVICE_FAMILY="1,2" -DCMAKE_XCODE_ATTRIBUTE_CODE_SIGN_STYLE="Manual" -DCMAKE_XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY="Apple Distribution" -DCMAKE_XCODE_ATTRIBUTE_PROVISIONING_PROFILE_SPECIFIER="ChowTapeModel" -DCMAKE_XCODE_ATTRIBUTE_DEVELOPMENT_TEAM=${{ secrets.APPLE_TEAM_ID }} +# +# +# - name: Build +# shell: bash +# run: cmake --build build-ios --config Release --parallel 4 | xcpretty diff --git a/Plugin/Source/Headless/CMakeLists.txt b/Plugin/Source/Headless/CMakeLists.txt @@ -21,6 +21,7 @@ target_sources(ChowTapeModel_Headless PRIVATE UnitTests/MultiChannelTest.cpp UnitTests/SpeedTest.cpp UnitTests/STNTest.cpp + UnitTests/PresetLevelTest.cpp ) target_include_directories(ChowTapeModel_Headless PRIVATE ../) diff --git a/Plugin/Source/Headless/UnitTests/PresetLevelTest.cpp b/Plugin/Source/Headless/UnitTests/PresetLevelTest.cpp @@ -0,0 +1,63 @@ +#include "PluginProcessor.h" + +class PresetLevelTest : public UnitTest +{ +public: + PresetLevelTest() : UnitTest ("PresetLevelTest") + { + } + + void runTest() override + { + beginTest ("Preset Level Test"); + + std::unique_ptr<ChowtapeModelAudioProcessor> proc { + dynamic_cast<ChowtapeModelAudioProcessor*> (createPluginFilterOfType ( + AudioProcessor::WrapperType::wrapperType_Standalone)) + }; + + static constexpr double sampleRate = 48000.0; + static constexpr int blockSize = 512; + const auto numChannels = proc->getMainBusNumInputChannels(); + + auto rand = getRandom(); + + juce::AudioBuffer<float> buffer { numChannels, blockSize }; + juce::MidiBuffer midi; + + for (int programIdx = 0; programIdx < proc->getNumPrograms(); ++programIdx) + { + proc->setCurrentProgram (programIdx); + logMessage ("Loading preset: " + proc->getProgramName (programIdx)); + proc->prepareToPlay (sampleRate, blockSize); + + float maxMagnitudeDB = 0.0f; + for (int i = 0; i < 10; ++i) + { + for (int ch = 0; ch < numChannels; ++ch) + { + for (int n = 0; n < blockSize; ++n) + buffer.setSample (ch, n, rand.nextFloat() * 2.0f - 1.0f); + } + + proc->processBlock (buffer, midi); + + const auto magnitudeDB = chowdsp::BufferMath::getMagnitude (buffer); + expectGreaterThan (magnitudeDB, -60.0f); + expectLessOrEqual (magnitudeDB, 3.0f); + + maxMagnitudeDB = juce::jmax (magnitudeDB, maxMagnitudeDB); + } + expectGreaterThan (maxMagnitudeDB, -3.0f); + + proc->releaseResources(); + } + } +}; + +static PresetLevelTest presetLevelTest; + +// Sink / Chorus4 +// Carter / Bass - 808 Maker +// Carter / Guitar - Short Plucked +// COolWAV / Drift with me diff --git a/Plugin/Source/Presets/PresetConfigs/AEIOU/AEIOU_DisintegratedMemories.chowpreset b/Plugin/Source/Presets/PresetConfigs/AEIOU/AEIOU_DisintegratedMemories.chowpreset @@ -15,7 +15,7 @@ <PARAM id="h_bass" value="-0.2000000476837158"/> <PARAM id="h_treble" value="0.7999999523162842"/> <PARAM id="ingain" value="2.0"/> - <PARAM id="mode" value="4.0"/> + <PARAM id="mode" value="2"/> <PARAM id="os" value="2.0"/> <PARAM id="outgain" value="0.0"/> <PARAM id="rate" value="0.5"/> diff --git a/Plugin/Source/Presets/PresetConfigs/AEIOU/AEIOU_FunkThat1987.chowpreset b/Plugin/Source/Presets/PresetConfigs/AEIOU/AEIOU_FunkThat1987.chowpreset @@ -15,7 +15,7 @@ <PARAM id="h_bass" value="-0.6000000238418579"/> <PARAM id="h_treble" value="-0.4000000357627869"/> <PARAM id="ingain" value="0.0"/> - <PARAM id="mode" value="4.0"/> + <PARAM id="mode" value="2"/> <PARAM id="os" value="3.0"/> <PARAM id="outgain" value="0.0"/> <PARAM id="rate" value="0.199999988079071"/> diff --git a/Plugin/Source/Presets/PresetConfigs/AEIOU/AEIOU_Warehouse1997.chowpreset b/Plugin/Source/Presets/PresetConfigs/AEIOU/AEIOU_Warehouse1997.chowpreset @@ -33,7 +33,7 @@ <PARAM id="ingain" value="-2.0"/> <PARAM id="loss_onoff" value="1.0"/> <PARAM id="mix_group" value="0.0"/> - <PARAM id="mode" value="4.0"/> + <PARAM id="mode" value="2"/> <PARAM id="os" value="2.0"/> <PARAM id="os_mode" value="0.0"/> <PARAM id="os_render_factor" value="1.0"/> diff --git a/Plugin/Source/Presets/PresetConfigs/Carter/Bad Tape Good Player.chowpreset b/Plugin/Source/Presets/PresetConfigs/Carter/Bad Tape Good Player.chowpreset @@ -29,7 +29,7 @@ <PARAM id="ingain" value="0.0"/> <PARAM id="loss_onoff" value="1.0"/> <PARAM id="mix_group" value="0.0"/> - <PARAM id="mode" value="0.0"/> + <PARAM id="mode" value="2"/> <PARAM id="os" value="1.0"/> <PARAM id="outgain" value="0.0"/> <PARAM id="preset" value="33"/> diff --git a/Plugin/Source/Presets/PresetConfigs/Carter/Bass/Bass - 808 Maker.chowpreset b/Plugin/Source/Presets/PresetConfigs/Carter/Bass/Bass - 808 Maker.chowpreset @@ -29,7 +29,7 @@ <PARAM id="ingain" value="1.329999923706055"/> <PARAM id="loss_onoff" value="1.0"/> <PARAM id="mix_group" value="0.0"/> - <PARAM id="mode" value="0.0"/> + <PARAM id="mode" value="2"/> <PARAM id="os" value="1.0"/> <PARAM id="outgain" value="-3.220001220703125"/> <PARAM id="preset" value="38"/> diff --git a/Plugin/Source/Presets/PresetConfigs/Carter/Bass/Bass - Warm Tape.chowpreset b/Plugin/Source/Presets/PresetConfigs/Carter/Bass/Bass - Warm Tape.chowpreset @@ -29,8 +29,8 @@ <PARAM id="ingain" value="0.0"/> <PARAM id="loss_onoff" value="1.0"/> <PARAM id="mix_group" value="0.0"/> - <PARAM id="mode" value="0.0"/> - <PARAM id="os" value="1.0"/> + <PARAM id="mode" value="2"/> + <PARAM id="os" value="2"/> <PARAM id="outgain" value="-2.120000839233398"/> <PARAM id="preset" value="47"/> <PARAM id="rate" value="0.009999999776482582"/> diff --git a/Plugin/Source/Presets/PresetConfigs/Carter/Cozy Unstable.chowpreset b/Plugin/Source/Presets/PresetConfigs/Carter/Cozy Unstable.chowpreset @@ -26,9 +26,9 @@ <PARAM id="ingain" value="0.0"/> <PARAM id="loss_onoff" value="1.0"/> <PARAM id="mix_group" value="0.0"/> - <PARAM id="mode" value="0.0"/> + <PARAM id="mode" value="2"/> <PARAM id="os" value="2.0"/> - <PARAM id="outgain" value="3.75"/> + <PARAM id="outgain" value="0.0"/> <PARAM id="preset" value="60"/> <PARAM id="rate" value="0.3599999845027924"/> <PARAM id="sat" value="0.5"/> diff --git a/Plugin/Source/Presets/PresetConfigs/Carter/Fast Wobble.chowpreset b/Plugin/Source/Presets/PresetConfigs/Carter/Fast Wobble.chowpreset @@ -29,9 +29,9 @@ <PARAM id="ingain" value="0.0"/> <PARAM id="loss_onoff" value="1.0"/> <PARAM id="mix_group" value="0.0"/> - <PARAM id="mode" value="4.0"/> + <PARAM id="mode" value="2"/> <PARAM id="os" value="1.0"/> - <PARAM id="outgain" value="1.979999542236328"/> + <PARAM id="outgain" value="0.0"/> <PARAM id="preset" value="61"/> <PARAM id="rate" value="0.199999988079071"/> <PARAM id="sat" value="0.5"/> diff --git a/Plugin/Source/Presets/PresetConfigs/Carter/Good Tape Bad Player.chowpreset b/Plugin/Source/Presets/PresetConfigs/Carter/Good Tape Bad Player.chowpreset @@ -29,7 +29,7 @@ <PARAM id="ingain" value="0.0"/> <PARAM id="loss_onoff" value="1.0"/> <PARAM id="mix_group" value="0.0"/> - <PARAM id="mode" value="0.0"/> + <PARAM id="mode" value="2"/> <PARAM id="os" value="1.0"/> <PARAM id="outgain" value="0.0"/> <PARAM id="preset" value="30"/> diff --git a/Plugin/Source/Presets/PresetConfigs/Carter/Guitar/Guitar - Phaser Like.chowpreset b/Plugin/Source/Presets/PresetConfigs/Carter/Guitar/Guitar - Phaser Like.chowpreset @@ -29,7 +29,7 @@ <PARAM id="ingain" value="0.0"/> <PARAM id="loss_onoff" value="1.0"/> <PARAM id="mix_group" value="0.0"/> - <PARAM id="mode" value="0.0"/> + <PARAM id="mode" value="2"/> <PARAM id="os" value="2.0"/> <PARAM id="outgain" value="1.979999542236328"/> <PARAM id="preset" value="60"/> diff --git a/Plugin/Source/Presets/PresetConfigs/Carter/Guitar/Guitar - Short Plucked.chowpreset b/Plugin/Source/Presets/PresetConfigs/Carter/Guitar/Guitar - Short Plucked.chowpreset @@ -29,7 +29,7 @@ <PARAM id="ingain" value="0.0"/> <PARAM id="loss_onoff" value="1.0"/> <PARAM id="mix_group" value="0.0"/> - <PARAM id="mode" value="0.0"/> + <PARAM id="mode" value="2"/> <PARAM id="os" value="1.0"/> <PARAM id="outgain" value="1.94999885559082"/> <PARAM id="preset" value="40"/> @@ -39,7 +39,7 @@ <PARAM id="speed" value="7.5"/> <PARAM id="thick" value="0.6129428744316101"/> <PARAM id="tone_onoff" value="1.0"/> - <PARAM id="width" value="1.0"/> + <PARAM id="width" value="0.85"/> <PARAM id="wow_depth" value="0.1599999964237213"/> <PARAM id="wow_drift" value="0.09999999403953552"/> <PARAM id="wow_rate" value="0.5"/> diff --git a/Plugin/Source/Presets/PresetConfigs/Carter/HighHats/High Hats - Hats Shorter.chowpreset b/Plugin/Source/Presets/PresetConfigs/Carter/HighHats/High Hats - Hats Shorter.chowpreset @@ -30,8 +30,8 @@ <PARAM id="loss_onoff" value="1.0"/> <PARAM id="mix_group" value="0.0"/> <PARAM id="mode" value="0.0"/> - <PARAM id="os" value="1.0"/> - <PARAM id="outgain" value="0.25"/> + <PARAM id="os" value="2"/> + <PARAM id="outgain" value="-15.0"/> <PARAM id="preset" value="61"/> <PARAM id="rate" value="0.04999999701976776"/> <PARAM id="sat" value="0.699999988079071"/> diff --git a/Plugin/Source/Presets/PresetConfigs/CoolWAV/CoolWAV_ChewLoss.chowpreset b/Plugin/Source/Presets/PresetConfigs/CoolWAV/CoolWAV_ChewLoss.chowpreset @@ -14,8 +14,8 @@ <PARAM id="gap" value="3.102849960327148"/> <PARAM id="h_bass" value="-1.0"/> <PARAM id="h_treble" value="1.0"/> - <PARAM id="ingain" value="1.010000228881836"/> - <PARAM id="mode" value="4.0"/> + <PARAM id="ingain" value="0.0"/> + <PARAM id="mode" value="2"/> <PARAM id="os" value="4.0"/> <PARAM id="outgain" value="-0.720001220703125"/> <PARAM id="rate" value="0.2999999821186066"/> diff --git a/Plugin/Source/Presets/PresetConfigs/CoolWAV/CoolWAV_DriftwithMe.chowpreset b/Plugin/Source/Presets/PresetConfigs/CoolWAV/CoolWAV_DriftwithMe.chowpreset @@ -34,7 +34,7 @@ <PARAM id="loss_onoff" value="1.0"/> <PARAM id="mid_side" value="0.0"/> <PARAM id="mix_group" value="0.0"/> - <PARAM id="mode" value="0.0"/> + <PARAM id="mode" value="2"/> <PARAM id="os" value="1.0"/> <PARAM id="os_mode" value="0.0"/> <PARAM id="os_render_factor" value="1.0"/> @@ -48,7 +48,7 @@ <PARAM id="speed" value="15.00000095367432"/> <PARAM id="thick" value="0.1000000014901161"/> <PARAM id="tone_onoff" value="1.0"/> - <PARAM id="width" value="1.0"/> + <PARAM id="width" value="0.85"/> <PARAM id="wow_depth" value="0.1599999964237213"/> <PARAM id="wow_drift" value="1.0"/> <PARAM id="wow_rate" value="0.3799999952316284"/> diff --git a/Plugin/Source/Presets/PresetConfigs/CoolWAV/CoolWAV_HeavyDrumloop.chowpreset b/Plugin/Source/Presets/PresetConfigs/CoolWAV/CoolWAV_HeavyDrumloop.chowpreset @@ -34,7 +34,7 @@ <PARAM id="loss_onoff" value="1.0"/> <PARAM id="mid_side" value="0.0"/> <PARAM id="mix_group" value="0.0"/> - <PARAM id="mode" value="0.0"/> + <PARAM id="mode" value="2"/> <PARAM id="os" value="1.0"/> <PARAM id="os_mode" value="0.0"/> <PARAM id="os_render_factor" value="1.0"/> diff --git a/Plugin/Source/Presets/PresetConfigs/CoolWAV/CoolWAV_StudioTime.chowpreset b/Plugin/Source/Presets/PresetConfigs/CoolWAV/CoolWAV_StudioTime.chowpreset @@ -34,7 +34,7 @@ <PARAM id="loss_onoff" value="1.0"/> <PARAM id="mid_side" value="0.0"/> <PARAM id="mix_group" value="0.0"/> - <PARAM id="mode" value="4.0"/> + <PARAM id="mode" value="2"/> <PARAM id="os" value="1.0"/> <PARAM id="os_mode" value="0.0"/> <PARAM id="os_render_factor" value="1.0"/> diff --git a/Plugin/Source/Presets/PresetConfigs/CoolWAV/CoolWAV_TapeWide.chowpreset b/Plugin/Source/Presets/PresetConfigs/CoolWAV/CoolWAV_TapeWide.chowpreset @@ -34,7 +34,7 @@ <PARAM id="loss_onoff" value="1.0"/> <PARAM id="mid_side" value="0.0"/> <PARAM id="mix_group" value="0.0"/> - <PARAM id="mode" value="0.0"/> + <PARAM id="mode" value="2"/> <PARAM id="os" value="1.0"/> <PARAM id="os_mode" value="0.0"/> <PARAM id="os_render_factor" value="1.0"/> diff --git a/Plugin/Source/Presets/PresetConfigs/Factory/Default.chowpreset b/Plugin/Source/Presets/PresetConfigs/Factory/Default.chowpreset @@ -15,7 +15,7 @@ <PARAM id="h_bass" value="0.0"/> <PARAM id="h_treble" value="0.0"/> <PARAM id="ingain" value="0.0"/> - <PARAM id="mode" value="0"/> + <PARAM id="mode" value="2"/> <PARAM id="os" value="1"/> <PARAM id="outgain" value="0.0"/> <PARAM id="rate" value="0.2999999821186066"/> diff --git a/Plugin/Source/Presets/PresetConfigs/Factory/OldTape.chowpreset b/Plugin/Source/Presets/PresetConfigs/Factory/OldTape.chowpreset @@ -16,7 +16,7 @@ <PARAM id="h_bass" value="0.0"/> <PARAM id="h_treble" value="0.0"/> <PARAM id="ingain" value="0.0"/> - <PARAM id="mode" value="0"/> + <PARAM id="mode" value="2"/> <PARAM id="os" value="1"/> <PARAM id="outgain" value="0.0"/> <PARAM id="rate" value="0.2999999821186066"/> diff --git a/Plugin/Source/Presets/PresetConfigs/Factory/Underbiased.chowpreset b/Plugin/Source/Presets/PresetConfigs/Factory/Underbiased.chowpreset @@ -15,7 +15,7 @@ <PARAM id="h_bass" value="0.0"/> <PARAM id="h_treble" value="0.0"/> <PARAM id="ingain" value="0.0"/> - <PARAM id="mode" value="0"/> + <PARAM id="mode" value="2"/> <PARAM id="os" value="1"/> <PARAM id="outgain" value="0.0"/> <PARAM id="rate" value="0.2999999821186066"/> diff --git a/Plugin/Source/Presets/PresetConfigs/Factory/WoozyChorus.chowpreset b/Plugin/Source/Presets/PresetConfigs/Factory/WoozyChorus.chowpreset @@ -15,7 +15,7 @@ <PARAM id="h_bass" value="0.0"/> <PARAM id="h_treble" value="0.0"/> <PARAM id="ingain" value="0.0"/> - <PARAM id="mode" value="0"/> + <PARAM id="mode" value="2"/> <PARAM id="os" value="1"/> <PARAM id="outgain" value="0.0"/> <PARAM id="rate" value="0.4399999976158142"/> diff --git a/Plugin/Source/Presets/PresetConfigs/RK/High/High Sauce I.chowpreset b/Plugin/Source/Presets/PresetConfigs/RK/High/High Sauce I.chowpreset @@ -16,7 +16,7 @@ <PARAM id="h_bass" value="0.1200000047683716"/> <PARAM id="h_treble" value="0.2400000095367432"/> <PARAM id="ingain" value="0.0"/> - <PARAM id="mode" value="0"/> + <PARAM id="mode" value="2"/> <PARAM id="os" value="1"/> <PARAM id="outgain" value="0.0"/> <PARAM id="rate" value="0.2999999821186066"/> diff --git a/Plugin/Source/Presets/PresetConfigs/Sink/SNK_BassPusher.chowpreset b/Plugin/Source/Presets/PresetConfigs/Sink/SNK_BassPusher.chowpreset @@ -16,7 +16,7 @@ <PARAM id="h_treble" value="-0.1500000357627869"/> <PARAM id="ingain" value="2.0"/> <PARAM id="mix_group" value="0.0"/> - <PARAM id="mode" value="0.0"/> + <PARAM id="mode" value="2"/> <PARAM id="os" value="1.0"/> <PARAM id="outgain" value="-2.0"/> <PARAM id="rate" value="0.2999999821186066"/> diff --git a/Plugin/Source/Presets/PresetConfigs/Sink/SNK_Chorus2.chowpreset b/Plugin/Source/Presets/PresetConfigs/Sink/SNK_Chorus2.chowpreset @@ -15,7 +15,7 @@ <PARAM id="h_bass" value="-0.2100000381469727"/> <PARAM id="h_treble" value="-0.14000004529953"/> <PARAM id="ingain" value="0.0"/> - <PARAM id="mode" value="0"/> + <PARAM id="mode" value="2"/> <PARAM id="os" value="1"/> <PARAM id="outgain" value="0.0"/> <PARAM id="rate" value="0.3199999928474426"/> diff --git a/Plugin/Source/Presets/PresetConfigs/Sink/SNK_Chorus3.chowpreset b/Plugin/Source/Presets/PresetConfigs/Sink/SNK_Chorus3.chowpreset @@ -15,10 +15,10 @@ <PARAM id="h_bass" value="-0.06999999284744263"/> <PARAM id="h_treble" value="0.2200000286102295"/> <PARAM id="ingain" value="0.0"/> - <PARAM id="mode" value="0"/> + <PARAM id="mode" value="2"/> <PARAM id="os" value="1"/> - <PARAM id="outgain" value="0.0"/> - <PARAM id="rate" value="0.119999997317791"/> + <PARAM id="outgain" value="2"/> + <PARAM id="rate" value="0.0"/> <PARAM id="sat" value="0.5"/> <PARAM id="spacing" value="9.999999974752427e-7"/> <PARAM id="speed" value="7.500000476837158"/> diff --git a/Plugin/Source/Presets/PresetConfigs/Sink/SNK_Chorus4.chowpreset b/Plugin/Source/Presets/PresetConfigs/Sink/SNK_Chorus4.chowpreset @@ -15,7 +15,7 @@ <PARAM id="h_bass" value="-0.06999999284744263"/> <PARAM id="h_treble" value="0.2200000286102295"/> <PARAM id="ingain" value="0.0"/> - <PARAM id="mode" value="0"/> + <PARAM id="mode" value="2"/> <PARAM id="os" value="1"/> <PARAM id="outgain" value="0.0"/> <PARAM id="rate" value="0.07000000029802322"/> diff --git a/Plugin/Source/Presets/PresetConfigs/Sink/SNK_Fat2.chowpreset b/Plugin/Source/Presets/PresetConfigs/Sink/SNK_Fat2.chowpreset @@ -18,7 +18,7 @@ <PARAM id="mix_group" value="0.0"/> <PARAM id="mode" value="0.0"/> <PARAM id="os" value="1.0"/> - <PARAM id="outgain" value="0.0"/> + <PARAM id="outgain" value="-3.0"/> <PARAM id="rate" value="0.2999999821186066"/> <PARAM id="sat" value="0.6499999761581421"/> <PARAM id="spacing" value="9.999999974752427e-7"/> diff --git a/Plugin/Source/Presets/PresetConfigs/Sink/SNK_Gritty.chowpreset b/Plugin/Source/Presets/PresetConfigs/Sink/SNK_Gritty.chowpreset @@ -16,7 +16,7 @@ <PARAM id="h_treble" value="0.2999999523162842"/> <PARAM id="ingain" value="2.0"/> <PARAM id="mix_group" value="0.0"/> - <PARAM id="mode" value="0.0"/> + <PARAM id="mode" value="2"/> <PARAM id="os" value="1.0"/> <PARAM id="outgain" value="-2.0"/> <PARAM id="rate" value="0.2999999821186066"/> diff --git a/Plugin/Source/Presets/PresetConfigs/Sink/SNK_Gritty2.chowpreset b/Plugin/Source/Presets/PresetConfigs/Sink/SNK_Gritty2.chowpreset @@ -16,7 +16,7 @@ <PARAM id="h_treble" value="0.25"/> <PARAM id="ingain" value="2.0"/> <PARAM id="mix_group" value="0.0"/> - <PARAM id="mode" value="0.0"/> + <PARAM id="mode" value="2"/> <PARAM id="os" value="1.0"/> <PARAM id="outgain" value="-2.0"/> <PARAM id="rate" value="0.2999999821186066"/> diff --git a/Plugin/Source/Presets/PresetConfigs/Sink/SNK_SlightlyWobbly.chowpreset b/Plugin/Source/Presets/PresetConfigs/Sink/SNK_SlightlyWobbly.chowpreset @@ -16,7 +16,7 @@ <PARAM id="h_treble" value="0.2200000286102295"/> <PARAM id="ingain" value="0.0"/> <PARAM id="mix_group" value="0.0"/> - <PARAM id="mode" value="0.0"/> + <PARAM id="mode" value="2"/> <PARAM id="os" value="1.0"/> <PARAM id="outgain" value="0.0"/> <PARAM id="rate" value="0.2599999904632568"/> diff --git a/Plugin/Source/Presets/PresetConfigs/Sink/SNK_lofi.chowpreset b/Plugin/Source/Presets/PresetConfigs/Sink/SNK_lofi.chowpreset @@ -16,7 +16,7 @@ <PARAM id="h_treble" value="-0.1000000238418579"/> <PARAM id="ingain" value="1.0"/> <PARAM id="mix_group" value="0.0"/> - <PARAM id="mode" value="0.0"/> + <PARAM id="mode" value="2"/> <PARAM id="os" value="1.0"/> <PARAM id="outgain" value="-1.5"/> <PARAM id="rate" value="0.2999999821186066"/> diff --git a/Plugin/Source/Presets/PresetManager.cpp b/Plugin/Source/Presets/PresetManager.cpp @@ -1,4 +1,5 @@ #include "PresetManager.h" +#include "../MixGroups/MixGroupsController.h" namespace { @@ -182,7 +183,12 @@ chowdsp::Preset PresetManager::loadUserPresetFromFile (const File& file) void PresetManager::loadPresetState (const XmlElement* xml) { - StringArray presetAgnosticParams { "os_factor", "os_mode", "os_render_factor", "os_render_mode", "os_render_like_realtime" }; + StringArray presetAgnosticParams { "os_factor", + "os_mode", + "os_render_factor", + "os_render_mode", + "os_render_like_realtime", + MixGroupsConstants::mixGroupParamID }; auto newState = juce::ValueTree::fromXml (*xml); for (auto& param : presetAgnosticParams) diff --git a/Scripts/validate.sh b/Scripts/validate.sh @@ -28,7 +28,7 @@ if [[ "$OSTYPE" == "linux-gnu"* ]]; then plugin="Plugin/build/CHOWTapeModel_artefacts/Release/VST3/CHOWTapeModel.vst3" elif [[ "$OSTYPE" == "darwin"* ]]; then pluginval=$(install_pluginval_mac) - plugin="Plugin/build/CHOWTapeModel_artefacts/VST3/CHOWTapeModel.vst3" + plugin="Plugin/build/CHOWTapeModel_artefacts/Release/VST3/CHOWTapeModel.vst3" else pluginval=$(install_pluginval_win) plugin="Plugin/build/CHOWTapeModel_artefacts/Release/VST3/CHOWTapeModel.vst3"