Signed-off-by: falkTX <falktx@falktx.com>tags/v1.0
@@ -88,6 +88,7 @@ jobs: | |||||
env: | env: | ||||
PKG_CONFIG_PATH: /usr/lib/arm-linux-gnueabihf/pkgconfig | PKG_CONFIG_PATH: /usr/lib/arm-linux-gnueabihf/pkgconfig | ||||
run: | | run: | | ||||
git clone --depth=1 https://github.com/DISTRHO/PawPaw.git | |||||
./PawPaw/bootstrap-cardinal.sh linux-armhf | ./PawPaw/bootstrap-cardinal.sh linux-armhf | ||||
- name: Build linux armhf cross-compiled | - name: Build linux armhf cross-compiled | ||||
run: | | run: | | ||||
@@ -129,6 +130,7 @@ jobs: | |||||
env: | env: | ||||
PKG_CONFIG_PATH: /usr/lib/i386-linux-gnu/pkgconfig | PKG_CONFIG_PATH: /usr/lib/i386-linux-gnu/pkgconfig | ||||
run: | | run: | | ||||
git clone --depth=1 https://github.com/DISTRHO/PawPaw.git | |||||
./PawPaw/bootstrap-cardinal.sh linux-i686 | ./PawPaw/bootstrap-cardinal.sh linux-i686 | ||||
- name: Build linux i686 | - name: Build linux i686 | ||||
run: | | 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 | 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 | - name: Build extra dependencies | ||||
run: | | run: | | ||||
git clone --depth=1 https://github.com/DISTRHO/PawPaw.git | |||||
./PawPaw/bootstrap-cardinal.sh linux | ./PawPaw/bootstrap-cardinal.sh linux | ||||
- name: Build linux x86_64 | - name: Build linux x86_64 | ||||
run: | | run: | | ||||
@@ -195,6 +198,7 @@ jobs: | |||||
sudo xcode-select -s "/Applications/Xcode_12.3.app" | sudo xcode-select -s "/Applications/Xcode_12.3.app" | ||||
- name: Build extra dependencies | - name: Build extra dependencies | ||||
run: | | run: | | ||||
git clone --depth=1 https://github.com/DISTRHO/PawPaw.git | |||||
./PawPaw/bootstrap-cardinal.sh macos-universal | ./PawPaw/bootstrap-cardinal.sh macos-universal | ||||
- name: Build macOS universal | - name: Build macOS universal | ||||
run: | | run: | | ||||
@@ -241,6 +245,7 @@ jobs: | |||||
sudo apt-get install -yqq binutils-mingw-w64-i686 g++-mingw-w64-i686 mingw-w64 wine-stable:i386 | sudo apt-get install -yqq binutils-mingw-w64-i686 g++-mingw-w64-i686 mingw-w64 wine-stable:i386 | ||||
- name: Build extra dependencies | - name: Build extra dependencies | ||||
run: | | run: | | ||||
git clone --depth=1 https://github.com/DISTRHO/PawPaw.git | |||||
./PawPaw/bootstrap-cardinal.sh win32 | ./PawPaw/bootstrap-cardinal.sh win32 | ||||
- name: Build win32 cross-compiled | - name: Build win32 cross-compiled | ||||
run: | | 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 | sudo apt-get install -yqq binutils-mingw-w64-x86-64 g++-mingw-w64-x86-64 mingw-w64 wine-stable | ||||
- name: Build extra dependencies | - name: Build extra dependencies | ||||
run: | | run: | | ||||
git clone --depth=1 https://github.com/DISTRHO/PawPaw.git | |||||
./PawPaw/bootstrap-cardinal.sh win64 | ./PawPaw/bootstrap-cardinal.sh win64 | ||||
- name: Build win64 cross-compiled | - name: Build win64 cross-compiled | ||||
run: | | run: | | ||||
@@ -19,6 +19,7 @@ | |||||
#include "CarlaNativePlugin.h" | #include "CarlaNativePlugin.h" | ||||
#include "DistrhoPlugin.hpp" | #include "DistrhoPlugin.hpp" | ||||
#include "extra/Mutex.hpp" | |||||
// generates a warning if this is defined as anything else | // generates a warning if this is defined as anything else | ||||
#define CARLA_API | #define CARLA_API | ||||
@@ -27,15 +28,11 @@ START_NAMESPACE_DISTRHO | |||||
// -------------------------------------------------------------------------------------------------------------------- | // -------------------------------------------------------------------------------------------------------------------- | ||||
// static Mutex sPluginInfoLoadMutex; | |||||
// -------------------------------------------------------------------------------------------------------------------- | |||||
class IldaeilBasePlugin : public Plugin | class IldaeilBasePlugin : public Plugin | ||||
{ | { | ||||
// SharedResourcePointer<JuceInitializer> juceInitializer; | |||||
public: | public: | ||||
static Mutex sPluginInfoLoadMutex; | |||||
const NativePluginDescriptor* fCarlaPluginDescriptor; | const NativePluginDescriptor* fCarlaPluginDescriptor; | ||||
NativePluginHandle fCarlaPluginHandle; | 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 | 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 uint32_t host_get_buffer_size(NativeHostHandle); | ||||
static double host_get_sample_rate(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 | class IldaeilPlugin : public IldaeilBasePlugin | ||||
{ | { | ||||
@@ -321,12 +320,12 @@ protected: | |||||
water::XmlDocument xml(value); | water::XmlDocument xml(value); | ||||
{ | { | ||||
// const MutexLocker cml(sPluginInfoLoadMutex); | |||||
const MutexLocker cml(sPluginInfoLoadMutex); | |||||
engine->loadProjectInternal(xml, true); | 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; | using namespace CarlaBackend; | ||||
class IldaeilUI : public UI, | class IldaeilUI : public UI, | ||||
@@ -455,8 +451,7 @@ public: | |||||
carla_set_engine_option(handle, ENGINE_OPTION_PREFER_PLUGIN_BRIDGES, fPluginWillRunInBridgeMode, nullptr); | 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, | if (carla_add_plugin(handle, BINARY_NATIVE, fPluginType, nullptr, nullptr, | ||||
label, 0, 0x0, PLUGIN_OPTIONS_NULL)) | label, 0, 0x0, PLUGIN_OPTIONS_NULL)) | ||||
@@ -622,12 +617,15 @@ protected: | |||||
fPluginCount = 0; | fPluginCount = 0; | ||||
delete[] fPlugins; | 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) | if (fDrawingState == kDrawingLoading) | ||||
{ | { | ||||
@@ -641,6 +639,8 @@ protected: | |||||
for (uint i=0, j; i < count && ! shouldThreadExit(); ++i) | 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); | const CarlaCachedPluginInfo* const info = carla_get_cached_plugin_info(fPluginType, i); | ||||
DISTRHO_SAFE_ASSERT_CONTINUE(info != nullptr); | 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) | void ildaeilParameterChangeForUI(void* const ui, const uint32_t index, const float value) | ||||
{ | { | ||||
DISTRHO_SAFE_ASSERT_RETURN(ui != nullptr,); | DISTRHO_SAFE_ASSERT_RETURN(ui != nullptr,); | ||||