Index: /branches/libffado-2.0/src/motu/motu_avdevice.cpp
===================================================================
--- /branches/libffado-2.0/src/motu/motu_avdevice.cpp (revision 1506)
+++ /branches/libffado-2.0/src/motu/motu_avdevice.cpp (revision 1509)
@@ -656,6 +656,6 @@
}
if (type & MOTU_CTRL_INPUT_PHASE_INV) {
- snprintf(name, 100, "%s%s", ctrl->name, "phaseinv");
- snprintf(label,100, "%s%s", ctrl->label,"phaseinv");
+ snprintf(name, 100, "%s%s", ctrl->name, "invert");
+ snprintf(label,100, "%s%s", ctrl->label,"invert");
result &= m_MixerContainer->addElement(
new InputGainPadInv(*this, ctrl->dev_register, MOTU_CTRL_MODE_PHASE_INV,
Index: /branches/libffado-2.0/support/mixer-qt4/mixer_motu.py
===================================================================
--- /branches/libffado-2.0/support/mixer-qt4/mixer_motu.py (revision 1506)
+++ /branches/libffado-2.0/support/mixer-qt4/mixer_motu.py (revision 1509)
@@ -236,4 +236,10 @@
self.ana3_trimgain: ['/Mixer/Control/Ana3_trimgain'],
self.ana4_trimgain: ['/Mixer/Control/Ana4_trimgain'],
+ self.ana5_trimgain: ['/Mixer/Control/Ana5_trimgain'],
+ self.ana6_trimgain: ['/Mixer/Control/Ana6_trimgain'],
+ self.ana7_trimgain: ['/Mixer/Control/Ana7_trimgain'],
+ self.ana8_trimgain: ['/Mixer/Control/Ana8_trimgain'],
+ self.spdif1_trimgain: ['/Mixer/Control/Spdif1_trimgain'],
+ self.spdif2_trimgain: ['/Mixer/Control/Spdif2_trimgain'],
}
@@ -414,23 +420,34 @@
self.ana3_pad: ['/Mixer/Control/Ana3_pad'],
self.ana4_pad: ['/Mixer/Control/Ana4_pad'],
+ self.ana5_pad: ['/Mixer/Control/Ana5_pad'],
+ self.ana6_pad: ['/Mixer/Control/Ana6_pad'],
+ self.ana7_pad: ['/Mixer/Control/Ana7_pad'],
+ self.ana8_pad: ['/Mixer/Control/Ana8_pad'],
+ self.ana1_invert: ['/Mixer/Control/Ana1_invert'],
+ self.ana2_invert: ['/Mixer/Control/Ana2_invert'],
+ self.ana3_invert: ['/Mixer/Control/Ana3_invert'],
+ self.ana4_invert: ['/Mixer/Control/Ana4_invert'],
+ self.ana5_invert: ['/Mixer/Control/Ana5_invert'],
+ self.ana6_invert: ['/Mixer/Control/Ana6_invert'],
+ self.ana7_invert: ['/Mixer/Control/Ana7_invert'],
+ self.ana8_invert: ['/Mixer/Control/Ana8_invert'],
+ self.spdif1_invert: ['/Mixer/Control/Spdif1_invert'],
+ self.spdif2_invert: ['/Mixer/Control/Spdif2_invert'],
+ self.ana1_level: ['/Mixer/Control/Ana1_level'],
+ self.ana2_level: ['/Mixer/Control/Ana2_level'],
+ self.ana3_level: ['/Mixer/Control/Ana3_level'],
+ self.ana4_level: ['/Mixer/Control/Ana4_level'],
self.ana5_level: ['/Mixer/Control/Ana5_level'],
self.ana6_level: ['/Mixer/Control/Ana6_level'],
self.ana7_level: ['/Mixer/Control/Ana7_level'],
self.ana8_level: ['/Mixer/Control/Ana8_level'],
+ self.ana1_boost: ['/Mixer/Control/Ana1_boost'],
+ self.ana2_boost: ['/Mixer/Control/Ana2_boost'],
+ self.ana3_boost: ['/Mixer/Control/Ana3_boost'],
+ self.ana4_boost: ['/Mixer/Control/Ana4_boost'],
self.ana5_boost: ['/Mixer/Control/Ana5_boost'],
self.ana6_boost: ['/Mixer/Control/Ana6_boost'],
self.ana7_boost: ['/Mixer/Control/Ana7_boost'],
self.ana8_boost: ['/Mixer/Control/Ana8_boost'],
-
- # Some interfaces have level/boost on analog 1-4 in place of trimgain/pad
- self.ana1_level: ['/Mixer/Control/Ana1_level'],
- self.ana2_level: ['/Mixer/Control/Ana2_level'],
- self.ana3_level: ['/Mixer/Control/Ana3_level'],
- self.ana4_level: ['/Mixer/Control/Ana4_level'],
- self.ana1_boost: ['/Mixer/Control/Ana1_boost'],
- self.ana2_boost: ['/Mixer/Control/Ana2_boost'],
- self.ana3_boost: ['/Mixer/Control/Ana3_boost'],
- self.ana4_boost: ['/Mixer/Control/Ana4_boost'],
-
}
@@ -706,6 +723,31 @@
self.mix4_adat8.setEnabled(False)
- # Ensure the correct input controls are active for a given interface
- if (self.model == MOTU_MODEL_TRAVELER):
+ # Ensure the correct input controls are active for a given interface.
+ # Only the Ultralite has phase inversion switches.
+ if (not(self.model == MOTU_MODEL_ULTRALITE)):
+ self.disable_hide(self.ana1_invert)
+ self.disable_hide(self.ana2_invert)
+ self.disable_hide(self.ana3_invert)
+ self.disable_hide(self.ana4_invert)
+ self.disable_hide(self.ana5_invert)
+ self.disable_hide(self.ana6_invert)
+ self.disable_hide(self.ana7_invert)
+ self.disable_hide(self.ana8_invert)
+ self.disable_hide(self.spdif1_invert)
+ self.disable_hide(self.spdif2_invert)
+ # The Traveler has pad switches for analog 1-4 only; other interfaces
+ # don't have pad switches at all.
+ if (not(self.model == MOTU_MODEL_TRAVELER)):
+ self.disable_hide(self.ana1_pad)
+ self.disable_hide(self.ana2_pad)
+ self.disable_hide(self.ana3_pad)
+ self.disable_hide(self.ana4_pad)
+ self.disable_hide(self.ana5_pad)
+ self.disable_hide(self.ana6_pad)
+ self.disable_hide(self.ana7_pad)
+ self.disable_hide(self.ana8_pad)
+ # The Traveler has level and boost switchs for analog 5-8. The Ultralite
+ # doesn't implement them. All other interfaces have them over analog 1-8.
+ if (self.model==MOTU_MODEL_TRAVELER or self.model==MOTU_MODEL_ULTRALITE):
self.disable_hide(self.ana1_level)
self.disable_hide(self.ana2_level)
@@ -716,4 +758,25 @@
self.disable_hide(self.ana3_boost)
self.disable_hide(self.ana4_boost)
+ if (self.model == MOTU_MODEL_ULTRALITE):
+ self.disable_hide(self.ana5_level)
+ self.disable_hide(self.ana6_level)
+ self.disable_hide(self.ana7_level)
+ self.disable_hide(self.ana8_level)
+ self.disable_hide(self.ana5_boost)
+ self.disable_hide(self.ana6_boost)
+ self.disable_hide(self.ana7_boost)
+ self.disable_hide(self.ana8_boost)
+ # The Traveler has trimgain for analog 1-4. The Ultralite has trimgain for
+ # analog 1-8 and SPDIF 1-2. All other interfaces don't have trimgain.
+ if (not(self.model==MOTU_MODEL_TRAVELER or self.model==MOTU_MODEL_ULTRALITE)):
+ self.disable_hide(self.ana1_trimgain)
+ self.disable_hide(self.ana1_trimgain_label)
+ self.disable_hide(self.ana2_trimgain)
+ self.disable_hide(self.ana2_trimgain_label)
+ self.disable_hide(self.ana3_trimgain)
+ self.disable_hide(self.ana3_trimgain_label)
+ self.disable_hide(self.ana4_trimgain)
+ self.disable_hide(self.ana4_trimgain_label)
+ if (not(self.model == MOTU_MODEL_ULTRALITE)):
self.disable_hide(self.ana5_trimgain)
self.disable_hide(self.ana5_trimgain_label)
@@ -724,56 +787,4 @@
self.disable_hide(self.ana8_trimgain)
self.disable_hide(self.ana8_trimgain_label)
- self.disable_hide(self.ana5_pad)
- self.disable_hide(self.ana6_pad)
- self.disable_hide(self.ana7_pad)
- self.disable_hide(self.ana8_pad)
- elif (self.model == MOTU_MODEL_ULTRALITE):
- self.disable_hide(self.ana1_level)
- self.disable_hide(self.ana2_level)
- self.disable_hide(self.ana3_level)
- self.disable_hide(self.ana4_level)
- self.disable_hide(self.ana5_level)
- self.disable_hide(self.ana6_level)
- self.disable_hide(self.ana7_level)
- self.disable_hide(self.ana8_level)
- self.disable_hide(self.ana1_boost)
- self.disable_hide(self.ana2_boost)
- self.disable_hide(self.ana3_boost)
- self.disable_hide(self.ana4_boost)
- self.disable_hide(self.ana5_boost)
- self.disable_hide(self.ana6_boost)
- self.disable_hide(self.ana7_boost)
- self.disable_hide(self.ana8_boost)
-
- # FIXME: Need to set the label of the pad controls to "Phase Inv" or
- # something similar
-
- else:
- self.disable_hide(self.ana1_trimgain)
- self.disable_hide(self.ana1_trimgain_label)
- self.disable_hide(self.ana2_trimgain)
- self.disable_hide(self.ana2_trimgain_label)
- self.disable_hide(self.ana3_trimgain)
- self.disable_hide(self.ana3_trimgain_label)
- self.disable_hide(self.ana4_trimgain)
- self.disable_hide(self.ana4_trimgain_label)
- self.disable_hide(self.ana1_pad)
- self.disable_hide(self.ana2_pad)
- self.disable_hide(self.ana3_pad)
- self.disable_hide(self.ana4_pad)
- self.disable_hide(self.ana5_trimgain)
- self.disable_hide(self.ana5_trimgain_label)
- self.disable_hide(self.ana6_trimgain)
- self.disable_hide(self.ana6_trimgain_label)
- self.disable_hide(self.ana7_trimgain)
- self.disable_hide(self.ana7_trimgain_label)
- self.disable_hide(self.ana8_trimgain)
- self.disable_hide(self.ana8_trimgain_label)
- self.disable_hide(self.ana5_pad)
- self.disable_hide(self.ana6_pad)
- self.disable_hide(self.ana7_pad)
- self.disable_hide(self.ana8_pad)
- # Only the Ultralite has digital trim controls over the SPDIF channels
- if (not(self.model == MOTU_MODEL_ULTRALITE)):
self.disable_hide(self.spdif1_trimgain);
self.disable_hide(self.spdif1_trimgain_label);
Index: /branches/libffado-2.0/support/mixer-qt4/mixer_motu.ui
===================================================================
--- /branches/libffado-2.0/support/mixer-qt4/mixer_motu.ui (revision 1494)
+++ /branches/libffado-2.0/support/mixer-qt4/mixer_motu.ui (revision 1509)
@@ -501,4 +501,14 @@
-
+
+
+ Invert
+
+
+ true
+
+
+
+ -
@@ -613,4 +623,14 @@
-
+
+
+ Invert
+
+
+ true
+
+
+
+ -
@@ -725,4 +745,14 @@
-
+
+
+ Invert
+
+
+ true
+
+
+
+ -
@@ -837,4 +867,14 @@
-
+
+
+ Invert
+
+
+ true
+
+
+
+ -
@@ -949,4 +989,14 @@
-
+
+
+ Invert
+
+
+ true
+
+
+
+ -
@@ -1061,4 +1111,14 @@
-
+
+
+ Invert
+
+
+ true
+
+
+
+ -
@@ -1173,4 +1233,17 @@
-
+
+
+ Invert
+
+
+ true
+
+
+ false
+
+
+
+ -
@@ -1285,4 +1358,14 @@
-
+
+
+ Invert
+
+
+ true
+
+
+
+ -
@@ -1382,4 +1465,14 @@
-
+
+
+ Invert
+
+
+ true
+
+
+
+ -
@@ -1458,4 +1551,14 @@
false
+
+
+
+ -
+
+
+ Invert
+
+
+ true