693a03f9ed9284eb976f4d11521b520a2cfd198d
[jack_freewheel_button.git] / jacktimectl
blob693a03f9ed9284eb976f4d11521b520a2cfd198d
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 button.set_sensitive(True)
20 jack.set_freewheel(0)
22 def timeout():
23 if jack.get_freewheel() > 0:
24 if button.get_active() == False:
25 button.set_active(True)
26 button.set_sensitive(False)
27 else:
28 button.set_active(False)
30 return True
32 # Create objects
33 window = gtk.Window()
34 window.set_title("JACK time wheel control")
35 window.set_resizable(False)
36 window.set_decorated(False)
38 button = gtk.ToggleButton()
39 button.set_active(False)
40 button.set_label(text_generic+text_rtwheel)
42 # Connections
43 window.connect("delete-event", gtk.main_quit);
44 button.connect("toggled", on_button_toggled);
45 window.add(button)
47 # JACK
48 jack.attach(jclient_name)
49 jack.activate()
50 glib.timeout_add(300, timeout)
52 window.show_all()
54 gtk.main()
56 jack.deactivate()
57 jack.detach()