class SourceUI( Channel ): def __init__(self , parent): Channel.__init__(self, parent) def createMute(self): self.mute = InputMuteButton(self) self.mute.setSizePolicy(QSizePolicy(QSizePolicy.Minimum, QSizePolicy.Minimum,True) ) self.connect(self.mute, SIGNAL("clicked()"), self.on_mute_cb ) self.mute.setBigIconName("audio-input-microphone.png") def context_menu_create_custom(self): self.context_menu_create_ports() self.context_menu_create_sounddevices() def update_label(self): text = "" bold = self.pa_sink.get_nice_title() if self.slider: self.slider.setText(text ) self.slider.setBoldText(bold) self.set_name(bold) def on_update_meter(self, index, value, number_of_sinks): if self.index == index: self.slider.set_meter_value(int(value)) def updateIcon(self): if self.isMuted(): self.mute.setMuted(True) else: self.mute.setMuted(False) ## Drag and Drop Support def dropEvent(self, dropEvent): uris = dropEvent.mimeData().urls() for uri in uris: if uri.scheme() == "veromix": self.pa.move_source_output(uri.port(), self.index)