Effects: xml and widgets refactoring
Current effect parameter has some limitations that we would like to fix in relation to the dopesheet goal (#1400)
This lists some of the changes we plan to do for this task:
Refactor [xml effects description](https://invent.kde.org/multimedia/kdenlive/-/blob/master/data/effects/README.md?ref_type=heads) to allow:
- [ ] better validation checks
- [ ] better design for widgets handling multiple parameters, for example a `Point` widget to indicate a coordinate on screen, that would be represented in the effect by 2 parameters: `x`, `y`. That means xml parameters are not a 1:1 map of MLT params, but can represent several MLT params in one xml param.
- [ ] allow some kind of groups, that could allow to have a header text for some parameters: for example for hsl primaries, we have multiple values for hue, same for saturation and value. Having a way to groupe them could help.
- [ ] Allow parameters that can have multiple entries. For example some parameters could take an arbitrary number of points or of gradients.
- [ ] Introduce new widgets for gradients and points
- [ ] Ensure existing widgets are well optimized to use the strict minimum space
- [ ] Think about how we want to display comments and param descriptions in the UI
- [ ] Add a tag to inform the app if a parameter can be displayed on monitor or not (by default all animated rectangles and all points should show up, but also in some cases rotation or more)
Some open questions:
- Should we use MLT's widget description ?
task