示例#1
0
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)