All pastes #1362335 Raw Edit

Bablyon AD Test #2

public python v1 · immutable
#1362335 ·published 2009-03-16 16:04 UTC
rendered paste body
from PyQt4 import QtCore, QtGui, QtOpenGLfrom PyQt4.phonon import *from MainWindow import *import sysclass VideoPreviewWidget(Phonon.VideoWidget):    def __init__(self, source, aspect = Phonon.VideoWidget.AspectRatioWidget):        Phonon.VideoWidget.__init__(self)                if source[0:7] == 'http://':            print "Setting source to url"            source = QtCore.QUrl(source)                    self.mediaObject = Phonon.MediaObject()        self.mediaSource = Phonon.MediaSource(source)        self.mediaObject.setCurrentSource(self.mediaSource)                self.setAspectRatio(aspect)        Phonon.createPath(self.mediaObject, self)        #self.audioObject = Phonon.AudioOutput(Phonon.VideoCategory)        #Phonon.createPath(self.mediaObject, self.audioObject)        self.connect(self.mediaObject, QtCore.SIGNAL("stateChanged(Phonon::State)"), self.updateState)    def play(self):        self.mediaObject.play()    def updateState(self, state):        print "State changed"    def player(self):        return selfclass BabylonAD(QtGui.QMainWindow):    def __init__(self):        QtGui.QMainWindow.__init__(self, None)        self.ui = Ui_MainWindow()        self.ui.setupUi(self)        self.displayMainWidget()        self.displayWidgets()            def displayMainWidget(self):        self.scene = QtGui.QGraphicsScene()        self.widget = VideoPreviewWidget('/home/ninjachrist/1.avi')        self.proxy = QtGui.QGraphicsProxyWidget()        self.proxy.setWidget(self.widget)        self.proxy.show()        self.scene.addItem(self.proxy)                self.view = QtGui.QGraphicsView(self.scene)        self.view.setViewport(QtOpenGL.QGLWidget())        self.view.show()                        self.ui.video.addWidget(self.view)        self.widget.play()            def displayWidgets(self):        self.verticalPlayers = []        for i in [1, 2, 3, 4]:            widget = VideoPreviewWidget('/home/ninjachrist/1.avi')            self.verticalPlayers.append(widget)                self.scenes = []        self.views = []        self.proxies = []                for player in self.verticalPlayers:            scene = QtGui.QGraphicsScene()                        proxy = QtGui.QGraphicsProxyWidget()            proxy.setWidget(player)            proxy.show()            proxy.setCacheMode(QtGui.QGraphicsItem.NoCache)            self.proxies.append(proxy)                        scene.addItem(proxy)            self.scenes.append(scene)                        view = QtGui.QGraphicsView(scene)            view.setViewportUpdateMode(QtGui.QGraphicsView.BoundingRectViewportUpdate);            self.view.setViewport(QtOpenGL.QGLWidget())            view.show()            self.views.append(view)            self.ui.left.addWidget(view)            player.play()            if __name__ == "__main__":    app = QtGui.QApplication(sys.argv)    app.setApplicationName("test2")    babylon = BabylonAD()    babylon.show()    sys.exit(app.exec_())