tap.py 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. import argparse
  2. import logging
  3. from src.server import GestureServer
  4. from src.window import FullscreenWindow
  5. from src.trackers.tap import TapTracker
  6. from src.logger import Logger
  7. # Parse arguments
  8. parser = argparse.ArgumentParser(description='Basic test program for usage '
  9. 'of multi-touch API.')
  10. parser.add_argument('--log', metavar='LOG_LEVEL', default='INFO',
  11. choices=['DEBUG', 'INFO', 'WARNING'],
  12. help='set log level (defaults to INFO)')
  13. parser.add_argument('--logfile', metavar='FILENAME',
  14. help='filename for the log file (the log is printed to '
  15. 'stdout by default)')
  16. args = parser.parse_args()
  17. # Configure logger
  18. log_config = {'level': getattr(logging, args.log)}
  19. if args.logfile:
  20. log_config['filename'] = args.logfile
  21. Logger.configure(**log_config)
  22. # Create server
  23. server = GestureServer()
  24. # Create a window to add trackers to
  25. win = FullscreenWindow(server=server)
  26. # Above is short for:
  27. #win = FullscreenWindow()
  28. #server.add_window(win)
  29. # Add tracker and handlers
  30. tracker = TapTracker(win)
  31. def handler(gesture): pass
  32. #print 'handler:', gesture
  33. tracker.bind('tap', handler)
  34. tracker.bind('single_tap', handler)
  35. tracker.bind('double_tap', handler)
  36. # Start listening to TUIO events
  37. try:
  38. server.start()
  39. except KeyboardInterrupt:
  40. server.stop()