| @@ -263,7 +263,7 @@ short CarlaEngine::addPlugin(const BinaryType btype, const PluginType ptype, con | |||
| CarlaPlugin* plugin = nullptr; | |||
| #ifndef BUILD_BRIDGE | |||
| if (btype != BINARY_NATIVE || carlaOptions.preferPluginBridges) | |||
| if (btype != BINARY_NATIVE || (carlaOptions.preferPluginBridges && getBinaryBidgePath(btype) && type == CarlaEngineTypeJack)) | |||
| { | |||
| # ifdef CARLA_ENGINE_JACK | |||
| if (carlaOptions.processMode != CarlaBackend::PROCESS_MODE_MULTIPLE_CLIENTS) | |||
| @@ -256,7 +256,7 @@ int CarlaBridgeOsc::handleMsgMidiProgram(CARLA_BRIDGE_OSC_HANDLE_ARGS) | |||
| #ifdef BUILD_BRIDGE_PLUGIN | |||
| const int32_t index = argv[0]->i; | |||
| client->setProgram(index); | |||
| client->setMidiProgram(index); | |||
| #else | |||
| const int32_t bank = argv[0]->i; | |||
| const int32_t program = argv[1]->i; | |||
| @@ -1246,8 +1246,9 @@ class CarlaMainW(QMainWindow, ui_carla.Ui_CarlaMainW): | |||
| preferredBufferSize = self.settings.value("Engine/PreferredBufferSize", 512, type=int) | |||
| preferredSampleRate = self.settings.value("Engine/PreferredSampleRate", 44100, type=int) | |||
| forceStereo = self.settings.value("Engine/ForceStereo", False, type=bool) | |||
| useDssiVstChunks = self.settings.value("Engine/UseDssiVstChunks", False, type=bool) | |||
| forceStereo = self.settings.value("Engine/ForceStereo", False, type=bool) | |||
| useDssiVstChunks = self.settings.value("Engine/UseDssiVstChunks", False, type=bool) | |||
| preferPluginBridges = self.settings.value("Engine/PreferPluginBridges", False, type=bool) | |||
| preferUiBridges = self.settings.value("Engine/PreferUiBridges", True, type=bool) | |||
| oscUiTimeout = self.settings.value("Engine/OscUiTimeout", 40, type=int) | |||
| @@ -1267,6 +1268,7 @@ class CarlaMainW(QMainWindow, ui_carla.Ui_CarlaMainW): | |||
| Carla.Host.set_option(OPTION_FORCE_STEREO, forceStereo, "") | |||
| Carla.Host.set_option(OPTION_USE_DSSI_VST_CHUNKS, useDssiVstChunks, "") | |||
| Carla.Host.set_option(OPTION_PREFER_PLUGIN_BRIDGES, preferPluginBridges, "") | |||
| Carla.Host.set_option(OPTION_PREFER_UI_BRIDGES, preferUiBridges, "") | |||
| Carla.Host.set_option(OPTION_OSC_UI_TIMEOUT, oscUiTimeout, "") | |||
| @@ -220,10 +220,11 @@ class SettingsW(QDialog, ui_settings_app.Ui_SettingsW): | |||
| self.cb_engine_process_mode.setCurrentIndex(self.settings.value("Engine/ProcessMode", PROCESS_MODE_MULTIPLE_CLIENTS, type=int)) | |||
| self.sb_engine_max_params.setValue(self.settings.value("Engine/MaxParameters", 200, type=int)) | |||
| self.ch_engine_prefer_bridges.setChecked(self.settings.value("Engine/PreferUiBridges", True, type=bool)) | |||
| self.ch_engine_prefer_ui_bridges.setChecked(self.settings.value("Engine/PreferUiBridges", True, type=bool)) | |||
| self.sb_engine_oscgui_timeout.setValue(self.settings.value("Engine/OscUiTimeout", 4000, type=int)) | |||
| self.ch_engine_disable_checks.setChecked(self.settings.value("Engine/DisableChecks", bool(not WINDOWS), type=bool)) | |||
| self.ch_engine_dssi_chunks.setChecked(self.settings.value("Engine/UseDssiVstChunks", False, type=bool)) | |||
| self.ch_engine_prefer_plugin_bridges.setChecked(self.settings.value("Engine/PreferPluginBridges", False, type=bool)) | |||
| self.ch_engine_force_stereo.setChecked(self.settings.value("Engine/ForceStereo", False, type=bool)) | |||
| self.ch_engine_process_hp.setChecked(self.settings.value("Engine/ProcessHighPrecision", False, type=bool)) | |||
| @@ -415,10 +416,11 @@ class SettingsW(QDialog, ui_settings_app.Ui_SettingsW): | |||
| self.settings.setValue("Engine/AudioDriver", self.cb_engine_audio_driver.currentText()) | |||
| self.settings.setValue("Engine/ProcessMode", self.cb_engine_process_mode.currentIndex()) | |||
| self.settings.setValue("Engine/MaxParameters", self.sb_engine_max_params.value()) | |||
| self.settings.setValue("Engine/PreferUiBridges", self.ch_engine_prefer_bridges.isChecked()) | |||
| self.settings.setValue("Engine/PreferUiBridges", self.ch_engine_prefer_ui_bridges.isChecked()) | |||
| self.settings.setValue("Engine/OscUiTimeout", self.sb_engine_oscgui_timeout.value()) | |||
| self.settings.setValue("Engine/DisableChecks", self.ch_engine_disable_checks.isChecked()) | |||
| self.settings.setValue("Engine/UseDssiVstChunks", self.ch_engine_dssi_chunks.isChecked()) | |||
| self.settings.setValue("Engine/PreferPluginBridges", self.ch_engine_prefer_plugin_bridges.isChecked()) | |||
| self.settings.setValue("Engine/ForceStereo", self.ch_engine_force_stereo.isChecked()) | |||
| self.settings.setValue("Engine/ProcessHighPrecision", self.ch_engine_process_hp.isChecked()) | |||
| @@ -490,10 +492,11 @@ class SettingsW(QDialog, ui_settings_app.Ui_SettingsW): | |||
| self.cb_engine_audio_driver.setCurrentIndex(0) | |||
| self.cb_engine_process_mode.setCurrentIndex(PROCESS_MODE_MULTIPLE_CLIENTS) | |||
| self.sb_engine_max_params.setValue(200) | |||
| self.ch_engine_prefer_bridges.setChecked(True) | |||
| self.ch_engine_prefer_ui_bridges.setChecked(True) | |||
| self.sb_engine_oscgui_timeout.setValue(4000) | |||
| self.ch_engine_disable_checks.setChecked(bool(not WINDOWS)) # pre-enable checks for Windows only | |||
| self.ch_engine_disable_checks.setChecked(False) | |||
| self.ch_engine_dssi_chunks.setChecked(False) | |||
| self.ch_engine_prefer_plugin_bridges.setChecked(False) | |||
| self.ch_engine_force_stereo.setChecked(False) | |||
| self.ch_engine_process_hp.setChecked(False) | |||
| @@ -203,7 +203,7 @@ | |||
| <number>0</number> | |||
| </property> | |||
| <property name="currentIndex"> | |||
| <number>3</number> | |||
| <number>0</number> | |||
| </property> | |||
| <widget class="QWidget" name="page_main"> | |||
| <layout class="QVBoxLayout" name="verticalLayout_5"> | |||
| @@ -931,7 +931,7 @@ | |||
| </spacer> | |||
| </item> | |||
| <item row="0" column="0" colspan="3"> | |||
| <widget class="QCheckBox" name="ch_engine_prefer_bridges"> | |||
| <widget class="QCheckBox" name="ch_engine_prefer_ui_bridges"> | |||
| <property name="toolTip"> | |||
| <string>Use OSC-GUI bridges when possible, this way separating the UI from DSP code</string> | |||
| </property> | |||
| @@ -967,6 +967,16 @@ You can disable these checks to get a faster scanning time (at your own risk).</ | |||
| </property> | |||
| </widget> | |||
| </item> | |||
| <item> | |||
| <widget class="QCheckBox" name="ch_engine_prefer_plugin_bridges"> | |||
| <property name="toolTip"> | |||
| <string>Whenever possible, run the plugins in bridge mode.</string> | |||
| </property> | |||
| <property name="text"> | |||
| <string>Run plugins in bridge mode when possible (EXPERIMENTAL)</string> | |||
| </property> | |||
| </widget> | |||
| </item> | |||
| <item> | |||
| <widget class="QCheckBox" name="ch_engine_force_stereo"> | |||
| <property name="toolTip"> | |||
| @@ -981,7 +991,7 @@ This mode is not available for VST plugins.</string> | |||
| <item> | |||
| <widget class="QCheckBox" name="ch_engine_process_hp"> | |||
| <property name="toolTip"> | |||
| <string>Process audio in blocks of 8 samples, allowing "per-sample" automation. | |||
| <string>Process audio in blocks of 8 samples, allowing a higher precision automation. | |||
| Recommended to use when 'rendering' a project. | |||
| Some plugins might not work properly under this mode.</string> | |||
| </property> | |||