Continue battling juce and cmake, add needed stubs
Signed-off-by: falkTX <falktx@falktx.com>
This commit is contained in:
parent
859a2fbf9b
commit
c8dea01ab9
4 changed files with 190 additions and 11 deletions
|
@ -13,17 +13,29 @@ juce_add_plugin(CardinalFX
|
|||
EDITOR_WANTS_KEYBOARD_FOCUS TRUE
|
||||
PLUGIN_MANUFACTURER_CODE Dstr
|
||||
PLUGIN_CODE dCnF
|
||||
FORMATS AU
|
||||
FORMATS VST3 AU
|
||||
PRODUCT_NAME "CardinalFX")
|
||||
|
||||
target_sources(CardinalFX
|
||||
PRIVATE
|
||||
Source/CardinalWrapper.cpp)
|
||||
CardinalWrapper.cpp)
|
||||
|
||||
target_include_directories(CardinalFX
|
||||
PRIVATE
|
||||
.
|
||||
../dpf/distrho)
|
||||
|
||||
target_compile_definitions(CardinalFX
|
||||
PUBLIC
|
||||
JUCE_USE_CURL=0
|
||||
JUCE_WEB_BROWSER=0)
|
||||
|
||||
target_link_options(CardinalFX
|
||||
PRIVATE
|
||||
"-l/Shared/Personal/FOSS/GIT/DISTRHO/DISTRHO_Cardinal/bin/CardinalFX.so"
|
||||
"-Wl,-rpath,."
|
||||
)
|
||||
|
||||
target_link_libraries(CardinalFX
|
||||
PRIVATE
|
||||
juce::juce_audio_utils
|
||||
|
|
|
@ -17,27 +17,194 @@
|
|||
|
||||
#include <juce_audio_processors/juce_audio_processors.h>
|
||||
|
||||
#include "DistrhoPlugin.hpp"
|
||||
#include "DistrhoUI.hpp"
|
||||
|
||||
DISTRHO_PLUGIN_EXPORT DISTRHO_NAMESPACE::Plugin* createSharedPlugin();
|
||||
#define createPlugin ::createSharedPlugin
|
||||
#include "src/DistrhoPluginInternal.hpp"
|
||||
|
||||
START_NAMESPACE_DISTRHO
|
||||
|
||||
// -----------------------------------------------------------------------------------------------------------
|
||||
|
||||
class ParameterForDPF : public juce::AudioProcessorParameter
|
||||
{
|
||||
PluginExporter& plugin;
|
||||
const uint index;
|
||||
|
||||
public:
|
||||
ParameterForDPF(PluginExporter& plugin_, const uint index_)
|
||||
: plugin(plugin_),
|
||||
index(index_) {}
|
||||
|
||||
protected:
|
||||
float getValue() const override
|
||||
{
|
||||
return plugin.getParameterRanges(index).getNormalizedValue(plugin.getParameterValue(index));
|
||||
}
|
||||
|
||||
void setValue(const float newValue) override
|
||||
{
|
||||
plugin.setParameterValue(index, plugin.getParameterRanges(index).getUnnormalizedValue(newValue));
|
||||
}
|
||||
|
||||
float getDefaultValue() const override
|
||||
{
|
||||
return plugin.getParameterDefault(index);
|
||||
}
|
||||
|
||||
juce::String getName(int) const override
|
||||
{
|
||||
return plugin.getParameterName(index).buffer();
|
||||
}
|
||||
|
||||
juce::String getLabel() const override
|
||||
{
|
||||
return plugin.getParameterUnit(index).buffer();
|
||||
}
|
||||
|
||||
float getValueForText(const juce::String& text) const override
|
||||
{
|
||||
return 0.0f;
|
||||
}
|
||||
};
|
||||
|
||||
// -----------------------------------------------------------------------------------------------------------
|
||||
|
||||
class CardinalWrapperProcessor : public juce::AudioProcessor
|
||||
{
|
||||
PluginExporter plugin;
|
||||
|
||||
static bool writeMidiCb(void* ptr, const MidiEvent& midiEvent)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
static bool requestParameterValueChangeCb(void* ptr, uint32_t index, float value)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
public:
|
||||
CardinalWrapperProcessor()
|
||||
{}
|
||||
: plugin(this, writeMidiCb, requestParameterValueChangeCb)
|
||||
{
|
||||
for (uint i=0; i<plugin.getParameterCount(); ++i)
|
||||
addParameter(new ParameterForDPF(plugin, i));
|
||||
}
|
||||
|
||||
~CardinalWrapperProcessor() override
|
||||
{}
|
||||
{
|
||||
}
|
||||
|
||||
void prepareToPlay (double sampleRate, int samplesPerBlock) override
|
||||
{}
|
||||
const juce::String getName() const override
|
||||
{
|
||||
return plugin.getName();
|
||||
}
|
||||
|
||||
juce::StringArray getAlternateDisplayNames() const override
|
||||
{
|
||||
return juce::StringArray(plugin.getLabel());
|
||||
}
|
||||
|
||||
void prepareToPlay(double sampleRate, int samplesPerBlock) override
|
||||
{
|
||||
plugin.deactivateIfNeeded();
|
||||
plugin.setSampleRate(sampleRate);
|
||||
plugin.setBufferSize(samplesPerBlock);
|
||||
plugin.activate();
|
||||
}
|
||||
|
||||
void releaseResources() override
|
||||
{}
|
||||
{
|
||||
plugin.deactivateIfNeeded();
|
||||
}
|
||||
|
||||
void processBlock(juce::AudioBuffer<float>& buffer, juce::MidiBuffer& midiMessages) override
|
||||
{
|
||||
midiMessages.clear();
|
||||
// AudioPlayHead* getPlayHead()
|
||||
}
|
||||
|
||||
double getTailLengthSeconds() const override
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
bool acceptsMidi() const override
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
bool producesMidi() const override
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
juce::AudioProcessorEditor* createEditor() override;
|
||||
|
||||
bool hasEditor() const override
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
int getNumPrograms() override
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
int getCurrentProgram() override
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
void setCurrentProgram(int) override
|
||||
{
|
||||
}
|
||||
|
||||
const juce::String getProgramName(int) override
|
||||
{
|
||||
return {};
|
||||
}
|
||||
|
||||
void changeProgramName(int, const juce::String&) override
|
||||
{
|
||||
}
|
||||
|
||||
void getStateInformation(juce::MemoryBlock& destData) override
|
||||
{
|
||||
}
|
||||
|
||||
void setStateInformation(const void* data, int sizeInBytes) override
|
||||
{
|
||||
}
|
||||
};
|
||||
|
||||
class CardinalWrapperEditor : public juce::AudioProcessorEditor
|
||||
{
|
||||
public:
|
||||
CardinalWrapperEditor(CardinalWrapperProcessor&)
|
||||
CardinalWrapperEditor(CardinalWrapperProcessor& processor)
|
||||
: juce::AudioProcessorEditor(processor)
|
||||
{}
|
||||
|
||||
~CardinalWrapperEditor() override
|
||||
{}
|
||||
};
|
||||
|
||||
// -----------------------------------------------------------------------------------------------------------
|
||||
|
||||
END_NAMESPACE_DISTRHO
|
||||
|
||||
// -----------------------------------------------------------------------------------------------------------
|
||||
|
||||
juce::AudioProcessor* createPluginFilter()
|
||||
{
|
||||
return new DISTRHO_NAMESPACE::CardinalWrapperProcessor;
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------------------------------------
|
||||
|
||||
#define DISTRHO_IS_STANDALONE 0
|
||||
#include "src/DistrhoPlugin.cpp"
|
||||
#include "src/DistrhoUtils.cpp"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue