Commit graph

139 commits

Author SHA1 Message Date
Thibault Saunier
aa740d86bd Remove GESTrackElements from GESTracks when removing from a GESClip
... Not the other way round.

  + Add and enhance debugging info on the way

The user should not be responsible for removing the GESTrackElements from
GESTracks, instead, removing it from a GESClip should imply removing
it from any GESTrack it is in.

This patch changes sensibly the behaviour when we remove a
GESTrackElement from a GESTrack, not remoing it from the GESClip it is
in. *But*, users should never remove a GESTrackElement from a GESTrack
anyway. The testsuite has been updated to that new behaviour.
2013-03-15 11:17:06 -03:00
Thibault Saunier
7943bb510a ges: Make GESTimeline responsible for adding GESTrackElement to GESTrack
+ Fix tests as necessary (Do not use agingtv as it can be "applied" on any TrackType
    	   and is not representative of what happens IRL)

We already had the infrastructure so the user can have the control over where to add
the elements (through the "select-track-for-object" signal). We now make use of that
signal everytime a GESClip is added to a GESTimelineLayer. This make user's life easier,
and object responsability clearer.
2013-03-15 00:13:09 -03:00
Thibault Saunier
795b8df1b6 Implement GESContainer
+ Fix unit tests
  + Minor enhancement in unit tests

API changes:
-----------
  * ges_track_element_get_clip     -> ges_timeline_element_get_parent
  * ges_clip_add_track_element     -> ges_container_add
  * ges_clip_release_track_element -> ges_container_remove
  * ges_clip_get_track_elements    -> ges_container_get_children
                                      (or GES_CONTAINER_CHILDREN)
2013-03-15 00:13:08 -03:00
Thibault Saunier
0888e5e25b Rename object/tobj/trobj to clip or track_element as necessary
Not really complete but it is a good start!
2013-02-15 16:26:30 -03:00
Thibault Saunier
7f3c952737 Finish renaming tck_obj and derivate to track_element 2013-02-15 15:23:16 -03:00
Thibault Saunier
d21791a8d0 Rename GESTimelineLayer.xxx_object to GESTimelineLayer.xxx_clip 2013-02-15 15:23:15 -03:00
Thibault Saunier
ec1db99266 track: Rename all GESTrack.xxx_object to GESTrack.xxx_element 2013-02-15 15:23:15 -03:00
Thibault Saunier
fc8f06eedb Properly rename object-added to clip-added 2013-02-15 15:23:15 -03:00
Thibault Saunier
4ddcfb642d Finish renaming timeline object to clip 2013-02-15 15:23:15 -03:00
Thibault Saunier
b4e1131b70 Finish renaming track object to track element 2013-02-15 15:23:15 -03:00
Thibault Saunier
3f97a05c11 Rename GESTrackTransition to GESTransition 2013-02-15 14:42:06 -03:00
Thibault Saunier
6363d0fdad Rename GESTrackSource to GESSource 2013-02-15 14:42:06 -03:00
Thibault Saunier
d69964fd2a Rename GESTrackObject to GESTrackElement 2013-02-15 14:42:05 -03:00
Thibault Saunier
6f4315b75d Rename GESStandardTransitionClip to GESTransitionClip 2013-02-15 14:42:04 -03:00
Thibault Saunier
d7693b4014 Rename GESTimelineStandardTransition to GESStandardTransitionClip 2013-02-15 14:42:03 -03:00
Thibault Saunier
b73cf7c3d7 Rename GESTimelineTransition to GESTransitionClip 2013-02-15 14:42:03 -03:00
Thibault Saunier
04a3c49ebd Rename GESTimelineObject to GESClip 2013-02-15 14:42:02 -03:00
Thibault Saunier
f0359481c0 Add a GESTimelineElement base class
+ Port GESTrackObject and GESTimelineObject to the new baseclass
2013-02-15 14:42:02 -03:00
Thibault Saunier
02652902f5 Reimplement the auto-transition feature
+ Actually implement unit tests
2013-01-10 18:53:15 -03:00
Thibault Saunier
9791fc541b timeline: Minor refactoring 2013-01-10 18:01:33 -03:00
Thibault Saunier
eeef1548b3 timeline: Avoid recreating the moving_tlobjs when unecessary 2013-01-10 13:32:15 -03:00
Thibault Saunier
8888a3a698 Misc debug message enhancements 2013-01-10 12:46:33 -03:00
Thibault Saunier
92a67092d5 timeline: Keep track of whether updates are enabled or not
Check if we want to track Track-s enable status and update our status according
to that
2013-01-10 12:46:33 -03:00
Thibault Saunier
7f10881dd2 timeline: Track TrackObject-s by layer 2013-01-10 11:50:02 -03:00
Thibault Saunier
af326df8bd utilities: Make internal utilities instead of copy/pasting functions 2013-01-10 11:15:32 -03:00
Thibault Saunier
1b8126d349 timeline: Remove dead macros 2013-01-10 11:11:30 -03:00
Thibault Saunier
31e1ea3840 timeline: Use g_sequence_sort_changed when appropriate 2013-01-10 11:11:28 -03:00
Thibault Saunier
cf93469fa5 Misc nitpick fixing 2012-12-30 23:12:28 -03:00
Thibault Saunier
c5ad871d1c Implement a GESAssetTrackObject class
+ Addapt the rest of the code to make use of it
2012-12-29 19:38:12 -03:00
Sebastian Dröge
bc0f335734 Allow applications to select to which track a track object should be added
Modifies some  API:
    ges_timeline_object_create_track_objects now take a GESTrackType instead of a
        GESTrack as second argument, and return a GList instead of a boolean
    ges_timeline_object_create_track_object now take a GESTrackType instead of a
        GESTrack as second argument
2012-12-29 19:36:52 -03:00
Thibault Saunier
2b4c4cfc0c timeline: Properly popullate the tracks field with GESTrack-s
+ add priv_tracks private field that contained TrackPrivate structures

We now have 2 list containing our tracks, one with TrackPrivate structures, and one the
GESTrack-s themselves.
2012-12-29 19:36:52 -03:00
Thibault Saunier
5a56aef7c0 Misc documentation fixing 2012-12-29 19:36:52 -03:00
Thibault Saunier
45c7f609da timeline: Make use of the Project API for timeline saving
API:
    *  Add a formatter_type paramatter to ges_timeline_save_to_uri
2012-12-29 19:36:50 -03:00
Thibault Saunier
8ff97af65d timeline: Implement the GESMetaContainerInterface 2012-12-19 18:59:51 -03:00
Thibault Saunier
dbab748bfc timeline: Implement the GESExtractable interface 2012-12-19 18:59:50 -03:00
Thibault Saunier
543ab28228 timeline: Make timeline->track and timeline->layers public fields 2012-12-19 18:59:50 -03:00
Thibault Saunier
a7280fb59d ges: Implement the ges_timeline_layer_add_asset method
+ Remove GstDiscoverer related code in GESTimeline as we do not need it anymore
  + Refactor the ges_timeline_layer_add_object method to make sure it is still working as intended

API:
  ges_timeline_layer_add_asset
2012-12-19 18:59:48 -03:00
Thibault Saunier
97973f1eba Remove the GESKeyFileFormatter
It was using deprecated URI, and can not be used in real life anymore.

Also remove the ges_formatter_default_new method ges_formatter_new_for_uri
that are useless now
2012-12-19 11:45:37 -03:00
Thibault Saunier
346b04ecb4 timeline: Keep track of GSequenceIter for each GESTrackObject
This way we do not have to look for them in the sequence itself, and
make things simpler
2012-12-19 11:45:37 -03:00
Tim-Philipp Müller
426fffb6c3 Fix FSF address 2012-11-04 00:25:20 +00:00
Thibault Saunier
52edf1704d formatter: Add GError everywhere needed in the API
We should give as much information as possible to the user when serialization/deserialization doesn't work.
2012-09-23 02:37:12 +02:00
Thibault Saunier
933d41f15d timeline: Plug a leak in the movecontext code 2012-09-23 02:37:12 +02:00
Thibault Saunier
37e6cb43cf Misc documentation fixing 2012-08-18 15:32:54 -04:00
Thibault Saunier
f32fdf13b7 Merge remote-tracking branch 'origin/0.10'
Conflicts:
	bindings/python/ges.defs
	ges/ges-screenshot.c
	ges/ges-track-video-transition.c
2012-05-26 17:00:50 -04:00
Thibault Saunier
7012280e48 timeline: Do not use meaningless offset values when snapping 2012-05-21 19:39:10 -04:00
Thibault Saunier
861a06e7ce timeline: Move all callbacks to the callback section of the file 2012-05-19 13:57:36 -04:00
Thibault Saunier
c199c24507 timeline: Make the update property a GObject property
API: timeline::update property
2012-05-19 13:57:36 -04:00
Thibault Saunier
4c79afcbe4 timeline: Try to resnap at same snapping point before calculating new value 2012-05-19 13:57:36 -04:00
Thibault Saunier
9913d48e5c timeline: Avoid to recalculate the moving context unecessarly 2012-05-19 13:57:35 -04:00
Thibault Saunier
5a29478c2d timeline: Create a debug logging category for the timeline 2012-05-19 13:57:35 -04:00