| @@ -118,20 +118,20 @@ public: | |||||
| { | { | ||||
| Q_ASSERT(descriptor); | Q_ASSERT(descriptor); | ||||
| //if (descriptor && descriptor->maker) | |||||
| // strncpy(strBuf, descriptor->maker, STR_MAX); | |||||
| //else | |||||
| CarlaPlugin::getMaker(strBuf); | |||||
| if (descriptor && descriptor->maker) | |||||
| strncpy(strBuf, descriptor->maker, STR_MAX); | |||||
| else | |||||
| CarlaPlugin::getMaker(strBuf); | |||||
| } | } | ||||
| void getCopyright(char* const strBuf) | void getCopyright(char* const strBuf) | ||||
| { | { | ||||
| Q_ASSERT(descriptor); | Q_ASSERT(descriptor); | ||||
| //if (descriptor && descriptor->copyright) | |||||
| // strncpy(strBuf, descriptor->copyright, STR_MAX); | |||||
| //else | |||||
| CarlaPlugin::getCopyright(strBuf); | |||||
| if (descriptor && descriptor->copyright) | |||||
| strncpy(strBuf, descriptor->copyright, STR_MAX); | |||||
| else | |||||
| CarlaPlugin::getCopyright(strBuf); | |||||
| } | } | ||||
| void getRealName(char* const strBuf) | void getRealName(char* const strBuf) | ||||
| @@ -262,6 +262,5 @@ CARLA_BACKEND_END_NAMESPACE | |||||
| void carla_register_native_plugin(const PluginDescriptor* desc) | void carla_register_native_plugin(const PluginDescriptor* desc) | ||||
| { | { | ||||
| printf("contructing plugin, THERE \"%s\"\n", desc->name); | |||||
| CarlaBackend::NativePlugin::registerPlugin(desc); | CarlaBackend::NativePlugin::registerPlugin(desc); | ||||
| } | } | ||||
| @@ -161,6 +161,7 @@ typedef struct _PluginDescriptor { | |||||
| void carla_register_native_plugin(const PluginDescriptor* desc); | void carla_register_native_plugin(const PluginDescriptor* desc); | ||||
| // remove? | |||||
| #define CARLA_NATIVE_PARAMETER_RANGES_INIT { 0.0, 0.0, 1.0, 0.01, 0.0001, 0.1 } | #define CARLA_NATIVE_PARAMETER_RANGES_INIT { 0.0, 0.0, 1.0, 0.01, 0.0001, 0.1 } | ||||
| #define CARLA_NATIVE_PLUGIN_INIT { \ | #define CARLA_NATIVE_PLUGIN_INIT { \ | ||||
| @@ -30,7 +30,7 @@ POSIX_32BIT_FLAGS = $(32BIT_FLAGS) -L/usr/lib32 -L/usr/lib/i386-linux-gnu | |||||
| POSIX_64BIT_FLAGS = $(64BIT_FLAGS) -L/usr/lib64 -L/usr/lib/x86_64-linux-gnu | POSIX_64BIT_FLAGS = $(64BIT_FLAGS) -L/usr/lib64 -L/usr/lib/x86_64-linux-gnu | ||||
| POSIX_LINK_FLAGS = $(LINK_PLUGIN_FLAGS) $(shell pkg-config --libs jack) -ldl | POSIX_LINK_FLAGS = $(LINK_PLUGIN_FLAGS) $(shell pkg-config --libs jack) -ldl | ||||
| WIN_BUILD_FLAGS = $(BUILD_PLUGIN_FLAGS) | |||||
| WIN_BUILD_FLAGS = $(BUILD_PLUGIN_FLAGS) -DPTW32_STATIC_LIB | |||||
| WIN_32BIT_FLAGS = $(32BIT_FLAGS) | WIN_32BIT_FLAGS = $(32BIT_FLAGS) | ||||
| WIN_64BIT_FLAGS = $(64BIT_FLAGS) | WIN_64BIT_FLAGS = $(64BIT_FLAGS) | ||||
| WIN_LINK_FLAGS = $(LINK_PLUGIN_FLAGS) -mwindows -L../carla-jackbridge -lpthread | WIN_LINK_FLAGS = $(LINK_PLUGIN_FLAGS) -mwindows -L../carla-jackbridge -lpthread | ||||
| @@ -29,7 +29,7 @@ POSIX_32BIT_FLAGS = $(32BIT_FLAGS) -L/usr/lib32 -L/usr/lib/i386-linux-gnu | |||||
| POSIX_64BIT_FLAGS = $(64BIT_FLAGS) -L/usr/lib64 -L/usr/lib/x86_64-linux-gnu | POSIX_64BIT_FLAGS = $(64BIT_FLAGS) -L/usr/lib64 -L/usr/lib/x86_64-linux-gnu | ||||
| POSIX_LINK_FLAGS = $(LINK_PLUGIN_FLAGS) $(shell pkg-config --libs jack) -ldl | POSIX_LINK_FLAGS = $(LINK_PLUGIN_FLAGS) $(shell pkg-config --libs jack) -ldl | ||||
| WIN_BUILD_FLAGS = $(BUILD_PLUGIN_FLAGS) | |||||
| WIN_BUILD_FLAGS = $(BUILD_PLUGIN_FLAGS) -DPTW32_STATIC_LIB | |||||
| WIN_32BIT_FLAGS = $(32BIT_FLAGS) | WIN_32BIT_FLAGS = $(32BIT_FLAGS) | ||||
| WIN_64BIT_FLAGS = $(64BIT_FLAGS) | WIN_64BIT_FLAGS = $(64BIT_FLAGS) | ||||
| WIN_LINK_FLAGS = $(LINK_PLUGIN_FLAGS) -mwindows -L../carla-jackbridge -lpthread | WIN_LINK_FLAGS = $(LINK_PLUGIN_FLAGS) -mwindows -L../carla-jackbridge -lpthread | ||||
| @@ -74,6 +74,26 @@ void initSignalHandler() | |||||
| #endif | #endif | ||||
| } | } | ||||
| #ifdef PTW32_STATIC_LIB | |||||
| #include <pthread.h> | |||||
| class PThreadScopedInitializer | |||||
| { | |||||
| public: | |||||
| PThreadScopedInitializer() | |||||
| { | |||||
| pthread_win32_process_attach_np(); | |||||
| pthread_win32_thread_attach_np(); | |||||
| }; | |||||
| ~PThreadScopedInitializer() | |||||
| { | |||||
| pthread_win32_thread_detach_np(); | |||||
| pthread_win32_process_detach_np(); | |||||
| }; | |||||
| }; | |||||
| #endif | |||||
| CARLA_BRIDGE_START_NAMESPACE | CARLA_BRIDGE_START_NAMESPACE | ||||
| // ------------------------------------------------------------------------- | // ------------------------------------------------------------------------- | ||||
| @@ -698,6 +718,10 @@ int main(int argc, char* argv[]) | |||||
| return 1; | return 1; | ||||
| } | } | ||||
| #ifdef PTW32_STATIC_LIB | |||||
| PThreadScopedInitializer pthreadScopedInitializer(); | |||||
| #endif | |||||
| // Init bridge client | // Init bridge client | ||||
| CarlaBridge::BridgePluginClient client; | CarlaBridge::BridgePluginClient client; | ||||
| client.init(); | client.init(); | ||||
| @@ -758,7 +782,10 @@ int main(int argc, char* argv[]) | |||||
| { | { | ||||
| const char* const lastError = CarlaBackend::getLastError(); | const char* const lastError = CarlaBackend::getLastError(); | ||||
| qWarning("Plugin failed to load, error was:\n%s", lastError); | qWarning("Plugin failed to load, error was:\n%s", lastError); | ||||
| client.sendOscBridgeError(lastError); | |||||
| if (useOsc) | |||||
| client.sendOscBridgeError(lastError); | |||||
| ret = 1; | ret = 1; | ||||
| } | } | ||||