Index: trunk/libffado/support/mixer/mixer_edirolfa101.ui =================================================================== --- trunk/libffado/support/mixer/mixer_edirolfa101.ui (revision 1328) +++ trunk/libffado/support/mixer/mixer_edirolfa101.ui (revision 1361) @@ -26,6 +26,6 @@ 0 0 - 521 - 161 + 681 + 193 @@ -33,5 +33,5 @@ Edirol FA-101 - + unnamed @@ -58,5 +58,5 @@ - layout42 + layout33 @@ -75,28 +75,94 @@ + + + layout32 + + + + unnamed + + + + spacer16_11 + + + Horizontal + + + Expanding + + + + 20 + 20 + + + + + + sldInput1 + + + + 0 + 7 + 0 + 0 + + + + 0 + + + 32767 + + + 10000 + + + 1000 + + + Vertical + + + Both + + + 10000 + + + + + spacer16_10 + + + Horizontal + + + Expanding + + + + 20 + 16 + + + + + - sldInput1 + sldBal1 - 0 + -32767 - 32767 - - - 10000 - - - 1000 + 32512 - Vertical - - - Both - - - 10000 + Horizontal @@ -105,5 +171,5 @@ - spacer16 + spacer16_2 @@ -122,5 +188,5 @@ - layout6 + layout36 @@ -139,28 +205,86 @@ + + + layout34 + + + + unnamed + + + + spacer16_12 + + + Horizontal + + + Expanding + + + + 20 + 20 + + + + + + sldInput2 + + + 0 + + + 32767 + + + 10000 + + + 1000 + + + Vertical + + + Both + + + 10000 + + + + + spacer16 + + + Horizontal + + + Expanding + + + + 20 + 20 + + + + + - sldInput2 + sldBal2 - 0 + -32767 - 32767 - - - 10000 - - - 1000 + 32512 - Vertical - - - Both - - - 10000 + Horizontal @@ -169,5 +293,5 @@ - spacer16_2 + spacer16_2_2 @@ -186,5 +310,5 @@ - layout41 + layout38 @@ -203,28 +327,86 @@ + + + layout37 + + + + unnamed + + + + spacer16_2_3 + + + Horizontal + + + Expanding + + + + 20 + 20 + + + + + + sldInput3 + + + 0 + + + 32767 + + + 10000 + + + 1000 + + + Vertical + + + Both + + + 10000 + + + + + spacer16_2_3_3 + + + Horizontal + + + Expanding + + + + 20 + 20 + + + + + - sldInput3 + sldBal3 - 0 + -32767 - 32767 - - - 10000 - - - 1000 + 32512 - Vertical - - - Both - - - 10000 + Horizontal @@ -250,5 +432,5 @@ - layout7 + layout40 @@ -267,28 +449,86 @@ + + + layout39 + + + + unnamed + + + + spacer16_3_2 + + + Horizontal + + + Expanding + + + + 20 + 20 + + + + + + sldInput4 + + + 0 + + + 32767 + + + 10000 + + + 1000 + + + Vertical + + + Both + + + 10000 + + + + + spacer16_3_3 + + + Horizontal + + + Expanding + + + + 20 + 20 + + + + + - sldInput4 + sldBal4 - 0 + -32767 - 32767 - - - 10000 - - - 1000 + 32512 - Vertical - - - Both - - - 10000 + Horizontal @@ -297,5 +537,5 @@ - spacer16_4 + spacer16_5_4 @@ -314,5 +554,5 @@ - layout43 + layout42 @@ -331,34 +571,92 @@ + + + layout41 + + + + unnamed + + + + spacer16_4 + + + Horizontal + + + Expanding + + + + 20 + 20 + + + + + + sldInput5 + + + + 0 + 80 + + + + 0 + + + 32767 + + + 10000 + + + 1000 + + + Vertical + + + Both + + + 10000 + + + + + spacer16_4_3 + + + Horizontal + + + Expanding + + + + 20 + 20 + + + + + - sldInput5 - - - - 0 - 80 - + sldBal5 - 0 + -32767 - 32767 - - - 10000 - - - 1000 + 32512 - Vertical - - - Both - - - 10000 + Horizontal @@ -384,5 +682,5 @@ - layout8 + layout44 @@ -401,28 +699,86 @@ + + + layout43 + + + + unnamed + + + + spacer16_5_2 + + + Horizontal + + + Expanding + + + + 20 + 20 + + + + + + sldInput6 + + + 0 + + + 32767 + + + 10000 + + + 1000 + + + Vertical + + + Both + + + 10000 + + + + + spacer16_5_3 + + + Horizontal + + + Expanding + + + + 20 + 20 + + + + + - sldInput6 + sldBal6 - 0 + -32767 - 32767 - - - 10000 - - - 1000 + 32512 - Vertical - - - Both - - - 10000 + Horizontal @@ -431,5 +787,5 @@ - spacer16_6 + spacer16_8_2_2 @@ -448,5 +804,5 @@ - layout44 + layout46 @@ -465,34 +821,92 @@ + + + layout45 + + + + unnamed + + + + spacer16_6 + + + Horizontal + + + Expanding + + + + 20 + 20 + + + + + + sldInput7 + + + + 0 + 80 + + + + 0 + + + 32767 + + + 10000 + + + 1000 + + + Vertical + + + Both + + + 10000 + + + + + spacer16_6_3 + + + Horizontal + + + Expanding + + + + 20 + 20 + + + + + - sldInput7 - - - - 0 - 80 - + sldBal7 - 0 + -32767 - 32767 - - - 10000 - - - 1000 + 32512 - Vertical - - - Both - - - 10000 + Horizontal @@ -501,5 +915,5 @@ - spacer16_7 + spacer16_8_2 @@ -518,5 +932,5 @@ - layout9 + layout48 @@ -535,28 +949,86 @@ + + + layout47 + + + + unnamed + + + + spacer16_7 + + + Horizontal + + + Expanding + + + + 20 + 20 + + + + + + sldInput8 + + + 0 + + + 32767 + + + 10000 + + + 1000 + + + Vertical + + + Both + + + 10000 + + + + + spacer16_7_5 + + + Horizontal + + + Expanding + + + + 20 + 20 + + + + + - sldInput8 + sldBal8 - 0 + -32767 - 32767 - - - 10000 - - - 1000 + 32512 - Vertical - - - Both - - - 10000 + Horizontal @@ -582,5 +1054,5 @@ - layout45 + layout50 @@ -599,34 +1071,92 @@ + + + layout49 + + + + unnamed + + + + spacer16_8_3 + + + Horizontal + + + Expanding + + + + 20 + 20 + + + + + + sldInput9 + + + + 0 + 80 + + + + 0 + + + 32767 + + + 10000 + + + 1000 + + + Vertical + + + Both + + + 10000 + + + + + spacer16_8_4 + + + Horizontal + + + Expanding + + + + 20 + 20 + + + + + - sldInput9 - - - - 0 - 80 - + sldBal9 - 0 + -32767 - 32767 - - - 10000 - - - 1000 + 32512 - Vertical - - - Both - - - 10000 + Horizontal @@ -652,5 +1182,5 @@ - layout10 + layout52 @@ -669,28 +1199,86 @@ + + + layout51 + + + + unnamed + + + + spacer16_9_5 + + + Horizontal + + + Expanding + + + + 20 + 20 + + + + + + sldInput10 + + + 0 + + + 32767 + + + 10000 + + + 1000 + + + Vertical + + + Both + + + 10000 + + + + + spacer16_9_6 + + + Horizontal + + + Expanding + + + + 20 + 20 + + + + + - sldInput10 + sldBal10 - 0 + -32768 - 32767 - - - 10000 - - - 1000 + 32512 - Vertical - - - Both - - - 10000 + Horizontal @@ -699,5 +1287,5 @@ - + @@ -762,16 +1350,68 @@ setVolumeIn10(int) + + sldBal1 + sliderMoved(int) + EdirolFa101ControlUI + setBalanceIn1(int) + + + sldBal2 + sliderMoved(int) + EdirolFa101ControlUI + setBalanceIn2(int) + + + sldBal3 + sliderMoved(int) + EdirolFa101ControlUI + setBalanceIn3(int) + + + sldBal4 + sliderMoved(int) + EdirolFa101ControlUI + setBalanceIn4(int) + + + sldBal5 + sliderMoved(int) + EdirolFa101ControlUI + setBalanceIn5(int) + + + sldBal6 + sliderMoved(int) + EdirolFa101ControlUI + setBalanceIn6(int) + + + sldBal7 + sliderMoved(int) + EdirolFa101ControlUI + setBalanceIn7(int) + + + sldBal8 + sliderMoved(int) + EdirolFa101ControlUI + setBalanceIn8(int) + + + sldBal9 + sliderMoved(int) + EdirolFa101ControlUI + setBalanceIn9(int) + + + sldBal10 + sliderMoved(int) + EdirolFa101ControlUI + setVolumeIn10(int) + - - mixer_edirolfa101.ui.h - init() initValues() - setVolumeIn6( int ) - setVolumeIn7( int ) - setVolumeIn8( int ) - setVolumeIn9( int ) - setVolumeIn10( int ) setVolumeIn1(int) setVolumeIn2(int) @@ -779,4 +1419,18 @@ setVolumeIn4(int) setVolumeIn5(int) + setVolumeIn6(int) + setVolumeIn7(int) + setVolumeIn8(int) + setVolumeIn9(int) + setVolumeIn10(int) + setBalanceIn1(int) + setBalanceIn2(int) + setBalanceIn3(int) + setBalanceIn4(int) + setBalanceIn5(int) + setBalanceIn6(int) + setBalanceIn7(int) + setBalanceIn8(int) + setBalanceIn9(int) Index: trunk/libffado/support/mixer/mixer_edirolfa66.py =================================================================== --- trunk/libffado/support/mixer/mixer_edirolfa66.py (revision 1328) +++ trunk/libffado/support/mixer/mixer_edirolfa66.py (revision 1361) @@ -25,50 +25,83 @@ class EdirolFa66Control(EdirolFa66ControlUI): - def __init__(self,parent = None,name = None,fl = 0): + def __init__(self, parent = None, name = None, fl = 0): EdirolFa66ControlUI.__init__(self, parent, name, fl) - def setComboMixSource(self, a0): - self.setSelector('line34source', a0) - def setVolumeIn1(self, vol): - self.setVolume('in1', vol) + self.setValue('vol1', vol) def setVolumeIn2(self, vol): - self.setVolume('in2', vol) + self.setValue('vol2', vol) def setVolumeIn3(self, vol): - self.setVolume('in3', vol) + self.setValue('vol3', vol) def setVolumeIn4(self, vol): - self.setVolume('in4', vol) + self.setValue('vol4', vol) def setVolumeIn5(self, vol): - self.setVolume('in5', vol) + self.setValue('vol5', vol) def setVolumeIn6(self, vol): - self.setVolume('in6', vol) + self.setValue('vol6', vol) - def setVolume(self, name, vol): - vol = -vol - ctrl = self.VolumeControls[name] - print "setting %s volume to %d" % (name, vol) - self.hw.setContignuous(ctrl[0], vol, idx = ctrl[1]) + def setBalanceIn1(self, bal): + self.setValue('bal1', bal) + + def setBalanceIn2(self, bal): + self.setValue('bal2', bal) + + def setBalanceIn3(self, bal): + self.setValue('bal3', bal) + + def setBalanceIn4(self, bal): + self.setValue('bal4', bal) + + def setBalanceIn5(self, bal): + self.setValue('bal5', bal) + + def setBalanceIn6(self, bal): + self.setValue('bal6', bal) + + def setValue(self, name, val): + val = -val + ctrl = self.VolumeControls[name] + print "setting %s to %d" % (name, val) + self.hw.setContignuous(ctrl[0], val, idx = ctrl[1]) def init(self): - print "Init Edirol FA-66 window" + print "Init Edirol FA-66 window" - self.VolumeControls = { - # feature name, channel, qt slider - 'in1' : ['/Mixer/Feature_1', 1, self.sldInput1], - 'in2' : ['/Mixer/Feature_1', 2, self.sldInput2], - 'in3' : ['/Mixer/Feature_2', 1, self.sldInput3], - 'in4' : ['/Mixer/Feature_2', 2, self.sldInput4], - 'in5' : ['/Mixer/Feature_3', 1, self.sldInput5], - 'in6' : ['/Mixer/Feature_3', 2, self.sldInput6], - } + self.VolumeControls = { + # feature name, channel, qt slider + 'vol1' : ['/Mixer/Feature_Volume_1', 1, self.sldInput1], + 'vol2' : ['/Mixer/Feature_Volume_1', 2, self.sldInput2], + 'vol3' : ['/Mixer/Feature_Volume_2', 1, self.sldInput3], + 'vol4' : ['/Mixer/Feature_Volume_2', 2, self.sldInput4], + 'vol5' : ['/Mixer/Feature_Volume_3', 1, self.sldInput5], + 'vol6' : ['/Mixer/Feature_Volume_3', 2, self.sldInput6], + + 'bal1' : ['/Mixer/Feature_LRBalance_1', 1, self.sldBal1], + 'bal2' : ['/Mixer/Feature_LRBalance_1', 2, self.sldBal2], + 'bal3' : ['/Mixer/Feature_LRBalance_2', 1, self.sldBal3], + 'bal4' : ['/Mixer/Feature_LRBalance_2', 2, self.sldBal4], + 'bal5' : ['/Mixer/Feature_LRBalance_3', 1, self.sldBal5], + 'bal6' : ['/Mixer/Feature_LRBalance_3', 2, self.sldBal6], + } def initValues(self): - for name, ctrl in self.VolumeControls.iteritems(): - vol = self.hw.getContignuous(ctrl[0], idx = ctrl[1]) - print "%s volume is %d" % (name , vol) - ctrl[2].setValue(-vol) + for name, ctrl in self.VolumeControls.iteritems(): + val = self.hw.getContignuous(ctrl[0], idx = ctrl[1]) + print "%s value is %d" % (name , val) + + # Workaround: The current value is not properly initialized + # on the device and returns after bootup always 0. + # Though we happen to know what the correct value should + # be therefore we overwrite the 0 + if name[0:3] == 'bal' and val == 0: + if ctrl[1] == 1: + val = 32512 + else: + val = -32768 + + ctrl[2].setValue(-val) Index: trunk/libffado/support/mixer/mixer_generic.py =================================================================== --- trunk/libffado/support/mixer/mixer_generic.py (revision 1093) +++ trunk/libffado/support/mixer/mixer_generic.py (revision 1361) @@ -63,5 +63,8 @@ return ( self.max - self.min ) * (100-slider)/100.0 + self.min def interfaceToSlider( self, interface ): - return - ( interface - self.min ) / ( self.max - self.min ) * 100.0 + 100 + if self.max == self.min: + return 0 + else: + return - ( interface - self.min ) / ( self.max - self.min ) * 100.0 + 100 def sliderMoved( self, i ): Index: trunk/libffado/support/mixer/mixer_quatafire.py =================================================================== --- trunk/libffado/support/mixer/mixer_quatafire.py (revision 1106) +++ trunk/libffado/support/mixer/mixer_quatafire.py (revision 1361) @@ -32,23 +32,23 @@ self.VolumeControls={ - self.sldCh1: ['/Mixer/Feature_1', 1], - self.sldCh2: ['/Mixer/Feature_1', 2], - self.sldCh34: ['/Mixer/Feature_2', 0], - self.sldCh56: ['/Mixer/Feature_3', 0], - self.sldDawAll: ['/Mixer/Feature_4', 0], - self.sldDawCH1: ['/Mixer/Feature_4', 1], - self.sldDawCH2: ['/Mixer/Feature_4', 2], - self.sldDawCH3: ['/Mixer/Feature_4', 3], - self.sldDawCH4: ['/Mixer/Feature_4', 4], - self.sldDawCH5: ['/Mixer/Feature_4', 5], - self.sldDawCH6: ['/Mixer/Feature_4', 6], - self.sldDawCH7: ['/Mixer/Feature_4', 7], - self.sldDawCH8: ['/Mixer/Feature_4', 8], + self.sldCh1: ['/Mixer/Feature_Volume_1', 1], + self.sldCh2: ['/Mixer/Feature_Volume_1', 2], + self.sldCh34: ['/Mixer/Feature_Volume_2', 0], + self.sldCh56: ['/Mixer/Feature_Volume_3', 0], + self.sldDawAll: ['/Mixer/Feature_Volume_4', 0], + self.sldDawCH1: ['/Mixer/Feature_Volume_4', 1], + self.sldDawCH2: ['/Mixer/Feature_Volume_4', 2], + self.sldDawCH3: ['/Mixer/Feature_Volume_4', 3], + self.sldDawCH4: ['/Mixer/Feature_Volume_4', 4], + self.sldDawCH5: ['/Mixer/Feature_Volume_4', 5], + self.sldDawCH6: ['/Mixer/Feature_Volume_4', 6], + self.sldDawCH7: ['/Mixer/Feature_Volume_4', 7], + self.sldDawCH8: ['/Mixer/Feature_Volume_4', 8], } self.PanControls={ - #self.dialCh1: ['/Mixer/Feature_1'], - #self.dialCh2: ['/Mixer/Feature_1'], - self.dialCh34: ['/Mixer/Feature_2'], - self.dialCh56: ['/Mixer/Feature_3'], + #self.dialCh1: ['/Mixer/Feature_Volume_1'], + #self.dialCh2: ['/Mixer/Feature_Volume_1'], + self.dialCh34: ['/Mixer/Feature_Volume_2'], + self.dialCh56: ['/Mixer/Feature_Volume_3'], } Index: trunk/libffado/support/mixer/mixer_edirolfa66.ui =================================================================== --- trunk/libffado/support/mixer/mixer_edirolfa66.ui (revision 1328) +++ trunk/libffado/support/mixer/mixer_edirolfa66.ui (revision 1361) @@ -26,6 +26,6 @@ 0 0 - 325 - 161 + 421 + 193 @@ -33,5 +33,5 @@ Edirol FA-66 - + unnamed @@ -40,4 +40,12 @@ groupBox1 + + + + 5 + 5 + 0 + 0 + @@ -50,5 +58,5 @@ - layout14 + layout33 @@ -67,28 +75,94 @@ + + + layout32 + + + + unnamed + + + + spacer16_11 + + + Horizontal + + + Expanding + + + + 20 + 20 + + + + + + sldInput1 + + + + 0 + 7 + 0 + 0 + + + + 0 + + + 32767 + + + 10000 + + + 1000 + + + Vertical + + + Both + + + 10000 + + + + + spacer16_10 + + + Horizontal + + + Expanding + + + + 20 + 16 + + + + + - sldInput1 + sldBal1 - 0 + -32767 - 32767 - - - 10000 - - - 1000 + 32512 - Vertical - - - Both - - - 10000 + Horizontal @@ -97,5 +171,5 @@ - spacer16_2_2 + spacer16_2 @@ -114,5 +188,5 @@ - layout16 + layout36 @@ -131,28 +205,86 @@ + + + layout34 + + + + unnamed + + + + spacer16_12 + + + Horizontal + + + Expanding + + + + 20 + 20 + + + + + + sldInput2 + + + 0 + + + 32767 + + + 10000 + + + 1000 + + + Vertical + + + Both + + + 10000 + + + + + spacer16 + + + Horizontal + + + Expanding + + + + 20 + 20 + + + + + - sldInput2 + sldBal2 - 0 + -32767 - 32767 - - - 10000 - - - 1000 + 32512 - Vertical - - - Both - - - 10000 + Horizontal @@ -161,5 +293,5 @@ - spacer16 + spacer16_2_2 @@ -178,5 +310,5 @@ - layout17 + layout38 @@ -195,28 +327,86 @@ + + + layout37 + + + + unnamed + + + + spacer16_2_3 + + + Horizontal + + + Expanding + + + + 20 + 20 + + + + + + sldInput3 + + + 0 + + + 32767 + + + 10000 + + + 1000 + + + Vertical + + + Both + + + 10000 + + + + + spacer16_2_3_3 + + + Horizontal + + + Expanding + + + + 20 + 20 + + + + + - sldInput3 + sldBal3 - 0 + -32767 - 32767 - - - 10000 - - - 1000 + 32512 - Vertical - - - Both - - - 10000 + Horizontal @@ -225,5 +415,5 @@ - spacer16_2_3 + spacer16_3 @@ -242,5 +432,5 @@ - layout18 + layout40 @@ -259,28 +449,86 @@ + + + layout39 + + + + unnamed + + + + spacer16_3_2 + + + Horizontal + + + Expanding + + + + 20 + 20 + + + + + + sldInput4 + + + 0 + + + 32767 + + + 10000 + + + 1000 + + + Vertical + + + Both + + + 10000 + + + + + spacer16_3_3 + + + Horizontal + + + Expanding + + + + 20 + 20 + + + + + - sldInput4 + sldBal4 - 0 + -32767 - 32767 - - - 10000 - - - 1000 + 32512 - Vertical - - - Both - - - 10000 + Horizontal @@ -289,5 +537,5 @@ - spacer16_2 + spacer16_5_4 @@ -306,5 +554,5 @@ - layout19 + layout42 @@ -323,28 +571,92 @@ + + + layout41 + + + + unnamed + + + + spacer16_4 + + + Horizontal + + + Expanding + + + + 20 + 20 + + + + + + sldInput5 + + + + 0 + 80 + + + + 0 + + + 32767 + + + 10000 + + + 1000 + + + Vertical + + + Both + + + 10000 + + + + + spacer16_4_3 + + + Horizontal + + + Expanding + + + + 20 + 20 + + + + + - sldInput5 + sldBal5 - 0 + -32767 - 32767 - - - 10000 - - - 1000 + 32512 - Vertical - - - Both - - - 10000 + Horizontal @@ -353,5 +665,5 @@ - spacer16_2_4 + spacer16_5 @@ -370,5 +682,5 @@ - layout20 + layout44 @@ -387,34 +699,86 @@ + + + layout43 + + + + unnamed + + + + spacer16_5_2 + + + Horizontal + + + Expanding + + + + 20 + 20 + + + + + + sldInput6 + + + 0 + + + 32767 + + + 10000 + + + 1000 + + + Vertical + + + Both + + + 10000 + + + + + spacer16_5_3 + + + Horizontal + + + Expanding + + + + 20 + 20 + + + + + - sldInput6 - - - - 0 - 80 - + sldBal6 - 0 + -32767 - 32767 - - - 10000 - - - 1000 + 32512 - Vertical - - - Both - - - 10000 + Horizontal @@ -423,5 +787,5 @@ - + @@ -462,17 +826,63 @@ setVolumeIn6(int) + + sldBal1 + sliderMoved(int) + EdirolFa66ControlUI + setBalanceIn1(int) + + + sldBal2 + sliderMoved(int) + EdirolFa66ControlUI + setBalanceIn2(int) + + + sldBal3 + sliderMoved(int) + EdirolFa66ControlUI + setBalanceIn3(int) + + + sldBal4 + sliderMoved(int) + EdirolFa66ControlUI + setBalanceIn4(int) + + + sldBal5 + sliderMoved(int) + EdirolFa66ControlUI + setBalanceIn5(int) + + + sldBal6 + sliderMoved(int) + EdirolFa66ControlUI + setBalanceIn6(int) + - - mixer_edirolfa66.ui.h - - setVolumeIn2( int ) + init() initValues() - setVolumeIn1( int ) - setVolumeIn3( int ) - setVolumeIn4( int ) - setVolumeIn5( int ) - setVolumeIn6( int ) - init() + setVolumeIn1(int) + setVolumeIn2(int) + setVolumeIn3(int) + setVolumeIn4(int) + setVolumeIn5(int) + setVolumeIn6(int) + setVolumeIn7(int) + setVolumeIn8(int) + setVolumeIn9(int) + setVolumeIn10(int) + setBalanceIn1(int) + setBalanceIn2(int) + setBalanceIn3(int) + setBalanceIn4(int) + setBalanceIn5(int) + setBalanceIn6(int) + setBalanceIn7(int) + setBalanceIn8(int) + setBalanceIn9(int) Index: trunk/libffado/support/mixer/mixer_phase24.py =================================================================== --- trunk/libffado/support/mixer/mixer_phase24.py (revision 1239) +++ trunk/libffado/support/mixer/mixer_phase24.py (revision 1361) @@ -104,9 +104,9 @@ self.VolumeControls={ - 'analogin' : ['/Mixer/Feature_6', self.sldLineIn], - 'spdifin' : ['/Mixer/Feature_7', self.sldSPDIFIn], - 'out12' : ['/Mixer/Feature_3', self.sldInput12], - 'out34' : ['/Mixer/Feature_4', self.sldInput34], - 'outspdif' : ['/Mixer/Feature_5', self.sldSPDIFOut], + 'analogin' : ['/Mixer/Feature_Volume_6', self.sldLineIn], + 'spdifin' : ['/Mixer/Feature_Volume_7', self.sldSPDIFIn], + 'out12' : ['/Mixer/Feature_Volume_3', self.sldInput12], + 'out34' : ['/Mixer/Feature_Volume_4', self.sldInput34], + 'outspdif' : ['/Mixer/Feature_Volume_5', self.sldSPDIFOut], } Index: trunk/libffado/support/mixer/mixer_edirolfa101.py =================================================================== --- trunk/libffado/support/mixer/mixer_edirolfa101.py (revision 1328) +++ trunk/libffado/support/mixer/mixer_edirolfa101.py (revision 1361) @@ -29,59 +29,111 @@ def setVolumeIn1(self, vol): - self.setVolume('in1', vol) + self.setValue('vol1', vol) def setVolumeIn2(self, vol): - self.setVolume('in2', vol) + self.setValue('vol2', vol) def setVolumeIn3(self, vol): - self.setVolume('in3', vol) + self.setValue('vol3', vol) def setVolumeIn4(self, vol): - self.setVolume('in4', vol) + self.setValue('vol4', vol) def setVolumeIn5(self, vol): - self.setVolume('in5', vol) + self.setValue('vol5', vol) def setVolumeIn6(self, vol): - self.setVolume('in6', vol) + self.setValue('vol6', vol) def setVolumeIn7(self, vol): - self.setVolume('in7', vol) - + self.setValue('vol7', vol) + def setVolumeIn8(self, vol): - self.setVolume('in8', vol) - + self.setValue('vol8', vol) + def setVolumeIn9(self, vol): - self.setVolume('in9', vol) + self.setValue('vol9', vol) def setVolumeIn10(self,vol): - self.setVolume('in10', vol) + self.setValue('vol10', vol) - def setVolume(self, name, vol): - vol = -vol - ctrl = self.VolumeControls[name] - print "setting %s volume to %d" % (name, vol) - self.hw.setContignuous(ctrl[0], vol, idx = ctrl[1]) + def setBalanceIn1(self, bal): + self.setValue('bal1', bal) + + def setBalanceIn2(self, bal): + self.setValue('bal2', bal) + + def setBalanceIn3(self, bal): + self.setValue('bal3', bal) + + def setBalanceIn4(self, bal): + self.setValue('bal4', bal) + + def setBalanceIn5(self, bal): + self.setValue('bal5', bal) + + def setBalanceIn6(self, bal): + self.setValue('bal6', bal) + + def setBalanceIn7(self, bal): + self.setValue('bal7', bal) + + def setBalanceIn8(self, bal): + self.setValue('bal8', bal) + + def setBalanceIn9(self, bal): + self.setValue('bal9', bal) + + def setBalanceIn10(self,bal): + self.setValue('bal10', bal) + + def setValue(self, name, val): + val = -val + ctrl = self.VolumeControls[name] + print "setting %s to %d" % (name, val) + self.hw.setContignuous(ctrl[0], val, idx = ctrl[1]) def init(self): - print "Init Edirol FA-101 window" + print "Init Edirol FA-101 window" - self.VolumeControls = { - # feature name, channel, qt slider - 'in1' : ['/Mixer/Feature_5', 1, self.sldInput1], - 'in2' : ['/Mixer/Feature_5', 2, self.sldInput2], - 'in3' : ['/Mixer/Feature_1', 1, self.sldInput3], - 'in4' : ['/Mixer/Feature_1', 2, self.sldInput4], - 'in5' : ['/Mixer/Feature_2', 1, self.sldInput5], - 'in6' : ['/Mixer/Feature_2', 2, self.sldInput6], - 'in7' : ['/Mixer/Feature_3', 1, self.sldInput7], - 'in8' : ['/Mixer/Feature_3', 2, self.sldInput8], - 'in9' : ['/Mixer/Feature_4', 1, self.sldInput9], - 'in10' : ['/Mixer/Feature_4', 2, self.sldInput10], - } + self.VolumeControls = { + # feature name, channel, qt slider + 'vol1' : ['/Mixer/Feature_Volume_5', 1, self.sldInput1], + 'vol2' : ['/Mixer/Feature_Volume_5', 2, self.sldInput2], + 'vol3' : ['/Mixer/Feature_Volume_1', 1, self.sldInput3], + 'vol4' : ['/Mixer/Feature_Volume_1', 2, self.sldInput4], + 'vol5' : ['/Mixer/Feature_Volume_2', 1, self.sldInput5], + 'vol6' : ['/Mixer/Feature_Volume_2', 2, self.sldInput6], + 'vol7' : ['/Mixer/Feature_Volume_3', 1, self.sldInput7], + 'vol8' : ['/Mixer/Feature_Volume_3', 2, self.sldInput8], + 'vol9' : ['/Mixer/Feature_Volume_4', 1, self.sldInput9], + 'vol10' : ['/Mixer/Feature_Volume_4', 2, self.sldInput10], + + 'bal1' : ['/Mixer/Feature_LRBalance_5', 1, self.sldBal1], + 'bal2' : ['/Mixer/Feature_LRBalance_5', 2, self.sldBal2], + 'bal3' : ['/Mixer/Feature_LRBalance_1', 1, self.sldBal3], + 'bal4' : ['/Mixer/Feature_LRBalance_1', 2, self.sldBal4], + 'bal5' : ['/Mixer/Feature_LRBalance_2', 1, self.sldBal5], + 'bal6' : ['/Mixer/Feature_LRBalance_2', 2, self.sldBal6], + 'bal7' : ['/Mixer/Feature_LRBalance_3', 1, self.sldBal7], + 'bal8' : ['/Mixer/Feature_LRBalance_3', 2, self.sldBal8], + 'bal9' : ['/Mixer/Feature_LRBalance_4', 1, self.sldBal9], + 'bal10' : ['/Mixer/Feature_LRBalance_4', 2, self.sldBal10], + } def initValues(self): - for name, ctrl in self.VolumeControls.iteritems(): - vol = self.hw.getContignuous(ctrl[0], idx = ctrl[1]) - print "%s volume is %d" % (name , vol) - ctrl[2].setValue(-vol) + for name, ctrl in self.VolumeControls.iteritems(): + val = self.hw.getContignuous(ctrl[0], idx = ctrl[1]) + print "%s value is %d" % (name , val) + + # Workaround: The current value is not properly initialized + # on the device and returns after bootup always 0. + # Though we happen to know what the correct value should + # be therefore we overwrite the 0 + if name[0:3] == 'bal' and val == 0: + if ctrl[1] == 1: + val = 32512 + else: + val = -32768 + + ctrl[2].setValue(-val) Index: trunk/libffado/support/mixer/mixer_bcoaudio5.py =================================================================== --- trunk/libffado/support/mixer/mixer_bcoaudio5.py (revision 1106) +++ trunk/libffado/support/mixer/mixer_bcoaudio5.py (revision 1361) @@ -88,11 +88,11 @@ self.VolumeControls={ - 'in_line12' : ['/Mixer/Feature_1', self.sldInput12], - 'in_line34' : ['/Mixer/Feature_2', self.sldInput34], - 'in_spdif' : ['/Mixer/Feature_3', self.sldInputSPDIF], - 'out_line12' : ['/Mixer/Feature_6', self.sldOutput12], - 'out_line34' : ['/Mixer/Feature_7', self.sldOutput34], - 'cross_a' : ['/Mixer/Feature_4', self.sldCrossA], - 'cross_b' : ['/Mixer/Feature_5', self.sldCrossB], + 'in_line12' : ['/Mixer/Feature_Volume_1', self.sldInput12], + 'in_line34' : ['/Mixer/Feature_Volume_2', self.sldInput34], + 'in_spdif' : ['/Mixer/Feature_Volume_3', self.sldInputSPDIF], + 'out_line12' : ['/Mixer/Feature_Volume_6', self.sldOutput12], + 'out_line34' : ['/Mixer/Feature_Volume_7', self.sldOutput34], + 'cross_a' : ['/Mixer/Feature_Volume_4', self.sldCrossA], + 'cross_b' : ['/Mixer/Feature_Volume_5', self.sldCrossB], } Index: trunk/libffado/support/mixer/mixer_phase88.py =================================================================== --- trunk/libffado/support/mixer/mixer_phase88.py (revision 1106) +++ trunk/libffado/support/mixer/mixer_phase88.py (revision 1361) @@ -80,11 +80,11 @@ self.VolumeControls={ - 'master': ['/Mixer/Feature_1', self.sldInputMaster], - 'line12' : ['/Mixer/Feature_2', self.sldInput12], - 'line34' : ['/Mixer/Feature_3', self.sldInput34], - 'line56' : ['/Mixer/Feature_4', self.sldInput56], - 'line78' : ['/Mixer/Feature_5', self.sldInput78], - 'spdif' : ['/Mixer/Feature_6', self.sldInputSPDIF], - 'waveplay' : ['/Mixer/Feature_7', self.sldInputWavePlay], + 'master': ['/Mixer/Feature_Volume_1', self.sldInputMaster], + 'line12' : ['/Mixer/Feature_Volume_2', self.sldInput12], + 'line34' : ['/Mixer/Feature_Volume_3', self.sldInput34], + 'line56' : ['/Mixer/Feature_Volume_4', self.sldInput56], + 'line78' : ['/Mixer/Feature_Volume_5', self.sldInput78], + 'spdif' : ['/Mixer/Feature_Volume_6', self.sldInputSPDIF], + 'waveplay' : ['/Mixer/Feature_Volume_7', self.sldInputWavePlay], }