Index: /trunk/libffado/support/mixer/SConscript =================================================================== --- /trunk/libffado/support/mixer/SConscript (revision 772) +++ /trunk/libffado/support/mixer/SConscript (revision 799) @@ -29,5 +29,5 @@ e = env.Clone() - e['MIXERAPPS'] = [ 'phase24', 'phase88', 'saffirepro', 'saffire', 'af2', 'aktest' ] + e['MIXERAPPS'] = [ 'phase24', 'phase88', 'saffirepro', 'saffire', 'af2', 'bcoaudio5', 'aktest' ] e['PYTHONDIR'] = Template( os.path.join( e['SHAREDIR'], 'python' ) ).safe_substitute( e ) Index: /trunk/libffado/support/mixer/mixer_bcoaudio5.ui =================================================================== --- /trunk/libffado/support/mixer/mixer_bcoaudio5.ui (revision 799) +++ /trunk/libffado/support/mixer/mixer_bcoaudio5.ui (revision 799) @@ -0,0 +1,546 @@ + +BCoAudio5ControlUI +Copyright (C) 2005-2007 by Daniel Wagner + + This file is part of FFADO + FFADO = Free Firewire (pro-)audio drivers for linux + + FFADO is based upon FreeBoB. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + + + BCoAudio5ControlUI + + + + 0 + 0 + 403 + 257 + + + + BridgeCo Audio 5 Control + + + + groupBox1 + + + + 10 + 10 + 160 + 181 + + + + Input + + + + textLabel2_2 + + + + 60 + 20 + 22 + 21 + + + + 3/4 + + + + + textLabel2_4_2 + + + + 100 + 20 + 41 + 21 + + + + S/PDIF + + + + + sldInputSPDIF + + + + 100 + 50 + 24 + 120 + + + + 0 + + + 32767 + + + 10000 + + + 1000 + + + Vertical + + + Both + + + 10000 + + + + + sldInput34 + + + + 60 + 50 + 24 + 120 + + + + 0 + + + 32767 + + + 10000 + + + 1000 + + + Vertical + + + Both + + + 10000 + + + + + textLabel2 + + + + 20 + 20 + 22 + 21 + + + + 1/2 + + + + + sldInput12 + + + + 20 + 50 + 24 + 120 + + + + 0 + + + 32767 + + + 10000 + + + 1000 + + + Vertical + + + Both + + + 10000 + + + + + + groupBox1_2 + + + + 180 + 10 + 100 + 181 + + + + Output + + + + textLabel2_3 + + + + 20 + 20 + 22 + 21 + + + + 1/2 + + + + + sldOutput12 + + + + 20 + 50 + 24 + 120 + + + + 0 + + + 32767 + + + 10000 + + + 1000 + + + Vertical + + + Both + + + 10000 + + + + + sldOutput34 + + + + 60 + 50 + 24 + 120 + + + + 0 + + + 32767 + + + 10000 + + + 1000 + + + Vertical + + + Both + + + 10000 + + + + + textLabel2_2_2 + + + + 60 + 20 + 22 + 21 + + + + 3/4 + + + + + + groupBox1_2_2 + + + + 290 + 10 + 100 + 181 + + + + Cross + + + + sldCrossA + + + + 20 + 50 + 24 + 120 + + + + 0 + + + 32767 + + + 10000 + + + 1000 + + + Vertical + + + Both + + + 10000 + + + + + sldCrossB + + + + 60 + 50 + 24 + 120 + + + + 0 + + + 32767 + + + 10000 + + + 1000 + + + Vertical + + + Both + + + 10000 + + + + + textLabel2_3_2 + + + + 20 + 20 + 22 + 21 + + + + A + + + + + textLabel2_2_2_2 + + + + 60 + 20 + 22 + 21 + + + + B + + + + + + textLabel1_2_3_2 + + + + 10 + 210 + 190 + 30 + + + + Output 3/4 Source + + + + + + Line 3/4 + + + + + Mix + + + + + SPDIF + + + + comboMixSource + + + + 200 + 210 + 100 + 31 + + + + + + + sldInput12 + sliderMoved(int) + BCoAudio5ControlUI + setVolumeIn12(int) + + + sldInput34 + sliderMoved(int) + BCoAudio5ControlUI + setVolumeIn34(int) + + + sldInputSPDIF + sliderMoved(int) + BCoAudio5ControlUI + setVolumeInSPDIF(int) + + + sldOutput12 + sliderMoved(int) + BCoAudio5ControlUI + setVolumeOut12(int) + + + sldOutput34 + sliderMoved(int) + BCoAudio5ControlUI + setVolumeOut34(int) + + + sldCrossA + sliderMoved(int) + BCoAudio5ControlUI + setCrossA(int) + + + sldCrossB + sliderMoved(int) + BCoAudio5ControlUI + setCrossB(int) + + + comboMixSource + activated(int) + BCoAudio5ControlUI + setComboMixSource(int) + + + + mixer_bcoaudio5.ui.h + + + setVolumeIn12( int ) + setVolumeIn34( int ) + setVolumeInSPDIF( int ) + setVolume( QString, int ) + init() + initValues() + setSelector( QString, int ) + setVolumeOut12( int ) + setVolumeOut34( int ) + setCrossA( int ) + setCrossB( int ) + setComboMixSource( int ) + + + Index: /trunk/libffado/support/mixer/mixer_bcoaudio5.py =================================================================== --- /trunk/libffado/support/mixer/mixer_bcoaudio5.py (revision 799) +++ /trunk/libffado/support/mixer/mixer_bcoaudio5.py (revision 799) @@ -0,0 +1,92 @@ +# +# Copyright (C) 2005-2007 by Daniel Wagner +# +# This file is part of FFADO +# FFADO = Free Firewire (pro-)audio drivers for linux +# +# FFADO is based upon FreeBoB. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# + +from qt import * +from mixer_bcoaudio5ui import * + +class BCoAudio5Control(BCoAudio5ControlUI): + def __init__(self,parent = None,name = None,modal = 0,fl = 0): + BCoAudio5ControlUI.__init__(self,parent,name,modal,fl) + + def setComboMixSource(self,a0): + self.setSelector('line34source', a0) + + def setVolumeIn12(self,a0): + self.setVolume('in_line12', a0) + + def setVolumeIn34(self,a0): + self.setVolume('in_line34', a0) + + def setVolumeInSPDIF(self,a0): + self.setVolume('in_spdif', a0) + + def setVolumeOut12(self,a0): + self.setVolume('out_line12', a0) + + def setVolumeOut34(self,a0): + self.setVolume('out_line34', a0) + + def setCrossA(self,a0): + self.setVolume('cross_a', a0) + + def setCrossB(self,a0): + self.setVolume('cross_b', a0) + + def setVolume(self,a0,a1): + name = a0 + vol = -a1 + print "setting %s volume to %d" % (name, vol) + self.hw.setContignuous(self.VolumeControls[name][0], vol) + + def setSelector(self,a0,a1): + name = a0 + state = a1 + print "setting %s state to %d" % (name, state) + self.hw.setDiscrete(self.SelectorControls[name][0], state) + + def init(self): + print "Init BridgeCo Audio 5 window" + + 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], + } + + self.SelectorControls={ + 'line34source': ['/Mixer/Selector_1', self.comboMixSource], + } + + def initValues(self): + for name, ctrl in self.VolumeControls.iteritems(): + vol = self.hw.getContignuous(ctrl[0]) + print "%s volume is %d" % (name , vol) + ctrl[1].setValue(-vol) + + for name, ctrl in self.SelectorControls.iteritems(): + state = self.hw.getDiscrete(ctrl[0]) + print "%s state is %d" % (name , state) + ctrl[1].setCurrentItem(state) Index: /trunk/libffado/support/mixer/mixer.py =================================================================== --- /trunk/libffado/support/mixer/mixer.py (revision 742) +++ /trunk/libffado/support/mixer/mixer.py (revision 799) @@ -28,4 +28,5 @@ from mixer_saffire import * from mixer_af2 import * +from mixer_bcoaudio5 import * import sys import dbus @@ -39,4 +40,5 @@ [(0x00130e, 0x00000000),'SaffireMixer'], [(0x001486, 0x00000af2),'AudioFire2Mixer'], + [(0x0007f5, 0x00010049),'BCoAudio5Control'], ]