Changeset 1415
- Timestamp:
- 11/02/08 14:11:22 (4 years ago)
- Files:
-
- branches/libffado-2.0/configuration (modified) (16 diffs)
- branches/libffado-2.0/support/mixer-qt4/ffado-mixer.in (modified) (4 diffs)
- branches/libffado-2.0/support/mixer-qt4/ffadomixer_config.py.in (modified) (1 diff)
- branches/libffado-2.0/support/mixer-qt4/ffado_configuration.py (added)
- branches/libffado-2.0/support/mixer-qt4/ffado_panelmanager.py (modified) (11 diffs)
- branches/libffado-2.0/support/mixer-qt4/SConscript (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
branches/libffado-2.0/configuration
r1299 r1415 7 7 driver = 1; # BeBoB 8 8 }, 9 { # Added by arnonym from ffado-mixers list 10 vendorid = 0x00000f; 11 modelid = 0x00010067; 12 vendorname = "Mackie"; 13 modelname = "Onyx Firewire"; 14 driver = 1; # BeBoB 15 mixer = "MackieOnyxMixer"; 16 }, 9 17 { 10 18 vendorid = 0x0003db; … … 27 35 modelname = "Audio 5"; 28 36 driver = 1; # BeBoB 37 mixer = "BCoAudio5Control"; 29 38 }, 30 39 { … … 48 57 modelname = "Phase 88 FW"; 49 58 driver = 1; # BeBoB 59 mixer = "Phase88Control"; 50 60 }, 51 61 { … … 55 65 modelname = "Phase X24 FW (model version 4)"; 56 66 driver = 1; # BeBoB 67 mixer = "Phase24Control"; 57 68 }, 58 69 { … … 62 73 modelname = "Phase X24 FW (model version 7)"; 63 74 driver = 1; # BeBoB 75 mixer = "Phase24Control"; 64 76 }, 65 77 { … … 69 81 modelname = "Quatafire 610"; 70 82 driver = 1; # BeBoB 83 mixer = "QuataFireMixer"; 71 84 }, 72 85 { … … 76 89 modelname = "Saffire Pro26IO"; 77 90 driver = 1; # BeBoB 91 mixer = "SaffireProMixer"; 78 92 }, 79 93 { … … 83 97 modelname = "Saffire Pro10IO"; 84 98 driver = 1; # BeBoB 99 mixer = "SaffireProMixer"; 85 100 }, 86 101 { … … 90 105 modelname = "Saffire (LE)"; 91 106 driver = 1; # BeBoB 107 mixer = "SaffireMixer"; 92 108 }, 93 109 { … … 97 113 modelname = "FA-66"; 98 114 driver = 1; # BeBoB 115 mixer = "EdirolFa66Control"; 99 116 }, 100 117 { … … 104 121 modelname = "FA-101"; 105 122 driver = 1; # BeBoB 123 mixer = "EdirolFa101Control"; 106 124 }, 107 125 { … … 146 164 modelname = "AudioFire2"; 147 165 driver = 2; 166 mixer = "AudioFireMixer"; 148 167 }, 149 168 { … … 153 172 modelname = "AudioFire4"; 154 173 driver = 2; 174 mixer = "AudioFireMixer"; 155 175 }, 156 176 { … … 160 180 modelname = "AudioFire8"; 161 181 driver = 2; 182 mixer = "AudioFireMixer"; 162 183 }, 163 184 { … … 167 188 modelname = "AudioFire12"; 168 189 driver = 2; 190 mixer = "AudioFireMixer"; 169 191 }, 170 192 { … … 202 224 modelname = "Onyx 1200F"; 203 225 driver = 2; 226 }, 227 { # added by arnonym from ffado-mixers list 228 vendorid = 0x0001f2; 229 modelid = 0x00000000; 230 vendorname = "Motu"; 231 modelname = "All of them"; 232 driver = 10; 233 mixer = "MotuMixer"; 204 234 } 205 235 ); branches/libffado-2.0/support/mixer-qt4/ffado-mixer.in
r1394 r1415 32 32 sys.path.append( "$PYTHONDIR" ) 33 33 34 from ffadomixer_config import POLL_SLEEP_TIME_MSEC, FFADO_DBUS_SERVER, FFADO_DBUS_BASEPATH34 from ffadomixer_config import * #POLL_SLEEP_TIME_MSEC, FFADO_DBUS_SERVER, FFADO_DBUS_BASEPATH 35 35 36 36 import os … … 38 38 39 39 from PyQt4.QtCore import SIGNAL, SLOT, QObject, QTimer 40 from PyQt4.QtGui import QApplication, QMessageBox 40 from PyQt4.QtGui import QApplication, QMessageBox, QIcon 41 41 42 42 from ffado_dbus_util import * … … 49 49 logging.basicConfig() 50 50 51 if $DEBUG:51 if DEBUG: 52 52 debug_level = logging.DEBUG 53 53 else: … … 76 76 77 77 app = QApplication(sys.argv) 78 app.setWindowIcon( QIcon( SHAREDIR + "/icons/hi64-apps-ffado.png" ) ) 78 79 79 80 msg = QMessageBox() branches/libffado-2.0/support/mixer-qt4/ffadomixer_config.py.in
r1298 r1415 10 10 11 11 POLL_SLEEP_TIME_MSEC = 100 # 100ms 12 13 PYTHONDIR = "$PYTHONDIR" 14 SHAREDIR = "$SHAREDIR" 15 16 DEBUG = $DEBUG branches/libffado-2.0/support/mixer-qt4/ffado_panelmanager.py
r1387 r1415 22 22 # along with this program. If not, see <http://www.gnu.org/licenses/>. 23 23 # 24 from ffadomixer_config import FFADO_VERSION, FFADO_DBUS_SERVER, FFADO_DBUS_BASEPATH 25 26 from PyQt4.QtGui import QFrame, QWidget, QTabWidget, QVBoxLayout 24 25 from ffadomixer_config import * #FFADO_VERSION, FFADO_DBUS_SERVER, FFADO_DBUS_BASEPATH 26 27 from PyQt4.QtGui import QFrame, QWidget, QTabWidget, QVBoxLayout, QMainWindow, QIcon, QAction, qApp 27 28 from PyQt4.QtCore import QTimer 28 29 … … 31 32 from ffado_dbus_util import * 32 33 from ffado_registration import * 34 35 from ffado_configuration import DeviceList 33 36 34 37 from mixer_phase88 import * … … 60 63 use_generic = True 61 64 62 SupportedDevices=[63 [(0x000aac, 0x00000003),'Phase88Control'],64 [(0x000aac, 0x00000004),'Phase24Control'],65 [(0x000aac, 0x00000007),'Phase24Control'],66 [(0x00130e, 0x00000003),'SaffireProMixer'],67 [(0x00130e, 0x00000006),'SaffireProMixer'],68 [(0x00130e, 0x00000000),'SaffireMixer'],69 [(0x001486, 0x00000af2),'AudioFireMixer'],70 [(0x001486, 0x00000af4),'AudioFireMixer'],71 [(0x001486, 0x00000af8),'AudioFireMixer'],72 [(0x001486, 0x0000af12),'AudioFireMixer'],73 [(0x0007f5, 0x00010049),'BCoAudio5Control'],74 [(0x0040AB, 0x00010049),'EdirolFa66Control'],75 [(0x0040AB, 0x00010048),'EdirolFa101Control'],76 [(0x00000f, 0x00010067),'MackieOnyxMixer'],77 [(0x000f1b, 0x00010064),'QuataFireMixer'],78 [(0x0001f2, 0x00000000),'MotuMixer'],79 ]80 81 65 # pseudo-guid 82 66 GUID_GENERIC_MIXER = 0 … … 95 79 self.setupUi(self) 96 80 97 class PanelManager(Q Widget):81 class PanelManager(QMainWindow): 98 82 def __init__(self, parent, devmgr): 99 Q Widget.__init__(self, parent)83 QMainWindow.__init__(self, parent) 100 84 self.devmgr = devmgr 101 85 self.devmgr.registerPreUpdateCallback(self.devlistPreUpdate) … … 104 88 self.devmgr.registerDestroyedCallback(self.devmgrDestroyed) 105 89 90 filemenu = self.menuBar().addMenu( "File" ) 91 quitaction = QAction( "Quit", self ) 92 quitaction.setShortcut( self.tr("Ctrl+q") ) 93 self.connect( quitaction, SIGNAL( "triggered()" ), self, SLOT( "close()" ) ) 94 filemenu.addAction( quitaction ) 95 helpmenu = self.menuBar().addMenu( "Help" ) 96 aboutqtaction = QAction( "About Qt", self ) 97 self.connect( aboutqtaction, SIGNAL( "triggered()" ), qApp, SLOT( "aboutQt()" ) ) 98 helpmenu.addAction( aboutqtaction ) 99 100 self.statusBar().showMessage( "Initializing...", 5000 ) 101 106 102 # maps a device GUID to a QT panel 107 103 self.panels = {} 108 104 109 105 # a layout for ourselves 110 self.layout = QVBoxLayout( self ) 106 mw = QWidget( self ) 107 self.layout = QVBoxLayout( mw ) 108 self.setCentralWidget( mw ) 111 109 112 110 # the tabs 113 self.tabs = QTabWidget( self)111 self.tabs = QTabWidget(mw) 114 112 self.tabs.hide() 115 113 self.layout.addWidget(self.tabs) 116 114 117 115 # a dialog that is shown during update 118 self.status = PanelManagerStatus( self)116 self.status = PanelManagerStatus(mw) 119 117 self.status.lblMessage.setText("Initializing...") 120 118 self.layout.addWidget(self.status) … … 126 124 self.alivetimer.start( 2000 ) 127 125 126 self.devices = DeviceList( "%s/configuration" % SHAREDIR ) 127 128 128 def count(self): 129 129 return self.tabs.count() 130 130 131 131 def pollPanels(self): 132 log.debug("PanelManager::pollPanels()") 132 133 # only when not modifying the tabs 133 134 if self.tabs.isEnabled(): … … 149 150 self.status.lblMessage.setText("Bus reconfiguration in progress, please wait...") 150 151 self.status.show() 152 self.statusBar().showMessage("bus reconfiguration in progress...", 5000) 151 153 152 154 def devlistPostUpdate(self): … … 200 202 201 203 def updatePanels(self): 204 log.debug("PanelManager::updatePanels()") 202 205 nbDevices = self.devmgr.getNbDevices() 206 self.statusBar().showMessage("Reconfiguring the mixer panels...") 203 207 204 208 # list of panels present … … 263 267 reg.check_for_registration() 264 268 265 thisdev = (vendorId, modelId);266 269 # The MOTU devices use unitVersion to differentiate models. For the 267 270 # moment thought we don't need to know precisely which model we're 268 271 # using. 269 272 if vendorId == 0x1f2: 270 thisdev = (vendorId, 0x00000000) 271 272 dev = None 273 for d in SupportedDevices: 274 if d[0] == thisdev: 275 dev = d 273 modelId = 0x00000000 274 275 dev = self.devices.getDeviceById( vendorId, modelId ) 276 276 277 277 w = QWidget( ) … … 304 304 # Specific (or dummy) mixer widgets get loaded in the following 305 305 # 306 if dev!= None:307 mixerapp = dev[ 1]306 if 'mixer' in dev and dev['mixer'] != None: 307 mixerapp = dev['mixer'] 308 308 exec( "mixerwidget = "+mixerapp+"( w )" ) 309 309 else: … … 339 339 self.status.lblMessage.setText("No supported device found.") 340 340 self.status.show() 341 self.statusBar().showMessage("No supported device found.", 5000) 341 342 else: 342 343 self.tabs.show() 343 344 self.tabs.setEnabled(True) 344 345 self.status.hide() 346 self.statusBar().showMessage("Configured the mixer for %i devices." % self.tabs.count()) 345 347 if use_generic: 346 348 # branches/libffado-2.0/support/mixer-qt4/SConscript
r1394 r1415 61 61 'ffado_regdialog', 62 62 'ffado_panelmanager', 63 'ffado_configuration', 63 64 'mixer_saffire_base' 64 65 ] … … 97 98 e.Install( "$bindir", "ffado-mixer" ) 98 99 100 e.Install( "$sharedir/icons", "../xdg/hi64-apps-ffado.png" )
