Browse Source

JackSettings: Implement JACK Aliases option

tags/v0.9.0
falkTX 13 years ago
parent
commit
38a3ae7eee
2 changed files with 203 additions and 158 deletions
  1. +189
    -158
      resources/ui/settings_jack.ui
  2. +14
    -0
      src/jacksettings.py

+ 189
- 158
resources/ui/settings_jack.ui View File

@@ -7,7 +7,7 @@
<x>0</x>
<y>0</y>
<width>680</width>
<height>513</height>
<height>464</height>
</rect>
</property>
<property name="windowTitle">
@@ -85,38 +85,8 @@
<property name="title">
<string>Properties</string>
</property>
<layout class="QGridLayout" name="gridLayout_11">
<item row="0" column="1">
<widget class="QCheckBox" name="obj_server_realtime">
<property name="toolTip">
<string>Whether to use realtime scheduling</string>
</property>
<property name="text">
<string>Realtime</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QCheckBox" name="obj_server_temporary">
<property name="toolTip">
<string>Exit once all clients have closed their connections</string>
</property>
<property name="text">
<string>Temporary</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QCheckBox" name="obj_server_verbose">
<property name="toolTip">
<string>Verbose mode</string>
</property>
<property name="text">
<string>Verbose</string>
</property>
</widget>
</item>
<item row="0" column="0">
<layout class="QHBoxLayout" name="horizontalLayout_5">
<item>
<spacer name="horizontalSpacer_11">
<property name="orientation">
<enum>Qt::Horizontal</enum>
@@ -132,27 +102,181 @@
</property>
</spacer>
</item>
<item row="0" column="2">
<widget class="QLabel" name="label_23">
<property name="toolTip">
<string>Scheduler priority when running in realtime mode</string>
</property>
<property name="text">
<string>Realtime priority:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
<item>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<widget class="QCheckBox" name="obj_server_realtime">
<property name="toolTip">
<string>Whether to use realtime scheduling</string>
</property>
<property name="text">
<string>Realtime</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="obj_server_temporary">
<property name="toolTip">
<string>Exit once all clients have closed their connections</string>
</property>
<property name="text">
<string>Temporary</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="obj_server_verbose">
<property name="toolTip">
<string>Verbose mode</string>
</property>
<property name="text">
<string>Verbose</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="obj_server_alias">
<property name="toolTip">
<string>Use system port aliases instead of system:playback_*</string>
</property>
<property name="text">
<string>Use aliases</string>
</property>
</widget>
</item>
</layout>
</item>
<item row="0" column="3">
<widget class="QSpinBox" name="obj_server_realtime_priority">
<property name="toolTip">
<string>Scheduler priority when running in realtime mode</string>
</property>
</widget>
<item>
<layout class="QGridLayout" name="gridLayout_11">
<item row="0" column="0">
<widget class="QLabel" name="label_23">
<property name="toolTip">
<string>Scheduler priority when running in realtime mode</string>
</property>
<property name="text">
<string>Realtime priority:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QSpinBox" name="obj_server_realtime_priority">
<property name="toolTip">
<string>Scheduler priority when running in realtime mode</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_25">
<property name="toolTip">
<string>Client timeout limit in milliseconds</string>
</property>
<property name="text">
<string>Client timeout (ms):</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QComboBox" name="obj_server_client_timeout">
<property name="toolTip">
<string>Client timeout limit in milliseconds</string>
</property>
<property name="editable">
<bool>true</bool>
</property>
<item>
<property name="text">
<string>0</string>
</property>
</item>
<item>
<property name="text">
<string>200</string>
</property>
</item>
<item>
<property name="text">
<string>500</string>
</property>
</item>
<item>
<property name="text">
<string>1000</string>
</property>
</item>
<item>
<property name="text">
<string>2000</string>
</property>
</item>
<item>
<property name="text">
<string>5000</string>
</property>
</item>
<item>
<property name="text">
<string>10000</string>
</property>
</item>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="obj_server_port_max_label">
<property name="toolTip">
<string>Maximum number of ports</string>
</property>
<property name="text">
<string>Port Max:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QComboBox" name="obj_server_port_max">
<property name="toolTip">
<string>Maximum number of ports</string>
</property>
<property name="editable">
<bool>true</bool>
</property>
<item>
<property name="text">
<string>128</string>
</property>
</item>
<item>
<property name="text">
<string>256</string>
</property>
</item>
<item>
<property name="text">
<string>512</string>
</property>
</item>
<item>
<property name="text">
<string>1024</string>
</property>
</item>
<item>
<property name="text">
<string>2048</string>
</property>
</item>
</widget>
</item>
</layout>
</item>
<item row="0" column="4">
<item>
<spacer name="horizontalSpacer_12">
<property name="orientation">
<enum>Qt::Horizontal</enum>
@@ -168,112 +292,6 @@
</property>
</spacer>
</item>
<item row="2" column="2">
<widget class="QLabel" name="obj_server_port_max_label">
<property name="toolTip">
<string>Maximum number of ports</string>
</property>
<property name="text">
<string>Port Max:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="2" column="3">
<widget class="QComboBox" name="obj_server_port_max">
<property name="toolTip">
<string>Maximum number of ports</string>
</property>
<property name="editable">
<bool>true</bool>
</property>
<item>
<property name="text">
<string>128</string>
</property>
</item>
<item>
<property name="text">
<string>256</string>
</property>
</item>
<item>
<property name="text">
<string>512</string>
</property>
</item>
<item>
<property name="text">
<string>1024</string>
</property>
</item>
<item>
<property name="text">
<string>2048</string>
</property>
</item>
</widget>
</item>
<item row="1" column="2">
<widget class="QLabel" name="label_25">
<property name="toolTip">
<string>Client timeout limit in milliseconds</string>
</property>
<property name="text">
<string>Client timeout (ms):</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="1" column="3">
<widget class="QComboBox" name="obj_server_client_timeout">
<property name="toolTip">
<string>Client timeout limit in milliseconds</string>
</property>
<property name="editable">
<bool>true</bool>
</property>
<item>
<property name="text">
<string>0</string>
</property>
</item>
<item>
<property name="text">
<string>200</string>
</property>
</item>
<item>
<property name="text">
<string>500</string>
</property>
</item>
<item>
<property name="text">
<string>1000</string>
</property>
</item>
<item>
<property name="text">
<string>2000</string>
</property>
</item>
<item>
<property name="text">
<string>5000</string>
</property>
</item>
<item>
<property name="text">
<string>10000</string>
</property>
</item>
</widget>
</item>
</layout>
</widget>
</item>
@@ -763,6 +781,19 @@ On ALSA you can here set an alternate device for playback</string>
</property>
</widget>
</item>
<item row="1" column="3">
<widget class="QCheckBox" name="obj_driver_hw_alias">
<property name="enabled">
<bool>false</bool>
</property>
<property name="toolTip">
<string>Use hardware device name for alias instead of alsa_pcm</string>
</property>
<property name="text">
<string>Hardware Aliases</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>


+ 14
- 0
src/jacksettings.py View File

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


Loading…
Cancel
Save