def __init__(self, app, project, pipeline=None): Loggable.__init__(self) GladeWindow.__init__(self) self.app = app self.project = project # clone the current project settings self.original_settings = self.project.getSettings() self.settings = self.original_settings.copy() self.project.setSettings(self.settings) # UI widgets self.window.set_icon_from_file(configure.get_pixmap_dir() + "/pitivi-render-16.png") Renderer.__init__(self, project, pipeline) ellipsize(self.muxercombobox) ellipsize(self.audio_encoder_combo) ellipsize(self.video_encoder_combo) self.timestarted = 0 self._displaySettings() self.window.connect("delete-event", self._deleteEventCb) self.settings.connect("settings-changed", self._settingsChanged) self.settings.connect("encoders-changed", self._settingsChanged)
def __init__(self, app, project, pipeline=None): Loggable.__init__(self) self.app = app self.builder = gtk.Builder() self.builder.add_from_file(os.path.join(configure.get_ui_dir(), "encodingdialog.ui")) self._setProperties() self.builder.connect_signals(self) # UI widgets icon = os.path.join(configure.get_pixmap_dir(), "pitivi-render-16.png") self.window.set_icon_from_file(icon) # FIXME: re-enable this widget when bug #637078 is implemented self.selected_only_button.destroy() # The Render dialog and the Project Settings dialog have some # common settings, for example the audio sample rate. # When these common settings are changed in the Render dialog, # we don't want them to be saved, so we create a copy of the project's # settings to be used by the Render dialog for rendering. render_settings = project.getSettings().copy() # Note: render_settings will end up as self.settings. Renderer.__init__(self, project, pipeline=pipeline, settings=render_settings) # Directory and Filename self.filebutton.set_current_folder(self.app.settings.lastExportFolder) self.updateFilename(self.project.name) # We store these so that when the user tries various container formats, # (AKA muxers) we select these a/v encoders, if they are compatible with # the current container format. self.preferred_vencoder = self.settings.vencoder self.preferred_aencoder = self.settings.aencoder self._initializeComboboxModels() self._displaySettings() self._displayRenderSettings() self.window.connect("delete-event", self._deleteEventCb) self.settings.connect("settings-changed", self._settingsChanged)
def __init__(self, app, project, pipeline=None): Loggable.__init__(self) GladeWindow.__init__(self) self.app = app # UI widgets self.progressbar = self.widgets["progressbar"] self.filebutton = self.widgets["filebutton"] self.settingsbutton = self.widgets["settingsbutton"] self.cancelbutton = self.widgets["cancelbutton"] self.recordbutton = self.widgets["recordbutton"] self.recordbutton.set_sensitive(False) self.vinfo = self.widgets["videoinfolabel"] self.ainfo = self.widgets["audioinfolabel"] self.window.set_icon_from_file(configure.get_pixmap_dir() + "/pitivi-render-16.png") Renderer.__init__(self, project, pipeline) self.timestarted = 0 self._displaySettings() self.window.connect("delete-event", self._deleteEventCb)
def _newProjectLoaded(self, project): if self.render_output: # create renderer and set output file self.actioner = Renderer(self.current, pipeline=None, outfile=self.output_file) elif self.preview: # create previewer and set ui self.actioner = Previewer(self.current, pipeline=None, ui=self.gui) # hack to make the gtk.HScale seek slider UI behave properly self.gui._durationChangedCb(None, project.timeline.duration) if self.actioner: self.actioner.connect("eos", self._eosCb) # on error, all we need to do is shutdown which is the same as we do for EOS self.actioner.connect("error", self._eosCb) # configure the actioner and start acting! self.actioner.startAction()
def _newProjectLoaded(self, project): # create renderer and set output file renderer = Renderer(project, outfile=self.outfile) self._setActioner(renderer)
def __init__(self, app, project, pipeline=None): Loggable.__init__(self) self.app = app self.builder = gtk.Builder() self.builder.add_from_file(os.path.join(configure.get_ui_dir(), "encodingdialog.ui")) self._setProperties() self.builder.connect_signals(self) # UI widgets icon = os.path.join(configure.get_pixmap_dir(), "pitivi-render-16.png") self.window.set_icon_from_file(icon) # FIXME: re-enable this widget when bug #637078 is implemented self.selected_only_button.destroy() # The Render dialog and the Project Settings dialog have some # common settings, for example the audio sample rate. # When these common settings are changed in the Render dialog, # we don't want them to be saved, so we create a copy of the project's # settings to be used by the Render dialog for rendering. render_settings = project.getSettings().copy() # Note: render_settings will end up as self.settings. Renderer.__init__(self, project, pipeline=pipeline, settings=render_settings) # Directory and Filename self.filebutton.set_current_folder(self.app.settings.lastExportFolder) self.updateFilename(self.project.name) # We store these so that when the user tries various container formats, # (AKA muxers) we select these a/v encoders, if they are compatible with # the current container format. self.preferred_vencoder = self.settings.vencoder self.preferred_aencoder = self.settings.aencoder self._initializeComboboxModels() self._displaySettings() self._displayRenderSettings() self.window.connect("delete-event", self._deleteEventCb) self.settings.connect("settings-changed", self._settingsChanged) # Monitor changes self.wg = RippleUpdateGroup() self.wg.addVertex(self.frame_rate_combo, signal="changed") self.wg.addVertex(self.save_render_preset_button, update_func=self._updateRenderSaveButton) self.wg.addVertex(self.channels_combo, signal="changed") self.wg.addVertex(self.sample_rate_combo, signal="changed") self.wg.addVertex(self.sample_depth_combo, signal="changed") self.wg.addVertex(self.muxercombobox, signal="changed") self.wg.addVertex(self.audio_encoder_combo, signal="changed") self.wg.addVertex(self.video_encoder_combo, signal="changed") self.render_presets = RenderPresetManager() self.render_presets.loadAll() self._fillPresetsTreeview( self.render_preset_treeview, self.render_presets, self._updateRenderPresetButtons) self.wg.addEdge(self.frame_rate_combo, self.save_render_preset_button) self.wg.addEdge(self.audio_encoder_combo, self.save_render_preset_button) self.wg.addEdge(self.video_encoder_combo, self.save_render_preset_button) self.wg.addEdge(self.muxercombobox, self.save_render_preset_button) self.wg.addEdge(self.channels_combo, self.save_render_preset_button) self.wg.addEdge(self.sample_rate_combo, self.save_render_preset_button) self.wg.addEdge(self.sample_depth_combo, self.save_render_preset_button) self._infobarForPresetManager = { self.render_presets: self.render_preset_infobar} # Bind widgets to RenderPresetsManager self.bindCombo(self.render_presets, "channels", self.channels_combo) self.bindCombo(self.render_presets, "sample-rate", self.sample_rate_combo) self.bindCombo(self.render_presets, "depth", self.sample_depth_combo) self.bindCombo(self.render_presets, "acodec", self.audio_encoder_combo) self.bindCombo(self.render_presets, "vcodec", self.video_encoder_combo) self.bindCombo(self.render_presets, "container", self.muxercombobox) self.bindCombo(self.render_presets, "frame-rate", self.frame_rate_combo) self.bindHeight(self.render_presets) self.bindWidth(self.render_presets) self.createNoPreset(self.render_presets)