summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorThibault Saunier <thibault.saunier@collabora.com>2013-03-14 16:09:37 -0300
committerThibault Saunier <thibault.saunier@collabora.com>2013-03-14 16:20:00 -0300
commit736df5abfd14d8e657ae3ee4850da0b531bc13b1 (patch)
treeaebf4816d511ca7a5ac944e388ae8f0730dec754 /docs
parenta43f5678076e644b4cab5d68f1f4aca8ca6814b6 (diff)
docs: Add an little explanation about the class hierarchie rework
Diffstat (limited to 'docs')
-rw-r--r--docs/random/rework_class_hierarchie.html103
1 files changed, 103 insertions, 0 deletions
diff --git a/docs/random/rework_class_hierarchie.html b/docs/random/rework_class_hierarchie.html
new file mode 100644
index 0000000..9d7109b
--- /dev/null
+++ b/docs/random/rework_class_hierarchie.html
@@ -0,0 +1,103 @@
+<!DOCTYPE html>
+<html>
+<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" >
+<title> Rework the GStreamer Editing Services class hierarchy </title>
+<xmp theme="cerulean" style="display:none;">
+
+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>
+</xmp>
+<script src="http://strapdownjs.com/v/0.1/strapdown.js"></script>
+</html>