-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 09/06/2011 12:49 PM, jb wrote: > 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...)
That is up to the individual filter. frei0r_levels.js can do both way because it's very easy. After the release we should add an proper message in case updating didn't work. >> > > 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? Very good idea! Thanks a lot. I did an implementation similar to your proposal in r5858. Still have to test, document, update the frei0r filters, their xml files and write update rules. I will try to do it asap. regards Till -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAk5mjrgACgkQzwEyz7QP6nTfxACgsBaHR4wxXsK4R88P+GMcZQxT rEoAoK3GMWNjy5GtCWMf1nt14At4JvEV =zMAV -----END PGP SIGNATURE-----