def disconnect(self):
     super(MixerComponent, self).disconnect()
     release_control(self._prehear_volume_control)
     release_control(self._crossfader_control)
     self._bank_up_button = None
     self._bank_down_button = None
     self._next_track_button = None
     self._prev_track_button = None
     self._prehear_volume_control = None
     self._crossfader_control = None
 def update(self):
     super(MixerComponent, self).update()
     if self._allow_updates:
         master_track = self.song().master_track
         if self.is_enabled():
             if self._prehear_volume_control != None:
                 self._prehear_volume_control.connect_to(master_track.mixer_device.cue_volume)
             if self._crossfader_control != None:
                 self._crossfader_control.connect_to(master_track.mixer_device.crossfader)
         else:
             release_control(self._prehear_volume_control)
             release_control(self._crossfader_control)
             map(lambda x: turn_button_on_off(x, on=False), [self._bank_up_button,
              self._bank_down_button,
              self._next_track_button,
              self._prev_track_button])
     else:
         self._update_requests += 1
 def set_crossfader_control(self, control):
     release_control(self._crossfader_control)
     self._crossfader_control = control
     self.update()
 def set_prehear_volume_control(self, control):
     release_control(self._prehear_volume_control)
     self._prehear_volume_control = control
     self.update()