| @@ -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_DEPS = $(shell pkg-config --exists fftw3 mxml zlib && echo true) | ||||
| HAVE_ZYN_UI_DEPS = $(shell pkg-config --exists ntk_images ntk && 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 | # Set base stuff | ||||
| @@ -43,7 +43,7 @@ PluginAudioPort::PluginAudioPort() noexcept | |||||
| : rindex(0), | : rindex(0), | ||||
| port(nullptr) {} | port(nullptr) {} | ||||
| PluginAudioPort::~PluginAudioPort() | |||||
| PluginAudioPort::~PluginAudioPort() noexcept | |||||
| { | { | ||||
| CARLA_ASSERT(port == nullptr); | CARLA_ASSERT(port == nullptr); | ||||
| } | } | ||||
| @@ -55,7 +55,7 @@ PluginAudioData::PluginAudioData() noexcept | |||||
| : count(0), | : count(0), | ||||
| ports(nullptr) {} | ports(nullptr) {} | ||||
| PluginAudioData::~PluginAudioData() | |||||
| PluginAudioData::~PluginAudioData() noexcept | |||||
| { | { | ||||
| CARLA_ASSERT_INT(count == 0, count); | CARLA_ASSERT_INT(count == 0, count); | ||||
| CARLA_ASSERT(ports == nullptr); | CARLA_ASSERT(ports == nullptr); | ||||
| @@ -71,7 +71,7 @@ void PluginAudioData::createNew(const uint32_t newCount) | |||||
| count = newCount; | count = newCount; | ||||
| } | } | ||||
| void PluginAudioData::clear() | |||||
| void PluginAudioData::clear() noexcept | |||||
| { | { | ||||
| if (ports != nullptr) | if (ports != nullptr) | ||||
| { | { | ||||
| @@ -91,7 +91,7 @@ void PluginAudioData::clear() | |||||
| count = 0; | count = 0; | ||||
| } | } | ||||
| void PluginAudioData::initBuffers() | |||||
| void PluginAudioData::initBuffers() noexcept | |||||
| { | { | ||||
| for (uint32_t i=0; i < count; ++i) | for (uint32_t i=0; i < count; ++i) | ||||
| { | { | ||||
| @@ -108,7 +108,7 @@ PluginCVPort::PluginCVPort() noexcept | |||||
| param(0), | param(0), | ||||
| port(nullptr) {} | port(nullptr) {} | ||||
| PluginCVPort::~PluginCVPort() | |||||
| PluginCVPort::~PluginCVPort() noexcept | |||||
| { | { | ||||
| CARLA_ASSERT(port == nullptr); | CARLA_ASSERT(port == nullptr); | ||||
| } | } | ||||
| @@ -120,7 +120,7 @@ PluginCVData::PluginCVData() noexcept | |||||
| : count(0), | : count(0), | ||||
| ports(nullptr) {} | ports(nullptr) {} | ||||
| PluginCVData::~PluginCVData() | |||||
| PluginCVData::~PluginCVData() noexcept | |||||
| { | { | ||||
| CARLA_ASSERT_INT(count == 0, count); | CARLA_ASSERT_INT(count == 0, count); | ||||
| CARLA_ASSERT(ports == nullptr); | CARLA_ASSERT(ports == nullptr); | ||||
| @@ -136,7 +136,7 @@ void PluginCVData::createNew(const uint32_t newCount) | |||||
| count = newCount; | count = newCount; | ||||
| } | } | ||||
| void PluginCVData::clear() | |||||
| void PluginCVData::clear() noexcept | |||||
| { | { | ||||
| if (ports != nullptr) | if (ports != nullptr) | ||||
| { | { | ||||
| @@ -156,7 +156,7 @@ void PluginCVData::clear() | |||||
| count = 0; | count = 0; | ||||
| } | } | ||||
| void PluginCVData::initBuffers() | |||||
| void PluginCVData::initBuffers() noexcept | |||||
| { | { | ||||
| for (uint32_t i=0; i < count; ++i) | for (uint32_t i=0; i < count; ++i) | ||||
| { | { | ||||
| @@ -172,13 +172,13 @@ PluginEventData::PluginEventData() noexcept | |||||
| : portIn(nullptr), | : portIn(nullptr), | ||||
| portOut(nullptr) {} | portOut(nullptr) {} | ||||
| PluginEventData::~PluginEventData() | |||||
| PluginEventData::~PluginEventData() noexcept | |||||
| { | { | ||||
| CARLA_ASSERT(portIn == nullptr); | CARLA_ASSERT(portIn == nullptr); | ||||
| CARLA_ASSERT(portOut == nullptr); | CARLA_ASSERT(portOut == nullptr); | ||||
| } | } | ||||
| void PluginEventData::clear() | |||||
| void PluginEventData::clear() noexcept | |||||
| { | { | ||||
| if (portIn != nullptr) | if (portIn != nullptr) | ||||
| { | { | ||||
| @@ -193,7 +193,7 @@ void PluginEventData::clear() | |||||
| } | } | ||||
| } | } | ||||
| void PluginEventData::initBuffers() | |||||
| void PluginEventData::initBuffers() noexcept | |||||
| { | { | ||||
| if (portIn != nullptr) | if (portIn != nullptr) | ||||
| portIn->initBuffer(); | portIn->initBuffer(); | ||||
| @@ -211,7 +211,7 @@ PluginParameterData::PluginParameterData() noexcept | |||||
| ranges(nullptr), | ranges(nullptr), | ||||
| special(nullptr) {} | special(nullptr) {} | ||||
| PluginParameterData::~PluginParameterData() | |||||
| PluginParameterData::~PluginParameterData() noexcept | |||||
| { | { | ||||
| CARLA_ASSERT_INT(count == 0, count); | CARLA_ASSERT_INT(count == 0, count); | ||||
| CARLA_ASSERT(data == nullptr); | CARLA_ASSERT(data == nullptr); | ||||
| @@ -235,7 +235,7 @@ void PluginParameterData::createNew(const uint32_t newCount, const bool withSpec | |||||
| special = new SpecialParameterType[newCount]; | special = new SpecialParameterType[newCount]; | ||||
| } | } | ||||
| void PluginParameterData::clear() | |||||
| void PluginParameterData::clear() noexcept | |||||
| { | { | ||||
| if (data != nullptr) | if (data != nullptr) | ||||
| { | { | ||||
| @@ -258,7 +258,7 @@ void PluginParameterData::clear() | |||||
| count = 0; | 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); | CARLA_SAFE_ASSERT_RETURN(parameterId < count, 0.0f); | ||||
| return ranges[parameterId].getFixedValue(value); | return ranges[parameterId].getFixedValue(value); | ||||
| @@ -272,7 +272,7 @@ PluginProgramData::PluginProgramData() noexcept | |||||
| current(-1), | current(-1), | ||||
| names(nullptr) {} | names(nullptr) {} | ||||
| PluginProgramData::~PluginProgramData() | |||||
| PluginProgramData::~PluginProgramData() noexcept | |||||
| { | { | ||||
| CARLA_ASSERT_INT(count == 0, count); | CARLA_ASSERT_INT(count == 0, count); | ||||
| CARLA_ASSERT_INT(current == -1, current); | CARLA_ASSERT_INT(current == -1, current); | ||||
| @@ -296,7 +296,7 @@ void PluginProgramData::createNew(const uint32_t newCount) | |||||
| names[i] = nullptr; | names[i] = nullptr; | ||||
| } | } | ||||
| void PluginProgramData::clear() | |||||
| void PluginProgramData::clear() noexcept | |||||
| { | { | ||||
| if (names != nullptr) | if (names != nullptr) | ||||
| { | { | ||||
| @@ -325,7 +325,7 @@ PluginMidiProgramData::PluginMidiProgramData() noexcept | |||||
| current(-1), | current(-1), | ||||
| data(nullptr) {} | data(nullptr) {} | ||||
| PluginMidiProgramData::~PluginMidiProgramData() | |||||
| PluginMidiProgramData::~PluginMidiProgramData() noexcept | |||||
| { | { | ||||
| CARLA_ASSERT_INT(count == 0, count); | CARLA_ASSERT_INT(count == 0, count); | ||||
| CARLA_ASSERT_INT(current == -1, current); | 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) | if (data != nullptr) | ||||
| { | { | ||||
| @@ -107,7 +107,7 @@ struct PluginAudioPort { | |||||
| CarlaEngineAudioPort* port; | CarlaEngineAudioPort* port; | ||||
| PluginAudioPort() noexcept; | PluginAudioPort() noexcept; | ||||
| ~PluginAudioPort(); | |||||
| ~PluginAudioPort() noexcept; | |||||
| CARLA_DECLARE_NON_COPY_STRUCT(PluginAudioPort) | CARLA_DECLARE_NON_COPY_STRUCT(PluginAudioPort) | ||||
| }; | }; | ||||
| @@ -117,10 +117,10 @@ struct PluginAudioData { | |||||
| PluginAudioPort* ports; | PluginAudioPort* ports; | ||||
| PluginAudioData() noexcept; | PluginAudioData() noexcept; | ||||
| ~PluginAudioData(); | |||||
| ~PluginAudioData() noexcept; | |||||
| void createNew(const uint32_t newCount); | void createNew(const uint32_t newCount); | ||||
| void clear(); | |||||
| void initBuffers(); | |||||
| void clear() noexcept; | |||||
| void initBuffers() noexcept; | |||||
| CARLA_DECLARE_NON_COPY_STRUCT(PluginAudioData) | CARLA_DECLARE_NON_COPY_STRUCT(PluginAudioData) | ||||
| }; | }; | ||||
| @@ -133,7 +133,7 @@ struct PluginCVPort { | |||||
| CarlaEngineCVPort* port; | CarlaEngineCVPort* port; | ||||
| PluginCVPort() noexcept; | PluginCVPort() noexcept; | ||||
| ~PluginCVPort(); | |||||
| ~PluginCVPort() noexcept; | |||||
| CARLA_DECLARE_NON_COPY_STRUCT(PluginCVPort) | CARLA_DECLARE_NON_COPY_STRUCT(PluginCVPort) | ||||
| }; | }; | ||||
| @@ -143,10 +143,10 @@ struct PluginCVData { | |||||
| PluginCVPort* ports; | PluginCVPort* ports; | ||||
| PluginCVData() noexcept; | PluginCVData() noexcept; | ||||
| ~PluginCVData(); | |||||
| ~PluginCVData() noexcept; | |||||
| void createNew(const uint32_t newCount); | void createNew(const uint32_t newCount); | ||||
| void clear(); | |||||
| void initBuffers(); | |||||
| void clear() noexcept; | |||||
| void initBuffers() noexcept; | |||||
| CARLA_DECLARE_NON_COPY_STRUCT(PluginCVData) | CARLA_DECLARE_NON_COPY_STRUCT(PluginCVData) | ||||
| }; | }; | ||||
| @@ -158,9 +158,9 @@ struct PluginEventData { | |||||
| CarlaEngineEventPort* portOut; | CarlaEngineEventPort* portOut; | ||||
| PluginEventData() noexcept; | PluginEventData() noexcept; | ||||
| ~PluginEventData(); | |||||
| void clear(); | |||||
| void initBuffers(); | |||||
| ~PluginEventData() noexcept; | |||||
| void clear() noexcept; | |||||
| void initBuffers() noexcept; | |||||
| CARLA_DECLARE_NON_COPY_STRUCT(PluginEventData) | CARLA_DECLARE_NON_COPY_STRUCT(PluginEventData) | ||||
| }; | }; | ||||
| @@ -182,10 +182,10 @@ struct PluginParameterData { | |||||
| SpecialParameterType* special; | SpecialParameterType* special; | ||||
| PluginParameterData() noexcept; | PluginParameterData() noexcept; | ||||
| ~PluginParameterData(); | |||||
| ~PluginParameterData() noexcept; | |||||
| void createNew(const uint32_t newCount, const bool withSpecial); | 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) | CARLA_DECLARE_NON_COPY_STRUCT(PluginParameterData) | ||||
| }; | }; | ||||
| @@ -200,9 +200,9 @@ struct PluginProgramData { | |||||
| ProgramName* names; | ProgramName* names; | ||||
| PluginProgramData() noexcept; | PluginProgramData() noexcept; | ||||
| ~PluginProgramData(); | |||||
| ~PluginProgramData() noexcept; | |||||
| void createNew(const uint32_t newCount); | void createNew(const uint32_t newCount); | ||||
| void clear(); | |||||
| void clear() noexcept; | |||||
| CARLA_DECLARE_NON_COPY_STRUCT(PluginProgramData) | CARLA_DECLARE_NON_COPY_STRUCT(PluginProgramData) | ||||
| }; | }; | ||||
| @@ -215,9 +215,9 @@ struct PluginMidiProgramData { | |||||
| MidiProgramData* data; | MidiProgramData* data; | ||||
| PluginMidiProgramData() noexcept; | PluginMidiProgramData() noexcept; | ||||
| ~PluginMidiProgramData(); | |||||
| ~PluginMidiProgramData() noexcept; | |||||
| void createNew(const uint32_t newCount); | void createNew(const uint32_t newCount); | ||||
| void clear(); | |||||
| void clear() noexcept; | |||||
| const MidiProgramData& getCurrent() const noexcept; | const MidiProgramData& getCurrent() const noexcept; | ||||
| CARLA_DECLARE_NON_COPY_STRUCT(PluginMidiProgramData) | CARLA_DECLARE_NON_COPY_STRUCT(PluginMidiProgramData) | ||||
| @@ -24,7 +24,9 @@ | |||||
| # include <X11/Xutil.h> | # include <X11/Xutil.h> | ||||
| #endif | #endif | ||||
| #ifdef HAVE_X11 | |||||
| #if defined(CARLA_OS_MAC) | |||||
| #elif defined(CARLA_OS_WIN) | |||||
| #elif defined(HAVE_X11) | |||||
| // ----------------------------------------------------- | // ----------------------------------------------------- | ||||
| // X11 | // X11 | ||||
| @@ -32,7 +34,7 @@ class X11PluginUi : public CarlaPluginUi | |||||
| { | { | ||||
| public: | public: | ||||
| X11PluginUi(CloseCallback* const cb, const uintptr_t parentId) noexcept | X11PluginUi(CloseCallback* const cb, const uintptr_t parentId) noexcept | ||||
| : CarlaPluginUi(cb, parentId), | |||||
| : CarlaPluginUi(cb), | |||||
| fDisplay(nullptr), | fDisplay(nullptr), | ||||
| fWindow(0) | 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) | CarlaPluginUi* CarlaPluginUi::newCocoa(CloseCallback*, uintptr_t) | ||||
| { | { | ||||
| //return new CocoaPluginUi(cb, parentId); | //return new CocoaPluginUi(cb, parentId); | ||||
| return nullptr; | return nullptr; | ||||
| } | } | ||||
| #endif | |||||
| #ifdef CARLA_OS_WIN | |||||
| #elif defined(CARLA_OS_WIN) | |||||
| CarlaPluginUi* CarlaPluginUi::newWindows(CloseCallback*, uintptr_t) | CarlaPluginUi* CarlaPluginUi::newWindows(CloseCallback*, uintptr_t) | ||||
| { | { | ||||
| //return new WindowsPluginUi(cb, parentId); | //return new WindowsPluginUi(cb, parentId); | ||||
| return nullptr; | return nullptr; | ||||
| } | } | ||||
| #endif | |||||
| #ifdef HAVE_X11 | |||||
| #elif defined(HAVE_X11) | |||||
| CarlaPluginUi* CarlaPluginUi::newX11(CloseCallback* cb, uintptr_t parentId) | CarlaPluginUi* CarlaPluginUi::newX11(CloseCallback* cb, uintptr_t parentId) | ||||
| { | { | ||||
| return new X11PluginUi(cb, parentId); | return new X11PluginUi(cb, parentId); | ||||
| @@ -43,19 +43,17 @@ public: | |||||
| static bool tryTransientWinIdMatch(const uintptr_t pid, const char* const uiTitle, const uintptr_t winId); | 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); | static CarlaPluginUi* newCocoa(CloseCallback*, uintptr_t); | ||||
| #endif | |||||
| #ifdef CARLA_OS_WIN | |||||
| #elif defined(CARLA_OS_WIN) | |||||
| static CarlaPluginUi* newWindows(CloseCallback*, uintptr_t); | static CarlaPluginUi* newWindows(CloseCallback*, uintptr_t); | ||||
| #endif | |||||
| #ifdef HAVE_X11 | |||||
| #elif defined(HAVE_X11) | |||||
| static CarlaPluginUi* newX11(CloseCallback*, uintptr_t); | static CarlaPluginUi* newX11(CloseCallback*, uintptr_t); | ||||
| #endif | #endif | ||||
| protected: | protected: | ||||
| CloseCallback* fCallback; | CloseCallback* fCallback; | ||||
| CarlaPluginUi(CloseCallback* const cb, const uintptr_t) noexcept : fCallback(cb) {} | |||||
| CarlaPluginUi(CloseCallback* const cb) noexcept : fCallback(cb) {} | |||||
| }; | }; | ||||
| // ----------------------------------------------------- | // ----------------------------------------------------- | ||||
| @@ -1347,7 +1347,7 @@ public: | |||||
| { | { | ||||
| const ExternalMidiNote& note(pData->extNotes.data.getFirst(true)); | 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<uint8_t>((note.velo > 0 ? MIDI_STATUS_NOTE_ON : MIDI_STATUS_NOTE_OFF) | (note.channel & MIDI_CHANNEL_BIT)); | fMidiEvents[fMidiEventCount].data[0] = static_cast<uint8_t>((note.velo > 0 ? MIDI_STATUS_NOTE_ON : MIDI_STATUS_NOTE_OFF) | (note.channel & MIDI_CHANNEL_BIT)); | ||||
| fMidiEvents[fMidiEventCount].data[1] = note.note; | fMidiEvents[fMidiEventCount].data[1] = note.note; | ||||