diff --git a/docs/random/rework_class_hierarchie.html b/docs/random/rework_class_hierarchie.html new file mode 100644 index 0000000000..9d7109b14f --- /dev/null +++ b/docs/random/rework_class_hierarchie.html @@ -0,0 +1,103 @@ + + + + Rework the GStreamer Editing Services class hierarchy + + +Reasoning: +---------- + +All the time (position) related concepts are shared between GESTimelineObject and GESTrackObject +and currently are repeated at the 2 levels. +Moreover, if we want to add the concept of Group we end up with something quite similare to the current +GESTimelineObject but that contains GESTimelineObject-s instead of GESTrackObject-s so we could share +those informations creating a new class aiming at containing the objects that have that +notion of timing. + +At the same time, we want to clarify namings. First we should remove the word Object in class names, +we have been told various times that it sounds just "wrong" for people as Objects are instances and there +we are talking about Classes. + +Class Hierarchy: +------------- + +<pre><code> +<table> +<tr> + <td> + +Before: +------- + +GESTimelineObject + GESTimelineSource + GESCustomTimelineSource + GESTimelineTestSource + GESTimelineFileSource + GESTimelineTitleSource + GESTimelineOperation + GESTimelineOverlay + GESTimelineTextOverlay + GESTimelineTransition + GESTimelineTransition + GESTimelineEffect + GESTimelineParseLaunchEffect +GESTimelineLayer + GESSimpleTimelineLayer +GESTrackObject + GESTrackSource + GESTrackAudioTestSource + GESTrackFileSource + GESTrackImageSource + GESTrackTitleSource + GESTrackVideoTestSource + GESTrackOperation + GESTrackTransition + GESTrackAudioTransition + GESTrackVideoTransition + GESTrackEffect + GESTrackParseLaunchEffect + GESTrackTextOverlay + </td> + <td> + +After: +------- + +GESTimelineElement + GESContainer + GESClip + GESSourceClip + GESCustomSourceClip + GESTestClip + GESUriClip + GESTitleClip + GESOperationClip + GESOverlayClip + GESTextOverlayClip + GESBaseTransitionClip + GESTransitionClip + GESBaseEffectClip + GESEffectClip + GESClipGroup + GESTrackElement + GESSource + GESAudioTestSource + GESUriSource + GESImageSource + GESTitleSource + GESVideoTestSource + GESOperation + GESTransition + GESAudioTransition + GESVideoTransition + GESBaseEffect + GESEffect + GESTextOverlay + </td> + </tr> +</table> +</code></pre> + + +