Files
@ b0337e6f68f1
Branch filter:
Location: light9/bin/ascoltami2 - annotation
b0337e6f68f1
1.8 KiB
text/plain
refactor to videorecorder.py
Ignore-this: 3b3eeaa3e817b8ebea688e239624683b
Ignore-this: 3b3eeaa3e817b8ebea688e239624683b
a301a0039c66 224d6cd7e1e4 cca75951554a cca75951554a 1156d3531327 1156d3531327 1156d3531327 94039df5cdd9 8d87a3528369 1156d3531327 1156d3531327 cca75951554a cca75951554a cca75951554a 865532790e62 cca75951554a 94039df5cdd9 94039df5cdd9 94039df5cdd9 94039df5cdd9 94039df5cdd9 1156d3531327 94039df5cdd9 94039df5cdd9 94039df5cdd9 1156d3531327 8d87a3528369 8d87a3528369 94039df5cdd9 8d87a3528369 94039df5cdd9 94039df5cdd9 94039df5cdd9 8d87a3528369 94039df5cdd9 94039df5cdd9 cca75951554a cca75951554a 1156d3531327 94039df5cdd9 94039df5cdd9 46d319974176 94039df5cdd9 94039df5cdd9 94039df5cdd9 1156d3531327 94039df5cdd9 94039df5cdd9 94039df5cdd9 94039df5cdd9 94039df5cdd9 94039df5cdd9 94039df5cdd9 cca75951554a cca75951554a cca75951554a | #!bin/python
from run_local import log
from twisted.internet import gireactor, reactor
import web, thread, 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
import gi
gi.require_version('Gst', '1.0')
from gi.repository import GObject, Gst, Gtk
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")
(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))
reactor.listenTCP(networking.musicPlayer.port, makeWebApp(app))
log.info("listening on %s" % networking.musicPlayer.port)
reactor.run()
|