Changeset 1274 for trunk/libffado/support/mixer/mixer_motu.py
- Timestamp:
- 07/07/08 22:26:05 (16 years ago)
- Files:
-
- trunk/libffado/support/mixer/mixer_motu.py (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/libffado/support/mixer/mixer_motu.py
r1265 r1274 25 25 from mixer_motuui import * 26 26 27 # Model defines. These must agree with what is used in motu_avdevice.h. 28 MOTU_MODEL_NONE = 0x0000 29 MOTU_MODEL_828mkII = 0x0001 30 MOTU_MODEL_TRAVELER = 0x0002 31 MOTU_MODEL_ULTRALITE= 0x0003 32 MOTU_MODEL_8PRE = 0x0004 33 MOTU_MODEL_828MkI = 0x0005 34 MOTU_MODEL_896HD = 0x0006 35 27 36 class MotuMixer(MotuMixerUI): 28 37 def __init__(self,parent = None,name = None,fl = 0): … … 93 102 print "setting %s state to %d" % (name, state) 94 103 self.hw.setDiscrete(self.SelectorControls[name][0], state) 104 105 # Hide and disable a control 106 def disable_hide(self,widget): 107 widget.hide() 108 widget.setEnabled(False) 95 109 96 110 def init(self): … … 472 486 self.ana7_boost: ['/Mixer/Control/Ana7_boost'], 473 487 self.ana8_boost: ['/Mixer/Control/Ana8_boost'], 488 489 # Some interfaces have level/boost on analog 1-4 in place of trimgain/pad 490 self.ana1_level: ['/Mixer/Control/Ana1_level'], 491 self.ana2_level: ['/Mixer/Control/Ana2_level'], 492 self.ana3_level: ['/Mixer/Control/Ana3_level'], 493 self.ana4_level: ['/Mixer/Control/Ana4_level'], 494 self.ana1_boost: ['/Mixer/Control/Ana1_boost'], 495 self.ana2_boost: ['/Mixer/Control/Ana2_boost'], 496 self.ana3_boost: ['/Mixer/Control/Ana3_boost'], 497 self.ana4_boost: ['/Mixer/Control/Ana4_boost'], 498 474 499 } 475 500 … … 544 569 self.is_streaming = 0 545 570 self.sample_rate = 0 571 self.model = MOTU_MODEL_NONE 546 572 547 573 def initValues(self): … … 551 577 552 578 # Retrieve other device settings as needed 579 self.model = self.hw.getDiscrete('/Mixer/Info/Model') 580 print "device model identifier: %d" % (self.model) 553 581 self.sample_rate = self.hw.getDiscrete('/Mixer/Info/SampleRate') 554 582 print "device sample rate: %d" % (self.sample_rate) … … 585 613 self.mix4_spdif_group.setEnabled(False) 586 614 615 # Devices without AES/EBU inputs/outputs have dedicated "MainOut" 616 # outputs instead. 617 if (not(self.has_aesebu_inputs)): 618 self.mix1_dest.changeItem("MainOut", 6) 619 self.mix2_dest.changeItem("MainOut", 6) 620 self.mix3_dest.changeItem("MainOut", 6) 621 self.mix4_dest.changeItem("MainOut", 6) 622 587 623 # Some devices don't have the option of selecting an optical SPDIF 588 624 # mode. … … 619 655 self.mix4_adat58_group.setEnabled(False) 620 656 657 # Ensure the correct input controls are active for a given interface 658 if (self.model == MOTU_MODEL_TRAVELER): 659 self.disable_hide(self.ana1_level) 660 self.disable_hide(self.ana1_level_label) 661 self.disable_hide(self.ana2_level) 662 self.disable_hide(self.ana2_level_label) 663 self.disable_hide(self.ana3_level) 664 self.disable_hide(self.ana3_level_label) 665 self.disable_hide(self.ana4_level) 666 self.disable_hide(self.ana4_level_label) 667 self.disable_hide(self.ana1_boost) 668 self.disable_hide(self.ana1_boost_label) 669 self.disable_hide(self.ana2_boost) 670 self.disable_hide(self.ana2_boost_label) 671 self.disable_hide(self.ana3_boost) 672 self.disable_hide(self.ana3_boost_label) 673 self.disable_hide(self.ana4_boost) 674 self.disable_hide(self.ana4_boost_label) 675 else: 676 self.disable_hide(self.ana1_trimgain) 677 self.disable_hide(self.ana1_trimgain_label) 678 self.disable_hide(self.ana2_trimgain) 679 self.disable_hide(self.ana2_trimgain_label) 680 self.disable_hide(self.ana3_trimgain) 681 self.disable_hide(self.ana3_trimgain_label) 682 self.disable_hide(self.ana4_trimgain) 683 self.disable_hide(self.ana4_trimgain_label) 684 self.disable_hide(self.ana1_pad) 685 self.disable_hide(self.ana1_pad_label) 686 self.disable_hide(self.ana2_pad) 687 self.disable_hide(self.ana2_pad_label) 688 self.disable_hide(self.ana3_pad) 689 self.disable_hide(self.ana3_pad_label) 690 self.disable_hide(self.ana4_pad) 691 self.disable_hide(self.ana4_pad_label) 692 621 693 # Now fetch the current values into the respective controls. Don't 622 694 # bother fetching controls which are disabled.