Skip to content

Instantly share code, notes, and snippets.

@mtwebster
Created August 26, 2016 20:23
Show Gist options
  • Save mtwebster/d9559821b6fb0f948f88f65e0ea9146d to your computer and use it in GitHub Desktop.
Save mtwebster/d9559821b6fb0f948f88f65e0ea9146d to your computer and use it in GitHub Desktop.
monitors sound events using libcvc (cinnamon)
#!/usr/bin/env python3
import gi
gi.require_version('Cvc', '1.0')
from gi.repository import Cvc, GLib
import signal
signal.signal(signal.SIGINT, signal.SIG_DFL)
class Main:
def __init__(self):
self.controller = Cvc.MixerControl(name = "sound-source-monitor")
self.controller.connect("stream-added", self.stream_added)
self.controller.connect("stream-removed", self.stream_removed)
self.controller.open()
print("Monitoring sound stream... ctrl-c to terminate\n\n")
def stream_added(self, controller, sid):
s = controller.lookup_stream_id(sid)
if s == None:
return
print("Stream added: ", sid,
s.get_application_id(),
s.get_name(),
s.get_description(),
s.get_sysfs_path())
def stream_removed(self, controller, sid):
print("Stream removed:", sid)
if __name__ == "__main__":
main = Main()
GLib.MainLoop.new(None, True).run()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment