def __init__(self): simplepanel.applet.Applet.__init__(self) self.pulseaudio = PulseAudio('Cream Volume Applet') self.pulseaudio.connect() while not self.pulseaudio.sinks: time.sleep(0.01) self.icon_size = 22 self.menu_active = False self.icon = self._get_icon_for_volume(self.pulseaudio.get_volume()[0]) self.menu = Bubble() self.volume_scale = gtk.HScale() self.volume_scale.set_range(0, 100) self.volume_scale.set_size_request(200, -1) self.volume_scale.set_draw_value(False) self.volume_scale.set_value(self.pulseaudio.get_volume()[0]) self.layout = gtk.HBox() self.layout.pack_start(self.volume_scale) self.menu.add(self.layout) self.connect('click', self.toggle_menu_cb) self.connect('scroll', self.scroll_cb) self.volume_scale.connect('change-value', self.value_changed_cb)
import sys import dbus import dbus.service import dbus.mainloop.qt from PyQt4.QtCore import QCoreApplication from PyQt4 import QtCore from pulseaudio.PulseAudio import * from VeromixDbus import * from VeromixEvent import * from Pa2dBus import * if __name__ == '__main__': app=QtCore.QCoreApplication(sys.argv) signal.signal(signal.SIGINT, signal.SIG_DFL) mainloop = dbus.mainloop.qt.DBusQtMainLoop(set_as_default=True) conn = dbus.SessionBus() name = dbus.service.BusName("org.veromix.pulseaudio.qt", conn) dbus.set_default_main_loop(mainloop) pulse = PulseAudio() bus = VeromixDbus(pulse,conn) i = Pa2dBus(bus, pulse) event_processor = VeromixEvent(i) pulse.set_receiver(event_processor) pulse.start_pulsing() app.exec_()