Thibault Saunier [Sun, 1 Jul 2012 23:39:57 +0000 (19:39 -0400)]
pitivi-formatter: Make use of the Formatter:timeline protected field
Thibault Saunier [Sun, 1 Jul 2012 23:34:53 +0000 (19:34 -0400)]
formatter: Add a timeline protected field
Volodymyr Rudyi [Sat, 7 Apr 2012 21:30:03 +0000 (00:30 +0300)]
ges-pitivi-formatter: Fixed loading of projects with empty timeline
Because 'project-loaded' signal was triggered from track object loading
callback in case with projects that have empty timeline this signal was
never emitted.
Volodymyr Rudyi [Sat, 7 Apr 2012 21:08:43 +0000 (00:08 +0300)]
ges-formatter: Removed assert to allow saving projects with empty timeline
Removed assert in ges-formatter.c to allow saving projects with empty timeline.
Edward Hervey [Fri, 8 Jun 2012 12:27:34 +0000 (14:27 +0200)]
Automatic update of common submodule
From b811047 to 3baf58a
Edward Hervey [Wed, 6 Jun 2012 16:20:11 +0000 (18:20 +0200)]
Automatic update of common submodule
From b098abb to b811047
Edward Hervey [Fri, 1 Jun 2012 08:23:17 +0000 (10:23 +0200)]
Automatic update of common submodule
From 96f075b to b098abb
Sebastian Dröge [Wed, 30 May 2012 10:42:18 +0000 (12:42 +0200)]
Automatic update of common submodule
From 1e6c5ea to 96f075b
Sebastian Dröge [Wed, 30 May 2012 10:33:40 +0000 (12:33 +0200)]
Automatic update of common submodule
From ff4cad1 to 1e6c5ea
Sebastian Dröge [Wed, 30 May 2012 09:27:43 +0000 (11:27 +0200)]
Automatic update of common submodule
From 11f0cd5 to ff4cad1
Sebastian Dröge [Wed, 30 May 2012 09:24:29 +0000 (11:24 +0200)]
configure: Don't check for OBJC compiler
Thibault Saunier [Mon, 28 May 2012 02:55:12 +0000 (22:55 -0400)]
track: Make sure to remove the proper TrackObject from the GSequence
Thibault Saunier [Mon, 21 May 2012 23:38:10 +0000 (19:38 -0400)]
timeline: Do not use meaningless offset values when snapping
Thibault Saunier [Mon, 21 May 2012 22:10:29 +0000 (18:10 -0400)]
formatter: Disable updates when loading a project
Thibault Saunier [Mon, 21 May 2012 16:45:00 +0000 (12:45 -0400)]
videotransition: Some explanations about the invert property
Thibault Saunier [Mon, 21 May 2012 17:05:53 +0000 (13:05 -0400)]
videotransition: Misc cleanup in the smpte/crossfade transition type switches
Thibault Saunier [Mon, 21 May 2012 17:05:14 +0000 (13:05 -0400)]
videotransition: Do not wait pad to be blocked before switching transitions
... from smpte to crossfad and the other way around
This avoid useless async operations
Thibault Saunier [Fri, 18 May 2012 17:17:17 +0000 (13:17 -0400)]
timeline: Move all callbacks to the callback section of the file
Thibault Saunier [Fri, 18 May 2012 17:16:50 +0000 (13:16 -0400)]
timeline: Make the update property a GObject property
API: timeline::update property
Thibault Saunier [Fri, 18 May 2012 15:13:11 +0000 (11:13 -0400)]
timeline: Try to resnap at same snapping point before calculating new value
Thibault Saunier [Fri, 18 May 2012 14:33:44 +0000 (10:33 -0400)]
timeline: Avoid to recalculate the moving context unecessarly
Thibault Saunier [Fri, 18 May 2012 14:28:26 +0000 (10:28 -0400)]
timeline: Create a debug logging category for the timeline
Thibault Saunier [Wed, 16 May 2012 19:53:07 +0000 (15:53 -0400)]
timeline: Properly set TimelineFileSource-s duration and max duration
When we get the information of duration of files after discoverying them,
use that information to set the values on the TimelineFileSource-s
Thibault Saunier [Tue, 15 May 2012 18:38:38 +0000 (14:38 -0400)]
timeline-layer: Rework the way we calculate in which layer a TrackObject is
Thibault Saunier [Wed, 9 May 2012 16:12:38 +0000 (12:12 -0400)]
docs: Misc documentation fixing
Thibault Saunier [Wed, 9 May 2012 15:51:33 +0000 (11:51 -0400)]
tests: Add basic gaps tests
Thibault Saunier [Wed, 9 May 2012 15:45:02 +0000 (11:45 -0400)]
track: Properly fill gaps
API: GESCreateElementForGapFunc Virtual method type
API: ges_track_set_create_element_for_gap_func
Thibault Saunier [Wed, 9 May 2012 15:20:24 +0000 (11:20 -0400)]
track: Restructurate file so we have private method and API properly separeted
Thibault Saunier [Wed, 16 May 2012 16:23:52 +0000 (12:23 -0400)]
track: Use a GSequence to keep the sorted list of TrackObject-s
Use a GSequence instead of a GList to optimise the process.
Conflicts:
ges/ges-track.c
Thibault Saunier [Wed, 16 May 2012 16:59:33 +0000 (12:59 -0400)]
timeline: Make use of our own knowledge of the timeline duration
Do not use each Track durations as it end going in loop as we have the Tracks
that need to know about timeline's duration to create or not gaps in the end and
then the timeline references on Tracks duration for its duration. We have this
information locally so just make proper use of it.
Thibault Saunier [Fri, 18 May 2012 00:49:01 +0000 (20:49 -0400)]
timeline: Add a method to get the timeline duration
+ Bind it in python
API: ges_timeline_get_duration
Thibault Saunier [Thu, 10 May 2012 16:40:23 +0000 (12:40 -0400)]
track-object: Keep a reference to our gnlobject
Avoid refering to an object that doesn't exists and segfault in some cases.
We do not need to increase the reference to the gnlobj when the trackobject
is removed from a track because the TrackObject as its own reference and will
handle the disposal gracefully.
Add some guard around related APIs
Thibault Saunier [Tue, 8 May 2012 23:34:48 +0000 (19:34 -0400)]
timeline: Avoid segfault when debug logging
Mathieu Duponchelle [Sun, 6 May 2012 16:52:25 +0000 (18:52 +0200)]
track-video-transition: Make the invert property management coherent
Mathieu Duponchelle [Sun, 6 May 2012 02:52:40 +0000 (04:52 +0200)]
track-video-transition: Fix set_inverted
Thibault Saunier [Sat, 5 May 2012 16:31:28 +0000 (12:31 -0400)]
track-object: Set minimum value of max-duration to 0
GST_CLOCK_TIME_NONE was nonsense
Minor documentation fixing on the way
Edward Hervey [Thu, 3 May 2012 13:41:08 +0000 (15:41 +0200)]
ges: Remove invalid ' < 0' checks
It's an unsigned value, it will never be < 0.
Thibault Saunier [Thu, 3 May 2012 03:56:35 +0000 (23:56 -0400)]
Do no check if GLib >2.26 as we depend on GLib 2.28
Thibault Saunier [Thu, 3 May 2012 03:44:31 +0000 (23:44 -0400)]
track-video-transition: Properly emit notify for the invert and border properties
Thibault Saunier [Thu, 3 May 2012 03:43:50 +0000 (23:43 -0400)]
track-video-transition: Expose the transition type as a GObject property
API: GESTrackVideoTransition::transition-type property
Mathieu Duponchelle [Thu, 3 May 2012 01:35:16 +0000 (03:35 +0200)]
track-video-transition: expose border and inverted as GObject properties
Mathieu Duponchelle [Thu, 3 May 2012 00:44:00 +0000 (02:44 +0200)]
python : binds the getter and setter for the "inverted" property
Mathieu Duponchelle [Thu, 3 May 2012 00:28:41 +0000 (02:28 +0200)]
track-video-transition: Expose the invert property from smpte
Also, add/fixup some doc
API: ges_track_video_transition_get_inverted
API: ges_track_video_transition_set_inverted
Thibault Saunier [Wed, 2 May 2012 22:38:42 +0000 (18:38 -0400)]
track-video-transition: Reuse interpollation setting functions when possible
Thibault Saunier [Wed, 2 May 2012 22:07:01 +0000 (18:07 -0400)]
track-video-transition: Reindent header
Thibault Saunier [Wed, 2 May 2012 22:04:54 +0000 (18:04 -0400)]
track-video-transition: Add a way to get current border value
Add some documentation for the border property
Change the border value in set_border to a guint as the value can be negative
API: ges_track_video_transition_get_border
Mathieu Duponchelle [Tue, 1 May 2012 22:27:31 +0000 (00:27 +0200)]
build: Fixes distclean
Mathieu Duponchelle [Tue, 1 May 2012 21:42:47 +0000 (23:42 +0200)]
track-video-transition: Return pending type in transition_get_type when needed
Mathieu Duponchelle [Tue, 1 May 2012 14:01:39 +0000 (16:01 +0200)]
python: Binds the "set_border" function
Mathieu Duponchelle [Tue, 1 May 2012 23:09:07 +0000 (01:09 +0200)]
track-video-transition: expose the border property of smptealpha
API: ges_track_video_transition_set_border
Mathieu Duponchelle [Tue, 1 May 2012 23:08:08 +0000 (01:08 +0200)]
ges-track-video-transition: Enables switching from crossfade to smpte and vice versa
Fix the tests properly
Thibault Saunier [Wed, 25 Apr 2012 21:09:19 +0000 (17:09 -0400)]
docs: Add some more docs about editing mode
Also add the documentation "Section" into ges-enum.c so the file documentation ar
actualy taken into account in the final generated documentation.
Thibault Saunier [Wed, 25 Apr 2012 18:55:46 +0000 (14:55 -0400)]
timeline: Rework snapping signaling so it is easier to use
API: GESTimeline::snap-started signal
API: GESTimeline::snap-ended signal
(This code has not been released so we can still change the API)
Thibault Saunier [Tue, 24 Apr 2012 00:17:42 +0000 (20:17 -0400)]
trackobject: Take into account the max duration when trying to set a new duration
Change its default value to GST_CLOCK_TIME_NONE instead of 0.
(unreleased code so it still can be changed)
Thibault Saunier [Mon, 23 Apr 2012 23:20:18 +0000 (19:20 -0400)]
trackobject: Add API guards all around
Thibault Saunier [Mon, 23 Apr 2012 23:17:51 +0000 (19:17 -0400)]
trackobject: Add the copy method to the API
Add documentation and plug a leak at the same time.
API: ges_track_object_copy
Thibault Saunier [Mon, 23 Apr 2012 23:10:16 +0000 (19:10 -0400)]
timelineobject: Ignore notifies when needed
Thibault Saunier [Sun, 22 Apr 2012 19:24:25 +0000 (15:24 -0400)]
timelineobject: Fix wrong naming when connection to in-point notify
inpoint -> in-point
Thibault Saunier [Fri, 10 Feb 2012 19:58:14 +0000 (16:58 -0300)]
python: Bind the new Timeline editing mode API
Thibault Saunier [Sun, 22 Apr 2012 17:09:11 +0000 (13:09 -0400)]
timelineobject: Make changing start/duration sensible to snapping
Adapt the documentation so users are aware of the behaviour
Conflicts:
ges/ges-timeline-object.c
Thibault Saunier [Tue, 24 Apr 2012 00:55:27 +0000 (20:55 -0400)]
timeline: Minor documentations fixes
Thibault Saunier [Tue, 24 Apr 2012 00:54:15 +0000 (20:54 -0400)]
tests: Add a testsuite for the new timeline edition API
Thibault Saunier [Tue, 24 Apr 2012 00:52:45 +0000 (20:52 -0400)]
ges: Add a timeline edition mode API
+ timeline: Add a snapping-distance property
+ Bump the GLib dependency to 2.28 in the mean time as we need some functions from GSequence that only landed
+ Update the testsuite accordingly
API: GESTimeline:snapping-distance property
API: ges_timeline_object_edit
API: ges_timeline_object_ripple
API: ges_timeline_object_ripple_end
API: ges_timeline_object_roll_start
API: ges_timeline_object_roll_end
API: ges_timeline_object_trim_start
API: ges_track_object_edit
API: GESEdge enum
API: GESEditMode enum
Thibault Saunier [Sat, 21 Apr 2012 00:05:46 +0000 (20:05 -0400)]
tests: Add a basic test for the timeline_object_split method
Thibault Saunier [Fri, 20 Apr 2012 23:22:56 +0000 (19:22 -0400)]
timelineobject: Make the 'position' argument of the split method a guint64 not gin64
This makes more sense to be a guint64 as it actually is a GstClockTime,
and this way we keep the API concistent.
(This code has not been release so we can still change the API.)
Thibault Saunier [Fri, 20 Apr 2012 23:19:49 +0000 (19:19 -0400)]
timelineobject: Reimplement properly the splitting method
Thibault Saunier [Fri, 20 Apr 2012 23:02:19 +0000 (19:02 -0400)]
timelineobject: Misc API guard fixes
Thibault Saunier [Thu, 19 Apr 2012 04:34:59 +0000 (00:34 -0400)]
track-object: Add method to copy a TrackObject
API: ges_track_object_copy
Thibault Saunier [Tue, 17 Apr 2012 22:42:41 +0000 (18:42 -0400)]
ges-track-object: Make possible to add a track already containing a gnlobject to a track
Thiago Santos [Mon, 23 Apr 2012 17:40:26 +0000 (14:40 -0300)]
ges-timeline-pipeline: add todo to remember to remove hack
Remove playsink hack once we depend on gst-plugins-base 0.10.37
(next gst-plugins-base release)
Thiago Santos [Mon, 23 Apr 2012 17:38:31 +0000 (14:38 -0300)]
Revert "ges: timeline-pipeline: Remove playsink send_event hack"
This reverts commit
54aac450dab9ac052f2c0a913bfba5f77c1670ba.
We need this hack until we depend on gst-p-base 0.10.36
Thibault Saunier [Thu, 29 Mar 2012 22:57:47 +0000 (18:57 -0400)]
timeline-object: Add TrackObject to the Track after the TimelineObject
This way, the Track::track-object-added is emited after the TrackObject is ready to be used, and it make the API easier to use.
Thibault Saunier [Sun, 8 Apr 2012 01:40:07 +0000 (21:40 -0400)]
timeline-layer: Factor out a method to start observing timeline for auto-transitions
Thibault Saunier [Sun, 8 Apr 2012 01:24:18 +0000 (21:24 -0400)]
timeline-layer: Reorganize file
Thibault Saunier [Sun, 8 Apr 2012 01:04:21 +0000 (21:04 -0400)]
timeline-layer: Rework auto transition callbacks management
We now have a GESTrack::track-object-added signal so we now depend on it rather than on each GESTimelineObject::track-object-added signal.
Thibault Saunier [Fri, 30 Mar 2012 07:40:50 +0000 (03:40 -0400)]
timeline-object: Properly reflect contained TrackObject duration and inpoint properties changes
Thibault Saunier [Mon, 30 Jan 2012 21:55:59 +0000 (22:55 +0100)]
trackobject: Some documentation fixing
Thibault Saunier [Fri, 27 Jan 2012 15:04:00 +0000 (16:04 +0100)]
docs: Add ges_timeline_object_release_track_object
We need it especially in the case of effects
Thibault Saunier [Thu, 5 Apr 2012 00:47:04 +0000 (20:47 -0400)]
trackobject: Add API documentation
Thibault Saunier [Thu, 2 Feb 2012 18:29:30 +0000 (15:29 -0300)]
ges: Calm logging when not created TrackObject on purpose
Thibault Saunier [Sat, 31 Mar 2012 17:57:04 +0000 (13:57 -0400)]
timeline: Restructurate the file separting methods/callbacks/API
Thibault Saunier [Wed, 25 Jan 2012 14:12:05 +0000 (15:12 +0100)]
timelineobject: Emit effect-added when adding any kind of TrackEffect
We were only emitting it when working with TrackParseLaunch effects
Thibault Saunier [Wed, 1 Feb 2012 23:25:35 +0000 (20:25 -0300)]
docs: Tell users that adding an object to a timeline layer creates media related objects
Thibault Saunier [Fri, 20 Jan 2012 20:03:58 +0000 (17:03 -0300)]
ges: Misc debug loggin cleanup
Thibault Saunier [Fri, 20 Jan 2012 19:37:28 +0000 (16:37 -0300)]
timeline: Plug a leak when calling enable_update
Thibault Saunier [Mon, 23 Jan 2012 02:03:22 +0000 (23:03 -0300)]
timeline: Rework the append_layer method
ges_timeline_append_layer now creates a new layer, adds it to the timeline
and returns it
This code has not been released yet so we can break this API.
Thibault Saunier [Fri, 20 Jan 2012 17:36:36 +0000 (14:36 -0300)]
layer: Add a method to check if a layer is empty or not
API: ges_timeline_layer_is_empty
Thibault Saunier [Mon, 16 Jan 2012 12:37:22 +0000 (09:37 -0300)]
ges: Move the max-duration property from TrackFileSource to TrackObject
This property was firstly added to TrackFileSource, but in the end, it makes
more sense for it to be directly in TrackOject as it can be usefull in other cases.
Thibault Saunier [Fri, 30 Mar 2012 07:36:27 +0000 (03:36 -0400)]
timeline-layer: Do not call track_get_by_layer when track == NULL
Thiago Santos [Fri, 30 Mar 2012 22:10:33 +0000 (19:10 -0300)]
ges: timeline-pipeline: Remove playsink send_event hack
This is fixed now in upstream playsink, remove the hack
https://bugzilla.gnome.org/show_bug.cgi?id=673211
Thibault Saunier [Tue, 3 Apr 2012 23:25:18 +0000 (19:25 -0400)]
formatter: Try to figure out new paths when media files have moved
Introduces a dependency to GIO
Thibault Saunier [Mon, 30 Jan 2012 16:47:42 +0000 (17:47 +0100)]
timelineobject: Set TrackObject's TimelineObject only when calling the add function
ges_timeline_object_add_track_object actually calls
ges_track_object_set_timeline_object so do not do it once more ourself.
Especially since it results in having a TrackObject.timeline_object refering
to a TimelineObject it is not actually in yet.
Thibault Saunier [Fri, 27 Jan 2012 16:09:08 +0000 (17:09 +0100)]
timelineobject: Update the nb_effect when releasing a TrackEffect
Thibault Saunier [Mon, 23 Jan 2012 01:50:24 +0000 (22:50 -0300)]
ges: Add a way to know whether a timeline is updating on each changes
+ Bind the new API in python
API: ges_timeline_is_updating
API: ges_track_is_updating
Thibault Saunier [Thu, 26 Jan 2012 10:53:54 +0000 (11:53 +0100)]
trackobject: Enable adding a TrackObject in a Track before a TimelineObject
We were requiring it only for GESCustomTimelineSource, but it is not actually
necessary so, we can just check if the TrackObject is in a TimelineObject or
not, and react accordingly.
Thibault Saunier [Wed, 25 Jan 2012 11:47:24 +0000 (12:47 +0100)]
timeline-layer: Add a method to get the timeline it is currently in
API: ges_timeline_layer_get_timeline
Bind it in python
Volodymyr Rudyi [Tue, 27 Mar 2012 23:53:50 +0000 (02:53 +0300)]
ges-track: Set gnlobject state to NULL before disposing it
Work around a deadlock if setting state to NULL right before removing the
gnlobject from the composition.
https://bugzilla.gnome.org/show_bug.cgi?id=672751
Tim-Philipp Müller [Mon, 19 Mar 2012 10:56:53 +0000 (10:56 +0000)]
ges-pitivi-formatter: add copyright/license headers
https://bugzilla.gnome.org/show_bug.cgi?id=644943
Tim-Philipp Müller [Tue, 13 Mar 2012 11:36:15 +0000 (11:36 +0000)]
tests: fix weird windowsy code in save_and_load unit test
Fixes compiler error about FILENAME_MAX in 0.11
Tim-Philipp Müller [Mon, 12 Mar 2012 15:15:22 +0000 (15:15 +0000)]
configure: check for libxml2 explicitly
GStreamer may be built without the libxml2 dependency.