Mercurial > code > home > repos > light9
view bin/ascoltami2 @ 1993:a322fba0035c
tintable cyc effect
Ignore-this: 61408125389e6146f5835d56a26df07a
author | Drew Perttula <drewp@bigasterisk.com> |
---|---|
date | Sun, 09 Jun 2019 18:31:47 +0000 |
parents | f66dbe512025 |
children | 5154f5a23e85 |
line wrap: on
line source
#!bin/python from run_local import log from twisted.internet import reactor import sys, optparse, logging from rdflib import URIRef import gi gi.require_version('Gst', '1.0') gi.require_version('Gtk', '3.0') 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 from standardservice.scalessetup import gatherProcessStats from gi.repository import GObject, Gst gatherProcessStats() class App(object): def __init__(self, graph, show): self.graph = graph self.player = Player(onEOS=self.onEOS) self.show = show self.playlist = Playlist.fromShow(graph, show) 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() Gst.init(None) 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") parser.add_option("--twistedlog", action="store_true", help="twisted logging") (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)) if options.twistedlog: from twisted.python import log as twlog twlog.startLogging(sys.stderr) reactor.listenTCP(networking.musicPlayer.port, makeWebApp(app)) log.info("listening on %s" % networking.musicPlayer.port) reactor.run()