Move back to pyjack. Check for freewheel status periodically.
[jack_freewheel_button.git] / jacktimectl
blobc4c26eb3393e5dd19a5118815564dae43a014304
1 #!/usr/bin/python
3 import glib
4 import gtk
5 import jack
7 text_freewheel = "ON"
8 text_rtwheel = "OFF"
9 text_generic = "Free wheel: "
11 jclient_name = "jack_freewheel_button"
13 def on_button_toggled(button):
14 if button.get_active():
15 button.set_label(text_generic+text_freewheel)
16 jack.set_freewheel(1)
17 else:
18 button.set_label(text_generic+text_rtwheel)
19 jack.set_freewheel(0)
21 def timeout():
22 if jack.get_freewheel() > 0:
23 button.set_active(True)
24 else:
25 button.set_active(False)
27 return True
29 # Create objects
30 window = gtk.Window()
31 window.set_title("JACK time wheel control")
32 window.set_resizable(False)
33 window.set_decorated(False)
35 button = gtk.ToggleButton()
36 button.set_active(False)
37 button.set_label(text_generic+text_rtwheel)
39 # Connections
40 window.connect("delete-event", gtk.main_quit);
41 button.connect("toggled", on_button_toggled);
42 window.add(button)
44 # JACK
45 jack.attach(jclient_name)
46 jack.activate()
47 glib.timeout_add(300, timeout)
49 window.show_all()
51 gtk.main()
53 jack.deactivate()
54 jack.detach()