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"))