| @@ -5,6 +5,7 @@ | |||||
| *.exe | *.exe | ||||
| *.dll | *.dll | ||||
| *.dylib | *.dylib | ||||
| *.pkg | |||||
| *.so | *.so | ||||
| *.zip | *.zip | ||||
| @@ -12,8 +13,13 @@ | |||||
| .kdev_include_paths | .kdev_include_paths | ||||
| .kdev4/ | .kdev4/ | ||||
| bin/ | |||||
| build/ | |||||
| documentation.pdf | |||||
| utils/inno/resources.iss | |||||
| utils/inno/version.iss | |||||
| .cache | |||||
| compile_commands.json | |||||
| /bin/ | |||||
| /build/ | |||||
| /documentation.pdf | |||||
| /jucewrapper/build/ | |||||
| /jucewrapper/JUCE/ | |||||
| /utils/inno/resources.iss | |||||
| /utils/inno/version.iss | |||||
| @@ -8,7 +8,7 @@ | |||||
| # jucewrapper/CMakeList.txt `project` | # jucewrapper/CMakeList.txt `project` | ||||
| # src/CardinalCommon.cpp `CARDINAL_VERSION` | # src/CardinalCommon.cpp `CARDINAL_VERSION` | ||||
| # src/CardinalPlugin.cpp `getVersion` | # src/CardinalPlugin.cpp `getVersion` | ||||
| VERSION = 22.07 | |||||
| VERSION = 22.08 | |||||
| # -------------------------------------------------------------- | # -------------------------------------------------------------- | ||||
| # Import base definitions | # Import base definitions | ||||
| @@ -1 +1 @@ | |||||
| Subproject commit 1cc5641ba765dcb22da32c66faf3a09f808bfb27 | |||||
| Subproject commit c9ce3383797f398bb091d37525fd00ef7047afc7 | |||||
| @@ -1,5 +1,5 @@ | |||||
| cmake_minimum_required(VERSION 3.15) | cmake_minimum_required(VERSION 3.15) | ||||
| project(Cardinal VERSION 22.07) | |||||
| project(Cardinal VERSION 22.08) | |||||
| add_subdirectory(JUCE) | add_subdirectory(JUCE) | ||||
| @@ -12,7 +12,7 @@ | |||||
| "data": { | "data": { | ||||
| "filepath": "", | "filepath": "", | ||||
| "lang": "None", | "lang": "None", | ||||
| "etext": "Welcome to Cardinal!\n\nThis is the Web/Wasm variant\nIt has 2 audio outputs, enabled by default.\nUse Engine menu to enable input and/or MIDI.\n\nA basic VCO + ADSR + VCA is the default patch\n\n", | |||||
| "etext": "Welcome to Cardinal!\n\nThis is the Native Audio/MIDI variant.\nIt has 2 audio outputs, enabled by default.\nUse Engine menu to enable input and/or MIDI.\n\nA basic VCO + ADSR + VCA is the default patch\n\n", | |||||
| "width": 23 | "width": 23 | ||||
| }, | }, | ||||
| "pos": [ | "pos": [ | ||||
| @@ -36,6 +36,7 @@ static constexpr const uint32_t kModuleParameters = 24; | |||||
| enum CardinalVariant { | enum CardinalVariant { | ||||
| kCardinalVariantMain, | kCardinalVariantMain, | ||||
| kCardinalVariantFX, | kCardinalVariantFX, | ||||
| kCardinalVariantNative, | |||||
| kCardinalVariantSynth, | kCardinalVariantSynth, | ||||
| }; | }; | ||||
| @@ -18,9 +18,10 @@ | |||||
| #ifndef DISTRHO_PLUGIN_INFO_H_INCLUDED | #ifndef DISTRHO_PLUGIN_INFO_H_INCLUDED | ||||
| #define DISTRHO_PLUGIN_INFO_H_INCLUDED | #define DISTRHO_PLUGIN_INFO_H_INCLUDED | ||||
| #define CARDINAL_VARIANT_MAIN 1 | |||||
| #define CARDINAL_VARIANT_FX 0 | |||||
| #define CARDINAL_VARIANT_SYNTH 0 | |||||
| #define CARDINAL_VARIANT_MAIN 1 | |||||
| #define CARDINAL_VARIANT_FX 0 | |||||
| #define CARDINAL_VARIANT_NATIVE 0 | |||||
| #define CARDINAL_VARIANT_SYNTH 0 | |||||
| #define CARDINAL_NUM_AUDIO_INPUTS 8 | #define CARDINAL_NUM_AUDIO_INPUTS 8 | ||||
| #define CARDINAL_NUM_AUDIO_OUTPUTS 8 | #define CARDINAL_NUM_AUDIO_OUTPUTS 8 | ||||
| @@ -57,7 +57,7 @@ | |||||
| # include <emscripten/emscripten.h> | # include <emscripten/emscripten.h> | ||||
| #endif | #endif | ||||
| const std::string CARDINAL_VERSION = "22.07"; | |||||
| const std::string CARDINAL_VERSION = "22.08"; | |||||
| namespace rack { | namespace rack { | ||||
| @@ -18,9 +18,10 @@ | |||||
| #ifndef DISTRHO_PLUGIN_INFO_H_INCLUDED | #ifndef DISTRHO_PLUGIN_INFO_H_INCLUDED | ||||
| #define DISTRHO_PLUGIN_INFO_H_INCLUDED | #define DISTRHO_PLUGIN_INFO_H_INCLUDED | ||||
| #define CARDINAL_VARIANT_MAIN 0 | |||||
| #define CARDINAL_VARIANT_FX 1 | |||||
| #define CARDINAL_VARIANT_SYNTH 0 | |||||
| #define CARDINAL_VARIANT_MAIN 0 | |||||
| #define CARDINAL_VARIANT_FX 1 | |||||
| #define CARDINAL_VARIANT_NATIVE 0 | |||||
| #define CARDINAL_VARIANT_SYNTH 0 | |||||
| #define CARDINAL_NUM_AUDIO_INPUTS 2 | #define CARDINAL_NUM_AUDIO_INPUTS 2 | ||||
| #define CARDINAL_NUM_AUDIO_OUTPUTS 2 | #define CARDINAL_NUM_AUDIO_OUTPUTS 2 | ||||
| @@ -18,9 +18,10 @@ | |||||
| #ifndef DISTRHO_PLUGIN_INFO_H_INCLUDED | #ifndef DISTRHO_PLUGIN_INFO_H_INCLUDED | ||||
| #define DISTRHO_PLUGIN_INFO_H_INCLUDED | #define DISTRHO_PLUGIN_INFO_H_INCLUDED | ||||
| #define CARDINAL_VARIANT_MAIN 0 | |||||
| #define CARDINAL_VARIANT_FX 1 | |||||
| #define CARDINAL_VARIANT_SYNTH 0 | |||||
| #define CARDINAL_VARIANT_MAIN 0 | |||||
| #define CARDINAL_VARIANT_FX 0 | |||||
| #define CARDINAL_VARIANT_NATIVE 1 | |||||
| #define CARDINAL_VARIANT_SYNTH 0 | |||||
| #define CARDINAL_NUM_AUDIO_INPUTS 2 | #define CARDINAL_NUM_AUDIO_INPUTS 2 | ||||
| #define CARDINAL_NUM_AUDIO_OUTPUTS 2 | #define CARDINAL_NUM_AUDIO_OUTPUTS 2 | ||||
| @@ -52,10 +52,10 @@ | |||||
| # include "extra/SharedResourcePointer.hpp" | # include "extra/SharedResourcePointer.hpp" | ||||
| #endif | #endif | ||||
| #ifdef DISTRHO_OS_WASM | |||||
| # define CARDINAL_TEMPLATE_NAME "init/wasm.vcv" | |||||
| #elif CARDINAL_VARIANT_FX | |||||
| #if CARDINAL_VARIANT_FX | |||||
| # define CARDINAL_TEMPLATE_NAME "init/fx.vcv" | # define CARDINAL_TEMPLATE_NAME "init/fx.vcv" | ||||
| #elif CARDINAL_VARIANT_NATIVE | |||||
| # define CARDINAL_TEMPLATE_NAME "init/native.vcv" | |||||
| #elif CARDINAL_VARIANT_SYNTH | #elif CARDINAL_VARIANT_SYNTH | ||||
| # define CARDINAL_TEMPLATE_NAME "init/synth.vcv" | # define CARDINAL_TEMPLATE_NAME "init/synth.vcv" | ||||
| #else | #else | ||||
| @@ -188,11 +188,12 @@ struct Initializer | |||||
| } | } | ||||
| } | } | ||||
| if (asset::systemDir.empty() || ! system::exists(asset::systemDir)) | |||||
| if (asset::systemDir.empty() || ! system::exists(asset::systemDir) || ! system::exists(asset::bundlePath)) | |||||
| { | { | ||||
| #ifdef CARDINAL_PLUGIN_SOURCE_DIR | #ifdef CARDINAL_PLUGIN_SOURCE_DIR | ||||
| // Make system dir point to source code location as fallback | // Make system dir point to source code location as fallback | ||||
| asset::systemDir = CARDINAL_PLUGIN_SOURCE_DIR DISTRHO_OS_SEP_STR "Rack"; | asset::systemDir = CARDINAL_PLUGIN_SOURCE_DIR DISTRHO_OS_SEP_STR "Rack"; | ||||
| asset::bundlePath.clear(); | |||||
| // If source code dir does not exist use install target prefix as system dir | // If source code dir does not exist use install target prefix as system dir | ||||
| if (!system::exists(system::join(asset::systemDir, "res"))) | if (!system::exists(system::join(asset::systemDir, "res"))) | ||||
| @@ -683,12 +684,12 @@ protected: | |||||
| uint32_t getVersion() const override | uint32_t getVersion() const override | ||||
| { | { | ||||
| return d_version(0, 22, 7); | |||||
| return d_version(0, 22, 8); | |||||
| } | } | ||||
| int64_t getUniqueId() const override | int64_t getUniqueId() const override | ||||
| { | { | ||||
| #if CARDINAL_VARIANT_MAIN | |||||
| #if CARDINAL_VARIANT_MAIN || CARDINAL_VARIANT_NATIVE | |||||
| return d_cconst('d', 'C', 'd', 'n'); | return d_cconst('d', 'C', 'd', 'n'); | ||||
| #elif CARDINAL_VARIANT_FX | #elif CARDINAL_VARIANT_FX | ||||
| return d_cconst('d', 'C', 'n', 'F'); | return d_cconst('d', 'C', 'n', 'F'); | ||||
| @@ -704,7 +705,7 @@ protected: | |||||
| void initAudioPort(const bool input, uint32_t index, AudioPort& port) override | void initAudioPort(const bool input, uint32_t index, AudioPort& port) override | ||||
| { | { | ||||
| #if CARDINAL_VARIANT_FX || CARDINAL_VARIANT_SYNTH | |||||
| #if CARDINAL_VARIANT_FX || CARDINAL_VARIANT_NATIVE || CARDINAL_VARIANT_SYNTH | |||||
| if (index < 2) | if (index < 2) | ||||
| port.groupId = kPortGroupStereo; | port.groupId = kPortGroupStereo; | ||||
| #endif | #endif | ||||
| @@ -18,9 +18,10 @@ | |||||
| #ifndef DISTRHO_PLUGIN_INFO_H_INCLUDED | #ifndef DISTRHO_PLUGIN_INFO_H_INCLUDED | ||||
| #define DISTRHO_PLUGIN_INFO_H_INCLUDED | #define DISTRHO_PLUGIN_INFO_H_INCLUDED | ||||
| #define CARDINAL_VARIANT_MAIN 0 | |||||
| #define CARDINAL_VARIANT_FX 0 | |||||
| #define CARDINAL_VARIANT_SYNTH 1 | |||||
| #define CARDINAL_VARIANT_MAIN 0 | |||||
| #define CARDINAL_VARIANT_FX 0 | |||||
| #define CARDINAL_VARIANT_NATIVE 0 | |||||
| #define CARDINAL_VARIANT_SYNTH 1 | |||||
| #define CARDINAL_NUM_AUDIO_INPUTS 0 | #define CARDINAL_NUM_AUDIO_INPUTS 0 | ||||
| #define CARDINAL_NUM_AUDIO_OUTPUTS 2 | #define CARDINAL_NUM_AUDIO_OUTPUTS 2 | ||||
| @@ -346,6 +346,21 @@ lv2: $(LV2_RESOURCES) | |||||
| vst2: $(VST2_RESOURCES) | vst2: $(VST2_RESOURCES) | ||||
| vst3: $(VST3_RESOURCES) | vst3: $(VST3_RESOURCES) | ||||
| # -------------------------------------------------------------- | |||||
| # Extra rules for macOS app bundle | |||||
| $(TARGET_DIR)/Cardinal.app/Contents/Info.plist: ../../utils/macOS/Info_JACK.plist $(TARGET_DIR)/Cardinal.app/Contents/Resources/distrho.icns | |||||
| -@mkdir -p $(shell dirname $@) | |||||
| cp $< $@ | |||||
| $(TARGET_DIR)/CardinalNative.app/Contents/Info.plist: ../../utils/macOS/Info_Native.plist $(TARGET_DIR)/CardinalNative.app/Contents/Resources/distrho.icns | |||||
| -@mkdir -p $(shell dirname $@) | |||||
| cp $< $@ | |||||
| $(TARGET_DIR)/%.app/Contents/Resources/distrho.icns: ../../utils/distrho.icns | |||||
| -@mkdir -p $(shell dirname $@) | |||||
| cp $< $@ | |||||
| # -------------------------------------------------------------- | # -------------------------------------------------------------- | ||||
| # Extra rules for wasm resources | # Extra rules for wasm resources | ||||
| @@ -41,6 +41,7 @@ static constexpr const uint kModuleParameters = 24; | |||||
| enum CardinalVariant { | enum CardinalVariant { | ||||
| kCardinalVariantMain, | kCardinalVariantMain, | ||||
| kCardinalVariantFX, | kCardinalVariantFX, | ||||
| kCardinalVariantNative, | |||||
| kCardinalVariantSynth, | kCardinalVariantSynth, | ||||
| }; | }; | ||||
| @@ -74,6 +75,8 @@ struct CardinalPluginContext : rack::Context { | |||||
| variant(kCardinalVariantMain), | variant(kCardinalVariantMain), | ||||
| #elif CARDINAL_VARIANT_FX | #elif CARDINAL_VARIANT_FX | ||||
| variant(kCardinalVariantFX), | variant(kCardinalVariantFX), | ||||
| #elif CARDINAL_VARIANT_NATIVE | |||||
| variant(kCardinalVariantNative), | |||||
| #elif CARDINAL_VARIANT_SYNTH | #elif CARDINAL_VARIANT_SYNTH | ||||
| variant(kCardinalVariantSynth), | variant(kCardinalVariantSynth), | ||||
| #else | #else | ||||
| @@ -661,13 +661,11 @@ struct EngineButton : MenuButton { | |||||
| } | } | ||||
| if (supportsMIDI()) { | if (supportsMIDI()) { | ||||
| const bool enabled = isMIDIEnabled(); | |||||
| std::string rightText; | std::string rightText; | ||||
| if (enabled) | |||||
| if (isMIDIEnabled()) | |||||
| rightText = CHECKMARK_STRING; | rightText = CHECKMARK_STRING; | ||||
| menu->addChild(createMenuItem("Enable MIDI", rightText, [enabled]() { | |||||
| if (!enabled) | |||||
| requestMIDI(); | |||||
| menu->addChild(createMenuItem("Enable/Reconnect MIDI", rightText, []() { | |||||
| requestMIDI(); | |||||
| })); | })); | ||||
| } | } | ||||
| @@ -9,13 +9,12 @@ else | |||||
| exit | exit | ||||
| fi | fi | ||||
| rm -rf res | |||||
| rm -rf au | |||||
| rm -rf lv2 | |||||
| rm -rf vst2 | |||||
| rm -rf vst3 | |||||
| rm -rf res jack native au lv2 vst2 vst3 | |||||
| mkdir jack native au lv2 vst2 vst3 | |||||
| mv Cardinal.app jack/CardinalJACK.app | |||||
| mv CardinalNative.app native/CardinalNative.app | |||||
| mkdir au lv2 vst2 vst3 | |||||
| mv *.component au/ | mv *.component au/ | ||||
| mv *.lv2 lv2/ | mv *.lv2 lv2/ | ||||
| mv *.vst vst2/ | mv *.vst vst2/ | ||||
| @@ -31,6 +30,18 @@ pkgbuild \ | |||||
| --root "${PWD}/res/" \ | --root "${PWD}/res/" \ | ||||
| ../dpf-cardinal-resources.pkg | ../dpf-cardinal-resources.pkg | ||||
| pkgbuild \ | |||||
| --identifier "studio.kx.distrho.plugins.cardinal.jack" \ | |||||
| --install-location "/Applications/" \ | |||||
| --root "${PWD}/jack/" \ | |||||
| ../dpf-cardinal-jack.pkg | |||||
| pkgbuild \ | |||||
| --identifier "studio.kx.distrho.plugins.cardinal.native" \ | |||||
| --install-location "/Applications/" \ | |||||
| --root "${PWD}/native/" \ | |||||
| ../dpf-cardinal-native.pkg | |||||
| pkgbuild \ | pkgbuild \ | ||||
| --identifier "studio.kx.distrho.plugins.cardinal.components" \ | --identifier "studio.kx.distrho.plugins.cardinal.components" \ | ||||
| --install-location "/Library/Audio/Plug-Ins/Components/" \ | --install-location "/Library/Audio/Plug-Ins/Components/" \ | ||||
| @@ -16,13 +16,14 @@ OutputDir=. | |||||
| UsePreviousAppDir=no | UsePreviousAppDir=no | ||||
| [Types] | [Types] | ||||
| Name: "normal"; Description: "Normal installation (recommended)"; | |||||
| Name: "full"; Description: "Full installation"; | |||||
| Name: "custom"; Description: "Custom installation"; Flags: iscustom; | Name: "custom"; Description: "Custom installation"; Flags: iscustom; | ||||
| [Components] | [Components] | ||||
| Name: resources; Description: "Resources"; Types: normal custom; Flags: fixed; | Name: resources; Description: "Resources"; Types: normal custom; Flags: fixed; | ||||
| Name: carla; Description: "Carla/Ildaeil host tools"; Types: normal; | Name: carla; Description: "Carla/Ildaeil host tools"; Types: normal; | ||||
| Name: jack; Description: "Standalone (requires JACK)"; Types: custom; | |||||
| Name: jack; Description: "Standalone (JACK)"; Types: custom; | |||||
| Name: native; Description: "Standalone (Native)"; Types: custom; | |||||
| Name: lv2; Description: "LV2 plugin"; Types: normal; | Name: lv2; Description: "LV2 plugin"; Types: normal; | ||||
| Name: vst2; Description: "VST2 plugin"; Types: normal; | Name: vst2; Description: "VST2 plugin"; Types: normal; | ||||
| Name: vst3; Description: "VST3 plugin"; Types: normal; | Name: vst3; Description: "VST3 plugin"; Types: normal; | ||||
| @@ -46,6 +47,8 @@ Source: "..\..\carla\build\Carla\resources\lib\*.*"; DestDir: "{commoncf32}\Card | |||||
| Source: "..\..\carla\build\Carla\resources\lib\PyQt5\*.*"; DestDir: "{commoncf32}\Cardinal\Carla\resources\lib\PyQt5"; Components: carla; Flags: ignoreversion; | Source: "..\..\carla\build\Carla\resources\lib\PyQt5\*.*"; DestDir: "{commoncf32}\Cardinal\Carla\resources\lib\PyQt5"; Components: carla; Flags: ignoreversion; | ||||
| ; jack | ; jack | ||||
| Source: "..\..\bin\Cardinal.exe"; DestDir: "{app}"; Components: jack; Flags: ignoreversion; | Source: "..\..\bin\Cardinal.exe"; DestDir: "{app}"; Components: jack; Flags: ignoreversion; | ||||
| ; native | |||||
| Source: "..\..\bin\CardinalNative.exe"; DestDir: "{app}"; Components: native; Flags: ignoreversion; | |||||
| ; lv2 | ; lv2 | ||||
| Source: "..\..\bin\Cardinal.lv2\*.*"; DestDir: "{commoncf32}\LV2\Cardinal.lv2"; Components: lv2; Flags: ignoreversion; | Source: "..\..\bin\Cardinal.lv2\*.*"; DestDir: "{commoncf32}\LV2\Cardinal.lv2"; Components: lv2; Flags: ignoreversion; | ||||
| Source: "..\..\bin\CardinalFX.lv2\*.*"; DestDir: "{commoncf32}\LV2\CardinalFX.lv2"; Components: lv2; Flags: ignoreversion; | Source: "..\..\bin\CardinalFX.lv2\*.*"; DestDir: "{commoncf32}\LV2\CardinalFX.lv2"; Components: lv2; Flags: ignoreversion; | ||||
| @@ -58,4 +61,5 @@ Source: "..\..\bin\CardinalFX.vst3\Contents\x86-win\CardinalFX.vst3"; DestDir: " | |||||
| Source: "..\..\bin\CardinalSynth.vst3\Contents\x86-win\CardinalSynth.vst3"; DestDir: "{commoncf32}\VST3\CardinalSynth.vst3\Contents\x86-win"; Components: vst3; Flags: ignoreversion; | Source: "..\..\bin\CardinalSynth.vst3\Contents\x86-win\CardinalSynth.vst3"; DestDir: "{commoncf32}\VST3\CardinalSynth.vst3\Contents\x86-win"; Components: vst3; Flags: ignoreversion; | ||||
| [Icons] | [Icons] | ||||
| Name: "{commonprograms}\Cardinal"; Filename: "{app}\Cardinal.exe"; IconFilename: "{app}\distrho.ico"; WorkingDir: "{app}"; Comment: "Virtual modular synthesizer plugin"; Components: jack; | |||||
| Name: "{commonprograms}\Cardinal (JACK)"; Filename: "{app}\Cardinal.exe"; IconFilename: "{app}\distrho.ico"; WorkingDir: "{app}"; Comment: "Virtual modular synthesizer plugin (JACK variant)"; Components: jack; | |||||
| Name: "{commonprograms}\Cardinal (Native)"; Filename: "{app}\CardinalNative.exe"; IconFilename: "{app}\distrho.ico"; WorkingDir: "{app}"; Comment: "Virtual modular synthesizer plugin (Native variant)"; Components: native; | |||||
| @@ -17,13 +17,14 @@ OutputDir=. | |||||
| UsePreviousAppDir=no | UsePreviousAppDir=no | ||||
| [Types] | [Types] | ||||
| Name: "normal"; Description: "Normal installation (recommended)"; | |||||
| Name: "full"; Description: "Full installation"; | |||||
| Name: "custom"; Description: "Custom installation"; Flags: iscustom; | Name: "custom"; Description: "Custom installation"; Flags: iscustom; | ||||
| [Components] | [Components] | ||||
| Name: resources; Description: "Resources"; Types: normal custom; Flags: fixed; | Name: resources; Description: "Resources"; Types: normal custom; Flags: fixed; | ||||
| Name: carla; Description: "Carla/Ildaeil host tools"; Types: normal; | Name: carla; Description: "Carla/Ildaeil host tools"; Types: normal; | ||||
| Name: jack; Description: "Standalone (requires JACK)"; Types: custom; | |||||
| Name: jack; Description: "Standalone (JACK)"; Types: custom; | |||||
| Name: native; Description: "Standalone (Native)"; Types: custom; | |||||
| Name: lv2; Description: "LV2 plugin"; Types: normal; | Name: lv2; Description: "LV2 plugin"; Types: normal; | ||||
| Name: vst2; Description: "VST2 plugin"; Types: normal; | Name: vst2; Description: "VST2 plugin"; Types: normal; | ||||
| Name: vst3; Description: "VST3 plugin"; Types: normal; | Name: vst3; Description: "VST3 plugin"; Types: normal; | ||||
| @@ -47,6 +48,8 @@ Source: "..\..\carla\build\Carla\resources\lib\*.*"; DestDir: "{commoncf64}\Card | |||||
| Source: "..\..\carla\build\Carla\resources\lib\PyQt5\*.*"; DestDir: "{commoncf64}\Cardinal\Carla\resources\lib\PyQt5"; Components: carla; Flags: ignoreversion; | Source: "..\..\carla\build\Carla\resources\lib\PyQt5\*.*"; DestDir: "{commoncf64}\Cardinal\Carla\resources\lib\PyQt5"; Components: carla; Flags: ignoreversion; | ||||
| ; jack | ; jack | ||||
| Source: "..\..\bin\Cardinal.exe"; DestDir: "{app}"; Components: jack; Flags: ignoreversion; | Source: "..\..\bin\Cardinal.exe"; DestDir: "{app}"; Components: jack; Flags: ignoreversion; | ||||
| ; native | |||||
| Source: "..\..\bin\CardinalNative.exe"; DestDir: "{app}"; Components: native; Flags: ignoreversion; | |||||
| ; lv2 | ; lv2 | ||||
| Source: "..\..\bin\Cardinal.lv2\*.*"; DestDir: "{commoncf64}\LV2\Cardinal.lv2"; Components: lv2; Flags: ignoreversion; | Source: "..\..\bin\Cardinal.lv2\*.*"; DestDir: "{commoncf64}\LV2\Cardinal.lv2"; Components: lv2; Flags: ignoreversion; | ||||
| Source: "..\..\bin\CardinalFX.lv2\*.*"; DestDir: "{commoncf64}\LV2\CardinalFX.lv2"; Components: lv2; Flags: ignoreversion; | Source: "..\..\bin\CardinalFX.lv2\*.*"; DestDir: "{commoncf64}\LV2\CardinalFX.lv2"; Components: lv2; Flags: ignoreversion; | ||||
| @@ -59,4 +62,5 @@ Source: "..\..\bin\CardinalFX.vst3\Contents\x86_64-win\CardinalFX.vst3"; DestDir | |||||
| Source: "..\..\bin\CardinalSynth.vst3\Contents\x86_64-win\CardinalSynth.vst3"; DestDir: "{commoncf64}\VST3\CardinalSynth.vst3\Contents\x86_64-win"; Components: vst3; Flags: ignoreversion; | Source: "..\..\bin\CardinalSynth.vst3\Contents\x86_64-win\CardinalSynth.vst3"; DestDir: "{commoncf64}\VST3\CardinalSynth.vst3\Contents\x86_64-win"; Components: vst3; Flags: ignoreversion; | ||||
| [Icons] | [Icons] | ||||
| Name: "{commonprograms}\Cardinal"; Filename: "{app}\Cardinal.exe"; IconFilename: "{app}\distrho.ico"; WorkingDir: "{app}"; Comment: "Virtual modular synthesizer plugin"; Components: jack; | |||||
| Name: "{commonprograms}\Cardinal (JACK)"; Filename: "{app}\Cardinal.exe"; IconFilename: "{app}\distrho.ico"; WorkingDir: "{app}"; Comment: "Virtual modular synthesizer plugin (JACK variant)"; Components: jack; | |||||
| Name: "{commonprograms}\Cardinal (Native)"; Filename: "{app}\CardinalNative.exe"; IconFilename: "{app}\distrho.ico"; WorkingDir: "{app}"; Comment: "Virtual modular synthesizer plugin (Native variant)"; Components: native; | |||||
| @@ -0,0 +1,20 @@ | |||||
| <?xml version="1.0" encoding="UTF-8"?> | |||||
| <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | |||||
| <plist version="1.0"> | |||||
| <dict> | |||||
| <key>CFBundleDevelopmentRegion</key> | |||||
| <string>English</string> | |||||
| <key>CFBundleExecutable</key> | |||||
| <string>Cardinal</string> | |||||
| <key>CFBundleIconFile</key> | |||||
| <string>distrho.icns</string> | |||||
| <key>CFBundleIdentifier</key> | |||||
| <string>Cardinal</string> | |||||
| <key>NSHighResolutionCapable</key> | |||||
| <true/> | |||||
| <key>NSRequiresAquaSystemAppearance</key> | |||||
| <false/> | |||||
| <key>NSLocalNetworkUsageDescription</key> | |||||
| <string>Cardinal requires network permissions for remote OSC control.</string> | |||||
| </dict> | |||||
| </plist> | |||||
| @@ -0,0 +1,22 @@ | |||||
| <?xml version="1.0" encoding="UTF-8"?> | |||||
| <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | |||||
| <plist version="1.0"> | |||||
| <dict> | |||||
| <key>CFBundleDevelopmentRegion</key> | |||||
| <string>English</string> | |||||
| <key>CFBundleExecutable</key> | |||||
| <string>CardinalNative</string> | |||||
| <key>CFBundleIconFile</key> | |||||
| <string>distrho.icns</string> | |||||
| <key>CFBundleIdentifier</key> | |||||
| <string>CardinalNative</string> | |||||
| <key>NSHighResolutionCapable</key> | |||||
| <true/> | |||||
| <key>NSRequiresAquaSystemAppearance</key> | |||||
| <false/> | |||||
| <key>NSLocalNetworkUsageDescription</key> | |||||
| <string>Cardinal requires network permissions for remote OSC control.</string> | |||||
| <key>NSMicrophoneUsageDescription</key> | |||||
| <string>Cardinal requires microphone permissions for audio input.</string> | |||||
| </dict> | |||||
| </plist> | |||||
| @@ -9,6 +9,12 @@ | |||||
| <choice id="studio.kx.distrho.cardinal-res" title="Resources" description="Install resources" visible="false"> | <choice id="studio.kx.distrho.cardinal-res" title="Resources" description="Install resources" visible="false"> | ||||
| <pkg-ref id="studio.kx.distrho.cardinal-resources" version="0">dpf-cardinal-resources.pkg</pkg-ref> | <pkg-ref id="studio.kx.distrho.cardinal-resources" version="0">dpf-cardinal-resources.pkg</pkg-ref> | ||||
| </choice> | </choice> | ||||
| <choice id="studio.kx.distrho.cardinal-jack" title="Standalone (JACK)" description="Install Standalone for usage with JACK. See https://jackaudio.org/ for details." visible="true"> | |||||
| <pkg-ref id="studio.kx.distrho.cardinal-jack" version="0">dpf-cardinal-jack.pkg</pkg-ref> | |||||
| </choice> | |||||
| <choice id="studio.kx.distrho.cardinal-native" title="Standalone (Native)" description="Install Standalone that uses native Audio and MIDI" visible="true"> | |||||
| <pkg-ref id="studio.kx.distrho.cardinal-native" version="0">dpf-cardinal-native.pkg</pkg-ref> | |||||
| </choice> | |||||
| <choice id="studio.kx.distrho.cardinal-au" title="AU" description="Install AU plugins" visible="true"> | <choice id="studio.kx.distrho.cardinal-au" title="AU" description="Install AU plugins" visible="true"> | ||||
| <pkg-ref id="studio.kx.distrho.cardinal-components" version="0">dpf-cardinal-components.pkg</pkg-ref> | <pkg-ref id="studio.kx.distrho.cardinal-components" version="0">dpf-cardinal-components.pkg</pkg-ref> | ||||
| </choice> | </choice> | ||||
| @@ -23,6 +29,8 @@ | |||||
| </choice> | </choice> | ||||
| <choices-outline> | <choices-outline> | ||||
| <line choice="studio.kx.distrho.cardinal-res"/> | <line choice="studio.kx.distrho.cardinal-res"/> | ||||
| <line choice="studio.kx.distrho.cardinal-jack"/> | |||||
| <line choice="studio.kx.distrho.cardinal-native"/> | |||||
| <line choice="studio.kx.distrho.cardinal-au"/> | <line choice="studio.kx.distrho.cardinal-au"/> | ||||
| <line choice="studio.kx.distrho.cardinal-lv2"/> | <line choice="studio.kx.distrho.cardinal-lv2"/> | ||||
| <line choice="studio.kx.distrho.cardinal-vst2"/> | <line choice="studio.kx.distrho.cardinal-vst2"/> | ||||
| @@ -2,13 +2,13 @@ Cardinal is a free and open-source virtual modular synthesizer plugin. | |||||
| It is based on the popular VCV Rack but with a focus on being a fully self-contained plugin version. | It is based on the popular VCV Rack but with a focus on being a fully self-contained plugin version. | ||||
| Cardinal provides 3 plugin variants - "main", Synth and FX. | Cardinal provides 3 plugin variants - "main", Synth and FX. | ||||
| They are all equivalent in performance and behaviour, with only the IO and metadata that changes. | |||||
| They are all equivalent in performance and behaviour. | |||||
| FX and Synth variants both have 2 audio outputs, while "main" has 8. | FX and Synth variants both have 2 audio outputs, while "main" has 8. | ||||
| All variants have MIDI input and output support. | All variants have MIDI input and output support. | ||||
| This package provides the AU, LV2, VST2 and VST3 audio plugins for macOS. | |||||
| This package provides the AU, LV2, VST2 and VST3 audio plugins, plus standalones for both JACK and native audio/MIDI. | |||||
| Notes: | Notes: | ||||
| - Due to AU and VST2 not supporting CV ports, the main variant is not available for these formats. | |||||
| - The VST3 version is in progress, already part of the build but still experimental. | |||||
| - Due to AU and VST2 not supporting CV ports, the main variant is not available for these formats | |||||
| - The VST3 version is in progress, Synth and FX variants work well, main variant is known to have issues | |||||
| - The standalones are intentionally very barebones in terms of system integration, prefer to use the plugin versions if you can | |||||