Add sorta-main variant for AU, 8 audio IO but no CV

Signed-off-by: falkTX <falktx@falktx.com>
This commit is contained in:
falkTX 2022-05-17 19:49:54 +01:00
parent fa1e6a1343
commit 04f47d668e
No known key found for this signature in database
GPG key ID: CDBAA37ABC74FBA0
3 changed files with 103 additions and 10 deletions

View file

@ -46,6 +46,9 @@ set_property(TARGET water PROPERTY IMPORTED_LOCATION "${PROJECT_SOURCE_DIR}/../c
add_library(zita_resampler STATIC IMPORTED)
set_property(TARGET zita_resampler PROPERTY IMPORTED_LOCATION "${PROJECT_SOURCE_DIR}/../carla/build/modules/Release/zita-resampler.a")
add_library(sCardinal STATIC IMPORTED)
set_property(TARGET sCardinal PROPERTY IMPORTED_LOCATION "${PROJECT_SOURCE_DIR}/../bin/Cardinal.a")
add_library(sCardinalFX STATIC IMPORTED)
set_property(TARGET sCardinalFX PROPERTY IMPORTED_LOCATION "${PROJECT_SOURCE_DIR}/../bin/CardinalFX.a")
@ -107,6 +110,94 @@ set(STATIC_LIBS_END "-Wl,--no-whole-archive")
set(PLUGIN_FORMATS Standalone VST3)
endif (APPLE)
# Main variant
juce_add_plugin(Cardinal
AU_MAIN_TYPE kAudioUnitType_MusicEffect
COMPANY_COPYRIGHT "GPL-3.0-or-later"
COMPANY_NAME "DISTRHO"
COMPANY_WEBSITE "https://github.com/DISTRHO/Cardinal"
DESCRIPTION "Virtual modular synthesizer plugin"
EDITOR_WANTS_KEYBOARD_FOCUS FALSE
FORMATS ${PLUGIN_FORMATS}
IS_MIDI_EFFECT FALSE
IS_SYNTH FALSE
NEEDS_MIDI_INPUT TRUE
NEEDS_MIDI_OUTPUT TRUE
PLUGIN_CODE DcnM
PLUGIN_MANUFACTURER_CODE Dstr
PRODUCT_NAME "Cardinal")
target_sources(Cardinal
PRIVATE
CardinalWrapper.cpp)
target_include_directories(Cardinal
PRIVATE
../dpf/distrho
../src/CardinalFX)
target_compile_definitions(Cardinal
PUBLIC
JucePlugin_PreferredChannelConfigurations=8,8
JUCE_CHECK_MEMORY_LEAKS=0
JUCE_DISABLE_NATIVE_FILECHOOSERS=1
JUCE_DISPLAY_SPLASH_SCREEN=0
JUCE_MODAL_LOOPS_PERMITTED=0
JUCE_USE_CURL=0
JUCE_USE_FLAC=0
JUCE_USE_OGGVORBIS=0
JUCE_USE_XINERAMA=0
JUCE_VST3_CAN_REPLACE_VST2=0
JUCE_ALSA=1
JUCE_DIRECTSOUND=0
JUCE_JACK=1
JUCE_WASAPI=0
JUCE_WEB_BROWSER=0)
target_link_libraries(Cardinal
PRIVATE
juce::juce_audio_utils
${STATIC_LIBS_START}
sCardinal
sPlugins
sRack
carla_host_plugin
carla_engine_plugin
carla_plugin
native_plugins
audio_decoder
jackbridge
lilv
rtmempool
sfzero
water
zita_resampler
dgl
libaubio
libarchive
libjansson
libquickjs
libsamplerate
libspeexdsp
libzstd
${STATIC_LIBS_END}
${GL_LIBRARIES}
${DBUS_LIBRARIES}
-L${LIBLO_LIBRARY_DIRS}
${FFTW3F_LIBRARIES}
${LIBLO_LIBRARIES}
${SNDFILE_LIBRARIES}
${X11_LIBRARIES}
${XCURSOR_LIBRARIES}
${XEXT_LIBRARIES}
${XRANDR_LIBRARIES}
${EXTRA_LIBS}
PUBLIC
juce::juce_recommended_config_flags
juce::juce_recommended_lto_flags
juce::juce_recommended_warning_flags)
# FX variant
juce_add_plugin(CardinalFX
@ -115,7 +206,7 @@ juce_add_plugin(CardinalFX
COMPANY_NAME "DISTRHO"
COMPANY_WEBSITE "https://github.com/DISTRHO/Cardinal"
DESCRIPTION "Virtual modular synthesizer plugin"
EDITOR_WANTS_KEYBOARD_FOCUS TRUE
EDITOR_WANTS_KEYBOARD_FOCUS FALSE
FORMATS ${PLUGIN_FORMATS}
IS_MIDI_EFFECT FALSE
IS_SYNTH FALSE
@ -204,7 +295,7 @@ juce_add_plugin(CardinalSynth
COMPANY_NAME "DISTRHO"
COMPANY_WEBSITE "https://github.com/DISTRHO/Cardinal"
DESCRIPTION "Virtual modular synthesizer plugin"
EDITOR_WANTS_KEYBOARD_FOCUS TRUE
EDITOR_WANTS_KEYBOARD_FOCUS FALSE
FORMATS ${PLUGIN_FORMATS}
IS_MIDI_EFFECT FALSE
IS_SYNTH TRUE

View file

@ -401,14 +401,16 @@ protected:
plugin.setTimePosition(timePosition);
DISTRHO_SAFE_ASSERT_RETURN(buffer.getNumChannels() == 2,);
DISTRHO_SAFE_ASSERT_RETURN(buffer.getNumChannels() >= 2,);
const float* audioBufferIn[2];
float* audioBufferOut[2];
audioBufferIn[0] = buffer.getReadPointer(0);
audioBufferIn[1] = buffer.getReadPointer(1);
audioBufferOut[0] = buffer.getWritePointer(0);
audioBufferOut[1] = buffer.getWritePointer(1);
const float* audioBufferIn[18] = {};
float* audioBufferOut[18] = {};
for (int i=buffer.getNumChannels(); --i >= 0;)
{
audioBufferIn[i] = buffer.getReadPointer(i);
audioBufferOut[i] = buffer.getWritePointer(i);
}
plugin.run(audioBufferIn, audioBufferOut, static_cast<uint32_t>(numSamples), midiEvents, midiEventCount);
}

View file

@ -269,7 +269,7 @@ BUILD_CXX_FLAGS += -DCARDINAL_PLUGIN_PREFIX='"$(PREFIX)"'
ifeq ($(CARDINAL_VARIANT),main)
ifneq ($(STATIC_BUILD),true)
all: jack lv2 vst3
all: jack lv2 vst3 static
else
all: lv2 vst3
endif # STATIC_BUILD