Rename current Cardinal as CardinalFX and add 10cv+audio variant
This commit is contained in:
parent
5465b44705
commit
f5920faaa3
|
@ -356,14 +356,14 @@ jobs:
|
|||
done
|
||||
- name: Test VST2 plugin
|
||||
run: |
|
||||
for p in $(ls bin/ | grep vst.so); do \
|
||||
for p in $(ls bin/ | grep vst); do \
|
||||
env CARLA_BRIDGE_DUMMY=1 CARLA_BRIDGE_TESTING=native \
|
||||
valgrind \
|
||||
--error-exitcode=255 \
|
||||
--leak-check=no \
|
||||
--track-origins=yes \
|
||||
--suppressions=./dpf/utils/valgrind-dpf.supp \
|
||||
/usr/lib/carla/carla-bridge-native vst2 ./bin/${p} "" 1>/dev/null; \
|
||||
/usr/lib/carla/carla-bridge-native vst2 ./bin/${p}/*.so "" 1>/dev/null; \
|
||||
done
|
||||
# - name: Test VST3 plugin
|
||||
# run: |
|
||||
|
|
|
@ -30,8 +30,8 @@
|
|||
#define DISTRHO_UI_USE_NANOVG 1
|
||||
#define DISTRHO_UI_USER_RESIZABLE 1
|
||||
#endif
|
||||
#define DISTRHO_PLUGIN_NUM_INPUTS 2
|
||||
#define DISTRHO_PLUGIN_NUM_OUTPUTS 2
|
||||
#define DISTRHO_PLUGIN_NUM_INPUTS 12
|
||||
#define DISTRHO_PLUGIN_NUM_OUTPUTS 12
|
||||
#define DISTRHO_PLUGIN_WANT_MIDI_INPUT 1
|
||||
#define DISTRHO_PLUGIN_WANT_MIDI_OUTPUT 1
|
||||
#define DISTRHO_PLUGIN_WANT_FULL_STATE 1
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
../CardinalPlugin.cpp
|
|
@ -0,0 +1 @@
|
|||
../CardinalUI.cpp
|
|
@ -0,0 +1,43 @@
|
|||
/*
|
||||
* DISTRHO Cardinal Plugin
|
||||
* Copyright (C) 2021 Filipe Coelho <falktx@falktx.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 3 of
|
||||
* the License, or any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* For a full copy of the GNU General Public License see the LICENSE file.
|
||||
*/
|
||||
|
||||
#ifndef DISTRHO_PLUGIN_INFO_H_INCLUDED
|
||||
#define DISTRHO_PLUGIN_INFO_H_INCLUDED
|
||||
|
||||
#define DISTRHO_PLUGIN_BRAND "DISTRHO"
|
||||
#define DISTRHO_PLUGIN_NAME "Cardinal"
|
||||
#define DISTRHO_PLUGIN_URI "https://distrho.kx.studio/plugins/cardinal#fx"
|
||||
|
||||
#ifdef HEADLESS
|
||||
#define DISTRHO_PLUGIN_HAS_UI 0
|
||||
#else
|
||||
#define DISTRHO_PLUGIN_HAS_UI 1
|
||||
#define DISTRHO_PLUGIN_WANT_DIRECT_ACCESS 1
|
||||
#define DISTRHO_UI_USE_NANOVG 1
|
||||
#define DISTRHO_UI_USER_RESIZABLE 1
|
||||
#endif
|
||||
#define DISTRHO_PLUGIN_NUM_INPUTS 2
|
||||
#define DISTRHO_PLUGIN_NUM_OUTPUTS 2
|
||||
#define DISTRHO_PLUGIN_WANT_MIDI_INPUT 1
|
||||
#define DISTRHO_PLUGIN_WANT_MIDI_OUTPUT 1
|
||||
#define DISTRHO_PLUGIN_WANT_FULL_STATE 1
|
||||
#define DISTRHO_PLUGIN_WANT_STATE 1
|
||||
#define DISTRHO_PLUGIN_WANT_TIMEPOS 1
|
||||
// #define DISTRHO_PLUGIN_LV2_CATEGORY "lv2:AnalyserPlugin"
|
||||
// #define DISTRHO_PLUGIN_VST3_CATEGORIES "Fx|Analyzer"
|
||||
|
||||
#endif // DISTRHO_PLUGIN_INFO_H_INCLUDED
|
|
@ -0,0 +1,8 @@
|
|||
#!/usr/bin/make -f
|
||||
# Makefile for DISTRHO Plugins #
|
||||
# ---------------------------- #
|
||||
# Created by falkTX
|
||||
#
|
||||
|
||||
NAME = CardinalFX
|
||||
include ../Makefile.cardinal.mk
|
|
@ -0,0 +1 @@
|
|||
../override/MenuBar.cpp
|
|
@ -0,0 +1 @@
|
|||
../override/RemoteNanoVG.cpp
|
|
@ -0,0 +1 @@
|
|||
../override/RemoteWindow.cpp
|
|
@ -0,0 +1 @@
|
|||
../override/Window.cpp
|
|
@ -0,0 +1 @@
|
|||
../override/common.cpp
|
|
@ -510,6 +510,8 @@ protected:
|
|||
{
|
||||
#if DISTRHO_PLUGIN_IS_SYNTH
|
||||
return "CardinalSynth";
|
||||
#elif DISTRHO_PLUGIN_NUM_INPUTS == 2
|
||||
return "CardinalFX";
|
||||
#else
|
||||
return "Cardinal";
|
||||
#endif
|
||||
|
@ -546,6 +548,8 @@ protected:
|
|||
{
|
||||
#if DISTRHO_PLUGIN_IS_SYNTH
|
||||
return d_cconst('d', 'C', 'n', 'S');
|
||||
#elif DISTRHO_PLUGIN_NUM_INPUTS == 2
|
||||
return d_cconst('d', 'C', 'n', 'F');
|
||||
#else
|
||||
return d_cconst('d', 'C', 'd', 'n');
|
||||
#endif
|
||||
|
@ -554,6 +558,17 @@ protected:
|
|||
/* --------------------------------------------------------------------------------------------------------
|
||||
* Init */
|
||||
|
||||
void initAudioPort(const bool input, uint32_t index, AudioPort& port) override
|
||||
{
|
||||
if (index >= 2)
|
||||
{
|
||||
port.hints = kAudioPortIsCV | kCVPortHasPositiveUnipolarRange | kCVPortHasScaledRange;
|
||||
index -= 2;
|
||||
}
|
||||
|
||||
CardinalBasePlugin::initAudioPort(input, index, port);
|
||||
}
|
||||
|
||||
void initParameter(const uint32_t index, Parameter& parameter) override
|
||||
{
|
||||
if (index < kModuleParameters)
|
||||
|
@ -769,11 +784,11 @@ protected:
|
|||
|
||||
void activate() override
|
||||
{
|
||||
const uint32_t bufferSize = getBufferSize() * DISTRHO_PLUGIN_NUM_OUTPUTS;
|
||||
fAudioBufferOut = new float[bufferSize];
|
||||
const uint32_t bufferSize = getBufferSize();
|
||||
fAudioBufferOut = new float[bufferSize * DISTRHO_PLUGIN_NUM_OUTPUTS];
|
||||
#if DISTRHO_PLUGIN_NUM_INPUTS != 0
|
||||
fAudioBufferIn = new float[bufferSize];
|
||||
std::memset(fAudioBufferIn, 0, sizeof(float)*bufferSize);
|
||||
fAudioBufferIn = new float[bufferSize * DISTRHO_PLUGIN_NUM_INPUTS];
|
||||
std::memset(fAudioBufferIn, 0, sizeof(float)*bufferSize * DISTRHO_PLUGIN_NUM_INPUTS);
|
||||
#endif
|
||||
|
||||
fPreviousFrame = 0;
|
||||
|
@ -856,7 +871,7 @@ protected:
|
|||
fAudioBufferIn[j++] = inputs[0][i];
|
||||
fAudioBufferIn[j++] = inputs[1][i];
|
||||
}
|
||||
fCurrentAudioDevice->processInput(fAudioBufferIn, DISTRHO_PLUGIN_NUM_INPUTS, frames);
|
||||
fCurrentAudioDevice->processInput(fAudioBufferIn, 2, frames);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
@ -864,8 +879,8 @@ protected:
|
|||
|
||||
if (fCurrentAudioDevice != nullptr)
|
||||
{
|
||||
std::memset(fAudioBufferOut, 0, sizeof(float)*frames*DISTRHO_PLUGIN_NUM_OUTPUTS);
|
||||
fCurrentAudioDevice->processOutput(fAudioBufferOut, DISTRHO_PLUGIN_NUM_OUTPUTS, frames);
|
||||
std::memset(fAudioBufferOut, 0, sizeof(float)*frames*2);
|
||||
fCurrentAudioDevice->processOutput(fAudioBufferOut, 2, frames);
|
||||
|
||||
for (uint32_t i=0, j=0; i<frames; ++i)
|
||||
{
|
||||
|
|
|
@ -226,14 +226,12 @@ endif
|
|||
BUILD_CXX_FLAGS += -DCARDINAL_PLUGIN_PREFIX='"$(PREFIX)"'
|
||||
|
||||
# --------------------------------------------------------------
|
||||
# Enable all possible plugin types
|
||||
|
||||
all: jack lv2 vst2 vst3 resources
|
||||
|
||||
# --------------------------------------------------------------
|
||||
# Enable all possible plugin types and setup resources
|
||||
|
||||
ifeq ($(NAME),Cardinal)
|
||||
|
||||
all: jack lv2 resources
|
||||
|
||||
CORE_RESOURCES = $(filter-out icon.png,$(subst ../Rack/res/,,$(wildcard ../Rack/res/*))) template.vcv
|
||||
|
||||
PLUGIN_RESOURCES += $(CORE_RESOURCES:%=$(TARGET_DIR)/Cardinal.lv2/resources/%)
|
||||
|
@ -246,6 +244,8 @@ PLUGIN_RESOURCES += $(CORE_RESOURCES:%=$(TARGET_DIR)/Cardinal.vst3/Contents/Reso
|
|||
|
||||
else
|
||||
|
||||
all: jack lv2 vst2 vst3 resources
|
||||
|
||||
PLUGIN_RESOURCES += $(TARGET_DIR)/$(NAME).lv2/resources
|
||||
ifeq ($(MACOS),true)
|
||||
PLUGIN_RESOURCES += $(TARGET_DIR)/$(NAME).vst/Contents/Resources
|
||||
|
|
|
@ -37,12 +37,12 @@ struct CardinalAudioDevice : rack::audio::Device
|
|||
|
||||
int getNumInputs() override
|
||||
{
|
||||
return DISTRHO_PLUGIN_NUM_INPUTS;
|
||||
return std::min(2, DISTRHO_PLUGIN_NUM_INPUTS);
|
||||
}
|
||||
|
||||
int getNumOutputs() override
|
||||
{
|
||||
return DISTRHO_PLUGIN_NUM_OUTPUTS;
|
||||
return std::min(2, DISTRHO_PLUGIN_NUM_OUTPUTS);
|
||||
}
|
||||
|
||||
int getBlockSize() override
|
||||
|
@ -109,12 +109,12 @@ struct CardinalAudioDriver : rack::audio::Driver
|
|||
|
||||
int getDeviceNumInputs(int) override
|
||||
{
|
||||
return DISTRHO_PLUGIN_NUM_INPUTS;
|
||||
return std::min(2, DISTRHO_PLUGIN_NUM_INPUTS);
|
||||
}
|
||||
|
||||
int getDeviceNumOutputs(int) override
|
||||
{
|
||||
return DISTRHO_PLUGIN_NUM_OUTPUTS;
|
||||
return std::min(2, DISTRHO_PLUGIN_NUM_OUTPUTS);
|
||||
}
|
||||
|
||||
rack::audio::Device* subscribe(int, rack::audio::Port* const port) override
|
||||
|
|
Loading…
Reference in New Issue