diff --git a/resources/ui/settings_jack.ui b/resources/ui/settings_jack.ui index 1038aa3..0d76bf1 100644 --- a/resources/ui/settings_jack.ui +++ b/resources/ui/settings_jack.ui @@ -7,7 +7,7 @@ 0 0 680 - 513 + 464 @@ -85,38 +85,8 @@ Properties - - - - - Whether to use realtime scheduling - - - Realtime - - - - - - - Exit once all clients have closed their connections - - - Temporary - - - - - - - Verbose mode - - - Verbose - - - - + + Qt::Horizontal @@ -132,27 +102,181 @@ - - - - Scheduler priority when running in realtime mode - - - Realtime priority: - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - + + + + + + Whether to use realtime scheduling + + + Realtime + + + + + + + Exit once all clients have closed their connections + + + Temporary + + + + + + + Verbose mode + + + Verbose + + + + + + + Use system port aliases instead of system:playback_* + + + Use aliases + + + + - - - - Scheduler priority when running in realtime mode - - + + + + + + Scheduler priority when running in realtime mode + + + Realtime priority: + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + Scheduler priority when running in realtime mode + + + + + + + Client timeout limit in milliseconds + + + Client timeout (ms): + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + Client timeout limit in milliseconds + + + true + + + + 0 + + + + + 200 + + + + + 500 + + + + + 1000 + + + + + 2000 + + + + + 5000 + + + + + 10000 + + + + + + + + Maximum number of ports + + + Port Max: + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + Maximum number of ports + + + true + + + + 128 + + + + + 256 + + + + + 512 + + + + + 1024 + + + + + 2048 + + + + + - + Qt::Horizontal @@ -168,112 +292,6 @@ - - - - Maximum number of ports - - - Port Max: - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - - Maximum number of ports - - - true - - - - 128 - - - - - 256 - - - - - 512 - - - - - 1024 - - - - - 2048 - - - - - - - - Client timeout limit in milliseconds - - - Client timeout (ms): - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - - Client timeout limit in milliseconds - - - true - - - - 0 - - - - - 200 - - - - - 500 - - - - - 1000 - - - - - 2000 - - - - - 5000 - - - - - 10000 - - - - @@ -763,6 +781,19 @@ On ALSA you can here set an alternate device for playback + + + + false + + + Use hardware device name for alias instead of alsa_pcm + + + Hardware Aliases + + + diff --git a/src/jacksettings.py b/src/jacksettings.py index 3f66093..fde5d08 100755 --- a/src/jacksettings.py +++ b/src/jacksettings.py @@ -196,6 +196,7 @@ class JackSettingsW(QDialog, ui_settings_jack.Ui_JackSettingsW): self.obj_server_realtime_priority.setEnabled(engineHasFeature("realtime-priority")) self.obj_server_temporary.setEnabled(engineHasFeature("temporary")) self.obj_server_verbose.setEnabled(engineHasFeature("verbose")) + self.obj_server_alias.setEnabled(engineHasFeature("alias")) self.obj_server_client_timeout.setEnabled(engineHasFeature("client-timeout")) self.obj_server_clock_source.setEnabled(engineHasFeature("clock-source")) self.obj_server_port_max.setEnabled(engineHasFeature("port-max")) @@ -231,6 +232,10 @@ class JackSettingsW(QDialog, ui_settings_jack.Ui_JackSettingsW): value = dbus.Boolean(self.obj_server_verbose.isChecked()) setEngineParameter("verbose", value, True) + if self.obj_server_alias.isEnabled(): + value = dbus.Boolean(self.obj_server_alias.isChecked()) + setEngineParameter("alias", value, True) + if self.obj_server_client_timeout.isEnabled(): value = dbus.Int32(int(self.obj_server_client_timeout.currentText())) setEngineParameter("client-timeout", value, True) @@ -310,6 +315,8 @@ class JackSettingsW(QDialog, ui_settings_jack.Ui_JackSettingsW): self.obj_server_temporary.setChecked(bool(value)) elif attribute == "verbose": self.obj_server_verbose.setChecked(bool(value)) + elif attribute == "alias": + self.obj_server_alias.setChecked(bool(value)) elif attribute == "client-timeout": self.setComboBoxValue(self.obj_server_client_timeout, str(value)) elif attribute == "clock-source": @@ -429,6 +436,10 @@ class JackSettingsW(QDialog, ui_settings_jack.Ui_JackSettingsW): value = dbus.Boolean(self.obj_driver_duplex.isChecked()) setDriverParameter("duplex", value, True) + if self.obj_driver_hw_alias.isEnabled(): + value = dbus.Boolean(self.obj_driver_hw_alias.isChecked()) + setDriverParameter("hw-alias", value, True) + if self.obj_driver_softmode.isEnabled(): value = dbus.Boolean(self.obj_driver_softmode.isChecked()) setDriverParameter("softmode", value, True) @@ -542,6 +553,8 @@ class JackSettingsW(QDialog, ui_settings_jack.Ui_JackSettingsW): self.obj_driver_hwmeter.setChecked(bool(value)) elif attribute == "duplex": self.obj_driver_duplex.setChecked(bool(value)) + elif attribute == "hw-alias": + self.obj_driver_hw_alias.setChecked(bool(value)) elif attribute == "softmode": self.obj_driver_softmode.setChecked(bool(value)) elif attribute == "monitor": @@ -721,6 +734,7 @@ class JackSettingsW(QDialog, ui_settings_jack.Ui_JackSettingsW): self.obj_driver_hwmon.setEnabled(driverHasFeature("hwmon")) self.obj_driver_hwmeter.setEnabled(driverHasFeature("hwmeter")) self.obj_driver_duplex.setEnabled(driverHasFeature("duplex")) + self.obj_driver_hw_alias.setEnabled(driverHasFeature("hw-alias")) self.obj_driver_softmode.setEnabled(driverHasFeature("softmode")) self.obj_driver_monitor.setEnabled(driverHasFeature("monitor")) self.obj_driver_dither.setEnabled(driverHasFeature("dither"))