Lubosz Sarnecki [Thu, 20 Jun 2013 12:23:26 +0000 (14:23 +0200)]
timeline: fix segfaults
don't call the timeline update, when the reference is invalid
https://bugzilla.gnome.org/show_bug.cgi?id=702605
Tim-Philipp Müller [Tue, 18 Jun 2013 12:32:38 +0000 (13:32 +0100)]
autogen.sh: generate from common module, fixing srcdir != builddir build
https://bugzilla.gnome.org/show_bug.cgi?id=702424
Tim-Philipp Müller [Tue, 18 Jun 2013 12:14:48 +0000 (13:14 +0100)]
Add .doap file
Needed for common/update-autogen, but generally not a bad idea.
Mathieu Duponchelle [Tue, 30 Apr 2013 17:16:10 +0000 (19:16 +0200)]
ges-uri-asset.c: Fix ges_uri_asset_request_sync annotations.
Thibault Saunier [Wed, 12 Jun 2013 15:32:16 +0000 (11:32 -0400)]
project: Disable update in the project rather than the formatter
We need to make sure the update are disabled until the project is fully
loaded, let the responsability to the project instead of the formatter
Thibault Saunier [Wed, 12 Jun 2013 15:09:13 +0000 (11:09 -0400)]
timeline: Sync track enable_update property with parent
When we add a track to a timeline, we want it "enable update" property
to be set to the timeline's
Thibault Saunier [Wed, 12 Jun 2013 14:48:03 +0000 (10:48 -0400)]
ges-launch: Make use of assets for uri clips
It avoids races in TrackElement creations.
We should make use of assets everywhere in ges-launch but start using
them for uriclips first for now.
Sebastian Dröge [Wed, 5 Jun 2013 13:18:36 +0000 (15:18 +0200)]
Automatic update of common submodule
From 098c0d7 to 01a7a46
Thibault Saunier [Thu, 30 May 2013 15:40:36 +0000 (11:40 -0400)]
tests: Pass a ref of CAPS_ANY to ges_track_new
Thibault Saunier [Wed, 29 May 2013 20:48:03 +0000 (16:48 -0400)]
tests: Add a basic test for pipeline state change
Add some test utils to create a pipeline
Thibault Saunier [Wed, 29 May 2013 18:05:52 +0000 (14:05 -0400)]
ges: Protect from Gst dynamic callbacks
The pad-added and no-more-pad signal can be emited from any thread
so we have to protect our code from that
Thibault Saunier [Thu, 23 May 2013 19:52:35 +0000 (15:52 -0400)]
track: Update all gaps when timeline duration changed
And add a unit test to check that a gap is created in empty tracks
Thibault Saunier [Thu, 23 May 2013 17:16:22 +0000 (13:16 -0400)]
Finish renaming filesource to urisource
Thibault Saunier [Thu, 23 May 2013 15:57:42 +0000 (11:57 -0400)]
track: Update gaps when we set the timeline
Sebastian Dröge [Tue, 28 May 2013 06:51:08 +0000 (08:51 +0200)]
ges-pitivi-formatter: Remove some unneeded includes and clean up includes
Fixes the build on Windows, where there's no unistd.h... which wasn't
needed at all.
https://bugzilla.gnome.org/show_bug.cgi?id=701115
Thibault Saunier [Tue, 28 May 2013 02:10:03 +0000 (22:10 -0400)]
tests: Use the gst_check_run_suite helper everywhere
Using GST_CHECK_MAIN where appropriate
This way it is possible to specify an XML file to store tests results in
Sebastian Dröge [Wed, 15 May 2013 08:55:22 +0000 (10:55 +0200)]
Automatic update of common submodule
From 5edcd85 to 098c0d7
Nicolas Dufresne [Tue, 5 Mar 2013 22:09:18 +0000 (17:09 -0500)]
Update gitignore
Nicolas Dufresne [Tue, 5 Mar 2013 22:07:29 +0000 (17:07 -0500)]
GESAssetLoadingReturn cannot be internal
The enumeration is referenced in a public API.
Thibault Saunier [Sun, 5 May 2013 10:13:24 +0000 (11:13 +0100)]
clip: Avoid corruption of our list of children while ungrouping
Anton Belka [Wed, 24 Apr 2013 12:25:20 +0000 (15:25 +0300)]
tests: add project auto-transition test
Anton Belka [Wed, 24 Apr 2013 12:23:44 +0000 (15:23 +0300)]
tests: add timeline auto-transition test
Anton Belka [Wed, 24 Apr 2013 12:18:01 +0000 (15:18 +0300)]
timeline: add auto-transition
API:
ges_timeline_get_auto_transition
ges_timeline_set_auto_transition
GESTimeline::auto-transition
Thibault Saunier [Tue, 30 Apr 2013 17:26:57 +0000 (18:26 +0100)]
basexmlformatter: Do not allow empty file loading
Thibault Saunier [Sat, 27 Apr 2013 06:45:29 +0000 (03:45 -0300)]
video-test-src: Force video/x-raw
Avoiding to hit errors with video/x-bayer
Mathieu Duponchelle [Sun, 21 Apr 2013 19:35:22 +0000 (21:35 +0200)]
audiotransition: Add a resampler in the audio transition bin
Mathieu Duponchelle [Sun, 21 Apr 2013 17:21:14 +0000 (19:21 +0200)]
audiotransition: Fix porting error of the interpollator
+ update debug statements s/LOG/INFO
(acontrolsource != bcontrolsource)
Thibault Saunier [Sat, 27 Apr 2013 06:44:40 +0000 (03:44 -0300)]
test-clip: Do not set black/silent by default
Mathieu Duponchelle [Wed, 24 Apr 2013 01:50:40 +0000 (03:50 +0200)]
replace query_caps with get_current_caps. don't check for unused gnlobject.
Thibault Saunier [Tue, 23 Apr 2013 23:04:04 +0000 (20:04 -0300)]
Rename GESTimelineLayer to GESLayer
Thibault Saunier [Tue, 23 Apr 2013 22:57:44 +0000 (19:57 -0300)]
layer: Remove the "rate" property of ges_timeline_layer_add_asset
API:
- ges_timeline_layer_add_asset (layer, asset, start, inpoint, duration, rate, track_types);
+ ges_timeline_layer_add_asset (layer, asset, start, inpoint, duration, track_types);
Mathieu Duponchelle [Tue, 23 Apr 2013 20:38:23 +0000 (22:38 +0200)]
trackelement: asynchronously add bindings if the track-element is not in a track yet.
Also fix annotations.
Thibault Saunier [Mon, 22 Apr 2013 20:34:09 +0000 (17:34 -0300)]
formatter: Pass a dummy instance of formatter to virtual method
Instead of passing the class itself
Tim-Philipp Müller [Mon, 22 Apr 2013 22:56:03 +0000 (23:56 +0100)]
Automatic update of common submodule
From 3cb3d3c to 5edcd85
Thibault Saunier [Mon, 22 Apr 2013 12:41:26 +0000 (09:41 -0300)]
Fix compilation
Thibault Saunier [Mon, 22 Apr 2013 00:29:29 +0000 (21:29 -0300)]
xml-formatter: Use G_GUINT64_FORMAT where needed
Thibault Saunier [Mon, 22 Apr 2013 00:13:00 +0000 (21:13 -0300)]
uri-clip-asset: Add "_class_" to a class method
API CHANGE:
- ges_uri_clip_asset_set_timeout
+ ges_uri_clip_asset_class_set_timeout
Thibault Saunier [Mon, 22 Apr 2013 00:11:52 +0000 (21:11 -0300)]
ges: Fix compilation with clang
Thibault Saunier [Fri, 19 Apr 2013 22:58:21 +0000 (19:58 -0300)]
project: Accept NULL as a valid value for @id in _create_asset
Thibault Saunier [Thu, 18 Apr 2013 21:41:02 +0000 (18:41 -0300)]
tests: Check splitting a clip with several TrackElement
Thibault Saunier [Fri, 19 Apr 2013 00:45:18 +0000 (21:45 -0300)]
clip: Rework the splitting method
+ Avoid setting clip duration of our parent ourself
Now each and every TrackElement inside a clip have the same
start/inpoint/duration
Thibault Saunier [Thu, 18 Apr 2013 21:59:52 +0000 (18:59 -0300)]
ges: Fix compilation
Thibault Saunier [Thu, 18 Apr 2013 21:37:17 +0000 (18:37 -0300)]
pipeline: Add API guards where needed
Thibault Saunier [Wed, 17 Apr 2013 19:51:30 +0000 (16:51 -0300)]
pipeline: Add a GError argument
Thibault Saunier [Wed, 17 Apr 2013 19:48:05 +0000 (16:48 -0300)]
pipeline: Return FALSE in save_thumbnail when the operation fails
Mathieu Duponchelle [Sun, 14 Apr 2013 23:30:10 +0000 (01:30 +0200)]
tests:timelineedition: Add a simple trimming test
Thibault Saunier [Mon, 15 Apr 2013 02:19:02 +0000 (23:19 -0300)]
container: The TimelineElement.inpoint property is call "in-point" not inpoint
Thibault Saunier [Fri, 22 Mar 2013 22:44:28 +0000 (19:44 -0300)]
ges-clip: Remove the unlocked TrackElement APIs
Remove APIs:
ges_track_element_set_locked
ges_track_element_is_locked
Those APIs where really not nice to use and were causing more issues
than solving them. If 2 time related properties of TimelineElement must
be different, then those element can *not* have the same parent.
Plus, with the new ges_container_group () API, we will recreate 1
GESClip containing the proper GESTimelineElements if it is the thing
to do.
Thibault Saunier [Fri, 22 Mar 2013 22:34:14 +0000 (19:34 -0300)]
pitivi-formatter: Remove broken code to handle unlocked track object
WARNING: The plan is to remove unlocked track object APIs so this is
the first part of that process... that code was already broken, and
*needs* to be fixed anyway, better do it using new APIs
Thibault Saunier [Fri, 22 Mar 2013 21:43:30 +0000 (18:43 -0300)]
pitivi-formatter: Remove saving code
Tim-Philipp Müller [Sun, 14 Apr 2013 16:58:38 +0000 (17:58 +0100)]
Automatic update of common submodule
From aed87ae to 3cb3d3c
Stefan Sauer [Tue, 9 Apr 2013 19:03:03 +0000 (21:03 +0200)]
Automatic update of common submodule
From 04c7a1e to aed87ae
Thibault Saunier [Tue, 9 Apr 2013 03:02:14 +0000 (00:02 -0300)]
timeline: call sync_state_with_parent when adding a child
Thibault Saunier [Sun, 31 Mar 2013 14:07:14 +0000 (16:07 +0200)]
track-element: Rename set_property_controlling_parameters set_control_source
+ Generate the documentation
Mathieu Duponchelle [Sat, 30 Mar 2013 17:54:50 +0000 (18:54 +0100)]
[Keyframes] Adds API to set a control binding on a track element, and the serialization code.
Thibault Saunier [Sat, 30 Mar 2013 14:40:38 +0000 (15:40 +0100)]
Changing remaining clip::track-element-added to container::child-added
Thibault Saunier [Sat, 30 Mar 2013 13:35:45 +0000 (14:35 +0100)]
pipeline: Implement the video overlay interface
Thibault Saunier [Sat, 30 Mar 2013 12:37:43 +0000 (13:37 +0100)]
ges-launch: Do no create "normal" timeline when you load a project
Thibault Saunier [Sat, 30 Mar 2013 12:34:56 +0000 (13:34 +0100)]
timeline-pipeline: Enhance API guards
Thibault Saunier [Sat, 30 Mar 2013 12:34:36 +0000 (13:34 +0100)]
timeline: Do no unref the timeline before returning it
Thibault Saunier [Sat, 30 Mar 2013 11:30:47 +0000 (12:30 +0100)]
container: s/get_priorty_range/get_priority_range/
Thibault Saunier [Fri, 29 Mar 2013 14:50:12 +0000 (15:50 +0100)]
timeline: Comment some variables goals
Thibault Saunier [Thu, 28 Mar 2013 18:00:25 +0000 (19:00 +0100)]
tests:effect: Do not re-add effect to the track
Thibault Saunier [Sun, 24 Mar 2013 17:42:55 +0000 (18:42 +0100)]
container: Let subclasses handle the height
+ Fix tests (starting using GESTestClip instead of GESCustomClip)
Now the height is not only growing, but can also go down, as the value
is just simply computed
API:
GESContainer::compute_height virtual method
Thibault Saunier [Sat, 23 Mar 2013 08:46:38 +0000 (09:46 +0100)]
container: Properly implement ges_container_group
Thibault Saunier [Sat, 23 Mar 2013 07:48:43 +0000 (08:48 +0100)]
test:basic: Do not add useless references, and minor improvements
Thibault Saunier [Sat, 23 Mar 2013 07:45:00 +0000 (08:45 +0100)]
clip: Emit notify signal when setting Clip.layer
Thibault Saunier [Sat, 23 Mar 2013 07:14:55 +0000 (08:14 +0100)]
timeline: Remove TrackElement from its container on GESTimelineLayer::"clip-removed"
.... when the Track is NULL
Thibault Saunier [Sat, 23 Mar 2013 06:27:46 +0000 (03:27 -0300)]
container: Make sure that the child exists when emiting the "child-removed" signal
+ Add a test
Thibault Saunier [Sat, 23 Mar 2013 06:26:33 +0000 (03:26 -0300)]
container: Replace ignore_notify by a GESChildrenControlMode flag
Thibault Saunier [Sat, 23 Mar 2013 04:35:02 +0000 (01:35 -0300)]
container: Stop ignoring notifies if ->add_child fails
Thibault Saunier [Sat, 23 Mar 2013 04:33:39 +0000 (01:33 -0300)]
internal: Add a element_end_compare
Thibault Saunier [Sat, 23 Mar 2013 04:31:23 +0000 (01:31 -0300)]
timeline-element: Add a macro to get element 'end'
Thibault Saunier [Fri, 22 Mar 2013 20:39:04 +0000 (17:39 -0300)]
ges: Keep ges-gerror categories simple.
Thibault Saunier [Fri, 22 Mar 2013 01:17:10 +0000 (22:17 -0300)]
Misc cleaning
Thibault Saunier [Fri, 22 Mar 2013 01:12:47 +0000 (22:12 -0300)]
track-element: Make ges_track_element_set_track internal
Removed API:
+ ges_track_element_set_track
Thibault Saunier [Fri, 22 Mar 2013 01:03:09 +0000 (22:03 -0300)]
ges: Make ges_clip_create_track_element(s) internal methods
+ Fix tests (we still need a round of modernisation, making use of
assets where it makes sense)
There is no reason to use those method outside of GES, so remove them,
cleaning the API and making it easier for users.
Removed APIs:
-----------
* ges_clip_create_track_element
* ges_clip_create_track_elements
Thibault Saunier [Fri, 22 Mar 2013 00:42:31 +0000 (21:42 -0300)]
tests::uriclip: Use a real file to test still images
+ Make use of GESAssets
And do proper refactoring
Thibault Saunier [Wed, 20 Mar 2013 00:07:58 +0000 (21:07 -0300)]
uri-asset: Properly handle images and do not duplicate the TrackType
Thibault Saunier [Tue, 19 Mar 2013 22:49:09 +0000 (19:49 -0300)]
uri-asset: Implement a ges_uri_clip_asset_request_sync method
This way we let the possibility to the user to actually do it, but we avoid him to do it
without knowing it is absolutely not recommanded to.
API:
+ ges_uri_clip_asset_request_sync
Thibault Saunier [Mon, 18 Mar 2013 15:41:06 +0000 (12:41 -0300)]
Start categorizing GError types in GES
Thibault Saunier [Mon, 18 Mar 2013 13:03:19 +0000 (10:03 -0300)]
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.
Thibault Saunier [Mon, 18 Mar 2013 13:02:10 +0000 (10:02 -0300)]
clip: Make it mandatory that a clip is in a layer to be splittable
Otherwize we will not be able to describe if the returned object has a floating reference or not, and this would screw the introspection.
Thibault Saunier [Mon, 18 Mar 2013 12:49:18 +0000 (09:49 -0300)]
Use gst_object_ref_sink instead of g_object_ref_sink when appropriate
Making refcount issue debugging simpler
Thibault Saunier [Sat, 16 Mar 2013 22:05:04 +0000 (19:05 -0300)]
Always prefer gst_object_(un)ref over g_object_(un)ref
Making the refcount issue debugging easier
Thibault Saunier [Fri, 15 Mar 2013 15:01:58 +0000 (12:01 -0300)]
clip: Make set/is_moving_from_layer internal
Thibault Saunier [Fri, 15 Mar 2013 14:58:59 +0000 (11:58 -0300)]
clip: Reindent header and make ges_clip_set_layer internal
Thibault Saunier [Fri, 15 Mar 2013 14:32:48 +0000 (11:32 -0300)]
track: Cleanup header and add a FIXME
Thibault Saunier [Fri, 15 Mar 2013 03:01:47 +0000 (00:01 -0300)]
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.
Thibault Saunier [Thu, 14 Mar 2013 16:53:25 +0000 (12:53 -0400)]
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.
Thibault Saunier [Thu, 14 Mar 2013 15:14:31 +0000 (11:14 -0400)]
Add a GESEffectAsset class, and make sure to set the GESTrackType asap on effects
+ Make use of the asset in ges_effect_new
Thibault Saunier [Sun, 3 Mar 2013 14:50:10 +0000 (11:50 -0300)]
ges: Use GESAsset in clip contructors when possible
Thibault Saunier [Sun, 3 Mar 2013 14:16:10 +0000 (11:16 -0300)]
timeline-element: Set asset from the copied element to the new copy
Thibault Saunier [Sat, 2 Mar 2013 21:35:34 +0000 (18:35 -0300)]
container: Add a ges_container_group method
+ Add some basic unit tests
API:
GESContainer:group vmethod
ges_container_group
Thibault Saunier [Sat, 2 Mar 2013 01:26:01 +0000 (22:26 -0300)]
track: Do not remove a TrackElement from a NULL clip
Thibault Saunier [Fri, 1 Mar 2013 23:25:17 +0000 (20:25 -0300)]
container: Add a way to ungroup a GESContainer into several GESContainers
+ Add simple unit test
API:
GESContainerClass::ungroup vmethod
ges_container_ungroup
Thibault Saunier [Sat, 2 Mar 2013 01:05:45 +0000 (22:05 -0300)]
timeline-element: Make it possible to reset parent to NULL
Thibault Saunier [Fri, 1 Mar 2013 22:18:10 +0000 (19:18 -0300)]
Fix some documentations
Thibault Saunier [Fri, 1 Mar 2013 01:27:50 +0000 (22:27 -0300)]
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)
Thibault Saunier [Fri, 1 Mar 2013 14:03:18 +0000 (11:03 -0300)]
docs: Remove ges_clip_lock_track_elements
it does not exist anymore...