Mercurial > code > home > repos > light9
view bin/ascoltami2 @ 903:bca2e8d754aa
tripleFilter optimization on currentState. optimize how often curvecalc rebuilds Subterm objs
Ignore-this: 7402387bd9f4f99c2e7ef27b8dcfc4db
author | Drew Perttula <drewp@bigasterisk.com> |
---|---|
date | Mon, 10 Jun 2013 06:00:48 +0000 |
parents | 224d6cd7e1e4 |
children | cca75951554a |
line wrap: on
line source
#!bin/python from run_local import log from twisted.internet import gtk2reactor, reactor 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, songUri, songLocation from light9 import networking, showconfig 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 #gtk2reactor.install(useGtk=False) reactor.listenTCP(musicPort, makeWebApp(self)) log.info("listening on %s" % musicPort) reactor.run() def onEOS(self, song): self.player.pause() self.player.seek(0) thisSongUri = songUri(graph, URIRef(song)) try: nextSong = self.playlist.nextSong(thisSongUri) except NoSuchSong: # we're at the end of the playlist return self.player.setSong(songLocation(graph, nextSong), play=False) if __name__ == "__main__": gobject.threads_init() # this is in gtk2reactor too 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)