Signed-off-by: falkTX <falktx@falktx.com>tags/v1.0
| @@ -88,6 +88,7 @@ jobs: | |||
| env: | |||
| PKG_CONFIG_PATH: /usr/lib/arm-linux-gnueabihf/pkgconfig | |||
| run: | | |||
| git clone --depth=1 https://github.com/DISTRHO/PawPaw.git | |||
| ./PawPaw/bootstrap-cardinal.sh linux-armhf | |||
| - name: Build linux armhf cross-compiled | |||
| run: | | |||
| @@ -129,6 +130,7 @@ jobs: | |||
| env: | |||
| PKG_CONFIG_PATH: /usr/lib/i386-linux-gnu/pkgconfig | |||
| run: | | |||
| git clone --depth=1 https://github.com/DISTRHO/PawPaw.git | |||
| ./PawPaw/bootstrap-cardinal.sh linux-i686 | |||
| - name: Build linux i686 | |||
| run: | | |||
| @@ -162,6 +164,7 @@ jobs: | |||
| sudo apt-get install -yqq libdbus-1-dev libgl1-mesa-dev libglib2.0-dev libx11-dev libxcursor-dev libxext-dev libxrandr-dev | |||
| - name: Build extra dependencies | |||
| run: | | |||
| git clone --depth=1 https://github.com/DISTRHO/PawPaw.git | |||
| ./PawPaw/bootstrap-cardinal.sh linux | |||
| - name: Build linux x86_64 | |||
| run: | | |||
| @@ -195,6 +198,7 @@ jobs: | |||
| sudo xcode-select -s "/Applications/Xcode_12.3.app" | |||
| - name: Build extra dependencies | |||
| run: | | |||
| git clone --depth=1 https://github.com/DISTRHO/PawPaw.git | |||
| ./PawPaw/bootstrap-cardinal.sh macos-universal | |||
| - name: Build macOS universal | |||
| run: | | |||
| @@ -241,6 +245,7 @@ jobs: | |||
| sudo apt-get install -yqq binutils-mingw-w64-i686 g++-mingw-w64-i686 mingw-w64 wine-stable:i386 | |||
| - name: Build extra dependencies | |||
| run: | | |||
| git clone --depth=1 https://github.com/DISTRHO/PawPaw.git | |||
| ./PawPaw/bootstrap-cardinal.sh win32 | |||
| - name: Build win32 cross-compiled | |||
| run: | | |||
| @@ -281,6 +286,7 @@ jobs: | |||
| sudo apt-get install -yqq binutils-mingw-w64-x86-64 g++-mingw-w64-x86-64 mingw-w64 wine-stable | |||
| - name: Build extra dependencies | |||
| run: | | |||
| git clone --depth=1 https://github.com/DISTRHO/PawPaw.git | |||
| ./PawPaw/bootstrap-cardinal.sh win64 | |||
| - name: Build win64 cross-compiled | |||
| run: | | |||
| @@ -19,6 +19,7 @@ | |||
| #include "CarlaNativePlugin.h" | |||
| #include "DistrhoPlugin.hpp" | |||
| #include "extra/Mutex.hpp" | |||
| // generates a warning if this is defined as anything else | |||
| #define CARLA_API | |||
| @@ -27,15 +28,11 @@ START_NAMESPACE_DISTRHO | |||
| // -------------------------------------------------------------------------------------------------------------------- | |||
| // static Mutex sPluginInfoLoadMutex; | |||
| // -------------------------------------------------------------------------------------------------------------------- | |||
| class IldaeilBasePlugin : public Plugin | |||
| { | |||
| // SharedResourcePointer<JuceInitializer> juceInitializer; | |||
| public: | |||
| static Mutex sPluginInfoLoadMutex; | |||
| const NativePluginDescriptor* fCarlaPluginDescriptor; | |||
| NativePluginHandle fCarlaPluginHandle; | |||
| @@ -57,4 +54,10 @@ public: | |||
| // -------------------------------------------------------------------------------------------------------------------- | |||
| void ildaeilProjectLoadedFromDSP(void* ui); | |||
| void ildaeilParameterChangeForUI(void* ui, uint32_t index, float value); | |||
| const char* ildaeilOpenFileForUI(void* ui, bool isDir, const char* title, const char* filter); | |||
| // -------------------------------------------------------------------------------------------------------------------- | |||
| END_NAMESPACE_DISTRHO | |||
| @@ -25,7 +25,9 @@ START_NAMESPACE_DISTRHO | |||
| // -------------------------------------------------------------------------------------------------------------------- | |||
| using namespace CarlaBackend; | |||
| Mutex IldaeilBasePlugin::sPluginInfoLoadMutex; | |||
| // -------------------------------------------------------------------------------------------------------------------- | |||
| static uint32_t host_get_buffer_size(NativeHostHandle); | |||
| static double host_get_sample_rate(NativeHostHandle); | |||
| @@ -42,10 +44,7 @@ static intptr_t host_dispatcher(NativeHostHandle handle, NativeHostDispatcherOpc | |||
| // -------------------------------------------------------------------------------------------------------------------- | |||
| void ildaeilParameterChangeForUI(void* ui, uint32_t index, float value); | |||
| const char* ildaeilOpenFileForUI(void* ui, bool isDir, const char* title, const char* filter); | |||
| // -------------------------------------------------------------------------------------------------------------------- | |||
| using namespace CarlaBackend; | |||
| class IldaeilPlugin : public IldaeilBasePlugin | |||
| { | |||
| @@ -321,12 +320,12 @@ protected: | |||
| water::XmlDocument xml(value); | |||
| { | |||
| // const MutexLocker cml(sPluginInfoLoadMutex); | |||
| const MutexLocker cml(sPluginInfoLoadMutex); | |||
| engine->loadProjectInternal(xml, true); | |||
| } | |||
| // xx cardinal | |||
| // projectLoadedFromDSP(fUI); | |||
| if (fUI != nullptr) | |||
| ildaeilProjectLoadedFromDSP(fUI); | |||
| } | |||
| } | |||
| @@ -47,10 +47,6 @@ START_NAMESPACE_DISTRHO | |||
| // -------------------------------------------------------------------------------------------------------------------- | |||
| void ildaeilParameterChangeForUI(void* ui, uint32_t index, float value); | |||
| const char* ildaeilOpenFileForUI(void* ui, bool isDir, const char* title, const char* filter); | |||
| // -------------------------------------------------------------------------------------------------------------------- | |||
| using namespace CarlaBackend; | |||
| class IldaeilUI : public UI, | |||
| @@ -455,8 +451,7 @@ public: | |||
| carla_set_engine_option(handle, ENGINE_OPTION_PREFER_PLUGIN_BRIDGES, fPluginWillRunInBridgeMode, nullptr); | |||
| // xx cardinal | |||
| // const MutexLocker cml(sPluginInfoLoadMutex); | |||
| const MutexLocker cml(fPlugin->sPluginInfoLoadMutex); | |||
| if (carla_add_plugin(handle, BINARY_NATIVE, fPluginType, nullptr, nullptr, | |||
| label, 0, 0x0, PLUGIN_OPTIONS_NULL)) | |||
| @@ -622,12 +617,15 @@ protected: | |||
| fPluginCount = 0; | |||
| delete[] fPlugins; | |||
| // xx cardinal | |||
| // const MutexLocker cml(sPluginInfoLoadMutex); | |||
| uint count; | |||
| { | |||
| const MutexLocker cml(fPlugin->sPluginInfoLoadMutex); | |||
| d_stdout("Will scan plugins now..."); | |||
| const uint count = carla_get_cached_plugin_count(fPluginType, path); | |||
| d_stdout("Scanning found %u plugins", count); | |||
| d_stdout("Will scan plugins now..."); | |||
| count = carla_get_cached_plugin_count(fPluginType, path); | |||
| d_stdout("Scanning found %u plugins", count); | |||
| } | |||
| if (fDrawingState == kDrawingLoading) | |||
| { | |||
| @@ -641,6 +639,8 @@ protected: | |||
| for (uint i=0, j; i < count && ! shouldThreadExit(); ++i) | |||
| { | |||
| const MutexLocker cml(fPlugin->sPluginInfoLoadMutex); | |||
| const CarlaCachedPluginInfo* const info = carla_get_cached_plugin_info(fPluginType, i); | |||
| DISTRHO_SAFE_ASSERT_CONTINUE(info != nullptr); | |||
| @@ -1102,6 +1102,13 @@ private: | |||
| // -------------------------------------------------------------------------------------------------------------------- | |||
| void ildaeilProjectLoadedFromDSP(void* const ui) | |||
| { | |||
| DISTRHO_SAFE_ASSERT_RETURN(ui != nullptr,); | |||
| static_cast<IldaeilUI*>(ui)->projectLoadedFromDSP(); | |||
| } | |||
| void ildaeilParameterChangeForUI(void* const ui, const uint32_t index, const float value) | |||
| { | |||
| DISTRHO_SAFE_ASSERT_RETURN(ui != nullptr,); | |||