Browse Source

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

Signed-off-by: falkTX <falktx@falktx.com>
tags/22.06
falkTX 3 years ago
parent
commit
04f47d668e
Signed by: falkTX <falktx@falktx.com> GPG Key ID: CDBAA37ABC74FBA0
3 changed files with 104 additions and 11 deletions
  1. +93
    -2
      jucewrapper/CMakeLists.txt
  2. +10
    -8
      jucewrapper/CardinalWrapper.cpp
  3. +1
    -1
      src/Makefile.cardinal.mk

+ 93
- 2
jucewrapper/CMakeLists.txt 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


+ 10
- 8
jucewrapper/CardinalWrapper.cpp View File

@@ -401,14 +401,16 @@ protected:

plugin.setTimePosition(timePosition);

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);
DISTRHO_SAFE_ASSERT_RETURN(buffer.getNumChannels() >= 2,);

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);
}


+ 1
- 1
src/Makefile.cardinal.mk 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


Loading…
Cancel
Save