gearmulator

Emulation of classic VA synths of the late 90s/2000s that are based on Motorola 56300 family DSPs
Log | Files | Refs | Submodules | README | LICENSE

commit 5f4ab89a0b3800df9b4973cc6d3a2b9d77998496
parent f08f3466e6adad700d401c2028324bdb8089e65a
Author: dsp56300 <dsp56300@users.noreply.github.com>
Date:   Sat,  2 Nov 2024 16:46:27 +0100

rework pluginlib processor init to remove duplicated parameter lists in every plugin

Diffstat:
Msource/jucePluginLib/CMakeLists.txt | 1+
Asource/jucePluginLib/processorPropertiesInit.h | 26++++++++++++++++++++++++++
Msource/mqJucePlugin/PluginProcessor.cpp | 18++++--------------
Msource/nord/n2x/n2xJucePlugin/n2xPluginProcessor.cpp | 17+++--------------
Msource/osTIrusJucePlugin/OsTIrusProcessor.cpp | 16++++------------
Msource/osirusJucePlugin/OsirusProcessor.cpp | 16++++------------
Msource/xtJucePlugin/PluginProcessor.cpp | 16+++-------------
Msource/xtJucePlugin/xtController.cpp | 1-
8 files changed, 45 insertions(+), 66 deletions(-)

diff --git a/source/jucePluginLib/CMakeLists.txt b/source/jucePluginLib/CMakeLists.txt @@ -28,6 +28,7 @@ set(SOURCES parametervaluelist.cpp parametervaluelist.h pluginVersion.cpp pluginVersion.h processor.cpp processor.h + processorPropertiesInit.h softknob.cpp softknob.h tools.cpp tools.h types.h diff --git a/source/jucePluginLib/processorPropertiesInit.h b/source/jucePluginLib/processorPropertiesInit.h @@ -0,0 +1,26 @@ +#pragma once + +#include "processor.h" + +namespace pluginLib +{ + inline Processor::Properties initProcessorProperties() + { + return Processor::Properties + { + JucePlugin_Name, + JucePlugin_Manufacturer, + JucePlugin_IsSynth, + JucePlugin_WantsMidiInput, + JucePlugin_ProducesMidiOutput, + JucePlugin_IsMidiEffect, + JucePlugin_Lv2Uri, + { + BinaryData::namedResourceListSize, + BinaryData::originalFilenames, + BinaryData::namedResourceList, + BinaryData::getNamedResource + } + }; + } +} diff --git a/source/mqJucePlugin/PluginProcessor.cpp b/source/mqJucePlugin/PluginProcessor.cpp @@ -1,10 +1,11 @@ #include "PluginProcessor.h" #include "PluginEditorState.h" -#include "BinaryData.h" #include "mqController.h" -#include "jucePluginLib/processor.h" +// ReSharper disable once CppUnusedIncludeDirective +#include "BinaryData.h" +#include "jucePluginLib/processorPropertiesInit.h" #include "mqLib/device.h" @@ -19,17 +20,6 @@ namespace opts.osxLibrarySubFolder = "Application Support/DSP56300EmulatorVavra"; return opts; } - - pluginLib::Processor::BinaryDataRef getBinaryData() - { - return - { - BinaryData::namedResourceListSize, - BinaryData::originalFilenames, - BinaryData::namedResourceList, - BinaryData::getNamedResource - }; - } } namespace mqJucePlugin @@ -44,7 +34,7 @@ namespace mqJucePlugin .withOutput("Out 2", juce::AudioChannelSet::stereo(), true) .withOutput("Out 3", juce::AudioChannelSet::stereo(), true) #endif - , getOptions(), pluginLib::Processor::Properties{JucePlugin_Name, JucePlugin_Manufacturer, JucePlugin_IsSynth, JucePlugin_WantsMidiInput, JucePlugin_ProducesMidiOutput, JucePlugin_IsMidiEffect, JucePlugin_Lv2Uri, getBinaryData()}) + , getOptions(), pluginLib::initProcessorProperties()) { getController(); const auto latencyBlocks = getConfig().getIntValue("latencyBlocks", static_cast<int>(getPlugin().getLatencyBlocks())); diff --git a/source/nord/n2x/n2xJucePlugin/n2xPluginProcessor.cpp b/source/nord/n2x/n2xJucePlugin/n2xPluginProcessor.cpp @@ -3,9 +3,9 @@ #include "n2xController.h" #include "n2xPluginEditorState.h" +// ReSharper disable once CppUnusedIncludeDirective #include "BinaryData.h" - -#include "jucePluginLib/processor.h" +#include "jucePluginLib/processorPropertiesInit.h" #include "n2xLib/n2xdevice.h" @@ -22,17 +22,6 @@ namespace opts.osxLibrarySubFolder = "Application Support/DSP56300EmulatorNodalRed"; return opts; } - - pluginLib::Processor::BinaryDataRef getBinaryData() - { - return - { - BinaryData::namedResourceListSize, - BinaryData::originalFilenames, - BinaryData::namedResourceList, - BinaryData::getNamedResource - }; - } } namespace n2xJucePlugin @@ -43,7 +32,7 @@ namespace n2xJucePlugin Processor(BusesProperties() .withOutput("Out AB", juce::AudioChannelSet::stereo(), true) .withOutput("Out CD", juce::AudioChannelSet::stereo(), true) - , getOptions(), pluginLib::Processor::Properties{JucePlugin_Name, JucePlugin_Manufacturer, JucePlugin_IsSynth, JucePlugin_WantsMidiInput, JucePlugin_ProducesMidiOutput, JucePlugin_IsMidiEffect, JucePlugin_Lv2Uri, getBinaryData()}) + , getOptions(), pluginLib::initProcessorProperties()) { getController(); const auto latencyBlocks = getConfig().getIntValue("latencyBlocks", static_cast<int>(getPlugin().getLatencyBlocks())); diff --git a/source/osTIrusJucePlugin/OsTIrusProcessor.cpp b/source/osTIrusJucePlugin/OsTIrusProcessor.cpp @@ -1,6 +1,9 @@ #include "OsTIrusProcessor.h" #include "OsTIrusEditorState.h" + +// ReSharper disable once CppUnusedIncludeDirective #include "BinaryData.h" +#include "jucePluginLib/processorPropertiesInit.h" #include "virusLib/romloader.h" @@ -15,17 +18,6 @@ namespace opts.osxLibrarySubFolder = "Application Support/DSP56300Emulator_OsTIrus"; return opts; } - - pluginLib::Processor::BinaryDataRef getBinaryData() - { - return - { - BinaryData::namedResourceListSize, - BinaryData::originalFilenames, - BinaryData::namedResourceList, - BinaryData::getNamedResource - }; - } } //============================================================================== @@ -40,7 +32,7 @@ OsTIrusProcessor::OsTIrusProcessor() : .withOutput("USB 2", juce::AudioChannelSet::stereo(), true) .withOutput("USB 3", juce::AudioChannelSet::stereo(), true) #endif - , ::getConfigOptions(), pluginLib::Processor::Properties{JucePlugin_Name, JucePlugin_Manufacturer, JucePlugin_IsSynth, JucePlugin_WantsMidiInput, JucePlugin_ProducesMidiOutput, JucePlugin_IsMidiEffect, JucePlugin_Lv2Uri, getBinaryData()} + , ::getConfigOptions(), pluginLib::initProcessorProperties() , virusLib::DeviceModel::TI2) { postConstruct(virusLib::ROMLoader::findROMs(virusLib::DeviceModel::TI2, virusLib::DeviceModel::Snow)); diff --git a/source/osirusJucePlugin/OsirusProcessor.cpp b/source/osirusJucePlugin/OsirusProcessor.cpp @@ -1,6 +1,9 @@ #include "OsirusProcessor.h" #include "OsirusEditorState.h" + +// ReSharper disable once CppUnusedIncludeDirective #include "BinaryData.h" +#include "jucePluginLib/processorPropertiesInit.h" #include "virusLib/romloader.h" @@ -15,17 +18,6 @@ namespace opts.osxLibrarySubFolder = "Application Support/DSP56300 Emulator"; return opts; } - - pluginLib::Processor::BinaryDataRef getBinaryData() - { - return - { - BinaryData::namedResourceListSize, - BinaryData::originalFilenames, - BinaryData::namedResourceList, - BinaryData::getNamedResource - }; - } } //============================================================================== @@ -37,7 +29,7 @@ OsirusProcessor::OsirusProcessor() : .withOutput("Out 2", juce::AudioChannelSet::stereo(), true) .withOutput("Out 3", juce::AudioChannelSet::stereo(), true) #endif - , ::getConfigOptions(), pluginLib::Processor::Properties{JucePlugin_Name, JucePlugin_Manufacturer, JucePlugin_IsSynth, JucePlugin_WantsMidiInput, JucePlugin_ProducesMidiOutput, JucePlugin_IsMidiEffect, JucePlugin_Lv2Uri, getBinaryData()} + , ::getConfigOptions(), pluginLib::initProcessorProperties() , virusLib::DeviceModel::ABC) { postConstruct(virusLib::ROMLoader::findROMs(virusLib::DeviceModel::ABC)); diff --git a/source/xtJucePlugin/PluginProcessor.cpp b/source/xtJucePlugin/PluginProcessor.cpp @@ -3,9 +3,10 @@ #include "PluginEditorState.h" #include "xtController.h" +// ReSharper disable once CppUnusedIncludeDirective #include "BinaryData.h" +#include "jucePluginLib/processorPropertiesInit.h" -#include "jucePluginLib/processor.h" #include "xtLib/xtDevice.h" class Controller; @@ -21,17 +22,6 @@ namespace opts.osxLibrarySubFolder = "Application Support/DSP56300EmulatorXenia"; return opts; } - - pluginLib::Processor::BinaryDataRef getBinaryData() - { - return - { - BinaryData::namedResourceListSize, - BinaryData::originalFilenames, - BinaryData::namedResourceList, - BinaryData::getNamedResource - }; - } } namespace xtJucePlugin @@ -43,7 +33,7 @@ namespace xtJucePlugin #if JucePlugin_IsSynth .withOutput("Out 2", juce::AudioChannelSet::stereo(), true) #endif - , getOptions(), pluginLib::Processor::Properties{JucePlugin_Name, JucePlugin_Manufacturer, JucePlugin_IsSynth, JucePlugin_WantsMidiInput, JucePlugin_ProducesMidiOutput, JucePlugin_IsMidiEffect, JucePlugin_Lv2Uri, getBinaryData()}) + , getOptions(), pluginLib::initProcessorProperties()) { getController(); const auto latencyBlocks = getConfig().getIntValue("latencyBlocks", static_cast<int>(getPlugin().getLatencyBlocks())); diff --git a/source/xtJucePlugin/xtController.cpp b/source/xtJucePlugin/xtController.cpp @@ -2,7 +2,6 @@ #include <fstream> -#include "BinaryData.h" #include "PluginProcessor.h" #include "xtLib/xtState.h"