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:
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"