Specs: Review design of effect implementation proposal

This commit is contained in:
Thibault Saunier 2010-12-04 12:22:54 +01:00 committed by Edward Hervey
parent 6e5d16ac6d
commit 36e742c114

View file

@ -18,10 +18,16 @@ API which would allow developers to handle any use-case
---------------- ----------------
* Effects are actually descendant of GESTrackOperation * Effects are actually descendant of GESTrackOperation
* You can add effects wherever you want
* You can add effects on any clip, layer or on part of them
* Effects are configurable and those could change during time * Effects are configurable and those could change during time
* We should be able to handle the gnome-video-effects standard * We should be able to handle the gnome-video-effects standard
* We can implement complexe effects
* We can implement complexe effects. It means effects that are more
than adding GstElement-s to the timeline. It can also mean effects
that are both: video and audio at the same time
2. Problems 2. Problems
---------- ----------
@ -31,6 +37,9 @@ API which would allow developers to handle any use-case
* We should be able to configure effects through an API in GES and * We should be able to configure effects through an API in GES and
not directly configuring the corresponding GstElement properties. not directly configuring the corresponding GstElement properties.
* We should also expose the GstElement-s contained in an effect so
it is possible for people to control their properties as they wish.
* We should be able to handle complexe effects. * We should be able to handle complexe effects.
* We should be able to implement complexe effects directly in GES * We should be able to implement complexe effects directly in GES
@ -45,10 +54,11 @@ API which would allow developers to handle any use-case
A. The registry A. The registry
We could implement a GESEffectRegistry which would actually We could implement a GESEffectRegistry which would actually
retrieve elements from the GSTRegistry which actually are effects, retrieve elements (effects) from the GSTRegistry and any other mean
as well as effects from gnome-video-effects. This way the developers such as gnome-video-effects to let us get all the effects that are present
could have the list of all the effects that are installed on the système on the system....
pretty easily. This way the developers could have the list of all the effects
that are installed on the system pretty easily.
B. Effects configurability B. Effects configurability
@ -81,16 +91,16 @@ C. Keyframes
The user wants to add an effect to an entire layer => GESTimelineLayer API. The user wants to add an effect to an entire layer => GESTimelineLayer API.
The developer wants to allow his users to configure effects => mapping between The developer wants to allow his users to configure effects => mapping between
GESTrackEffect and the configurable properties of elements (GESEffect). GESTrackEffect and the configurable properties of elements (GESEffect).
The user wants to add an effect on a special portion of a clip, we should The user wants to add an effect on a special portion of a clip, we should
allow him to configure that thanks to a system of keyframes. FIXME allow him to configure that thanks to a system of keyframes. FIXME
We want to implement an effect which isn't only composed by a bin, but is more We want to implement an effect which isn't only composed by a bin, but is more
complexe than that (ex: "effect '24'") => we have the GESTrackOperation complexe than that (ex: "effect '24'") => we have the GESTrackOperation
which is the base class (abstract) for this kind of implementation. We should which is the base class (abstract) for this kind of implementation. We should
also have a GESPropertiesMapping abstract class which would be the base also have a GESPropertiesMapping abstract class which would be the base
class of GESEffect and could be used in this use-case. class of GESEffect and could be used in this use-case.
A developer wants to implement effect which handle music and video at the same A developer wants to implement effect which handle music and video at the same