Exemple #1
0
    def __init__(self, name="", uri=None, **kwargs):
        """
        @param name: the name of the project
        @param uri: the uri of the project
        """
        Loggable.__init__(self)
        self.log("name:%s, uri:%s", name, uri)
        self.name = name
        self.settings = None
        self.description = ""
        self.uri = uri
        self.urichanged = False
        self.format = None
        self.sources = SourceList()
        self.sources.connect("source-added", self._sourceAddedCb)
        self.sources.connect("source-removed", self._sourceRemovedCb)

        self._dirty = False

        self.timeline = Timeline()

        self.factory = TimelineSourceFactory(self.timeline)
        self.pipeline = Pipeline()
        self.view_action = ViewAction()
        self.view_action.addProducers(self.factory)
        self.seeker = Seeker(80)

        self.settings = ExportSettings()
        self._videocaps = self.settings.getVideoCaps()
Exemple #2
0
    def __init__(self, name="", uri=None, **kwargs):
        """
        name : the name of the project
        uri : the uri of the project
        """
        Loggable.__init__(self)
        self.log("name:%s, uri:%s", name, uri)
        self.name = name
        self.settings = None
        self.description = ""
        self.uri = uri
        self.urichanged = False
        self.format = None
        self.sources = SourceList()
        self.sources.connect("source-removed", self._sourceRemovedCb)

        self.settingssigid = 0
        self._dirty = False

        self.timeline = Timeline()

        self.factory = TimelineSourceFactory(self.timeline)
        self.pipeline = Pipeline()
        self.view_action = ViewAction()
        self.view_action.addProducers(self.factory)
 def _viewFactory(self, factory):
     # FIXME: we change the viewer pipeline unconditionally for now
     # we need a pipeline for playback
     pipeline = Pipeline()
     action = ViewAction()
     action.addProducers(factory)
     self.viewer.setPipeline(None)
     # FIXME: why do I have to call viewer.setAction ?
     self.viewer.setAction(action)
     self.viewer.setPipeline(pipeline)
     self.viewer.play()
Exemple #4
0
    def addAction(self):
        self.debug("action %r", self.action)
        if self.action == None:
            if self.actioner == self.RENDERER:
                self.pipeline.connect('position', self._positionCb)
            self.pipeline.connect('eos', self._eosCb)
            self.pipeline.connect('error', self._errorCb)
            self.debug("Setting pipeline to STOP")
            self.pipeline.stop()
            self.debug("Creating action")
            if len(self.pipeline.factories) == 0:
                sources = [self.project.factory]
            else:
                sources = [
                    factory for factory in self.pipeline.factories
                    if isinstance(factory, SourceFactory)
                ]
            if self.actioner == self.PREVIEWER:
                self.action = ViewAction()
                self.action.addProducers(*sources)
                self.ui.setAction(self.action)
                self.ui.setPipeline(self.pipeline)
            elif self.actioner == self.RENDERER:
                settings = export_settings_to_render_settings(
                    self.settings, self.have_video, self.have_audio)
                self.action = render_action_for_uri(self.outfile, settings,
                                                    *sources)
            #else:
            # BIG FAT ERROR HERE

            self.debug("setting action on pipeline")
            self.pipeline.addAction(self.action)
            self.debug("Activating action")
            self.action.activate()
            if self.actioner == self.RENDERER:
                self.debug("Setting all active ViewAction to sync=False")
                for ac in self.pipeline.actions:
                    if isinstance(ac, ViewAction) and ac.isActive():
                        ac.setSync(False)
            self.debug("Updating all sources to render settings")
            self._changeSourceSettings(self.settings)
            self.debug("setting pipeline to PAUSE")
            self.pipeline.pause()
            self.debug("done")
Exemple #5
0
 def _getDefaultAction(self):
     return ViewAction()
Exemple #6
0
 def _createAction(self, sources):
     action = ViewAction()
     action.addProducers(*sources)
     self.ui.setAction(action)
     self.ui.setPipeline(self.pipeline)
     return action