diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 8e57a111..6f92d617 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -13,10 +13,9 @@ jobs: strategy: matrix: os: - # wrong use of AU MIDIPacket - # - macos-12 - # - macos-13 - # - macos-14 + - macos-13 + - macos-14 + - macos-15 # webgui failure # - ubuntu-20.04 - ubuntu-22.04 diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml index 4202a693..5bdbbced 100644 --- a/.github/workflows/cmake.yml +++ b/.github/workflows/cmake.yml @@ -42,11 +42,11 @@ jobs: suffix: _24_04 target: ${{ matrix.target }} - macos-12: + macos-13: strategy: matrix: target: [macos-intel, macos-universal, macos-10.15] - runs-on: macos-12 + runs-on: macos-13 steps: - uses: actions/checkout@v4 with: @@ -54,14 +54,14 @@ jobs: - uses: distrho/dpf-cmake-action@v1 with: dpf_path: . - suffix: _12 + suffix: _13 target: ${{ matrix.target }} - macos-13: + macos-14: strategy: matrix: target: [macos-intel, macos-universal, macos-10.15] - runs-on: macos-13 + runs-on: macos-14 steps: - uses: actions/checkout@v4 with: @@ -69,14 +69,14 @@ jobs: - uses: distrho/dpf-cmake-action@v1 with: dpf_path: . - suffix: _13 + suffix: _14 target: ${{ matrix.target }} - macos-14: + macos-15: strategy: matrix: target: [macos-intel, macos-universal, macos-10.15] - runs-on: macos-14 + runs-on: macos-15 steps: - uses: actions/checkout@v4 with: @@ -84,7 +84,7 @@ jobs: - uses: distrho/dpf-cmake-action@v1 with: dpf_path: . - suffix: _14 + suffix: _15 target: ${{ matrix.target }} cmake_win32: diff --git a/.github/workflows/example-plugins.yml b/.github/workflows/example-plugins.yml index 8ac77fcc..86bd43e0 100644 --- a/.github/workflows/example-plugins.yml +++ b/.github/workflows/example-plugins.yml @@ -39,11 +39,11 @@ jobs: suffix: _24_04 target: ${{ matrix.target }} - macos-12: + macos-13: strategy: matrix: target: [macos-intel, macos-universal, macos-10.15] - runs-on: macos-12 + runs-on: macos-13 steps: - uses: actions/checkout@v4 with: @@ -51,14 +51,14 @@ jobs: - uses: distrho/dpf-makefile-action@v1 with: dpf_path: . - suffix: _12 + suffix: _13 target: ${{ matrix.target }} - macos-13: + macos-14: strategy: matrix: target: [macos-intel, macos-universal, macos-10.15] - runs-on: macos-13 + runs-on: macos-14 steps: - uses: actions/checkout@v4 with: @@ -66,14 +66,14 @@ jobs: - uses: distrho/dpf-makefile-action@v1 with: dpf_path: . - suffix: _13 + suffix: _14 target: ${{ matrix.target }} - macos-14: + macos-15: strategy: matrix: target: [macos-intel, macos-universal, macos-10.15] - runs-on: macos-14 + runs-on: macos-15 steps: - uses: actions/checkout@v4 with: @@ -81,5 +81,5 @@ jobs: - uses: distrho/dpf-makefile-action@v1 with: dpf_path: . - suffix: _14 + suffix: _15 target: ${{ matrix.target }} diff --git a/distrho/extra/WebViewImpl.cpp b/distrho/extra/WebViewImpl.cpp index cea63578..7b6df4eb 100644 --- a/distrho/extra/WebViewImpl.cpp +++ b/distrho/extra/WebViewImpl.cpp @@ -106,7 +106,7 @@ @implementation WEB_VIEW_DELEGATE_CLASS_NAME { @public - WebViewMessageCallback callback; + DISTRHO_NAMESPACE::WebViewMessageCallback callback; void* callbackPtr; bool loaded; } diff --git a/distrho/src/DistrhoPluginAU.cpp b/distrho/src/DistrhoPluginAU.cpp index 863a4744..96b90f78 100644 --- a/distrho/src/DistrhoPluginAU.cpp +++ b/distrho/src/DistrhoPluginAU.cpp @@ -202,7 +202,8 @@ static constexpr const uint32_t kType = d_cconst(STRINGIFY(DISTRHO_PLUGIN_AU_TYP static constexpr const uint32_t kSubType = d_cconst(STRINGIFY(DISTRHO_PLUGIN_UNIQUE_ID)); static constexpr const uint32_t kManufacturer = d_cconst(STRINGIFY(DISTRHO_PLUGIN_BRAND_ID)); -static constexpr const uint32_t kWantedAudioFormat = kAudioFormatFlagsNativeFloatPacked +static constexpr const uint32_t kWantedAudioFormat = 0 + | kAudioFormatFlagsNativeFloatPacked | kAudioFormatFlagIsNonInterleaved; @@ -278,8 +279,18 @@ typedef std::vector RenderListeners; #if DISTRHO_PLUGIN_WANT_MIDI_OUTPUT // useful definitions -static constexpr const uint32_t kMIDIPacketNonDataSize = sizeof(MIDIPacket) - sizeof(MIDIPacket::data); -static constexpr const uint32_t kMIDIPacketListNonDataSize = sizeof(MIDIPacketList) - sizeof(MIDIPacketList::packet); +static constexpr const uint32_t kMIDIPacketNonDataSize = sizeof(MIDIPacket) + #if __cplusplus >= 201103L + - sizeof(MIDIPacket::data); + #else + - sizeof(static_cast(0)->data); + #endif +static constexpr const uint32_t kMIDIPacketListNonDataSize = sizeof(MIDIPacketList) + #if __cplusplus >= 201103L + - sizeof(MIDIPacketList::packet); + #else + - sizeof(static_cast(0)->packet); + #endif // size of data used for midi events static constexpr const uint32_t kMIDIPacketListMaxDataSize = kMIDIPacketNonDataSize * kMaxMidiEvents diff --git a/distrho/src/DistrhoUIAU.mm b/distrho/src/DistrhoUIAU.mm index c0987f51..1b3f77e5 100644 --- a/distrho/src/DistrhoUIAU.mm +++ b/distrho/src/DistrhoUIAU.mm @@ -387,6 +387,9 @@ END_NAMESPACE_DISTRHO #define COCOA_VIEW_CLASS_NAME \ MACRO_NAME(CocoaView_, DISTRHO_PLUGIN_AU_TYPE, _, DISTRHO_PLUGIN_UNIQUE_ID, _, DISTRHO_PLUGIN_BRAND_ID) +using DISTRHO_NAMESPACE::DPF_UI_AU; +using DISTRHO_NAMESPACE::d_nextSampleRate; + @interface COCOA_VIEW_CLASS_NAME : NSView { @public diff --git a/distrho/src/DistrhoUIInternal.hpp b/distrho/src/DistrhoUIInternal.hpp index e9ae05c5..ea3f56a2 100644 --- a/distrho/src/DistrhoUIInternal.hpp +++ b/distrho/src/DistrhoUIInternal.hpp @@ -267,12 +267,12 @@ public: uiData->app.repaintIfNeeeded(); } - void addIdleCallbackForNativeIdle(IdleCallback* const cb, const uint timerFrequencyInMs) + void addIdleCallbackForNativeIdle(DGL_NAMESPACE::IdleCallback* const cb, const uint timerFrequencyInMs) { uiData->window->addIdleCallback(cb, timerFrequencyInMs); } - void removeIdleCallbackForNativeIdle(IdleCallback* const cb) + void removeIdleCallbackForNativeIdle(DGL_NAMESPACE::IdleCallback* const cb) { uiData->window->removeIdleCallback(cb); } diff --git a/distrho/src/DistrhoUIVST3.cpp b/distrho/src/DistrhoUIVST3.cpp index 0ecf675f..a326c4b3 100644 --- a/distrho/src/DistrhoUIVST3.cpp +++ b/distrho/src/DistrhoUIVST3.cpp @@ -129,7 +129,7 @@ static uint translateVST3Modifiers(const int64_t modifiers) noexcept * Helper class for getting a native idle timer. */ #if !DPF_VST3_USING_HOST_RUN_LOOP -class NativeIdleCallback : public IdleCallback +class NativeIdleCallback : public DGL_NAMESPACE::IdleCallback { public: NativeIdleCallback(UIExporter& ui)