Changeset 1370
- Timestamp:
- 10/21/08 13:09:24 (15 years ago)
- Files:
-
- branches/libffado-2.0/src/bebob/focusrite/focusrite_generic.cpp (modified) (2 diffs)
- branches/libffado-2.0/src/bebob/focusrite/focusrite_generic.h (modified) (2 diffs)
- branches/libffado-2.0/src/bebob/focusrite/focusrite_saffire.cpp (modified) (1 diff)
- branches/libffado-2.0/src/bebob/focusrite/focusrite_saffirepro.cpp (modified) (3 diffs)
- branches/libffado-2.0/src/bebob/focusrite/focusrite_saffirepro.h (modified) (1 diff)
- branches/libffado-2.0/support/mixer-qt4/ffado_panelmanager.py (modified) (1 diff)
- branches/libffado-2.0/support/mixer-qt4/mixer_saffire.py (modified) (2 diffs)
- branches/libffado-2.0/support/mixer-qt4/mixer_saffirele_large.ui (modified) (6 diffs)
- branches/libffado-2.0/support/mixer-qt4/mixer_saffirele_small.ui (modified) (7 diffs)
- branches/libffado-2.0/support/mixer-qt4/mixer_saffirepro.py (modified) (4 diffs)
- branches/libffado-2.0/support/mixer-qt4/mixer_saffirepro_large.ui (modified) (1 diff)
- branches/libffado-2.0/support/mixer-qt4/mixer_saffirepro_small.ui (modified) (1 diff)
- branches/libffado-2.0/support/mixer-qt4/mixer_saffire_base.py (modified) (1 diff)
- branches/libffado-2.0/support/mixer-qt4/mixer_saffire_mono.ui (modified) (4 diffs)
- branches/libffado-2.0/support/mixer-qt4/mixer_saffire_stereo.ui (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
branches/libffado-2.0/src/bebob/focusrite/focusrite_generic.cpp
r1276 r1370 454 454 455 455 // hardware dial control 456 DialPositionControl::DialPositionControl(FocusriteDevice& parent, int id) 457 : Control::Discrete(&parent) 458 , m_Parent(parent) 459 , m_cmd_id ( id ) 456 DialPositionControl::DialPositionControl(FocusriteDevice& parent, int id, int shift) 457 : Control::Discrete(&parent) 458 , m_Parent(parent) 459 , m_cmd_id ( id ) 460 , m_shift ( shift ) 460 461 {} 461 DialPositionControl::DialPositionControl(FocusriteDevice& parent, int id, 462 DialPositionControl::DialPositionControl(FocusriteDevice& parent, int id, int shift, 462 463 std::string name, std::string label, std::string descr) 463 464 : Control::Discrete(&parent) 464 465 , m_Parent(parent) 465 466 , m_cmd_id ( id ) 467 , m_shift ( shift ) 466 468 { 467 469 setName(name); … … 479 481 return 0; 480 482 } else { 481 val = val >> 5; 483 if (m_shift > 0) { 484 val = val >> m_shift; 485 } else if (m_shift < 0) { 486 val = val << -m_shift; 487 } 482 488 debugOutput(DEBUG_LEVEL_VERBOSE, "getValue for %d = %d\n", 483 489 m_cmd_id, val); branches/libffado-2.0/src/bebob/focusrite/focusrite_generic.h
r1276 r1370 150 150 { 151 151 public: 152 DialPositionControl(FocusriteDevice& parent, int id );153 DialPositionControl(FocusriteDevice& parent, int id, 152 DialPositionControl(FocusriteDevice& parent, int id, int shift); 153 DialPositionControl(FocusriteDevice& parent, int id, int shift, 154 154 std::string name, std::string label, std::string descr); 155 155 … … 166 166 FocusriteDevice& m_Parent; 167 167 unsigned int m_cmd_id; 168 int m_shift; 168 169 }; 169 170 branches/libffado-2.0/src/bebob/focusrite/focusrite_saffire.cpp
r1292 r1370 253 253 result &= m_MixerContainer->addElement( 254 254 new DialPositionControl(*this, 255 FR_SAFFIRE_CMD_ID_MONITOR_DIAL, 255 FR_SAFFIRE_CMD_ID_MONITOR_DIAL, 0, 256 256 "MonitorDial", "Monitor Dial", "Monitor Dial Value")); 257 257 branches/libffado-2.0/src/bebob/focusrite/focusrite_saffirepro.cpp
r1366 r1370 44 44 45 45 addOption(Util::OptionContainer::Option("rebootOnSamplerateChange", true)); 46 46 47 // the saffire pro doesn't seem to like it if the commands are too fast 47 48 if (AVC::AVCCommand::getSleepAfterAVCCommand() < 1000) { … … 62 63 bool result=true; 63 64 debugOutput(DEBUG_LEVEL_VERBOSE, "Building a Focusrite SaffirePro mixer...\n"); 64 65 65 66 destroyMixer(); 66 67 67 68 // create the mixer object container 68 69 m_MixerContainer = new Control::Container(this, "Mixer"); … … 144 145 FR_SAFFIREPRO_CMD_ID_BITFIELD_OUT78, FR_SAFFIREPRO_CMD_BITFIELD_BIT_DIM, 145 146 "Out78Dim", "Out7/8 Dim", "Output 7/8 Level Dim")); 147 148 // front panel dial position 149 result &= m_MixerContainer->addElement( 150 new DialPositionControl(*this, 151 FR_SAFFIREPRO_CMD_ID_MONITOR_DIAL, 0, 152 "MonitorDial", "Monitor Dial", "Monitor Dial Value")); 146 153 147 154 // direct monitoring controls branches/libffado-2.0/src/bebob/focusrite/focusrite_saffirepro.h
r1366 r1370 158 158 #define FR_SAFFIREPRO_CMD_SWITCH_CONFIG_MUTE910 (1<<8) 159 159 160 #define FR_SAFFIREPRO_CMD_ID_ FRONT_DIAL86160 #define FR_SAFFIREPRO_CMD_ID_MONITOR_DIAL 86 161 161 #define FR_SAFFIREPRO_CMD_ID_DIM_INDICATOR 87 162 162 #define FR_SAFFIREPRO_CMD_ID_MUTE_INDICATOR 88 branches/libffado-2.0/support/mixer-qt4/ffado_panelmanager.py
r1367 r1370 132 132 for guid in self.panels.keys(): 133 133 w = self.panels[guid] 134 if 'polledUpdate' in dir(w): 135 try: 136 w.polledUpdate() 137 except: 138 log.error("error in polled update") 134 for child in w.children(): 135 #log.debug("poll child %s,%s" % (guid,child)) 136 if 'polledUpdate' in dir(child): 137 try: 138 child.polledUpdate() 139 except: 140 log.error("error in polled update") 141 raise 139 142 140 143 def devlistPreUpdate(self): branches/libffado-2.0/support/mixer-qt4/mixer_saffire.py
r1367 r1370 262 262 state = selector.isChecked() 263 263 if state: 264 self.polledUpdateVolumeLowRes('/Mixer/MonitorDial', volctrl )264 self.polledUpdateVolumeLowRes('/Mixer/MonitorDial', volctrl, 64) 265 265 volctrl.setEnabled(False) 266 266 else: … … 406 406 state = selector.isChecked() 407 407 if state: 408 self.polledUpdateVolumeLowRes('/Mixer/MonitorDial', volctrl )408 self.polledUpdateVolumeLowRes('/Mixer/MonitorDial', volctrl, 4) 409 409 volctrl.setEnabled(False) 410 410 else: branches/libffado-2.0/support/mixer-qt4/mixer_saffirele_large.ui
r1298 r1370 1956 1956 </property> 1957 1957 <property name="maximum" > 1958 <number> 255</number>1958 <number>127</number> 1959 1959 </property> 1960 1960 <property name="singleStep" > … … 1962 1962 </property> 1963 1963 <property name="pageStep" > 1964 <number> 4</number>1964 <number>16</number> 1965 1965 </property> 1966 1966 <property name="orientation" > … … 1978 1978 </property> 1979 1979 <property name="maximum" > 1980 <number> 255</number>1980 <number>127</number> 1981 1981 </property> 1982 1982 <property name="singleStep" > … … 1984 1984 </property> 1985 1985 <property name="pageStep" > 1986 <number> 4</number>1986 <number>16</number> 1987 1987 </property> 1988 1988 <property name="orientation" > … … 2000 2000 </property> 2001 2001 <property name="maximum" > 2002 <number> 255</number>2002 <number>127</number> 2003 2003 </property> 2004 2004 <property name="singleStep" > … … 2006 2006 </property> 2007 2007 <property name="pageStep" > 2008 <number> 4</number>2008 <number>16</number> 2009 2009 </property> 2010 2010 <property name="orientation" > branches/libffado-2.0/support/mixer-qt4/mixer_saffirele_small.ui
r1298 r1370 216 216 <widget class="QTabWidget" name="tabWidget4" > 217 217 <property name="currentIndex" > 218 <number> 3</number>218 <number>0</number> 219 219 </property> 220 220 <widget class="QWidget" name="tab" > … … 680 680 </property> 681 681 <property name="maximum" > 682 <number> 255</number>682 <number>127</number> 683 683 </property> 684 684 <property name="singleStep" > … … 686 686 </property> 687 687 <property name="pageStep" > 688 <number> 4</number>688 <number>16</number> 689 689 </property> 690 690 <property name="orientation" > … … 702 702 </property> 703 703 <property name="maximum" > 704 <number> 255</number>704 <number>127</number> 705 705 </property> 706 706 <property name="singleStep" > … … 708 708 </property> 709 709 <property name="pageStep" > 710 <number> 4</number>710 <number>16</number> 711 711 </property> 712 712 <property name="orientation" > … … 724 724 </property> 725 725 <property name="maximum" > 726 <number> 255</number>726 <number>127</number> 727 727 </property> 728 728 <property name="singleStep" > … … 730 730 </property> 731 731 <property name="pageStep" > 732 <number> 4</number>732 <number>16</number> 733 733 </property> 734 734 <property name="orientation" > branches/libffado-2.0/support/mixer-qt4/mixer_saffirepro.py
r1367 r1370 101 101 102 102 def polledUpdate(self): 103 # fixme: todo 104 pass 103 if self.samplerate <= 96000: 104 self.large.polledUpdate() 105 else: 106 self.small.polledUpdate() 105 107 106 108 class SaffireProMixerLarge(QWidget, Ui_SaffireProMixerLargeUI, SaffireMixerBase): … … 215 217 self.chkAdatDisable: ['/Control/ADATDisable'], 216 218 # Mixer switches 217 self.chkMute12: ['/Mixer/Out12Mute' ],219 self.chkMute12: ['/Mixer/Out12Mute', [self.chkHwCtrl12]], 218 220 self.chkHwCtrl12: ['/Mixer/Out12HwCtrl'], 219 221 self.chkPad12: ['/Mixer/Out12Pad'], 220 222 self.chkDim12: ['/Mixer/Out12Dim'], 221 self.chkMute34: ['/Mixer/Out34Mute' ],223 self.chkMute34: ['/Mixer/Out34Mute', [self.chkHwCtrl34]], 222 224 self.chkHwCtrl34: ['/Mixer/Out34HwCtrl'], 223 225 self.chkPad34: ['/Mixer/Out34Pad'], 224 226 self.chkDim34: ['/Mixer/Out34Dim'], 225 self.chkMute56: ['/Mixer/Out56Mute' ],227 self.chkMute56: ['/Mixer/Out56Mute', [self.chkHwCtrl56]], 226 228 self.chkHwCtrl56: ['/Mixer/Out56HwCtrl'], 227 229 self.chkPad56: ['/Mixer/Out56Pad'], 228 230 self.chkDim56: ['/Mixer/Out56Dim'], 229 self.chkMute78: ['/Mixer/Out78Mute' ],231 self.chkMute78: ['/Mixer/Out78Mute', [self.chkHwCtrl78]], 230 232 self.chkHwCtrl78: ['/Mixer/Out78HwCtrl'], 231 233 self.chkPad78: ['/Mixer/Out78Pad'], … … 295 297 self.tabInputMix.setCurrentWidget(self.tabInputMix.widget(0)) 296 298 SaffireMixerBase.updateValues(self) 299 300 def polledUpdate(self): 301 #log.debug("polled update (large)") 302 self.polledUpdateHwCtrl(self.chkHwCtrl12, self.sldOut12Level) 303 self.polledUpdateHwCtrl(self.chkHwCtrl34, self.sldOut34Level) 304 self.polledUpdateHwCtrl(self.chkHwCtrl56, self.sldOut56Level) 305 self.polledUpdateHwCtrl(self.chkHwCtrl78, self.sldOut78Level) 306 307 def polledUpdateHwCtrl(self, selector, volctrl): 308 state = selector.isChecked() 309 if state: 310 self.polledUpdateVolumeLowRes('/Mixer/MonitorDial', volctrl, 2) 311 volctrl.setEnabled(False) 312 else: 313 volctrl.setEnabled(True) 297 314 298 315 class SaffireProMixerSmall(QWidget, Ui_SaffireProMixerSmallUI, SaffireMixerBase): … … 421 438 def updateValues(self): 422 439 SaffireMixerBase.updateValues(self) 440 441 def polledUpdate(self): 442 #log.debug("polled update (small)") 443 self.polledUpdateHwCtrl(self.chkHwCtrl12, self.sldOut12Level) 444 self.polledUpdateHwCtrl(self.chkHwCtrl34, self.sldOut34Level) 445 self.polledUpdateHwCtrl(self.chkHwCtrl56, self.sldOut56Level) 446 self.polledUpdateHwCtrl(self.chkHwCtrl78, self.sldOut78Level) 447 448 def polledUpdateHwCtrl(self, selector, volctrl): 449 state = selector.isChecked() 450 if state: 451 self.polledUpdateVolumeLowRes('/Mixer/MonitorDial', volctrl, 2) 452 volctrl.setEnabled(False) 453 else: 454 volctrl.setEnabled(True) branches/libffado-2.0/support/mixer-qt4/mixer_saffirepro_large.ui
r1369 r1370 2242 2242 <widget class="QTabWidget" name="tabWidget14" > 2243 2243 <property name="currentIndex" > 2244 <number> 4</number>2244 <number>0</number> 2245 2245 </property> 2246 2246 <widget class="QWidget" name="tab" > branches/libffado-2.0/support/mixer-qt4/mixer_saffirepro_small.ui
r1369 r1370 44 44 <widget class="QTabWidget" name="tabWidget14" > 45 45 <property name="currentIndex" > 46 <number> 4</number>46 <number>0</number> 47 47 </property> 48 48 <widget class="QWidget" name="tab" > branches/libffado-2.0/support/mixer-qt4/mixer_saffire_base.py
r1369 r1370 131 131 self.initCombo(ctrl) 132 132 133 def polledUpdateVolumeLowRes(self, srcpath, ctrl ):134 vol = self.hw.getDiscrete(srcpath) 133 def polledUpdateVolumeLowRes(self, srcpath, ctrl, divider=1): 134 vol = self.hw.getDiscrete(srcpath) / divider 135 135 #log.debug("polledUpdateVolumeLowRes: vol = %s" % vol) 136 #ctrl.setValue(255-vol)137 136 ctrl.setValue(vol) 138 137 branches/libffado-2.0/support/mixer-qt4/mixer_saffire_mono.ui
r1298 r1370 77 77 </property> 78 78 <property name="maximum" > 79 <number> 255</number>80 </property> 81 <property name="singleStep" > 82 <number> 2</number>79 <number>127</number> 80 </property> 81 <property name="singleStep" > 82 <number>1</number> 83 83 </property> 84 84 <property name="pageStep" > … … 645 645 </property> 646 646 <property name="maximum" > 647 <number> 255</number>648 </property> 649 <property name="singleStep" > 650 <number> 2</number>647 <number>127</number> 648 </property> 649 <property name="singleStep" > 650 <number>1</number> 651 651 </property> 652 652 <property name="pageStep" > … … 1224 1224 </property> 1225 1225 <property name="maximum" > 1226 <number> 255</number>1227 </property> 1228 <property name="singleStep" > 1229 <number> 2</number>1226 <number>127</number> 1227 </property> 1228 <property name="singleStep" > 1229 <number>1</number> 1230 1230 </property> 1231 1231 <property name="pageStep" > … … 1779 1779 </property> 1780 1780 <property name="maximum" > 1781 <number> 255</number>1782 </property> 1783 <property name="singleStep" > 1784 <number> 2</number>1781 <number>127</number> 1782 </property> 1783 <property name="singleStep" > 1784 <number>1</number> 1785 1785 </property> 1786 1786 <property name="pageStep" > branches/libffado-2.0/support/mixer-qt4/mixer_saffire_stereo.ui
r1298 r1370 41 41 <item> 42 42 <widget class="QTabWidget" name="tabWidget4" > 43 <property name="currentIndex" > 44 <number>0</number> 45 </property> 43 46 <widget class="QWidget" name="tab" > 44 47 <attribute name="title" > … … 74 77 </property> 75 78 <property name="maximum" > 76 <number> 255</number>77 </property> 78 <property name="singleStep" > 79 <number> 2</number>79 <number>127</number> 80 </property> 81 <property name="singleStep" > 82 <number>1</number> 80 83 </property> 81 84 <property name="pageStep" > … … 525 528 </property> 526 529 <property name="maximum" > 527 <number> 255</number>528 </property> 529 <property name="singleStep" > 530 <number> 2</number>530 <number>127</number> 531 </property> 532 <property name="singleStep" > 533 <number>1</number> 531 534 </property> 532 535 <property name="pageStep" > … … 987 990 </property> 988 991 <property name="maximum" > 989 <number> 255</number>990 </property> 991 <property name="singleStep" > 992 <number> 2</number>992 <number>127</number> 993 </property> 994 <property name="singleStep" > 995 <number>1</number> 993 996 </property> 994 997 <property name="pageStep" > … … 1425 1428 </property> 1426 1429 <property name="maximum" > 1427 <number> 255</number>1428 </property> 1429 <property name="singleStep" > 1430 <number> 2</number>1430 <number>127</number> 1431 </property> 1432 <property name="singleStep" > 1433 <number>1</number> 1431 1434 </property> 1432 1435 <property name="pageStep" > … … 2311 2314 <layoutdefault spacing="6" margin="11" /> 2312 2315 <pixmapfunction>qPixmapFromMimeSource</pixmapfunction> 2313 <customwidgets>2314 </customwidgets>2315 2316 <resources/> 2316 2317 <connections/>