Thibault Saunier
2fae9ee50d
group: Make deep copying actually copy deep
...
Allowing pasting groups paste exactly what had been copied
And not the new version of the contained objects
This technically breaks the C API but this is a new API and I believe
and hope nobody is using it right now.
Reviewed-by: Thibault Saunier <thibault.saunier@collabora.com>
Differential Revision: https://phabricator.freedesktop.org/D616
2016-01-17 09:23:35 +01:00
Thibault Saunier
b75d9b11c6
Revert "timeline-element: Do not consider not serializable elements when getting top element"
...
This commit was causing issue where we were reporting the toplevel
element as an element but that element was actually in another
not serialized group. That is very tricky to handle for end users
as they are not guaranteed the toplevel clips were actually not
contained in another element.
This reverts commit ceb82ba302
.
Reviewed-by: Thibault Saunier <thibault.saunier@collabora.com>
Differential Revision: https://phabricator.freedesktop.org/D627
2016-01-17 09:23:16 +01:00
Sebastian Dröge
4997c455f4
ges: Fix various g-i warnings
2015-12-26 09:43:23 +01:00
Thibault Saunier
ceb82ba302
timeline-element: Do not consider not serializable elements when getting top element
...
Those are temporary elements that should not be considered when dealing
with the hierarchy of objects.
Fixes T3455
2015-12-21 18:12:40 +01:00
Justin Kim
731bda1592
timeline-element,track,framepositionner: don't leak internal object
...
https://bugzilla.gnome.org/show_bug.cgi?id=755247
2015-09-30 11:50:28 +02:00
Thibault Saunier
6fc6ce29f9
ges; Minor debug enhancement
2015-07-16 10:53:17 +02:00
Thibault Saunier
5885f58c14
element: Implement a paste method
...
Allowing user to copy paste clips very easily
2015-07-03 14:06:54 +02:00
Thibault Saunier
54be29e9ed
timeline-element: Add a method to get the TrackType it interacts with
...
API:
+ ges_timeline_element_get_track_types
2015-07-03 11:20:54 +02:00
Mathieu Duponchelle
e89dccc9aa
timeline-element: Disconnect child properties handlers.
...
Summary:
+ And freeze notifies while doing so.
We had a race with GstController which isn't MT safe, we can
fix it by propertly disconnecting signals, and making sure
no notifies are emitted while doing so.
Reviewers: thiblahute
Differential Revision: http://phabricator.freedesktop.org/D64
2015-03-31 15:32:08 +02:00
Thibault Saunier
7d0015b973
ges: Fix build for older GLib
...
The return type of g_hash_table_insert changed from void to boolean
2015-03-19 09:33:18 +01:00
Thibault Saunier
42477a5ec3
ges: Move the notion of children properties to GESTimelineElement
...
Summary:
Deprecate the old GESTrackElement children property handling API.
New APIs:
* ges_timeline_element_list_children_properties
* ges_timeline_element_lookup_child
* ges_timeline_element_get_child_property_by_pspec
* ges_timeline_element_get_child_property_valist
* ges_timeline_element_get_child_properties
* ges_timeline_element_set_child_property_valist
* ges_timeline_element_set_child_property_by_pspec
* ges_timeline_element_set_child_properties
* ges_timeline_element_set_child_property
* ges_timeline_element_get_child_property
* ges_timeline_element_add_child_property
* ges_timeline_element_remove_child_property
Deprecated APIs:
* ges_track_element_list_children_properties
* ges_track_element_lookup_child
* ges_track_element_get_child_property_by_pspec
* ges_track_element_get_child_property_valist
* ges_track_element_get_child_properties
* ges_track_element_set_child_property_valist
* ges_track_element_set_child_property_by_pspec
* ges_track_element_set_child_properties
* ges_track_element_set_child_property
* ges_track_element_get_child_property
* ges_track_element_add_child_property
Reviewers: Mathieu_Du
Differential Revision: http://phabricator.freedesktop.org/D40
2015-03-18 20:36:39 +01:00
Thibault Saunier
f470222f3d
Revert "ges: Move the notion of children properties to GESTimelineElement"
...
I got some trouble with
arc land
and I wanted to push the 3 commit coming after this revert as 3
different commits but they ended up being all squash into one single
commit, which is clearly not cool for later bisecting and blaming.
Reverting that commit and re pushing those 3 commits as they were
supposed to be.
This reverts commit 9fe15ef435
.
2015-03-18 20:33:48 +01:00
Thibault Saunier
9fe15ef435
ges: Move the notion of children properties to GESTimelineElement
...
Summary:
Deprecate the old GESTrackElement children property handling API.
New APIs:
* ges_timeline_element_list_children_properties
* ges_timeline_element_lookup_child
* ges_timeline_element_get_child_property_by_pspec
* ges_timeline_element_get_child_property_valist
* ges_timeline_element_get_child_properties
* ges_timeline_element_set_child_property_valist
* ges_timeline_element_set_child_property_by_pspec
* ges_timeline_element_set_child_properties
* ges_timeline_element_set_child_property
* ges_timeline_element_get_child_property
* ges_timeline_element_add_child_property
* ges_timeline_element_remove_child_property
Deprecated APIs:
* ges_track_element_list_children_properties
* ges_track_element_lookup_child
* ges_track_element_get_child_property_by_pspec
* ges_track_element_get_child_property_valist
* ges_track_element_get_child_properties
* ges_track_element_set_child_property_valist
* ges_track_element_set_child_property_by_pspec
* ges_track_element_set_child_properties
* ges_track_element_set_child_property
* ges_track_element_get_child_property
* ges_track_element_add_child_property
Reviewers: Mathieu_Du
Reviewed By: Mathieu_Du
Differential Revision: http://phabricator.freedesktop.org/D40
2015-03-18 20:23:55 +01:00
Thibault Saunier
b7daa03a6e
timeline-element: Properly handle setting name to NULL
2014-12-06 10:34:16 +01:00
Thibault Saunier
fd268f0387
element: Add a property allowing user to avoid serializing TimelineElements on demand
2014-11-10 17:03:46 +01:00
Tim-Philipp Müller
e1f92be62b
timeline-element: don't leak name string
2014-10-26 20:35:52 +00:00
Thibault Saunier
be23365899
ges: Do not forget to update the count when updating already used name
...
That could still lead to naming conflicts
2014-05-15 20:47:28 +02:00
Thibault Saunier
19df708207
ges: Avoid GESTimelineElement naming conflicts
...
When users (can be formatters) set timeline element names in the
default 'namespace' we need to update our counter to avoid setting
twice the same name on TimelineElements so afterward there is no
problem adding them in the GESTimeline
+ add a testcase to check that new code and fix leaks on the
existing testcases.
+ Sensibly enhance debugs
2014-05-14 22:29:44 +02:00
Mathieu Duponchelle
12a2d96a34
timeline-element: return TRUE in _set_name when both names match.
2014-05-08 14:26:41 +02:00
Thibault Saunier
1adb9a0030
Add a notion of 'name' in GESTimelineElement
...
https://bugzilla.gnome.org/show_bug.cgi?id=729382
2014-05-02 16:27:25 +02:00
Christoph Reiter
a66e674649
Include class related section documentation in the gir file.
...
g-ir-scanner includes section docs as class/interface docs if the section name is equal to the lowercase type name.
Since all the documentation is in section blocks, rename them to match the type names.
https://bugzilla.gnome.org/show_bug.cgi?id=727776
2014-04-07 22:13:25 +02:00
Thibault Saunier
9b050a54cd
container: Properly handle the case where we could not set parent
...
In this case we had a FIXME about reverting everything that was done,
implement that FIXME!
2014-03-15 20:01:48 +01:00
Thibault Saunier
9fa99df5a7
timeline-element: Add a set_parent vmethod
...
API:
GESTimelineElment->set_parent vmethod
2013-09-03 20:57:31 -04:00
Thibault Saunier
1e5bb2edf6
timelineelement: Make sure that we will never set a negative start
...
Currently we can end up overflowing the start of others child of our
parent, avoid that making sure we can set our start to what was
requested by the user before actually doing it
+ Add a test
2013-07-10 23:17:54 -04:00
Thibault Saunier
a933d9540d
ges: Implement a GESGroup class, subclass of GESContainer
...
The GESGroup class is used to group various GESContainer
together, it can contain either GESClips or GESGroup or both.
2013-07-09 16:47:00 -04:00
Thibault Saunier
bce084f4fd
timeline-element: Add a method to get the topelevel parent of an element
...
API:
ges_timeline_element_get_toplevel_parent
2013-07-09 22:13:42 +02:00
Thibault Saunier
b57f55121b
timeline-element: Make it possible to reset the timeline property to NULL
...
+ Add some debug symbol
2013-06-23 17:39:05 -04:00
Thibault Saunier
fa5ed5111d
Misc cleaning
2013-03-21 22:17:10 -03:00
Thibault Saunier
5b2183076a
timeline-element: Do not give a reference to the calles of g_object_get_property
...
... for both the "parent" and the "timeline" properties
Making things simpler to handle for the copy method.
2013-03-19 20:06:30 -03:00
Thibault Saunier
fceb80dda3
timeline-element: Set asset from the copied element to the new copy
2013-03-15 00:13:09 -03:00
Thibault Saunier
c72c14b398
timeline-element: Make it possible to reset parent to NULL
2013-03-15 00:13:08 -03:00
Thibault Saunier
25bcb023ca
timeline-element: Enhance debug statement and documentation
...
+ Accept NULL as a parent
2013-03-14 18:11:56 -03:00
Thibault Saunier
0cb8c671ea
timeline-element: Add a "timeline" property
2013-03-14 18:10:34 -03:00
Руслан Ижбулатов
7a81dd8669
ges-timeline-element: Fix GST_DEBUG_OBJECT invocations
...
Fixes #695267
2013-03-06 08:33:21 +01:00
Thibault Saunier
cb11f0d7c4
Add GESTimelineElement.{start, inpoint, duration, maxduration, priority} getters
2013-02-15 15:23:15 -03:00
Thibault Saunier
e48b959dde
timelineelement: Implement the notion of parenting
2013-02-15 14:42:04 -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