After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 647023 - When saving a project, the render settings are not saved
When saving a project, the render settings are not saved
Status: RESOLVED FIXED
Product: pitivi
Classification: Other
Component: General
Git
Other Linux
: Normal normal
: 0.14.1
Assigned To: Alex Băluț
Pitivi maintainers
Depends on:
Blocks:
 
 
Reported: 2011-04-07 12:07 UTC by Alex Băluț
Modified: 2011-06-12 14:24 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Alex Băluț 2011-04-07 12:07:21 UTC
After rendering a project with the following settings:
Container format: Matroska
Video Codec: x264enc
Audio Codec: AAC

..I save it, and the export-settings element in the xptv file looks like:
<export-settings aencoder="" audiochannels="2" audiodepth="16" audiorate="44100" muxer="oggmux" vencoder="" videoheight="540" videopar-denom="1" videopar-num="1" videorate-denom="1" videorate-num="50" videowidth="960" />

..but it should look like:
<export-settings aencoder="faac" audiochannels="2" audiodepth="16" audiorate="44100" muxer="matroskamux" vencoder="x264enc" videoheight="1080" videopar-denom="1" videopar-num="1" videorate-denom="1" videorate-num="50" videowidth="1920" />
Comment 1 Alex Băluț 2011-04-07 12:09:12 UTC
Please ignore the videoheight and videowidth attributes, what matters is that the following attributes are not saved correctly:
aencoder=""
muxer="oggmux"
vencoder=""
Comment 2 Alex Băluț 2011-04-21 07:36:32 UTC
I'm working on a fix.
Comment 3 Jean-François Fortin Tam 2011-05-20 13:02:23 UTC
In the actioner cleanup branch:
1. go in the render dialog, change the scale (to 25% for example)
2. close the rendering dialog
3. reopen the dialog 
4. The scale is now set to 100% but the resolution is lower
74c945ea70a167cd1b23293b36576262654dd8a3 is the first bad commit.

As hinted in comment 1, codecs and rendering-specific settings are the only things that should be saved. 

It should *not* override/reset the project settings such as resolution and amount of channels etc. The point is that you set your project settings, and then when you are rendering you may want to temporarily use different output settings to export to various other formats; but you should never lose the information that was set globally in the project settings.
Comment 4 Thibault Saunier 2011-05-22 23:03:45 UTC
commit 82970acd6a0738e2bfd5bd7ab70e0b3f9014640c
Author: Alex Băluț <alexandru.balut@gmail.com>
Date:   Sun May 1 23:58:58 2011 +0200

    Changed EncodingDialog to apply the settings changed in the UI to the project settings.
    Fixes bug 647023.
Comment 5 Jean-François Fortin Tam 2011-05-23 17:32:13 UTC
Partly fixed; my point about distinguishing project settings and rendering settings still stands:

> It should *not* override/reset the project settings such as resolution and
> amount of channels etc. The point is that you set your project settings, and
> then when you are rendering you may want to temporarily use different output
> settings to export to various other formats; but you should never lose the
> information that was set globally in the project settings.

I consider Project Settings to be independent of most rendering settings. Think of it as a parent-child relationship :) the child (rendering settings) should not override the project settings. The only things from rendering settings that should be saved in the project are things like the choices of containers/codecs/codec settings; basically, things that are not already set in the rendering settings

To summarize:
- remember the container/codec choices
- remember the codec settings
- remember render-specific settings (like "render only selected clips"), if any
- forget the rest, otherwise there's no point in having project settings!

An example to illustrate this:
- Let's say we have a 1280x720 23.97 fps project with stereo audio
- When rendering, we want to render to ten different output formats for publishing... some of them are mono, some of them are at 12 fps instead of 23.97, etc.

In this scenario, we don't want the actual project settings to be set to 12fps and mono sound. We only want this particular rendering instance to be set that way.

For what it's worth, that's also how other video editors (Vegas, Kdenlive, Premiere, ...) work. You can "temporarily override" the project settings at render time, but to permanently override them, you need to actually change the project settings.
Comment 6 Alex Băluț 2011-06-12 14:23:14 UTC
The side effects introduced by the fix of this bug have been fixed with the following commit:

commit 9f87204c75c2b936796dcd0ed78896212c2d0895
Author: Alex Băluț <alexandru.balut@gmail.com>
Date:   Thu May 26 16:56:09 2011 +0200

    Change the actioner.Renderer class to work with a settings instance which is not the settings instance of the project
    The reason is that the changes to the settings which can also be made in the Project Settings dialog must not be saved when they are changed in the Render dialog.