Mercurial > code > home > repos > light9
diff bin/ascoltami2 @ 907:cca75951554a
port ascoltami to Gst 1.0, work around the missing message signals
Ignore-this: c11f3e788d38fad6928e136035f3331a
author | Drew Perttula <drewp@bigasterisk.com> |
---|---|
date | Mon, 10 Jun 2013 08:28:06 +0000 |
parents | 224d6cd7e1e4 |
children | c2faa69099e6 |
line wrap: on
line diff
--- a/bin/ascoltami2 Mon Jun 10 07:04:12 2013 +0000 +++ b/bin/ascoltami2 Mon Jun 10 08:28:06 2013 +0000 @@ -1,7 +1,7 @@ #!bin/python from run_local import log -from twisted.internet import gtk2reactor, reactor -import web, thread, gobject, sys, optparse, logging +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 @@ -9,22 +9,17 @@ 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: +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 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) @@ -39,7 +34,8 @@ self.player.setSong(songLocation(graph, nextSong), play=False) if __name__ == "__main__": - gobject.threads_init() # this is in gtk2reactor too + GObject.threads_init() + Gst.init(None) parser = optparse.OptionParser() parser.add_option('--show', @@ -55,4 +51,6 @@ graph = showconfig.getGraph() app = App(graph, URIRef(options.show)) - app.run(networking.musicPlayer.port) + reactor.listenTCP(networking.musicPlayer.port, makeWebApp(app)) + log.info("listening on %s" % networking.musicPlayer.port) + reactor.run()