Changeset 2658

Show
Ignore:
Timestamp:
11/25/16 02:33:39 (7 years ago)
Author:
jwoithe
Message:

Use dict.items() rather than dict.iteritems() as suggested by the patch from
Xavier Forestier[1]. The former is available in both python2 and python3
whereas the latter is only present in python2. In python2 there are
differences between the two. Most significantly is that in python2
dict.iteritems() was implemented as an iterator-generator while dict.items()
returned a list of tuples. For large dictionaries the latter could result
in significant memory usage, which would have been why iteritems() was
originally used.

In python3 dict.items() uses iterators and dict.iteritems() was consequently
removed.

In the context of ffado-mixer the dictionaries are relatively small so the
memory overhead incurred by dict.items() under python2 is not significant.
The benefit is that the resulting code will be compatible with python3.

[1] https://sourceforge.net/p/ffado/mailman/message/35457569/

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/libffado/support/mixer-qt4/ffado/mixer/audiofire.py

    r2653 r2658  
    350350        log.debug("Init values") 
    351351 
    352         for ctrl, info in self.MatrixVolumeControls.iteritems(): 
     352        for ctrl, info in self.MatrixVolumeControls.items(): 
    353353            vol = self.hw.getMatrixMixerValue(self.MatrixVolumeControls[ctrl][0], 
    354354                                                self.MatrixVolumeControls[ctrl][1], 
     
    362362            ctrl.valueChanged.connect(self.updateMatrixVolume) 
    363363 
    364         for ctrl, info in self.MatrixButtonControls.iteritems(): 
     364        for ctrl, info in self.MatrixButtonControls.items(): 
    365365            state = self.hw.getMatrixMixerValue(self.MatrixButtonControls[ctrl][0], 
    366366                                                self.MatrixButtonControls[ctrl][1], 
     
    376376            ctrl.clicked.connect(self.updateMatrixButton) 
    377377 
    378         for ctrl, info in self.MatrixRotaryControls.iteritems(): 
     378        for ctrl, info in self.MatrixRotaryControls.items(): 
    379379            vol = self.hw.getMatrixMixerValue(self.MatrixRotaryControls[ctrl][0], 
    380380                                                self.MatrixRotaryControls[ctrl][1], 
     
    387387            ctrl.valueChanged.connect(self.updateMatrixRotary) 
    388388 
    389         for ctrl, info in self.VolumeControls.iteritems(): 
     389        for ctrl, info in self.VolumeControls.items(): 
    390390            vol = self.hw.getContignuous(self.VolumeControls[ctrl][0]) 
    391391 
     
    397397            ctrl.valueChanged.connect(self.updateVolume) 
    398398 
    399         for ctrl, info in self.SelectorControls.iteritems(): 
     399        for ctrl, info in self.SelectorControls.items(): 
    400400            state = self.hw.getDiscrete(self.SelectorControls[ctrl][0]) 
    401401            log.debug("%s state is %d" % (ctrl.objectName() , state)) 
     
    408408            ctrl.clicked.connect(self.updateSelector) 
    409409 
    410         for ctrl, info in self.TriggerControls.iteritems(): 
     410        for ctrl, info in self.TriggerControls.items(): 
    411411            # connect the UI element 
    412412            ctrl.clicked.connect(self.updateTrigger) 
    413413 
    414         for ctrl, info in self.SPDIFmodeControls.iteritems(): 
     414        for ctrl, info in self.SPDIFmodeControls.items(): 
    415415            state = self.hw.getDiscrete(self.SPDIFmodeControls[ctrl][0]) 
    416416            log.debug("%s state is %d" % (ctrl.objectName() , state)) 
     
    423423            ctrl.toggled.connect(self.updateSPDIFmodeControl) 
    424424 
    425         for ctrl, info in self.DigIfaceControls.iteritems(): 
     425        for ctrl, info in self.DigIfaceControls.items(): 
    426426            state = self.hw.getDiscrete(self.DigIfaceControls[ctrl][0]) 
    427427            # 0/2/3 is available but GUI set 0/1/2 
     
    431431            ctrl.activated.connect(self.updateDigIfaceControl) 
    432432 
    433         for ctrl, info in self.PlbkRouteControls.iteritems(): 
     433        for ctrl, info in self.PlbkRouteControls.items(): 
    434434            sink = self.PlbkRouteControls[ctrl][1] 
    435435            src = self.hw.getDiscrete(self.PlbkRouteControls[ctrl][0], sink) 
  • trunk/libffado/support/mixer-qt4/ffado/mixer/bcoaudio5control.py

    r2653 r2658  
    8585 
    8686    def initValues(self): 
    87         for name, ctrl in self.VolumeControls.iteritems(): 
     87        for name, ctrl in self.VolumeControls.items(): 
    8888            vol = self.hw.getContignuous(ctrl[0]) 
    8989            log.debug("%s volume is %d" % (name , vol)) 
    9090            ctrl[1].setValue(-vol) 
    9191 
    92         for name, ctrl in self.ComboControls.iteritems(): 
     92        for name, ctrl in self.ComboControls.items(): 
    9393            state = self.hw.getDiscrete(ctrl[0]) 
    9494            log.debug("%s state is %d" % (name , state)) 
  • trunk/libffado/support/mixer-qt4/ffado/mixer/edirolfa66control.py

    r2653 r2658  
    9191 
    9292    def initValues(self): 
    93         for name, ctrl in self.VolumeControls.iteritems(): 
     93        for name, ctrl in self.VolumeControls.items(): 
    9494            val = self.hw.getContignuous(ctrl[0], idx = ctrl[1]) 
    9595            log.debug("%s value is %d" % (name , val)) 
  • trunk/libffado/support/mixer-qt4/ffado/mixer/motu.py

    r2653 r2658  
    824824        # Now fetch the current values into the respective controls.  Don't 
    825825        # bother fetching controls which are disabled. 
    826         for ctrl, info in self.ChannelFaders.iteritems(): 
     826        for ctrl, info in self.ChannelFaders.items(): 
    827827            if (not(ctrl.isEnabled())): 
    828828                continue 
     
    832832            ctrl.valueChanged.connect(self.updateChannelFader) 
    833833 
    834         for ctrl, info in self.Faders.iteritems(): 
     834        for ctrl, info in self.Faders.items(): 
    835835            if (not(ctrl.isEnabled())): 
    836836                continue 
     
    840840            ctrl.valueChanged.connect(self.updateFader) 
    841841 
    842         for ctrl, info in self.ChannelControls.iteritems(): 
     842        for ctrl, info in self.ChannelControls.items(): 
    843843            if (not(ctrl.isEnabled())): 
    844844                continue 
     
    848848            ctrl.valueChanged.connect(self.updateChannelControl) 
    849849 
    850         for ctrl, info in self.Controls.iteritems(): 
     850        for ctrl, info in self.Controls.items(): 
    851851            if (not(ctrl.isEnabled())): 
    852852                continue 
     
    856856            ctrl.valueChanged.connect(self.updateControl) 
    857857 
    858         for ctrl, info in self.ChannelBinarySwitches.iteritems(): 
     858        for ctrl, info in self.ChannelBinarySwitches.items(): 
    859859            if (not(ctrl.isEnabled())): 
    860860                continue 
     
    867867            ctrl.toggled.connect(self.updateChannelBinarySwitch) 
    868868 
    869         for ctrl, info in self.BinarySwitches.iteritems(): 
     869        for ctrl, info in self.BinarySwitches.items(): 
    870870            if (not(ctrl.isEnabled())): 
    871871                continue 
     
    878878            ctrl.toggled.connect(self.updateBinarySwitch) 
    879879 
    880         for ctrl, info in self.Selectors.iteritems(): 
     880        for ctrl, info in self.Selectors.items(): 
    881881            if (not(ctrl.isEnabled())): 
    882882                continue 
  • trunk/libffado/support/mixer-qt4/ffado/mixer/phase24control.py

    r2653 r2658  
    141141                    self.cmbFrontLevel.setCurrentIndex(0) 
    142142 
    143             for name, ctrl in self.VolumeControls.iteritems(): 
     143            for name, ctrl in self.VolumeControls.items(): 
    144144                vol = self.hw.getContignuous(ctrl[0]) 
    145145                log.debug("%s volume is %d" % (name , vol)) 
    146146                ctrl[1].setValue(-vol) 
    147147 
    148             for name, ctrl in self.SelectorControls.iteritems(): 
     148            for name, ctrl in self.SelectorControls.items(): 
    149149                state = self.hw.getDiscrete(ctrl[0]) 
    150150                log.debug("%s state is %d" % (name , state)) 
  • trunk/libffado/support/mixer-qt4/ffado/mixer/phase88control.py

    r2653 r2658  
    8181         
    8282        # gain control 
    83         for ctl, params in self.VolumeControls.iteritems(): 
     83        for ctl, params in self.VolumeControls.items(): 
    8484                path    = params[0] 
    8585                idx     = params[1] 
     
    108108 
    109109        # selector controls 
    110         for ctl, param in self.SelectorControls.iteritems(): 
     110        for ctl, param in self.SelectorControls.items(): 
    111111                state = self.hw.getDiscrete(param) 
    112112                ctl.setCurrentIndex(state) 
     
    115115 
    116116        # mute controls 
    117         for ctl, param in self.MuteControls.iteritems(): 
     117        for ctl, param in self.MuteControls.items(): 
    118118                ctl.toggled.connect(self.muteVolume) 
    119119 
  • trunk/libffado/support/mixer-qt4/ffado/mixer/quatafire.py

    r2653 r2658  
    7676 
    7777    def initValues(self): 
    78         for ctrl, info in self.VolumeControls.iteritems(): 
     78        for ctrl, info in self.VolumeControls.items(): 
    7979            vol = self.hw.getContignuous(self.VolumeControls[ctrl][0], self.VolumeControls[ctrl][1]) 
    8080            val = -vol 
     
    8585            ctrl.valueChanged.connect(self.updateVolume) 
    8686 
    87         for ctrl, info in self.PanControls.iteritems(): 
     87        for ctrl, info in self.PanControls.items(): 
    8888            pan_left = self.hw.getContignuous(self.PanControls[ctrl][0], 1) 
    8989            pan_right = self.hw.getContignuous(self.PanControls[ctrl][0], 2) 
  • trunk/libffado/support/mixer-qt4/ffado/mixer/rme.py

    r2653 r2658  
    306306 
    307307        # Connect signal handlers for all command buttons 
    308         for ctrl, info in self.CommandButtons.iteritems(): 
     308        for ctrl, info in self.CommandButtons.items(): 
    309309            if (not(ctrl.isEnabled())): 
    310310                continue 
    311311            ctrl.clicked.connect(self.sendCommand) 
    312312 
    313         for ctrl, info in self.Combos.iteritems(): 
     313        for ctrl, info in self.Combos.items(): 
    314314            if (not(ctrl.isEnabled())): 
    315315                continue; 
     
    320320        # Get current hardware values and connect GUI element signals to  
    321321        # their respective slots 
    322         for ctrl, info in self.PhantomSwitches.iteritems(): 
     322        for ctrl, info in self.PhantomSwitches.items(): 
    323323            if (not(ctrl.isEnabled())): 
    324324                continue 
    325325            ctrl.toggled.connect(self.updatePhantomSwitch) 
    326326 
    327         for ctrl, info in self.Switches.iteritems(): 
     327        for ctrl, info in self.Switches.items(): 
    328328            if (not(ctrl.isEnabled())): 
    329329                continue 
    330330            ctrl.toggled.connect(self.updateSwitch) 
    331331 
    332         for ctrl, info in self.Radiobuttons.iteritems(): 
     332        for ctrl, info in self.Radiobuttons.items(): 
    333333            if (not(ctrl.isEnabled())): 
    334334                continue; 
    335335            ctrl.toggled.connect(self.updateRadiobutton) 
    336336 
    337         for ctrl, info in self.Checkboxes.iteritems(): 
     337        for ctrl, info in self.Checkboxes.items(): 
    338338            if (not(ctrl.isEnabled())): 
    339339                continue; 
    340340            ctrl.toggled.connect(self.updateCheckboxes) 
    341341 
    342         for ctrl, info in self.Gains.iteritems(): 
     342        for ctrl, info in self.Gains.items(): 
    343343            if (not(ctrl.isEnabled())): 
    344344                continue 
     
    347347    # Obtain control values from the Fireface and make the GUI reflect these 
    348348    def getValuesFromFF(self): 
    349         for ctrl, info in self.Combos.iteritems(): 
     349        for ctrl, info in self.Combos.items(): 
    350350            if (not(ctrl.isEnabled())): 
    351351                continue; 
     
    363363 
    364364        # Get current hardware values 
    365         for ctrl, info in self.PhantomSwitches.iteritems(): 
     365        for ctrl, info in self.PhantomSwitches.items(): 
    366366            if (not(ctrl.isEnabled())): 
    367367                continue 
     
    373373                ctrl.setChecked(False) 
    374374 
    375         for ctrl, info in self.Switches.iteritems(): 
     375        for ctrl, info in self.Switches.items(): 
    376376            if (not(ctrl.isEnabled())): 
    377377                continue 
     
    383383                ctrl.setChecked(False) 
    384384 
    385         for ctrl, info in self.Radiobuttons.iteritems(): 
     385        for ctrl, info in self.Radiobuttons.items(): 
    386386            if (not(ctrl.isEnabled())): 
    387387                continue; 
     
    403403            self.ch1_instr_limiter.setEnabled(1) 
    404404 
    405         for ctrl, info in self.Checkboxes.iteritems(): 
     405        for ctrl, info in self.Checkboxes.items(): 
    406406            if (not(ctrl.isEnabled())): 
    407407                continue; 
     
    425425            self.ch1_instr_limiter.setEnabled(ch1_src==0) 
    426426 
    427         for ctrl, info in self.Gains.iteritems(): 
     427        for ctrl, info in self.Gains.items(): 
    428428            if (not(ctrl.isEnabled())): 
    429429                continue 
  • trunk/libffado/support/mixer-qt4/ffado/mixer/saffire_base.py

    r2653 r2658  
    9898 
    9999    def updateValues(self): 
    100         for ctrl, info in self.VolumeControls.iteritems(): 
     100        for ctrl, info in self.VolumeControls.items(): 
    101101            vol = self.hw.getMatrixMixerValue(self.VolumeControls[ctrl][0], 
    102102                                              self.VolumeControls[ctrl][1], 
     
    104104            log.debug("%s volume is %d" % (ctrl.objectName() , vol)) 
    105105            ctrl.setValue(vol) 
    106         for ctrl, info in self.VolumeControlsLowRes.iteritems(): 
     106        for ctrl, info in self.VolumeControlsLowRes.items(): 
    107107            vol = self.hw.getDiscrete(self.VolumeControlsLowRes[ctrl][0]) 
    108108 
     
    110110            ctrl.setValue(127 - vol) 
    111111 
    112         for ctrl, info in self.SelectorControls.iteritems(): 
     112        for ctrl, info in self.SelectorControls.items(): 
    113113            state = self.hw.getDiscrete(self.SelectorControls[ctrl][0]) 
    114114            log.debug("%s state is %d" % (ctrl.objectName() , state)) 
     
    118118                ctrl.setChecked(False) 
    119119 
    120         for ctrl, info in self.TriggerButtonControls.iteritems(): 
     120        for ctrl, info in self.TriggerButtonControls.items(): 
    121121            pass 
    122122 
    123         for ctrl, info in self.TextControls.iteritems(): 
     123        for ctrl, info in self.TextControls.items(): 
    124124            text = self.hw.getText(self.TextControls[ctrl][0]) 
    125125            log.debug("%s text is %s" % (ctrl.objectName() , text)) 
    126126            ctrl.setText(text) 
    127127 
    128         for ctrl, info in self.ComboControls.iteritems(): 
     128        for ctrl, info in self.ComboControls.items(): 
    129129            self.initCombo(ctrl) 
    130130 
     
    136136    def initValues(self): 
    137137        self.updateValues() 
    138         for ctrl, info in self.VolumeControls.iteritems(): 
     138        for ctrl, info in self.VolumeControls.items(): 
    139139            ctrl.valueChanged.connect(self.updateMatrixVolume) 
    140140 
    141         for ctrl, info in self.VolumeControlsLowRes.iteritems(): 
     141        for ctrl, info in self.VolumeControlsLowRes.items(): 
    142142            ctrl.valueChanged.connect(self.updateLowResVolume) 
    143143 
    144         for ctrl, info in self.SelectorControls.iteritems(): 
     144        for ctrl, info in self.SelectorControls.items(): 
    145145            ctrl.stateChanged.connect(self.updateSelector) 
    146146 
    147         for ctrl, info in self.TriggerButtonControls.iteritems(): 
     147        for ctrl, info in self.TriggerButtonControls.items(): 
    148148            ctrl.clicked.connect(,self.triggerButton) 
    149149 
    150         for ctrl, info in self.saveTextControls.iteritems(): 
     150        for ctrl, info in self.saveTextControls.items(): 
    151151            ctrl.clicked.connect(self.saveText) 
    152152 
    153         for ctrl, info in self.ComboControls.iteritems(): 
     153        for ctrl, info in self.ComboControls.items(): 
    154154            ctrl.activated.connect(self.selectCombo) 
    155155