Browse Source

Don't allow to uncheck force-stereo if using forced rack mode

tags/1.9.6
falkTX 10 years ago
parent
commit
ade7d65538
2 changed files with 13 additions and 8 deletions
  1. +3
    -5
      source/backend/engine/CarlaEngine.cpp
  2. +10
    -3
      source/carla_settings.py

+ 3
- 5
source/backend/engine/CarlaEngine.cpp View File

@@ -1205,11 +1205,9 @@ void CarlaEngine::setOption(const EngineOption option, const int value, const ch
if (isRunning() && (option == ENGINE_OPTION_PROCESS_MODE || option == ENGINE_OPTION_AUDIO_NUM_PERIODS || option == ENGINE_OPTION_AUDIO_DEVICE))
return carla_stderr("CarlaEngine::setOption(%i:%s, %i, \"%s\") - Cannot set this option while engine is running!", option, EngineOption2Str(option), value, valueStr);

if (option == ENGINE_OPTION_FORCE_STEREO && pData->options.processMode == ENGINE_PROCESS_MODE_CONTINUOUS_RACK)
{
// do not un-force stereo for rack mode
CARLA_SAFE_ASSERT_RETURN(value == 1,);
}
// do not un-force stereo for rack mode
if (pData->options.processMode == ENGINE_PROCESS_MODE_CONTINUOUS_RACK && option == ENGINE_OPTION_FORCE_STEREO && value != 0)
return;

switch (option)
{


+ 10
- 3
source/carla_settings.py View File

@@ -245,6 +245,9 @@ class CarlaSettingsW(QDialog):
self.ui.cb_engine_process_mode_jack.setEnabled(False)
self.ui.cb_engine_process_mode_other.setEnabled(False)

if self.host.processMode == ENGINE_PROCESS_MODE_CONTINUOUS_RACK:
self.ui.ch_engine_force_stereo.setEnabled(False)

# FIXME, not implemented yet
self.ui.ch_engine_uis_always_on_top.hide()

@@ -352,7 +355,7 @@ class CarlaSettingsW(QDialog):
self.ui.ch_engine_uis_always_on_top.setChecked(self.host.uisAlwaysOnTop)
self.ui.ch_engine_prefer_ui_bridges.setChecked(self.host.preferUIBridges)
self.ui.sb_engine_ui_bridges_timeout.setValue(self.host.uiBridgesTimeout)
self.ui.ch_engine_force_stereo.setChecked(self.host.forceStereo)
self.ui.ch_engine_force_stereo.setChecked(self.host.forceStereo or not self.ui.ch_engine_force_stereo.isEnabled())
self.ui.ch_engine_prefer_plugin_bridges.setChecked(self.host.preferPluginBridges)

# ----------------------------------------------------------------------------------------------------
@@ -459,14 +462,18 @@ class CarlaSettingsW(QDialog):
self.host.maxParameters = self.ui.sb_engine_max_params.value()
self.host.uiBridgesTimeout = self.ui.sb_engine_ui_bridges_timeout.value()

self.host.set_engine_option(ENGINE_OPTION_FORCE_STEREO, self.host.forceStereo, "")
if self.ui.ch_engine_force_stereo.isEnabled():
self.host.set_engine_option(ENGINE_OPTION_FORCE_STEREO, self.host.forceStereo, "")

self.host.set_engine_option(ENGINE_OPTION_PREFER_PLUGIN_BRIDGES, self.host.preferPluginBridges, "")
self.host.set_engine_option(ENGINE_OPTION_PREFER_UI_BRIDGES, self.host.preferUIBridges, "")
self.host.set_engine_option(ENGINE_OPTION_UIS_ALWAYS_ON_TOP, self.host.uisAlwaysOnTop, "")
self.host.set_engine_option(ENGINE_OPTION_MAX_PARAMETERS, self.host.maxParameters, "")
self.host.set_engine_option(ENGINE_OPTION_UI_BRIDGES_TIMEOUT, self.host.uiBridgesTimeout, "")

settings.setValue(CARLA_KEY_ENGINE_FORCE_STEREO, self.host.forceStereo)
if self.ui.ch_engine_force_stereo.isEnabled():
settings.setValue(CARLA_KEY_ENGINE_FORCE_STEREO, self.host.forceStereo)

settings.setValue(CARLA_KEY_ENGINE_PREFER_PLUGIN_BRIDGES, self.host.preferPluginBridges)
settings.setValue(CARLA_KEY_ENGINE_PREFER_UI_BRIDGES, self.host.preferUIBridges)
settings.setValue(CARLA_KEY_ENGINE_UIS_ALWAYS_ON_TOP, self.host.uisAlwaysOnTop)


Loading…
Cancel
Save