| @@ -28,6 +28,7 @@ SOURCES = \ | |||||
| HEADERS = \ | HEADERS = \ | ||||
| carla_backend.hpp \ | carla_backend.hpp \ | ||||
| carla_backend_utils.hpp \ | |||||
| carla_backend_standalone.hpp | carla_backend_standalone.hpp | ||||
| INCLUDEPATH = . \ | INCLUDEPATH = . \ | ||||
| @@ -267,106 +267,88 @@ enum OptionsType { | |||||
| OPTION_OSC_UI_TIMEOUT = 10, | OPTION_OSC_UI_TIMEOUT = 10, | ||||
| /*! | /*! | ||||
| * Set LADSPA_PATH environment variable.\n | |||||
| * Default undefined. | |||||
| */ | |||||
| OPTION_PATH_LADSPA = 11, | |||||
| /*! | |||||
| * Set DSSI_PATH environment variable.\n | |||||
| * Default undefined. | |||||
| */ | |||||
| OPTION_PATH_DSSI = 12, | |||||
| /*! | |||||
| * Set LV2_PATH environment variable.\n | |||||
| * Default undefined. | |||||
| */ | |||||
| OPTION_PATH_LV2 = 13, | |||||
| /*! | |||||
| * Set VST_PATH environment variable.\n | |||||
| * Default undefined. | |||||
| * Set path to the POSIX 32bit plugin bridge executable.\n | |||||
| * Default unset. | |||||
| */ | */ | ||||
| OPTION_PATH_VST = 14, | |||||
| OPTION_PATH_BRIDGE_POSIX32 = 11, | |||||
| /*! | /*! | ||||
| * Set GIG_PATH environment variable.\n | |||||
| * Default undefined. | |||||
| * Set path to the POSIX 64bit plugin bridge executable.\n | |||||
| * Default unset. | |||||
| */ | */ | ||||
| OPTION_PATH_GIG = 15, | |||||
| OPTION_PATH_BRIDGE_POSIX64 = 12, | |||||
| /*! | /*! | ||||
| * Set SF2_PATH environment variable.\n | |||||
| * Default undefined. | |||||
| * Set path to the Windows 32bit plugin bridge executable.\n | |||||
| * Default unset. | |||||
| */ | */ | ||||
| OPTION_PATH_SF2 = 16, | |||||
| OPTION_PATH_BRIDGE_WIN32 = 13, | |||||
| /*! | /*! | ||||
| * Set SFZ_PATH environment variable.\n | |||||
| * Default undefined. | |||||
| * Set path to the Windows 64bit plugin bridge executable.\n | |||||
| * Default unset. | |||||
| */ | */ | ||||
| OPTION_PATH_SFZ = 17, | |||||
| OPTION_PATH_BRIDGE_WIN64 = 14, | |||||
| /*! | /*! | ||||
| * Set path to the POSIX 32bit plugin bridge executable.\n | |||||
| * Set path to the LV2 Gtk2 UI bridge executable.\n | |||||
| * Default unset. | * Default unset. | ||||
| */ | */ | ||||
| OPTION_PATH_BRIDGE_POSIX32 = 18, | |||||
| OPTION_PATH_BRIDGE_LV2_GTK2 = 15, | |||||
| /*! | /*! | ||||
| * Set path to the POSIX 64bit plugin bridge executable.\n | |||||
| * Set path to the LV2 Gtk3 UI bridge executable.\n | |||||
| * Default unset. | * Default unset. | ||||
| */ | */ | ||||
| OPTION_PATH_BRIDGE_POSIX64 = 19, | |||||
| OPTION_PATH_BRIDGE_LV2_GTK3 = 16, | |||||
| /*! | /*! | ||||
| * Set path to the Windows 32bit plugin bridge executable.\n | |||||
| * Set path to the LV2 Qt4 UI bridge executable.\n | |||||
| * Default unset. | * Default unset. | ||||
| */ | */ | ||||
| OPTION_PATH_BRIDGE_WIN32 = 20, | |||||
| OPTION_PATH_BRIDGE_LV2_QT4 = 17, | |||||
| /*! | /*! | ||||
| * Set path to the Windows 64bit plugin bridge executable.\n | |||||
| * Set path to the LV2 Qt5 UI bridge executable.\n | |||||
| * Default unset. | * Default unset. | ||||
| */ | */ | ||||
| OPTION_PATH_BRIDGE_WIN64 = 21, | |||||
| OPTION_PATH_BRIDGE_LV2_QT5 = 18, | |||||
| /*! | /*! | ||||
| * Set path to the LV2 Gtk2 UI bridge executable.\n | |||||
| * Set path to the LV2 Cocoa UI bridge executable.\n | |||||
| * Default unset. | * Default unset. | ||||
| */ | */ | ||||
| OPTION_PATH_BRIDGE_LV2_GTK2 = 22, | |||||
| OPTION_PATH_BRIDGE_LV2_COCOA = 19, | |||||
| /*! | /*! | ||||
| * Set path to the LV2 Gtk3 UI bridge executable.\n | |||||
| * Set path to the LV2 Windows UI bridge executable.\n | |||||
| * Default unset. | * Default unset. | ||||
| */ | */ | ||||
| OPTION_PATH_BRIDGE_LV2_GTK3 = 23, | |||||
| OPTION_PATH_BRIDGE_LV2_WINDOWS = 20, | |||||
| /*! | /*! | ||||
| * Set path to the LV2 Qt4 UI bridge executable.\n | |||||
| * Set path to the LV2 X11 UI bridge executable.\n | |||||
| * Default unset. | * Default unset. | ||||
| */ | */ | ||||
| OPTION_PATH_BRIDGE_LV2_QT4 = 24, | |||||
| OPTION_PATH_BRIDGE_LV2_X11 = 21, | |||||
| /*! | /*! | ||||
| * Set path to the LV2 X11 UI bridge executable.\n | |||||
| * Set path to the VST Cocoa UI bridge executable.\n | |||||
| * Default unset. | * Default unset. | ||||
| */ | */ | ||||
| OPTION_PATH_BRIDGE_LV2_X11 = 25, | |||||
| OPTION_PATH_BRIDGE_VST_COCOA = 22, | |||||
| /*! | /*! | ||||
| * Set path to the VST HWND UI bridge executable.\n | * Set path to the VST HWND UI bridge executable.\n | ||||
| * Default unset. | * Default unset. | ||||
| */ | */ | ||||
| OPTION_PATH_BRIDGE_VST_HWND = 26, | |||||
| OPTION_PATH_BRIDGE_VST_HWND = 23, | |||||
| /*! | /*! | ||||
| * Set path to the VST X11 UI bridge executable.\n | * Set path to the VST X11 UI bridge executable.\n | ||||
| * Default unset. | * Default unset. | ||||
| */ | */ | ||||
| OPTION_PATH_BRIDGE_VST_X11 = 27 | |||||
| OPTION_PATH_BRIDGE_VST_X11 = 24 | |||||
| }; | }; | ||||
| /*! | /*! | ||||
| @@ -186,12 +186,16 @@ bool engine_init(const char* driver_name, const char* client_name) | |||||
| standalone.engine->setOption(CarlaBackend::OPTION_PATH_BRIDGE_POSIX64, 0, standalone.options.bridge_posix64); | standalone.engine->setOption(CarlaBackend::OPTION_PATH_BRIDGE_POSIX64, 0, standalone.options.bridge_posix64); | ||||
| standalone.engine->setOption(CarlaBackend::OPTION_PATH_BRIDGE_WIN32, 0, standalone.options.bridge_win32); | standalone.engine->setOption(CarlaBackend::OPTION_PATH_BRIDGE_WIN32, 0, standalone.options.bridge_win32); | ||||
| standalone.engine->setOption(CarlaBackend::OPTION_PATH_BRIDGE_WIN64, 0, standalone.options.bridge_win64); | standalone.engine->setOption(CarlaBackend::OPTION_PATH_BRIDGE_WIN64, 0, standalone.options.bridge_win64); | ||||
| standalone.engine->setOption(CarlaBackend::OPTION_PATH_BRIDGE_LV2_GTK2, 0, standalone.options.bridge_lv2gtk2); | |||||
| standalone.engine->setOption(CarlaBackend::OPTION_PATH_BRIDGE_LV2_GTK3, 0, standalone.options.bridge_lv2gtk3); | |||||
| standalone.engine->setOption(CarlaBackend::OPTION_PATH_BRIDGE_LV2_QT4, 0, standalone.options.bridge_lv2qt4); | |||||
| standalone.engine->setOption(CarlaBackend::OPTION_PATH_BRIDGE_LV2_X11, 0, standalone.options.bridge_lv2qt4); | |||||
| standalone.engine->setOption(CarlaBackend::OPTION_PATH_BRIDGE_VST_HWND, 0, standalone.options.bridge_vsthwnd); | |||||
| standalone.engine->setOption(CarlaBackend::OPTION_PATH_BRIDGE_VST_X11, 0, standalone.options.bridge_vstx11); | |||||
| standalone.engine->setOption(CarlaBackend::OPTION_PATH_BRIDGE_LV2_GTK2, 0, standalone.options.bridge_lv2gtk2); | |||||
| standalone.engine->setOption(CarlaBackend::OPTION_PATH_BRIDGE_LV2_GTK3, 0, standalone.options.bridge_lv2gtk3); | |||||
| standalone.engine->setOption(CarlaBackend::OPTION_PATH_BRIDGE_LV2_QT4, 0, standalone.options.bridge_lv2qt4); | |||||
| standalone.engine->setOption(CarlaBackend::OPTION_PATH_BRIDGE_LV2_QT5, 0, standalone.options.bridge_lv2qt5); | |||||
| standalone.engine->setOption(CarlaBackend::OPTION_PATH_BRIDGE_LV2_COCOA, 0, standalone.options.bridge_lv2cocoa); | |||||
| standalone.engine->setOption(CarlaBackend::OPTION_PATH_BRIDGE_LV2_WINDOWS, 0, standalone.options.bridge_lv2win); | |||||
| standalone.engine->setOption(CarlaBackend::OPTION_PATH_BRIDGE_LV2_X11, 0, standalone.options.bridge_lv2qt4); | |||||
| standalone.engine->setOption(CarlaBackend::OPTION_PATH_BRIDGE_VST_COCOA, 0, standalone.options.bridge_vstcocoa); | |||||
| standalone.engine->setOption(CarlaBackend::OPTION_PATH_BRIDGE_VST_HWND, 0, standalone.options.bridge_vsthwnd); | |||||
| standalone.engine->setOption(CarlaBackend::OPTION_PATH_BRIDGE_VST_X11, 0, standalone.options.bridge_vstx11); | |||||
| if (standalone.procName.isNotEmpty()) | if (standalone.procName.isNotEmpty()) | ||||
| standalone.engine->setOption(CarlaBackend::OPTION_PROCESS_NAME, 0, standalone.procName); | standalone.engine->setOption(CarlaBackend::OPTION_PROCESS_NAME, 0, standalone.procName); | ||||
| @@ -1493,14 +1497,8 @@ void set_option(CarlaBackend::OptionsType option, int value, const char* value_s | |||||
| qDebug("CarlaBackendStandalone::set_option(%s, %i, \"%s\")", CarlaBackend::OptionsType2Str(option), value, value_str); | qDebug("CarlaBackendStandalone::set_option(%s, %i, \"%s\")", CarlaBackend::OptionsType2Str(option), value, value_str); | ||||
| if (standalone.engine) | if (standalone.engine) | ||||
| { | |||||
| standalone.engine->setOption(option, value, value_str); | standalone.engine->setOption(option, value, value_str); | ||||
| if (option >= CarlaBackend::OPTION_PATH_LADSPA && option <= CarlaBackend::OPTION_PATH_SFZ) | |||||
| // no need to set twice | |||||
| return; | |||||
| } | |||||
| switch (option) | switch (option) | ||||
| { | { | ||||
| case CarlaBackend::OPTION_PROCESS_NAME: | case CarlaBackend::OPTION_PROCESS_NAME: | ||||
| @@ -1550,28 +1548,6 @@ void set_option(CarlaBackend::OptionsType option, int value, const char* value_s | |||||
| standalone.options.oscUiTimeout = value; | standalone.options.oscUiTimeout = value; | ||||
| break; | break; | ||||
| case CarlaBackend::OPTION_PATH_LADSPA: | |||||
| carla_setenv("LADSPA_PATH", value_str); | |||||
| break; | |||||
| case CarlaBackend::OPTION_PATH_DSSI: | |||||
| carla_setenv("DSSI_PATH", value_str); | |||||
| break; | |||||
| case CarlaBackend::OPTION_PATH_LV2: | |||||
| carla_setenv("LV2_PATH", value_str); | |||||
| break; | |||||
| case CarlaBackend::OPTION_PATH_VST: | |||||
| carla_setenv("VST_PATH", value_str); | |||||
| break; | |||||
| case CarlaBackend::OPTION_PATH_GIG: | |||||
| carla_setenv("GIG_PATH", value_str); | |||||
| break; | |||||
| case CarlaBackend::OPTION_PATH_SF2: | |||||
| carla_setenv("SF2_PATH", value_str); | |||||
| break; | |||||
| case CarlaBackend::OPTION_PATH_SFZ: | |||||
| carla_setenv("SFZ_PATH", value_str); | |||||
| break; | |||||
| case CarlaBackend::OPTION_PATH_BRIDGE_POSIX32: | case CarlaBackend::OPTION_PATH_BRIDGE_POSIX32: | ||||
| standalone.options.bridge_posix32 = value_str; | standalone.options.bridge_posix32 = value_str; | ||||
| break; | break; | ||||
| @@ -1584,6 +1560,7 @@ void set_option(CarlaBackend::OptionsType option, int value, const char* value_s | |||||
| case CarlaBackend::OPTION_PATH_BRIDGE_WIN64: | case CarlaBackend::OPTION_PATH_BRIDGE_WIN64: | ||||
| standalone.options.bridge_win64 = value_str; | standalone.options.bridge_win64 = value_str; | ||||
| break; | break; | ||||
| case CarlaBackend::OPTION_PATH_BRIDGE_LV2_GTK2: | case CarlaBackend::OPTION_PATH_BRIDGE_LV2_GTK2: | ||||
| standalone.options.bridge_lv2gtk2 = value_str; | standalone.options.bridge_lv2gtk2 = value_str; | ||||
| break; | break; | ||||
| @@ -1593,9 +1570,22 @@ void set_option(CarlaBackend::OptionsType option, int value, const char* value_s | |||||
| case CarlaBackend::OPTION_PATH_BRIDGE_LV2_QT4: | case CarlaBackend::OPTION_PATH_BRIDGE_LV2_QT4: | ||||
| standalone.options.bridge_lv2qt4 = value_str; | standalone.options.bridge_lv2qt4 = value_str; | ||||
| break; | break; | ||||
| case CarlaBackend::OPTION_PATH_BRIDGE_LV2_QT5: | |||||
| standalone.options.bridge_lv2qt5 = value_str; | |||||
| break; | |||||
| case CarlaBackend::OPTION_PATH_BRIDGE_LV2_COCOA: | |||||
| standalone.options.bridge_lv2cocoa = value_str; | |||||
| break; | |||||
| case CarlaBackend::OPTION_PATH_BRIDGE_LV2_WINDOWS: | |||||
| standalone.options.bridge_lv2win = value_str; | |||||
| break; | |||||
| case CarlaBackend::OPTION_PATH_BRIDGE_LV2_X11: | case CarlaBackend::OPTION_PATH_BRIDGE_LV2_X11: | ||||
| standalone.options.bridge_lv2x11 = value_str; | standalone.options.bridge_lv2x11 = value_str; | ||||
| break; | break; | ||||
| case CarlaBackend::OPTION_PATH_BRIDGE_VST_COCOA: | |||||
| standalone.options.bridge_vstcocoa = value_str; | |||||
| break; | |||||
| case CarlaBackend::OPTION_PATH_BRIDGE_VST_HWND: | case CarlaBackend::OPTION_PATH_BRIDGE_VST_HWND: | ||||
| standalone.options.bridge_vsthwnd = value_str; | standalone.options.bridge_vsthwnd = value_str; | ||||
| break; | break; | ||||
| @@ -21,10 +21,16 @@ | |||||
| #include "carla_backend.hpp" | #include "carla_backend.hpp" | ||||
| #include "carla_utils.hpp" | #include "carla_utils.hpp" | ||||
| #include <QtCore/QString> | |||||
| CARLA_BACKEND_START_NAMESPACE | CARLA_BACKEND_START_NAMESPACE | ||||
| /*! | |||||
| * @defgroup CarlaBackendUtils Carla Backend Utils | |||||
| * | |||||
| * Carla Backend Utils | |||||
| * | |||||
| * @{ | |||||
| */ | |||||
| static inline | static inline | ||||
| const char* BinaryType2Str(const BinaryType& type) | const char* BinaryType2Str(const BinaryType& type) | ||||
| { | { | ||||
| @@ -229,20 +235,6 @@ const char* OptionsType2Str(const OptionsType& type) | |||||
| return "OPTION_PREFER_UI_BRIDGES"; | return "OPTION_PREFER_UI_BRIDGES"; | ||||
| case OPTION_OSC_UI_TIMEOUT: | case OPTION_OSC_UI_TIMEOUT: | ||||
| return "OPTION_OSC_UI_TIMEOUT"; | return "OPTION_OSC_UI_TIMEOUT"; | ||||
| case OPTION_PATH_LADSPA: | |||||
| return "OPTION_PATH_LADSPA"; | |||||
| case OPTION_PATH_DSSI: | |||||
| return "OPTION_PATH_DSSI"; | |||||
| case OPTION_PATH_LV2: | |||||
| return "OPTION_PATH_LV2"; | |||||
| case OPTION_PATH_VST: | |||||
| return "OPTION_PATH_VST"; | |||||
| case OPTION_PATH_GIG: | |||||
| return "OPTION_PATH_GIG"; | |||||
| case OPTION_PATH_SF2: | |||||
| return "OPTION_PATH_SF2"; | |||||
| case OPTION_PATH_SFZ: | |||||
| return "OPTION_PATH_SFZ"; | |||||
| case OPTION_PATH_BRIDGE_POSIX32: | case OPTION_PATH_BRIDGE_POSIX32: | ||||
| return "OPTION_PATH_BRIDGE_POSIX32"; | return "OPTION_PATH_BRIDGE_POSIX32"; | ||||
| case OPTION_PATH_BRIDGE_POSIX64: | case OPTION_PATH_BRIDGE_POSIX64: | ||||
| @@ -257,8 +249,16 @@ const char* OptionsType2Str(const OptionsType& type) | |||||
| return "OPTION_PATH_BRIDGE_LV2_GTK3"; | return "OPTION_PATH_BRIDGE_LV2_GTK3"; | ||||
| case OPTION_PATH_BRIDGE_LV2_QT4: | case OPTION_PATH_BRIDGE_LV2_QT4: | ||||
| return "OPTION_PATH_BRIDGE_LV2_QT4"; | return "OPTION_PATH_BRIDGE_LV2_QT4"; | ||||
| case OPTION_PATH_BRIDGE_LV2_QT5: | |||||
| return "OPTION_PATH_BRIDGE_LV2_QT5"; | |||||
| case OPTION_PATH_BRIDGE_LV2_COCOA: | |||||
| return "OPTION_PATH_BRIDGE_LV2_COCOA"; | |||||
| case OPTION_PATH_BRIDGE_LV2_WINDOWS: | |||||
| return "OPTION_PATH_BRIDGE_LV2_WINDOWS"; | |||||
| case OPTION_PATH_BRIDGE_LV2_X11: | case OPTION_PATH_BRIDGE_LV2_X11: | ||||
| return "OPTION_PATH_BRIDGE_LV2_X11"; | return "OPTION_PATH_BRIDGE_LV2_X11"; | ||||
| case OPTION_PATH_BRIDGE_VST_COCOA: | |||||
| return "OPTION_PATH_BRIDGE_VST_COCOA"; | |||||
| case OPTION_PATH_BRIDGE_VST_HWND: | case OPTION_PATH_BRIDGE_VST_HWND: | ||||
| return "OPTION_PATH_BRIDGE_VST_HWND"; | return "OPTION_PATH_BRIDGE_VST_HWND"; | ||||
| case OPTION_PATH_BRIDGE_VST_X11: | case OPTION_PATH_BRIDGE_VST_X11: | ||||
| @@ -515,6 +515,8 @@ PluginCategory getPluginCategoryFromName(const char* const name) | |||||
| return PLUGIN_CATEGORY_NONE; | return PLUGIN_CATEGORY_NONE; | ||||
| } | } | ||||
| /**@}*/ | |||||
| CARLA_BACKEND_END_NAMESPACE | CARLA_BACKEND_END_NAMESPACE | ||||
| #endif // CARLA_BACKEND_UTILS_HPP | #endif // CARLA_BACKEND_UTILS_HPP | ||||
| @@ -1127,28 +1127,6 @@ void CarlaEngine::setOption(const OptionsType option, const int value, const cha | |||||
| options.oscUiTimeout = value; | options.oscUiTimeout = value; | ||||
| break; | break; | ||||
| case OPTION_PATH_LADSPA: | |||||
| carla_setenv("LADSPA_PATH", valueStr); | |||||
| break; | |||||
| case OPTION_PATH_DSSI: | |||||
| carla_setenv("DSSI_PATH", valueStr); | |||||
| break; | |||||
| case OPTION_PATH_LV2: | |||||
| carla_setenv("LV2_PATH", valueStr); | |||||
| break; | |||||
| case OPTION_PATH_VST: | |||||
| carla_setenv("VST_PATH", valueStr); | |||||
| break; | |||||
| case OPTION_PATH_GIG: | |||||
| carla_setenv("GIG_PATH", valueStr); | |||||
| break; | |||||
| case OPTION_PATH_SF2: | |||||
| carla_setenv("SF2_PATH", valueStr); | |||||
| break; | |||||
| case OPTION_PATH_SFZ: | |||||
| carla_setenv("SFZ_PATH", valueStr); | |||||
| break; | |||||
| case OPTION_PATH_BRIDGE_POSIX32: | case OPTION_PATH_BRIDGE_POSIX32: | ||||
| options.bridge_posix32 = valueStr; | options.bridge_posix32 = valueStr; | ||||
| break; | break; | ||||
| @@ -1161,6 +1139,7 @@ void CarlaEngine::setOption(const OptionsType option, const int value, const cha | |||||
| case OPTION_PATH_BRIDGE_WIN64: | case OPTION_PATH_BRIDGE_WIN64: | ||||
| options.bridge_win64 = valueStr; | options.bridge_win64 = valueStr; | ||||
| break; | break; | ||||
| case OPTION_PATH_BRIDGE_LV2_GTK2: | case OPTION_PATH_BRIDGE_LV2_GTK2: | ||||
| options.bridge_lv2gtk2 = valueStr; | options.bridge_lv2gtk2 = valueStr; | ||||
| break; | break; | ||||
| @@ -1170,9 +1149,22 @@ void CarlaEngine::setOption(const OptionsType option, const int value, const cha | |||||
| case OPTION_PATH_BRIDGE_LV2_QT4: | case OPTION_PATH_BRIDGE_LV2_QT4: | ||||
| options.bridge_lv2qt4 = valueStr; | options.bridge_lv2qt4 = valueStr; | ||||
| break; | break; | ||||
| case OPTION_PATH_BRIDGE_LV2_QT5: | |||||
| options.bridge_lv2qt5 = valueStr; | |||||
| break; | |||||
| case OPTION_PATH_BRIDGE_LV2_COCOA: | |||||
| options.bridge_lv2cocoa = valueStr; | |||||
| break; | |||||
| case OPTION_PATH_BRIDGE_LV2_WINDOWS: | |||||
| options.bridge_lv2win = valueStr; | |||||
| break; | |||||
| case OPTION_PATH_BRIDGE_LV2_X11: | case OPTION_PATH_BRIDGE_LV2_X11: | ||||
| options.bridge_lv2x11 = valueStr; | options.bridge_lv2x11 = valueStr; | ||||
| break; | break; | ||||
| case OPTION_PATH_BRIDGE_VST_COCOA: | |||||
| options.bridge_vstcocoa = valueStr; | |||||
| break; | |||||
| case OPTION_PATH_BRIDGE_VST_HWND: | case OPTION_PATH_BRIDGE_VST_HWND: | ||||
| options.bridge_vsthwnd = valueStr; | options.bridge_vsthwnd = valueStr; | ||||
| break; | break; | ||||
| @@ -232,7 +232,11 @@ struct CarlaEngineOptions { | |||||
| CarlaString bridge_lv2gtk2; | CarlaString bridge_lv2gtk2; | ||||
| CarlaString bridge_lv2gtk3; | CarlaString bridge_lv2gtk3; | ||||
| CarlaString bridge_lv2qt4; | CarlaString bridge_lv2qt4; | ||||
| CarlaString bridge_lv2qt5; | |||||
| CarlaString bridge_lv2cocoa; | |||||
| CarlaString bridge_lv2win; | |||||
| CarlaString bridge_lv2x11; | CarlaString bridge_lv2x11; | ||||
| CarlaString bridge_vstcocoa; | |||||
| CarlaString bridge_vsthwnd; | CarlaString bridge_vsthwnd; | ||||
| CarlaString bridge_vstx11; | CarlaString bridge_vstx11; | ||||
| @@ -1,7 +1,6 @@ | |||||
| # Carla TODO | # Carla TODO | ||||
| GENERAL: | GENERAL: | ||||
| - add lv2-cocoa+hwmd ui paths | |||||
| - add direct program access on ui-dialogs (needed for standalone bridges), maybe add extra buttons too | - add direct program access on ui-dialogs (needed for standalone bridges), maybe add extra buttons too | ||||
| - implement osc-based uis in bridge mode | - implement osc-based uis in bridge mode | ||||
| - implement midi-learn (new dialog) | - implement midi-learn (new dialog) | ||||
| @@ -253,13 +253,6 @@ class SearchPluginsThread(QThread): | |||||
| def run(self): | def run(self): | ||||
| global LADSPA_PATH, DSSI_PATH, LV2_PATH, VST_PATH, GIG_PATH, SF2_PATH, SFZ_PATH | global LADSPA_PATH, DSSI_PATH, LV2_PATH, VST_PATH, GIG_PATH, SF2_PATH, SFZ_PATH | ||||
| os.environ['LADSPA_PATH'] = splitter.join(LADSPA_PATH) | |||||
| os.environ['DSSI_PATH'] = splitter.join(DSSI_PATH) | |||||
| os.environ['LV2_PATH'] = splitter.join(LV2_PATH) | |||||
| os.environ['VST_PATH'] = splitter.join(VST_PATH) | |||||
| os.environ['GIG_PATH'] = splitter.join(GIG_PATH) | |||||
| os.environ['SF2_PATH'] = splitter.join(SF2_PATH) | |||||
| os.environ['SFZ_PATH'] = splitter.join(SFZ_PATH) | |||||
| self.blacklist = toList(self.settings_db.value("Plugins/Blacklisted", [])) | self.blacklist = toList(self.settings_db.value("Plugins/Blacklisted", [])) | ||||
| @@ -1274,33 +1267,6 @@ class CarlaMainW(QMainWindow, ui_carla.Ui_CarlaMainW): | |||||
| Carla.Host.set_option(OPTION_PREFER_UI_BRIDGES, preferUiBridges, "") | Carla.Host.set_option(OPTION_PREFER_UI_BRIDGES, preferUiBridges, "") | ||||
| Carla.Host.set_option(OPTION_OSC_UI_TIMEOUT, oscUiTimeout, "") | Carla.Host.set_option(OPTION_OSC_UI_TIMEOUT, oscUiTimeout, "") | ||||
| # --------------------------------------------- | |||||
| # bridge paths | |||||
| if carla_bridge_posix32: | |||||
| Carla.Host.set_option(OPTION_PATH_BRIDGE_POSIX32, 0, carla_bridge_posix32) | |||||
| if carla_bridge_posix64: | |||||
| Carla.Host.set_option(OPTION_PATH_BRIDGE_POSIX64, 0, carla_bridge_posix64) | |||||
| if carla_bridge_win32: | |||||
| Carla.Host.set_option(OPTION_PATH_BRIDGE_WIN32, 0, carla_bridge_win32) | |||||
| if carla_bridge_win64: | |||||
| Carla.Host.set_option(OPTION_PATH_BRIDGE_WIN64, 0, carla_bridge_win64) | |||||
| if carla_bridge_lv2_gtk2: | |||||
| Carla.Host.set_option(OPTION_PATH_BRIDGE_LV2_GTK2, 0, carla_bridge_lv2_gtk2) | |||||
| if carla_bridge_lv2_qt4: | |||||
| Carla.Host.set_option(OPTION_PATH_BRIDGE_LV2_QT4, 0, carla_bridge_lv2_qt4) | |||||
| if carla_bridge_lv2_x11: | |||||
| Carla.Host.set_option(OPTION_PATH_BRIDGE_LV2_X11, 0, carla_bridge_lv2_x11) | |||||
| if carla_bridge_vst_x11: | |||||
| Carla.Host.set_option(OPTION_PATH_BRIDGE_VST_X11, 0, carla_bridge_vst_x11) | |||||
| # --------------------------------------------- | # --------------------------------------------- | ||||
| # start | # start | ||||
| @@ -1980,15 +1946,13 @@ class CarlaMainW(QMainWindow, ui_carla.Ui_CarlaMainW): | |||||
| # --------------------------------------------- | # --------------------------------------------- | ||||
| # plugin checks | # plugin checks | ||||
| disableChecks = self.settings.value("Engine/DisableChecks", bool(not WINDOWS), type=bool) | |||||
| disableChecks = self.settings.value("Engine/DisableChecks", False, type=bool) | |||||
| if disableChecks: | if disableChecks: | ||||
| os.environ["CARLA_DISCOVERY_NO_PROCESSING_CHECKS"] = "true" | os.environ["CARLA_DISCOVERY_NO_PROCESSING_CHECKS"] = "true" | ||||
| else: | |||||
| try: | |||||
| os.environ.pop("CARLA_DISCOVERY_NO_PROCESSING_CHECKS") | |||||
| except: | |||||
| pass | |||||
| elif os.getenv("CARLA_DISCOVERY_NO_PROCESSING_CHECKS"): | |||||
| os.environ.pop("CARLA_DISCOVERY_NO_PROCESSING_CHECKS") | |||||
| # --------------------------------------------- | # --------------------------------------------- | ||||
| # plugin paths | # plugin paths | ||||
| @@ -2002,13 +1966,13 @@ class CarlaMainW(QMainWindow, ui_carla.Ui_CarlaMainW): | |||||
| SF2_PATH = toList(self.settings.value("Paths/SF2", SF2_PATH)) | SF2_PATH = toList(self.settings.value("Paths/SF2", SF2_PATH)) | ||||
| SFZ_PATH = toList(self.settings.value("Paths/SFZ", SFZ_PATH)) | SFZ_PATH = toList(self.settings.value("Paths/SFZ", SFZ_PATH)) | ||||
| Carla.Host.set_option(OPTION_PATH_LADSPA, 0, splitter.join(LADSPA_PATH)) | |||||
| Carla.Host.set_option(OPTION_PATH_DSSI, 0, splitter.join(DSSI_PATH)) | |||||
| Carla.Host.set_option(OPTION_PATH_LV2, 0, splitter.join(LV2_PATH)) | |||||
| Carla.Host.set_option(OPTION_PATH_VST, 0, splitter.join(VST_PATH)) | |||||
| Carla.Host.set_option(OPTION_PATH_GIG, 0, splitter.join(GIG_PATH)) | |||||
| Carla.Host.set_option(OPTION_PATH_SF2, 0, splitter.join(SF2_PATH)) | |||||
| Carla.Host.set_option(OPTION_PATH_SFZ, 0, splitter.join(SFZ_PATH)) | |||||
| os.environ["LADSPA_PATH"] = splitter.join(LADSPA_PATH) | |||||
| os.environ["DSSI_PATH"] = splitter.join(DSSI_PATH) | |||||
| os.environ["LV2_PATH"] = splitter.join(LV2_PATH) | |||||
| os.environ["VST_PATH"] = splitter.join(VST_PATH) | |||||
| os.environ["GIG_PATH"] = splitter.join(GIG_PATH) | |||||
| os.environ["SF2_PATH"] = splitter.join(SF2_PATH) | |||||
| os.environ["SFZ_PATH"] = splitter.join(SFZ_PATH) | |||||
| def timerEvent(self, event): | def timerEvent(self, event): | ||||
| if event.timerId() == self.TIMER_GUI_STUFF: | if event.timerId() == self.TIMER_GUI_STUFF: | ||||
| @@ -2016,9 +1980,11 @@ class CarlaMainW(QMainWindow, ui_carla.Ui_CarlaMainW): | |||||
| if pwidget: pwidget.check_gui_stuff() | if pwidget: pwidget.check_gui_stuff() | ||||
| if self.m_engine_started and self.m_pluginCount > 0: | if self.m_engine_started and self.m_pluginCount > 0: | ||||
| Carla.Host.idle_guis() | Carla.Host.idle_guis() | ||||
| elif event.timerId() == self.TIMER_GUI_STUFF2: | elif event.timerId() == self.TIMER_GUI_STUFF2: | ||||
| for pwidget in self.m_plugin_list: | for pwidget in self.m_plugin_list: | ||||
| if pwidget: pwidget.check_gui_stuff2() | if pwidget: pwidget.check_gui_stuff2() | ||||
| QMainWindow.timerEvent(self, event) | QMainWindow.timerEvent(self, event) | ||||
| def closeEvent(self, event): | def closeEvent(self, event): | ||||
| @@ -2103,10 +2069,57 @@ if __name__ == '__main__': | |||||
| elif os.path.exists(argument): | elif os.path.exists(argument): | ||||
| projectFilename = argument | projectFilename = argument | ||||
| # Init backend | |||||
| Carla.Host = Host(libPrefix) | Carla.Host = Host(libPrefix) | ||||
| Carla.Host.set_callback_function(callback_function) | Carla.Host.set_callback_function(callback_function) | ||||
| Carla.Host.set_option(OPTION_PROCESS_NAME, 0, "carla") | Carla.Host.set_option(OPTION_PROCESS_NAME, 0, "carla") | ||||
| # Set bridge paths | |||||
| if carla_bridge_posix32: | |||||
| Carla.Host.set_option(OPTION_PATH_BRIDGE_POSIX32, 0, carla_bridge_posix32) | |||||
| if carla_bridge_posix64: | |||||
| Carla.Host.set_option(OPTION_PATH_BRIDGE_POSIX64, 0, carla_bridge_posix64) | |||||
| if carla_bridge_win32: | |||||
| Carla.Host.set_option(OPTION_PATH_BRIDGE_WIN32, 0, carla_bridge_win32) | |||||
| if carla_bridge_win64: | |||||
| Carla.Host.set_option(OPTION_PATH_BRIDGE_WIN64, 0, carla_bridge_win64) | |||||
| if WINDOWS: | |||||
| if carla_bridge_lv2_windows: | |||||
| Carla.Host.set_option(OPTION_PATH_BRIDGE_LV2_WINDOWS, 0, carla_bridge_lv2_windows) | |||||
| if carla_bridge_vst_hwnd: | |||||
| Carla.Host.set_option(OPTION_PATH_BRIDGE_VST_HWND, 0, carla_bridge_vst_hwnd) | |||||
| elif MACOS: | |||||
| if carla_bridge_lv2_cocoa: | |||||
| Carla.Host.set_option(OPTION_PATH_BRIDGE_LV2_COCOA, 0, carla_bridge_lv2_cocoa) | |||||
| if carla_bridge_vst_cocoa: | |||||
| Carla.Host.set_option(OPTION_PATH_BRIDGE_VST_COCOA, 0, carla_bridge_vst_cocoa) | |||||
| else: | |||||
| if carla_bridge_lv2_gtk2: | |||||
| Carla.Host.set_option(OPTION_PATH_BRIDGE_LV2_GTK2, 0, carla_bridge_lv2_gtk2) | |||||
| if carla_bridge_lv2_gtk3: | |||||
| Carla.Host.set_option(OPTION_PATH_BRIDGE_LV2_GTK3, 0, carla_bridge_lv2_gtk3) | |||||
| if carla_bridge_lv2_qt4: | |||||
| Carla.Host.set_option(OPTION_PATH_BRIDGE_LV2_QT4, 0, carla_bridge_lv2_qt4) | |||||
| if carla_bridge_lv2_qt5: | |||||
| Carla.Host.set_option(OPTION_PATH_BRIDGE_LV2_QT5, 0, carla_bridge_lv2_qt5) | |||||
| if carla_bridge_lv2_x11: | |||||
| Carla.Host.set_option(OPTION_PATH_BRIDGE_LV2_X11, 0, carla_bridge_lv2_x11) | |||||
| if carla_bridge_vst_x11: | |||||
| Carla.Host.set_option(OPTION_PATH_BRIDGE_VST_X11, 0, carla_bridge_vst_x11) | |||||
| # Set available drivers | # Set available drivers | ||||
| driverCount = Carla.Host.get_engine_driver_count() | driverCount = Carla.Host.get_engine_driver_count() | ||||
| driverList = [] | driverList = [] | ||||
| @@ -2125,6 +2138,7 @@ if __name__ == '__main__': | |||||
| # Show GUI | # Show GUI | ||||
| Carla.gui.show() | Carla.gui.show() | ||||
| # Load project file if set | |||||
| if projectFilename: | if projectFilename: | ||||
| Carla.gui.m_project_filename = projectFilename | Carla.gui.m_project_filename = projectFilename | ||||
| Carla.gui.loadProjectLater() | Carla.gui.loadProjectLater() | ||||
| @@ -252,12 +252,17 @@ carla_bridge_posix64 = "" | |||||
| carla_bridge_win32 = "" | carla_bridge_win32 = "" | ||||
| carla_bridge_win64 = "" | carla_bridge_win64 = "" | ||||
| carla_bridge_lv2_gtk2 = "" | |||||
| carla_bridge_lv2_gtk3 = "" | |||||
| carla_bridge_lv2_qt4 = "" | |||||
| carla_bridge_lv2_x11 = "" | |||||
| carla_bridge_vst_hwnd = "" | |||||
| carla_bridge_vst_x11 = "" | |||||
| carla_bridge_lv2_gtk2 = "" | |||||
| carla_bridge_lv2_gtk3 = "" | |||||
| carla_bridge_lv2_qt4 = "" | |||||
| carla_bridge_lv2_qt5 = "" | |||||
| carla_bridge_lv2_cocoa = "" | |||||
| carla_bridge_lv2_windows = "" | |||||
| carla_bridge_lv2_x11 = "" | |||||
| carla_bridge_vst_cocoa = "" | |||||
| carla_bridge_vst_hwnd = "" | |||||
| carla_bridge_vst_x11 = "" | |||||
| if WINDOWS: | if WINDOWS: | ||||
| carla_libname = "carla_backend.dll" | carla_libname = "carla_backend.dll" | ||||
| @@ -291,33 +296,6 @@ else: | |||||
| carla_library_path = os.path.join(p, "carla", carla_libname) | carla_library_path = os.path.join(p, "carla", carla_libname) | ||||
| break | break | ||||
| # find carla_discovery_native | |||||
| if os.path.exists(os.path.join(CWDpp, "carla-discovery", "carla-discovery-native")): | |||||
| carla_discovery_native = os.path.join(CWDpp, "carla-discovery", "carla-discovery-native") | |||||
| else: | |||||
| for p in PATH: | |||||
| if os.path.exists(os.path.join(p, "carla-discovery-native")): | |||||
| carla_discovery_native = os.path.join(p, "carla-discovery-native") | |||||
| break | |||||
| # find carla_discovery_posix32 | |||||
| if os.path.exists(os.path.join(CWDpp, "carla-discovery", "carla-discovery-posix32")): | |||||
| carla_discovery_posix32 = os.path.join(CWDpp, "carla-discovery", "carla-discovery-posix32") | |||||
| else: | |||||
| for p in PATH: | |||||
| if os.path.exists(os.path.join(p, "carla-discovery-posix32")): | |||||
| carla_discovery_posix32 = os.path.join(p, "carla-discovery-posix32") | |||||
| break | |||||
| # find carla_discovery_posix64 | |||||
| if os.path.exists(os.path.join(CWDpp, "carla-discovery", "carla-discovery-posix64")): | |||||
| carla_discovery_posix64 = os.path.join(CWDpp, "carla-discovery", "carla-discovery-posix64") | |||||
| else: | |||||
| for p in PATH: | |||||
| if os.path.exists(os.path.join(p, "carla-discovery-posix64")): | |||||
| carla_discovery_posix64 = os.path.join(p, "carla-discovery-posix64") | |||||
| break | |||||
| # find carla_discovery_win32 | # find carla_discovery_win32 | ||||
| if os.path.exists(os.path.join(CWDpp, "carla-discovery", "carla-discovery-win32.exe")): | if os.path.exists(os.path.join(CWDpp, "carla-discovery", "carla-discovery-win32.exe")): | ||||
| carla_discovery_win32 = os.path.join(CWDpp, "carla-discovery", "carla-discovery-win32.exe") | carla_discovery_win32 = os.path.join(CWDpp, "carla-discovery", "carla-discovery-win32.exe") | ||||
| @@ -336,24 +314,6 @@ else: | |||||
| carla_discovery_win64 = os.path.join(p, "carla-discovery-win64.exe") | carla_discovery_win64 = os.path.join(p, "carla-discovery-win64.exe") | ||||
| break | break | ||||
| # find carla_bridge_posix32 | |||||
| if os.path.exists(os.path.join(CWDpp, "carla-bridge", "carla-bridge-posix32")): | |||||
| carla_bridge_posix32 = os.path.join(CWDpp, "carla-bridge", "carla-bridge-posix32") | |||||
| else: | |||||
| for p in PATH: | |||||
| if os.path.exists(os.path.join(p, "carla-bridge-posix32")): | |||||
| carla_bridge_posix32 = os.path.join(p, "carla-bridge-posix32") | |||||
| break | |||||
| # find carla_bridge_posix64 | |||||
| if os.path.exists(os.path.join(CWDpp, "carla-bridge", "carla-bridge-posix64")): | |||||
| carla_bridge_posix64 = os.path.join(CWDpp, "carla-bridge", "carla-bridge-posix64") | |||||
| else: | |||||
| for p in PATH: | |||||
| if os.path.exists(os.path.join(p, "carla-bridge-posix64")): | |||||
| carla_bridge_posix64 = os.path.join(p, "carla-bridge-posix64") | |||||
| break | |||||
| # find carla_bridge_win32 | # find carla_bridge_win32 | ||||
| if os.path.exists(os.path.join(CWDpp, "carla-bridge", "carla-bridge-win32.exe")): | if os.path.exists(os.path.join(CWDpp, "carla-bridge", "carla-bridge-win32.exe")): | ||||
| carla_bridge_win32 = os.path.join(CWDpp, "carla-bridge", "carla-bridge-win32.exe") | carla_bridge_win32 = os.path.join(CWDpp, "carla-bridge", "carla-bridge-win32.exe") | ||||
| @@ -372,59 +332,145 @@ else: | |||||
| carla_bridge_win64 = os.path.join(p, "carla-bridge-win64.exe") | carla_bridge_win64 = os.path.join(p, "carla-bridge-win64.exe") | ||||
| break | break | ||||
| # find carla_bridge_lv2_gtk2 | |||||
| if os.path.exists(os.path.join(CWDpp, "carla-bridge", "carla-bridge-lv2-gtk2")): | |||||
| carla_bridge_lv2_gtk2 = os.path.join(CWDpp, "carla-bridge", "carla-bridge-lv2-gtk2") | |||||
| else: | |||||
| for p in PATH: | |||||
| if os.path.exists(os.path.join(p, "carla-bridge-lv2-gtk2")): | |||||
| carla_bridge_lv2_gtk2 = os.path.join(p, "carla-bridge-lv2-gtk2") | |||||
| break | |||||
| # find carla_bridge_lv2_gtk3 | |||||
| if os.path.exists(os.path.join(CWDpp, "carla-bridge", "carla-bridge-lv2-gtk3")): | |||||
| carla_bridge_lv2_gtk3 = os.path.join(CWDpp, "carla-bridge", "carla-bridge-lv2-gtk3") | |||||
| else: | |||||
| for p in PATH: | |||||
| if os.path.exists(os.path.join(p, "carla-bridge-lv2-gtk3")): | |||||
| carla_bridge_lv2_gtk3 = os.path.join(p, "carla-bridge-lv2-gtk3") | |||||
| break | |||||
| # find carla_bridge_lv2_qt4 | |||||
| if os.path.exists(os.path.join(CWDpp, "carla-bridge", "carla-bridge-lv2-qt4")): | |||||
| carla_bridge_lv2_qt4 = os.path.join(CWDpp, "carla-bridge", "carla-bridge-lv2-qt4") | |||||
| else: | |||||
| for p in PATH: | |||||
| if os.path.exists(os.path.join(p, "carla-bridge-lv2-qt4")): | |||||
| carla_bridge_lv2_qt4 = os.path.join(p, "carla-bridge-lv2-qt4") | |||||
| break | |||||
| if not WINDOWS: | |||||
| # find carla_discovery_native | |||||
| if os.path.exists(os.path.join(CWDpp, "carla-discovery", "carla-discovery-native")): | |||||
| carla_discovery_native = os.path.join(CWDpp, "carla-discovery", "carla-discovery-native") | |||||
| else: | |||||
| for p in PATH: | |||||
| if os.path.exists(os.path.join(p, "carla-discovery-native")): | |||||
| carla_discovery_native = os.path.join(p, "carla-discovery-native") | |||||
| break | |||||
| # find carla_discovery_posix32 | |||||
| if os.path.exists(os.path.join(CWDpp, "carla-discovery", "carla-discovery-posix32")): | |||||
| carla_discovery_posix32 = os.path.join(CWDpp, "carla-discovery", "carla-discovery-posix32") | |||||
| else: | |||||
| for p in PATH: | |||||
| if os.path.exists(os.path.join(p, "carla-discovery-posix32")): | |||||
| carla_discovery_posix32 = os.path.join(p, "carla-discovery-posix32") | |||||
| break | |||||
| # find carla_discovery_posix64 | |||||
| if os.path.exists(os.path.join(CWDpp, "carla-discovery", "carla-discovery-posix64")): | |||||
| carla_discovery_posix64 = os.path.join(CWDpp, "carla-discovery", "carla-discovery-posix64") | |||||
| else: | |||||
| for p in PATH: | |||||
| if os.path.exists(os.path.join(p, "carla-discovery-posix64")): | |||||
| carla_discovery_posix64 = os.path.join(p, "carla-discovery-posix64") | |||||
| break | |||||
| # find carla_bridge_posix32 | |||||
| if os.path.exists(os.path.join(CWDpp, "carla-bridge", "carla-bridge-posix32")): | |||||
| carla_bridge_posix32 = os.path.join(CWDpp, "carla-bridge", "carla-bridge-posix32") | |||||
| else: | |||||
| for p in PATH: | |||||
| if os.path.exists(os.path.join(p, "carla-bridge-posix32")): | |||||
| carla_bridge_posix32 = os.path.join(p, "carla-bridge-posix32") | |||||
| break | |||||
| # find carla_bridge_posix64 | |||||
| if os.path.exists(os.path.join(CWDpp, "carla-bridge", "carla-bridge-posix64")): | |||||
| carla_bridge_posix64 = os.path.join(CWDpp, "carla-bridge", "carla-bridge-posix64") | |||||
| else: | |||||
| for p in PATH: | |||||
| if os.path.exists(os.path.join(p, "carla-bridge-posix64")): | |||||
| carla_bridge_posix64 = os.path.join(p, "carla-bridge-posix64") | |||||
| break | |||||
| # find carla_bridge_lv2_x11 | |||||
| if os.path.exists(os.path.join(CWDpp, "carla-bridge", "carla-bridge-lv2-x11")): | |||||
| carla_bridge_lv2_x11 = os.path.join(CWDpp, "carla-bridge", "carla-bridge-lv2-x11") | |||||
| else: | |||||
| for p in PATH: | |||||
| if os.path.exists(os.path.join(p, "carla-bridge-lv2-x11")): | |||||
| carla_bridge_lv2_x11 = os.path.join(p, "carla-bridge-lv2-x11") | |||||
| break | |||||
| if WINDOWS: | |||||
| # find carla_bridge_lv2_windows | |||||
| if os.path.exists(os.path.join(CWDpp, "carla-bridge", "carla-bridge-lv2-windows.exe")): | |||||
| carla_bridge_lv2_windows = os.path.join(CWDpp, "carla-bridge", "carla-bridge-lv2-windows.exe") | |||||
| else: | |||||
| for p in PATH: | |||||
| if os.path.exists(os.path.join(p, "carla-bridge-lv2-windows.exe")): | |||||
| carla_bridge_lv2_windows = os.path.join(p, "carla-bridge-lv2-windows.exe") | |||||
| break | |||||
| # find carla_bridge_vst_hwnd | |||||
| if os.path.exists(os.path.join(CWDpp, "carla-bridge", "carla-bridge-vst-hwnd.exe")): | |||||
| carla_bridge_vst_hwnd = os.path.join(CWDpp, "carla-bridge", "carla-bridge-vst-hwnd.exe") | |||||
| else: | |||||
| for p in PATH: | |||||
| if os.path.exists(os.path.join(p, "carla-bridge-vst-hwnd.exe")): | |||||
| carla_bridge_vst_hwnd = os.path.join(p, "carla-bridge-vst-hwnd.exe") | |||||
| break | |||||
| # find carla_bridge_vst_hwnd | |||||
| if os.path.exists(os.path.join(CWDpp, "carla-bridge", "carla-bridge-vst-hwnd.exe")): | |||||
| carla_bridge_vst_hwnd = os.path.join(CWDpp, "carla-bridge", "carla-bridge-vst-hwnd.exe") | |||||
| else: | |||||
| for p in PATH: | |||||
| if os.path.exists(os.path.join(p, "carla-bridge-vst-hwnd.exe")): | |||||
| carla_bridge_vst_hwnd = os.path.join(p, "carla-bridge-vst-hwnd.exe") | |||||
| break | |||||
| elif MACOS: | |||||
| # find carla_bridge_lv2_cocoa | |||||
| if os.path.exists(os.path.join(CWDpp, "carla-bridge", "carla-bridge-lv2-cocoa")): | |||||
| carla_bridge_lv2_cocoa = os.path.join(CWDpp, "carla-bridge", "carla-bridge-lv2-cocoa") | |||||
| else: | |||||
| for p in PATH: | |||||
| if os.path.exists(os.path.join(p, "carla-bridge-lv2-cocoa")): | |||||
| carla_bridge_lv2_cocoa = os.path.join(p, "carla-bridge-lv2-cocoa") | |||||
| break | |||||
| # find carla_bridge_vst_cocoa | |||||
| if os.path.exists(os.path.join(CWDpp, "carla-bridge", "carla-bridge-vst-cocoa")): | |||||
| carla_bridge_vst_cocoa = os.path.join(CWDpp, "carla-bridge", "carla-bridge-vst-cocoa") | |||||
| else: | |||||
| for p in PATH: | |||||
| if os.path.exists(os.path.join(p, "carla-bridge-vst-cocoa")): | |||||
| carla_bridge_vst_cocoa = os.path.join(p, "carla-bridge-vst-cocoa") | |||||
| break | |||||
| # find carla_bridge_vst_x11 | |||||
| if os.path.exists(os.path.join(CWDpp, "carla-bridge", "carla-bridge-vst-x11")): | |||||
| carla_bridge_vst_x11 = os.path.join(CWDpp, "carla-bridge", "carla-bridge-vst-x11") | |||||
| else: | else: | ||||
| for p in PATH: | |||||
| if os.path.exists(os.path.join(p, "carla-bridge-vst-x11")): | |||||
| carla_bridge_vst_x11 = os.path.join(p, "carla-bridge-vst-x11") | |||||
| break | |||||
| # find carla_bridge_lv2_gtk2 | |||||
| if os.path.exists(os.path.join(CWDpp, "carla-bridge", "carla-bridge-lv2-gtk2")): | |||||
| carla_bridge_lv2_gtk2 = os.path.join(CWDpp, "carla-bridge", "carla-bridge-lv2-gtk2") | |||||
| else: | |||||
| for p in PATH: | |||||
| if os.path.exists(os.path.join(p, "carla-bridge-lv2-gtk2")): | |||||
| carla_bridge_lv2_gtk2 = os.path.join(p, "carla-bridge-lv2-gtk2") | |||||
| break | |||||
| # find carla_bridge_lv2_gtk3 | |||||
| if os.path.exists(os.path.join(CWDpp, "carla-bridge", "carla-bridge-lv2-gtk3")): | |||||
| carla_bridge_lv2_gtk3 = os.path.join(CWDpp, "carla-bridge", "carla-bridge-lv2-gtk3") | |||||
| else: | |||||
| for p in PATH: | |||||
| if os.path.exists(os.path.join(p, "carla-bridge-lv2-gtk3")): | |||||
| carla_bridge_lv2_gtk3 = os.path.join(p, "carla-bridge-lv2-gtk3") | |||||
| break | |||||
| # find carla_bridge_lv2_qt4 | |||||
| if os.path.exists(os.path.join(CWDpp, "carla-bridge", "carla-bridge-lv2-qt4")): | |||||
| carla_bridge_lv2_qt4 = os.path.join(CWDpp, "carla-bridge", "carla-bridge-lv2-qt4") | |||||
| else: | |||||
| for p in PATH: | |||||
| if os.path.exists(os.path.join(p, "carla-bridge-lv2-qt4")): | |||||
| carla_bridge_lv2_qt4 = os.path.join(p, "carla-bridge-lv2-qt4") | |||||
| break | |||||
| # find carla_bridge_lv2_qt5 | |||||
| if os.path.exists(os.path.join(CWDpp, "carla-bridge", "carla-bridge-lv2-qt5")): | |||||
| carla_bridge_lv2_qt5 = os.path.join(CWDpp, "carla-bridge", "carla-bridge-lv2-qt5") | |||||
| else: | |||||
| for p in PATH: | |||||
| if os.path.exists(os.path.join(p, "carla-bridge-lv2-qt5")): | |||||
| carla_bridge_lv2_qt5 = os.path.join(p, "carla-bridge-lv2-qt5") | |||||
| break | |||||
| if LINUX: | |||||
| # find carla_bridge_lv2_x11 | |||||
| if os.path.exists(os.path.join(CWDpp, "carla-bridge", "carla-bridge-lv2-x11")): | |||||
| carla_bridge_lv2_x11 = os.path.join(CWDpp, "carla-bridge", "carla-bridge-lv2-x11") | |||||
| else: | |||||
| for p in PATH: | |||||
| if os.path.exists(os.path.join(p, "carla-bridge-lv2-x11")): | |||||
| carla_bridge_lv2_x11 = os.path.join(p, "carla-bridge-lv2-x11") | |||||
| break | |||||
| # find carla_bridge_vst_x11 | |||||
| if os.path.exists(os.path.join(CWDpp, "carla-bridge", "carla-bridge-vst-x11")): | |||||
| carla_bridge_vst_x11 = os.path.join(CWDpp, "carla-bridge", "carla-bridge-vst-x11") | |||||
| else: | |||||
| for p in PATH: | |||||
| if os.path.exists(os.path.join(p, "carla-bridge-vst-x11")): | |||||
| carla_bridge_vst_x11 = os.path.join(p, "carla-bridge-vst-x11") | |||||
| break | |||||
| # ------------------------------------------------------------------------------------------------ | # ------------------------------------------------------------------------------------------------ | ||||
| # Plugin Query (helper functions) | # Plugin Query (helper functions) | ||||
| @@ -447,7 +493,7 @@ def findBinaries(bPATH, OS): | |||||
| def findLV2Bundles(bPATH): | def findLV2Bundles(bPATH): | ||||
| bundles = [] | bundles = [] | ||||
| extensions = (".lv2", ".lV2", ".LV2", ".Lv2") | |||||
| extensions = (".lv2", ".lV2", ".LV2", ".Lv2") if not WINDOWS else (".lv2",) | |||||
| for root, dirs, files in os.walk(bPATH): | for root, dirs, files in os.walk(bPATH): | ||||
| for dir_ in [dir_ for dir_ in dirs if dir_.endswith(extensions)]: | for dir_ in [dir_ for dir_ in dirs if dir_.endswith(extensions)]: | ||||
| @@ -459,11 +505,11 @@ def findSoundKits(bPATH, stype): | |||||
| soundfonts = [] | soundfonts = [] | ||||
| if stype == "gig": | if stype == "gig": | ||||
| extensions = (".gig", ".giG", ".gIG", ".GIG", ".GIg", ".Gig") | |||||
| extensions = (".gig", ".giG", ".gIG", ".GIG", ".GIg", ".Gig") if not WINDOWS else (".gig",) | |||||
| elif stype == "sf2": | elif stype == "sf2": | ||||
| extensions = (".sf2", ".sF2", ".SF2", ".Sf2") | |||||
| extensions = (".sf2", ".sF2", ".SF2", ".Sf2") if not WINDOWS else (".sf2",) | |||||
| elif stype == "sfz": | elif stype == "sfz": | ||||
| extensions = (".sfz", ".sfZ", ".sFZ", ".SFZ", ".SFz", ".Sfz") | |||||
| extensions = (".sfz", ".sfZ", ".sFZ", ".SFZ", ".SFz", ".Sfz") if not WINDOWS else (".sfz",) | |||||
| else: | else: | ||||
| return [] | return [] | ||||
| @@ -482,7 +528,7 @@ def findDSSIGUI(filename, name, label): | |||||
| check_label = label | check_label = label | ||||
| check_sname = short_name | check_sname = short_name | ||||
| if check_name[-1] != "_": check_name += "_" | |||||
| if check_name[-1] != "_": check_name += "_" | |||||
| if check_label[-1] != "_": check_label += "_" | if check_label[-1] != "_": check_label += "_" | ||||
| if check_sname[-1] != "_": check_sname += "_" | if check_sname[-1] != "_": check_sname += "_" | ||||
| @@ -507,7 +553,7 @@ PLUGIN_QUERY_API_VERSION = 1 | |||||
| PyPluginInfo = { | PyPluginInfo = { | ||||
| 'API': PLUGIN_QUERY_API_VERSION, | 'API': PLUGIN_QUERY_API_VERSION, | ||||
| 'build': 0, # BINARY_NONE | 'build': 0, # BINARY_NONE | ||||
| 'type': 0, # PLUGIN_NONE, | |||||
| 'type': 0, # PLUGIN_NONE | |||||
| 'hints': 0x0, | 'hints': 0x0, | ||||
| 'binary': "", | 'binary': "", | ||||
| 'name': "", | 'name': "", | ||||
| @@ -528,7 +574,7 @@ PyPluginInfo = { | |||||
| } | } | ||||
| def runCarlaDiscovery(itype, stype, filename, tool, isWine=False): | def runCarlaDiscovery(itype, stype, filename, tool, isWine=False): | ||||
| fake_label = os.path.basename(filename).rsplit(".", 1)[0] | |||||
| fakeLabel = os.path.basename(filename).rsplit(".", 1)[0] | |||||
| plugins = [] | plugins = [] | ||||
| command = [] | command = [] | ||||
| @@ -576,9 +622,9 @@ def runCarlaDiscovery(itype, stype, filename, tool, isWine=False): | |||||
| prop, value = line.replace("carla-discovery::", "").split("::", 1) | prop, value = line.replace("carla-discovery::", "").split("::", 1) | ||||
| if prop == "name": | if prop == "name": | ||||
| pinfo['name'] = value if value else fake_label | |||||
| pinfo['name'] = value if value else fakeLabel | |||||
| elif prop == "label": | elif prop == "label": | ||||
| pinfo['label'] = value if value else fake_label | |||||
| pinfo['label'] = value if value else fakeLabel | |||||
| elif prop == "maker": | elif prop == "maker": | ||||
| pinfo['maker'] = value | pinfo['maker'] = value | ||||
| elif prop == "copyright": | elif prop == "copyright": | ||||
| @@ -156,23 +156,20 @@ OPTION_USE_DSSI_VST_CHUNKS = 7 | |||||
| OPTION_PREFER_PLUGIN_BRIDGES = 8 | OPTION_PREFER_PLUGIN_BRIDGES = 8 | ||||
| OPTION_PREFER_UI_BRIDGES = 9 | OPTION_PREFER_UI_BRIDGES = 9 | ||||
| OPTION_OSC_UI_TIMEOUT = 10 | OPTION_OSC_UI_TIMEOUT = 10 | ||||
| OPTION_PATH_LADSPA = 11 | |||||
| OPTION_PATH_DSSI = 12 | |||||
| OPTION_PATH_LV2 = 13 | |||||
| OPTION_PATH_VST = 14 | |||||
| OPTION_PATH_GIG = 15 | |||||
| OPTION_PATH_SF2 = 16 | |||||
| OPTION_PATH_SFZ = 17 | |||||
| OPTION_PATH_BRIDGE_POSIX32 = 18 | |||||
| OPTION_PATH_BRIDGE_POSIX64 = 19 | |||||
| OPTION_PATH_BRIDGE_WIN32 = 20 | |||||
| OPTION_PATH_BRIDGE_WIN64 = 21 | |||||
| OPTION_PATH_BRIDGE_LV2_GTK2 = 22 | |||||
| OPTION_PATH_BRIDGE_LV2_GTK3 = 23 | |||||
| OPTION_PATH_BRIDGE_LV2_QT4 = 24 | |||||
| OPTION_PATH_BRIDGE_LV2_X11 = 25 | |||||
| OPTION_PATH_BRIDGE_VST_HWND = 26 | |||||
| OPTION_PATH_BRIDGE_VST_X11 = 27 | |||||
| OPTION_PATH_BRIDGE_POSIX32 = 11 | |||||
| OPTION_PATH_BRIDGE_POSIX64 = 12 | |||||
| OPTION_PATH_BRIDGE_WIN32 = 13 | |||||
| OPTION_PATH_BRIDGE_WIN64 = 14 | |||||
| OPTION_PATH_BRIDGE_LV2_GTK2 = 15 | |||||
| OPTION_PATH_BRIDGE_LV2_GTK3 = 16 | |||||
| OPTION_PATH_BRIDGE_LV2_QT4 = 17 | |||||
| OPTION_PATH_BRIDGE_LV2_QT5 = 18 | |||||
| OPTION_PATH_BRIDGE_LV2_COCOA = 19 | |||||
| OPTION_PATH_BRIDGE_LV2_WINDOWS = 20 | |||||
| OPTION_PATH_BRIDGE_LV2_X11 = 21 | |||||
| OPTION_PATH_BRIDGE_VST_COCOA = 22 | |||||
| OPTION_PATH_BRIDGE_VST_HWND = 23 | |||||
| OPTION_PATH_BRIDGE_VST_X11 = 24 | |||||
| # enum CallbackType | # enum CallbackType | ||||
| CALLBACK_DEBUG = 0 | CALLBACK_DEBUG = 0 | ||||