Index: /trunk/libffado/configuration =================================================================== --- /trunk/libffado/configuration (revision 1893) +++ /trunk/libffado/configuration (revision 1901) @@ -48,4 +48,5 @@ modelname = "FIREBOX"; driver = 1; # BeBoB + mixer = "Presonus_Experimental"; xmit_max_cycles_early_transmit = 4; }, @@ -56,4 +57,5 @@ modelname = "FirePOD"; driver = 1; # BeBoB + mixer = "Presonus_Experimental"; xmit_max_cycles_early_transmit = 4; }, Index: /trunk/libffado/support/mixer-qt4/ffado/mixer/presonus_experimental.py =================================================================== --- /trunk/libffado/support/mixer-qt4/ffado/mixer/presonus_experimental.py (revision 1901) +++ /trunk/libffado/support/mixer-qt4/ffado/mixer/presonus_experimental.py (revision 1901) @@ -0,0 +1,51 @@ +# +# Copyright (C) 2010 by Arnold Krille +# +# This file is part of FFADO +# FFADO = Free Firewire (pro-)audio drivers for linux +# +# 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 2 of the License, or +# version 3 of the License. +# +# 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 PyQt4 import QtGui, QtCore, Qt +import dbus + +from ffado.config import * + +class Presonus_Experimental(QtGui.QWidget): + def __init__(self, parent=None): + QtGui.QWidget.__init__(self, parent) + uicLoad('ffado/mixer/presonus_experimental', self) + + def buildMixer(self): + #print self.hw + #print 'Servername = "%s"\nBasename = "%s"' % (self.hw.servername, self.hw.basepath) + bus = self.hw.bus + self.ifaces = list() + for feature in ['Volume_1', 'Volume_2', 'Volume_3', 'Volume_4', 'LRBalance_1', 'LRBalance_2', 'LRBalance_3', 'LRBalance_4']: + dev = bus.get_object(self.hw.servername, self.hw.basepath+'/Mixer/Feature_%s' % feature) + #print dev + iface = dbus.Interface(dev, dbus_interface='org.ffado.Control.Element.Continuous') + self.ifaces.append(iface) + #print iface + #print iface.getValue(), iface.getMinimum(), iface.getMaximum() + obj = self.findChild(QtGui.QWidget, feature) + #print obj + obj.setMinimum(iface.getMinimum()) + obj.setMaximum(iface.getMaximum()) + obj.setValue(iface.getValue()) + self.connect(obj, QtCore.SIGNAL("valueChanged(int)"), iface.setValue) + +# +# vim: et ts=4 sw=4 Index: /trunk/libffado/support/mixer-qt4/ffado/mixer/presonus_experimental.ui =================================================================== --- /trunk/libffado/support/mixer-qt4/ffado/mixer/presonus_experimental.ui (revision 1901) +++ /trunk/libffado/support/mixer-qt4/ffado/mixer/presonus_experimental.ui (revision 1901) @@ -0,0 +1,210 @@ + + + Presonus_Experimental + + + + 0 + 0 + 339 + 354 + + + + Form + + + + + + Feature 1 + + + + + + + Feature 2 + + + + + + + Feature 3 + + + + + + + Feature 4 + + + + + + + + 0 + 0 + + + + Balance + + + + + + + + 30 + 30 + + + + + + + + + 30 + 30 + + + + + + + + + 30 + 30 + + + + + + + + + 30 + 30 + + + + + + + + + 0 + 0 + + + + Volume + + + + + + + + 2 + 0 + + + + + 30 + 50 + + + + Qt::Vertical + + + + + + + + 2 + 0 + + + + + 30 + 50 + + + + Qt::Vertical + + + + + + + + 2 + 0 + + + + + 30 + 50 + + + + Qt::Vertical + + + + + + + + 2 + 0 + + + + + 30 + 50 + + + + Qt::Vertical + + + + + + + Qt::Horizontal + + + + + + + This mixer is experimental (and subject to change)! It might do something on your hardware or not. No guarantees, no complains. + +But you might send us reports of success so we can create more specific mixers for your device. + + + true + + + + + + + +