More work for native audio variant, add to win and mac installers

This commit is contained in:
falkTX 2022-08-02 14:30:50 +01:00
parent bc345e2acd
commit 340e927ae3
23 changed files with 148 additions and 51 deletions

View file

@ -18,9 +18,10 @@
#ifndef 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_OUTPUTS 8

View file

@ -57,7 +57,7 @@
# include <emscripten/emscripten.h>
#endif
const std::string CARDINAL_VERSION = "22.07";
const std::string CARDINAL_VERSION = "22.08";
namespace rack {

View file

@ -18,9 +18,10 @@
#ifndef 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_OUTPUTS 2

View file

@ -18,9 +18,10 @@
#ifndef 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_OUTPUTS 2

View file

@ -52,10 +52,10 @@
# include "extra/SharedResourcePointer.hpp"
#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"
#elif CARDINAL_VARIANT_NATIVE
# define CARDINAL_TEMPLATE_NAME "init/native.vcv"
#elif CARDINAL_VARIANT_SYNTH
# define CARDINAL_TEMPLATE_NAME "init/synth.vcv"
#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
// Make system dir point to source code location as fallback
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 (!system::exists(system::join(asset::systemDir, "res")))
@ -683,12 +684,12 @@ protected:
uint32_t getVersion() const override
{
return d_version(0, 22, 7);
return d_version(0, 22, 8);
}
int64_t getUniqueId() const override
{
#if CARDINAL_VARIANT_MAIN
#if CARDINAL_VARIANT_MAIN || CARDINAL_VARIANT_NATIVE
return d_cconst('d', 'C', 'd', 'n');
#elif CARDINAL_VARIANT_FX
return d_cconst('d', 'C', 'n', 'F');
@ -704,7 +705,7 @@ protected:
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)
port.groupId = kPortGroupStereo;
#endif

View file

@ -18,9 +18,10 @@
#ifndef 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_OUTPUTS 2

View file

@ -346,6 +346,21 @@ lv2: $(LV2_RESOURCES)
vst2: $(VST2_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

View file

@ -41,6 +41,7 @@ static constexpr const uint kModuleParameters = 24;
enum CardinalVariant {
kCardinalVariantMain,
kCardinalVariantFX,
kCardinalVariantNative,
kCardinalVariantSynth,
};
@ -74,6 +75,8 @@ struct CardinalPluginContext : rack::Context {
variant(kCardinalVariantMain),
#elif CARDINAL_VARIANT_FX
variant(kCardinalVariantFX),
#elif CARDINAL_VARIANT_NATIVE
variant(kCardinalVariantNative),
#elif CARDINAL_VARIANT_SYNTH
variant(kCardinalVariantSynth),
#else

View file

@ -661,13 +661,11 @@ struct EngineButton : MenuButton {
}
if (supportsMIDI()) {
const bool enabled = isMIDIEnabled();
std::string rightText;
if (enabled)
if (isMIDIEnabled())
rightText = CHECKMARK_STRING;
menu->addChild(createMenuItem("Enable MIDI", rightText, [enabled]() {
if (!enabled)
requestMIDI();
menu->addChild(createMenuItem("Enable/Reconnect MIDI", rightText, []() {
requestMIDI();
}));
}