diff --git a/source/Makefile.mk b/source/Makefile.mk index 50f3929d1..74025f607 100644 --- a/source/Makefile.mk +++ b/source/Makefile.mk @@ -218,6 +218,17 @@ HAVE_MF_DEPS = $(shell pkg-config --exists smf && echo true) HAVE_ZYN_DEPS = $(shell pkg-config --exists fftw3 mxml zlib && echo true) HAVE_ZYN_UI_DEPS = $(shell pkg-config --exists ntk_images ntk && echo true) +# -------------------------------------------------------------- +# Don't use X11 on MacOS or Windows + +ifeq ($(MACOS),true) +HAVE_X11 = false +endif + +ifeq ($(WIN32),true) +HAVE_X11 = false +endif + # -------------------------------------------------------------- # Set base stuff diff --git a/source/backend/plugin/CarlaPluginInternal.cpp b/source/backend/plugin/CarlaPluginInternal.cpp index 60331d73c..ecc90c67e 100644 --- a/source/backend/plugin/CarlaPluginInternal.cpp +++ b/source/backend/plugin/CarlaPluginInternal.cpp @@ -43,7 +43,7 @@ PluginAudioPort::PluginAudioPort() noexcept : rindex(0), port(nullptr) {} -PluginAudioPort::~PluginAudioPort() +PluginAudioPort::~PluginAudioPort() noexcept { CARLA_ASSERT(port == nullptr); } @@ -55,7 +55,7 @@ PluginAudioData::PluginAudioData() noexcept : count(0), ports(nullptr) {} -PluginAudioData::~PluginAudioData() +PluginAudioData::~PluginAudioData() noexcept { CARLA_ASSERT_INT(count == 0, count); CARLA_ASSERT(ports == nullptr); @@ -71,7 +71,7 @@ void PluginAudioData::createNew(const uint32_t newCount) count = newCount; } -void PluginAudioData::clear() +void PluginAudioData::clear() noexcept { if (ports != nullptr) { @@ -91,7 +91,7 @@ void PluginAudioData::clear() count = 0; } -void PluginAudioData::initBuffers() +void PluginAudioData::initBuffers() noexcept { for (uint32_t i=0; i < count; ++i) { @@ -108,7 +108,7 @@ PluginCVPort::PluginCVPort() noexcept param(0), port(nullptr) {} -PluginCVPort::~PluginCVPort() +PluginCVPort::~PluginCVPort() noexcept { CARLA_ASSERT(port == nullptr); } @@ -120,7 +120,7 @@ PluginCVData::PluginCVData() noexcept : count(0), ports(nullptr) {} -PluginCVData::~PluginCVData() +PluginCVData::~PluginCVData() noexcept { CARLA_ASSERT_INT(count == 0, count); CARLA_ASSERT(ports == nullptr); @@ -136,7 +136,7 @@ void PluginCVData::createNew(const uint32_t newCount) count = newCount; } -void PluginCVData::clear() +void PluginCVData::clear() noexcept { if (ports != nullptr) { @@ -156,7 +156,7 @@ void PluginCVData::clear() count = 0; } -void PluginCVData::initBuffers() +void PluginCVData::initBuffers() noexcept { for (uint32_t i=0; i < count; ++i) { @@ -172,13 +172,13 @@ PluginEventData::PluginEventData() noexcept : portIn(nullptr), portOut(nullptr) {} -PluginEventData::~PluginEventData() +PluginEventData::~PluginEventData() noexcept { CARLA_ASSERT(portIn == nullptr); CARLA_ASSERT(portOut == nullptr); } -void PluginEventData::clear() +void PluginEventData::clear() noexcept { if (portIn != nullptr) { @@ -193,7 +193,7 @@ void PluginEventData::clear() } } -void PluginEventData::initBuffers() +void PluginEventData::initBuffers() noexcept { if (portIn != nullptr) portIn->initBuffer(); @@ -211,7 +211,7 @@ PluginParameterData::PluginParameterData() noexcept ranges(nullptr), special(nullptr) {} -PluginParameterData::~PluginParameterData() +PluginParameterData::~PluginParameterData() noexcept { CARLA_ASSERT_INT(count == 0, count); CARLA_ASSERT(data == nullptr); @@ -235,7 +235,7 @@ void PluginParameterData::createNew(const uint32_t newCount, const bool withSpec special = new SpecialParameterType[newCount]; } -void PluginParameterData::clear() +void PluginParameterData::clear() noexcept { if (data != nullptr) { @@ -258,7 +258,7 @@ void PluginParameterData::clear() count = 0; } -float PluginParameterData::getFixedValue(const uint32_t parameterId, const float& value) const +float PluginParameterData::getFixedValue(const uint32_t parameterId, const float& value) const noexcept { CARLA_SAFE_ASSERT_RETURN(parameterId < count, 0.0f); return ranges[parameterId].getFixedValue(value); @@ -272,7 +272,7 @@ PluginProgramData::PluginProgramData() noexcept current(-1), names(nullptr) {} -PluginProgramData::~PluginProgramData() +PluginProgramData::~PluginProgramData() noexcept { CARLA_ASSERT_INT(count == 0, count); CARLA_ASSERT_INT(current == -1, current); @@ -296,7 +296,7 @@ void PluginProgramData::createNew(const uint32_t newCount) names[i] = nullptr; } -void PluginProgramData::clear() +void PluginProgramData::clear() noexcept { if (names != nullptr) { @@ -325,7 +325,7 @@ PluginMidiProgramData::PluginMidiProgramData() noexcept current(-1), data(nullptr) {} -PluginMidiProgramData::~PluginMidiProgramData() +PluginMidiProgramData::~PluginMidiProgramData() noexcept { CARLA_ASSERT_INT(count == 0, count); CARLA_ASSERT_INT(current == -1, current); @@ -353,7 +353,7 @@ void PluginMidiProgramData::createNew(const uint32_t newCount) } } -void PluginMidiProgramData::clear() +void PluginMidiProgramData::clear() noexcept { if (data != nullptr) { diff --git a/source/backend/plugin/CarlaPluginInternal.hpp b/source/backend/plugin/CarlaPluginInternal.hpp index dab4f642d..5184c236b 100644 --- a/source/backend/plugin/CarlaPluginInternal.hpp +++ b/source/backend/plugin/CarlaPluginInternal.hpp @@ -107,7 +107,7 @@ struct PluginAudioPort { CarlaEngineAudioPort* port; PluginAudioPort() noexcept; - ~PluginAudioPort(); + ~PluginAudioPort() noexcept; CARLA_DECLARE_NON_COPY_STRUCT(PluginAudioPort) }; @@ -117,10 +117,10 @@ struct PluginAudioData { PluginAudioPort* ports; PluginAudioData() noexcept; - ~PluginAudioData(); + ~PluginAudioData() noexcept; void createNew(const uint32_t newCount); - void clear(); - void initBuffers(); + void clear() noexcept; + void initBuffers() noexcept; CARLA_DECLARE_NON_COPY_STRUCT(PluginAudioData) }; @@ -133,7 +133,7 @@ struct PluginCVPort { CarlaEngineCVPort* port; PluginCVPort() noexcept; - ~PluginCVPort(); + ~PluginCVPort() noexcept; CARLA_DECLARE_NON_COPY_STRUCT(PluginCVPort) }; @@ -143,10 +143,10 @@ struct PluginCVData { PluginCVPort* ports; PluginCVData() noexcept; - ~PluginCVData(); + ~PluginCVData() noexcept; void createNew(const uint32_t newCount); - void clear(); - void initBuffers(); + void clear() noexcept; + void initBuffers() noexcept; CARLA_DECLARE_NON_COPY_STRUCT(PluginCVData) }; @@ -158,9 +158,9 @@ struct PluginEventData { CarlaEngineEventPort* portOut; PluginEventData() noexcept; - ~PluginEventData(); - void clear(); - void initBuffers(); + ~PluginEventData() noexcept; + void clear() noexcept; + void initBuffers() noexcept; CARLA_DECLARE_NON_COPY_STRUCT(PluginEventData) }; @@ -182,10 +182,10 @@ struct PluginParameterData { SpecialParameterType* special; PluginParameterData() noexcept; - ~PluginParameterData(); + ~PluginParameterData() noexcept; void createNew(const uint32_t newCount, const bool withSpecial); - void clear(); - float getFixedValue(const uint32_t parameterId, const float& value) const; + void clear() noexcept; + float getFixedValue(const uint32_t parameterId, const float& value) const noexcept; CARLA_DECLARE_NON_COPY_STRUCT(PluginParameterData) }; @@ -200,9 +200,9 @@ struct PluginProgramData { ProgramName* names; PluginProgramData() noexcept; - ~PluginProgramData(); + ~PluginProgramData() noexcept; void createNew(const uint32_t newCount); - void clear(); + void clear() noexcept; CARLA_DECLARE_NON_COPY_STRUCT(PluginProgramData) }; @@ -215,9 +215,9 @@ struct PluginMidiProgramData { MidiProgramData* data; PluginMidiProgramData() noexcept; - ~PluginMidiProgramData(); + ~PluginMidiProgramData() noexcept; void createNew(const uint32_t newCount); - void clear(); + void clear() noexcept; const MidiProgramData& getCurrent() const noexcept; CARLA_DECLARE_NON_COPY_STRUCT(PluginMidiProgramData) diff --git a/source/backend/plugin/CarlaPluginUi.cpp b/source/backend/plugin/CarlaPluginUi.cpp index 250ddd531..76bcfdc62 100644 --- a/source/backend/plugin/CarlaPluginUi.cpp +++ b/source/backend/plugin/CarlaPluginUi.cpp @@ -24,7 +24,9 @@ # include #endif -#ifdef HAVE_X11 +#if defined(CARLA_OS_MAC) +#elif defined(CARLA_OS_WIN) +#elif defined(HAVE_X11) // ----------------------------------------------------- // X11 @@ -32,7 +34,7 @@ class X11PluginUi : public CarlaPluginUi { public: X11PluginUi(CloseCallback* const cb, const uintptr_t parentId) noexcept - : CarlaPluginUi(cb, parentId), + : CarlaPluginUi(cb), fDisplay(nullptr), fWindow(0) { @@ -298,23 +300,19 @@ bool CarlaPluginUi::tryTransientWinIdMatch(const uintptr_t pid, const char* cons // ----------------------------------------------------- -#ifdef CARLA_OS_MAC +#if defined(CARLA_OS_MAC) CarlaPluginUi* CarlaPluginUi::newCocoa(CloseCallback*, uintptr_t) { //return new CocoaPluginUi(cb, parentId); return nullptr; } -#endif - -#ifdef CARLA_OS_WIN +#elif defined(CARLA_OS_WIN) CarlaPluginUi* CarlaPluginUi::newWindows(CloseCallback*, uintptr_t) { //return new WindowsPluginUi(cb, parentId); return nullptr; } -#endif - -#ifdef HAVE_X11 +#elif defined(HAVE_X11) CarlaPluginUi* CarlaPluginUi::newX11(CloseCallback* cb, uintptr_t parentId) { return new X11PluginUi(cb, parentId); diff --git a/source/backend/plugin/CarlaPluginUi.hpp b/source/backend/plugin/CarlaPluginUi.hpp index 6f5c69948..ef31b6fd7 100644 --- a/source/backend/plugin/CarlaPluginUi.hpp +++ b/source/backend/plugin/CarlaPluginUi.hpp @@ -43,19 +43,17 @@ public: static bool tryTransientWinIdMatch(const uintptr_t pid, const char* const uiTitle, const uintptr_t winId); -#ifdef CARLA_OS_MAC +#if defined(CARLA_OS_MAC) static CarlaPluginUi* newCocoa(CloseCallback*, uintptr_t); -#endif -#ifdef CARLA_OS_WIN +#elif defined(CARLA_OS_WIN) static CarlaPluginUi* newWindows(CloseCallback*, uintptr_t); -#endif -#ifdef HAVE_X11 +#elif defined(HAVE_X11) static CarlaPluginUi* newX11(CloseCallback*, uintptr_t); #endif protected: CloseCallback* fCallback; - CarlaPluginUi(CloseCallback* const cb, const uintptr_t) noexcept : fCallback(cb) {} + CarlaPluginUi(CloseCallback* const cb) noexcept : fCallback(cb) {} }; // ----------------------------------------------------- diff --git a/source/backend/plugin/NativePlugin.cpp b/source/backend/plugin/NativePlugin.cpp index b999d8975..e2dd22dc0 100644 --- a/source/backend/plugin/NativePlugin.cpp +++ b/source/backend/plugin/NativePlugin.cpp @@ -1347,7 +1347,7 @@ public: { const ExternalMidiNote& note(pData->extNotes.data.getFirst(true)); - CARLA_ASSERT(note.channel >= 0 && note.channel < MAX_MIDI_CHANNELS); + CARLA_SAFE_ASSERT_CONTINUE(note.channel >= 0 && note.channel < MAX_MIDI_CHANNELS); fMidiEvents[fMidiEventCount].data[0] = static_cast((note.velo > 0 ? MIDI_STATUS_NOTE_ON : MIDI_STATUS_NOTE_OFF) | (note.channel & MIDI_CHANNEL_BIT)); fMidiEvents[fMidiEventCount].data[1] = note.note;