On 09/06/2011 09:53 AM, jb wrote:
> On 09/05/2011 04:48 PM, Till Theato wrote:
>>>> In my version, we simple put one xml copy for each version of
>>>> the filter, and Kdenlive will only load the correct version.
>>> The attached patch is what i came up with. As I already said I
>>> will drop the adopt function (and therefore the changes in
>>> initeffects.cpp) again. With your system where should the routines
>>> part be placed?
> (...)
> I have to think more about this effect upgrade stuff. Should we support
> only upgrading or also downgrading? Things might become complicated if
> an effect has 4 different versions and we want to allow every possible
> change (12 possibilites if I count correctly...)
>

So after a good coffee, here is my proposal:

  1 - Move the upgrade code from trackview to documentvalidator (which 
is a more logical place for updates to the document)

2 - Put the upgrade code in a different xml file, called like the 
kdenlive_id of the effect, for example frei0r.balanc0r upgrade code 
could be in a file called frei0rbalanc0r.upgrade

3 - In documentvalidator, we load all upgrade xml in a QMap <QString, 
QDomElement> using the file name as key.

4 - In documentvalidator, we parse all effects and if we have a version 
under the current one and the effect has an entry in the previously 
created list, we trigger the update.

What do you think about that?

regards
jb


Reply via email to