Mercurial > code > home > repos > light9
view bin/ascoltami2 @ 697:6e9b5ed1e863
finesse ui. add some mouse events on the points in a curve
Ignore-this: 69ed00763985926b92e776fc14298b45
author | Drew Perttula <drewp@bigasterisk.com> |
---|---|
date | Sat, 09 Jun 2012 10:28:06 +0000 |
parents | a301a0039c66 |
children | 8d87a3528369 |
line wrap: on
line source
#!bin/python import web, thread, gobject, sys, optparse, logging from rdflib import URIRef sys.path.append(".") from light9.ascoltami.player import Player from light9.ascoltami.playlist import Playlist, NoSuchSong from light9.ascoltami.webapp import makeWebApp from light9 import networking, showconfig import BaseHTTPServer BaseHTTPServer.BaseHTTPRequestHandler.log_message = \ lambda self, format, *args: None class App: def __init__(self, graph, show): self.graph = graph self.player = Player(onEOS=self.onEOS) self.show = show self.playlist = Playlist.fromShow(graph, show) def run(self, musicPort): # the cherrypy server would wedge when vidref pounds on it; this # one seems to run thread.start_new(web.httpserver.runbasic, (makeWebApp(self).wsgifunc(), ('0.0.0.0', musicPort))) mainloop = gobject.MainLoop() mainloop.run() def onEOS(self, song): self.player.pause() self.player.seek(0) # stop here for now- no go-button behavior return try: nextSong = self.playlist.nextSong(song) except NoSuchSong: # we're at the end of the playlist return self.player.setSong(nextSong, play=False) if __name__ == "__main__": logging.basicConfig() log = logging.getLogger() gobject.threads_init() parser = optparse.OptionParser() parser.add_option('--show', help='show URI, like http://light9.bigasterisk.com/show/dance2008', default=showconfig.showUri()) parser.add_option("-v", "--verbose", action="store_true", help="logging.DEBUG") (options, args) = parser.parse_args() log.setLevel(logging.DEBUG if options.verbose else logging.INFO) if not options.show: raise ValueError("missing --show http://...") graph = showconfig.getGraph() app = App(graph, URIRef(options.show)) app.run(networking.musicPlayer.port)