|
@@ -0,0 +1,49 @@
|
|
|
|
+#!/usr/bin/env python
|
|
|
|
+# PYTHON_ARGCOMPLETE_OK
|
|
|
|
+
|
|
|
|
+import sys
|
|
|
|
+import jack
|
|
|
|
+import time
|
|
|
|
+import argparse
|
|
|
|
+from gi.repository import GLib
|
|
|
|
+
|
|
|
|
+def shutdown(client, reason, loop):
|
|
|
|
+ print(reason)
|
|
|
|
+ loop.quit()
|
|
|
|
+
|
|
|
|
+def run():
|
|
|
|
+
|
|
|
|
+ loop = GLib.MainLoop()
|
|
|
|
+
|
|
|
|
+ client = jack.Client('client shutdown callback example');
|
|
|
|
+ client.set_shutdown_callback(shutdown, loop)
|
|
|
|
+ client.activate();
|
|
|
|
+
|
|
|
|
+ print('client name: ' + client.get_name())
|
|
|
|
+
|
|
|
|
+ try:
|
|
|
|
+ loop.run()
|
|
|
|
+ except KeyboardInterrupt:
|
|
|
|
+ print('keyboard interrupt')
|
|
|
|
+
|
|
|
|
+def _init_argparser():
|
|
|
|
+
|
|
|
|
+ argparser = argparse.ArgumentParser(description = None)
|
|
|
|
+ return argparser
|
|
|
|
+
|
|
|
|
+def main(argv):
|
|
|
|
+
|
|
|
|
+ argparser = _init_argparser()
|
|
|
|
+ try:
|
|
|
|
+ import argcomplete
|
|
|
|
+ argcomplete.autocomplete(argparser)
|
|
|
|
+ except ImportError:
|
|
|
|
+ pass
|
|
|
|
+ args = argparser.parse_args(argv)
|
|
|
|
+
|
|
|
|
+ run(**vars(args))
|
|
|
|
+
|
|
|
|
+ return 0
|
|
|
|
+
|
|
|
|
+if __name__ == '__main__':
|
|
|
|
+ sys.exit(main(sys.argv[1:]))
|