Commit graph

700 commits

Author SHA1 Message Date
Thibault Saunier 9ee94b3d40 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
2012-05-10 14:49:59 -04:00
Thibault Saunier 20e7d4349c timeline: Avoid segfault when debug logging 2012-05-08 19:43:51 -04:00
Mathieu Duponchelle dd55b0084b track-video-transition: Make the invert property management coherent 2012-05-06 14:10:17 -04:00
Mathieu Duponchelle c22fa97088 track-video-transition: Fix set_inverted 2012-05-06 13:11:11 -04:00
Thibault Saunier 43b815925a track-object: Set minimum value of max-duration to 0
GST_CLOCK_TIME_NONE was nonsense

Minor documentation fixing on the way
2012-05-05 12:34:26 -04:00
Edward Hervey 151f491549 ges: Remove invalid ' < 0' checks
It's an unsigned value, it will never be < 0.
2012-05-03 15:41:08 +02:00
Thibault Saunier 7a7690a9e0 Do no check if GLib >2.26 as we depend on GLib 2.28 2012-05-02 23:56:35 -04:00
Thibault Saunier 686792609a track-video-transition: Properly emit notify for the invert and border properties 2012-05-02 23:49:08 -04:00
Thibault Saunier 26aebe2d3d track-video-transition: Expose the transition type as a GObject property
API: GESTrackVideoTransition::transition-type property
2012-05-02 23:49:08 -04:00
Mathieu Duponchelle fa7e9a4d39 track-video-transition: expose border and inverted as GObject properties 2012-05-02 23:18:29 -04:00
Mathieu Duponchelle 7e4bcd950b 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
2012-05-02 23:05:25 -04:00
Thibault Saunier 959bc5e0cb track-video-transition: Reuse interpollation setting functions when possible 2012-05-02 20:18:09 -04:00
Thibault Saunier b891eb042c track-video-transition: Reindent header 2012-05-02 20:18:09 -04:00
Thibault Saunier d780cf474f 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
2012-05-02 20:18:09 -04:00
Mathieu Duponchelle 1a3fde1bee track-video-transition: Return pending type in transition_get_type when needed 2012-05-02 20:18:09 -04:00
Mathieu Duponchelle 15c7e9738c track-video-transition: expose the border property of smptealpha
API: ges_track_video_transition_set_border
2012-05-02 20:18:09 -04:00
Mathieu Duponchelle 1e6c82fb3c ges-track-video-transition: Enables switching from crossfade to smpte and vice versa
Fix the tests properly
2012-05-02 20:18:09 -04:00
Thibault Saunier 9e21741b90 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.
2012-04-25 17:09:19 -04:00
Thibault Saunier 28d73a4441 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)
2012-04-25 16:13:44 -04:00
Thibault Saunier 606a788314 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)
2012-04-23 22:03:12 -04:00
Thibault Saunier 5cae3f844f trackobject: Add API guards all around 2012-04-23 22:03:12 -04:00
Thibault Saunier 6735e877b3 trackobject: Add the copy method to the API
Add documentation and plug a leak at the same time.

API: ges_track_object_copy
2012-04-23 22:03:11 -04:00
Thibault Saunier c238b356fe timelineobject: Ignore notifies when needed 2012-04-23 22:03:11 -04:00
Thibault Saunier f06ca66012 timelineobject: Fix wrong naming when connection to in-point notify
inpoint -> in-point
2012-04-23 22:03:11 -04:00
Thibault Saunier cb29c31337 timelineobject: Make changing start/duration sensible to snapping
Adapt the documentation so users are aware of the behaviour

Conflicts:

	ges/ges-timeline-object.c
2012-04-23 22:03:11 -04:00
Thibault Saunier 91b55adec2 timeline: Minor documentations fixes 2012-04-23 22:03:11 -04:00
Thibault Saunier 2fd5364927 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
2012-04-23 22:03:11 -04:00
Thibault Saunier beae7dbd34 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.)
2012-04-23 20:33:58 -04:00
Thibault Saunier f6c060b3fb timelineobject: Reimplement properly the splitting method 2012-04-23 20:33:58 -04:00
Thibault Saunier 30d9ba2acf timelineobject: Misc API guard fixes 2012-04-23 20:25:08 -04:00
Thibault Saunier efc28fd35e track-object: Add method to copy a TrackObject
API: ges_track_object_copy
2012-04-23 20:25:08 -04:00
Thibault Saunier 7b0797c992 ges-track-object: Make possible to add a track already containing a gnlobject to a track 2012-04-23 20:25:07 -04:00
Thiago Santos 299e186480 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)
2012-04-23 14:40:26 -03:00
Thiago Santos 094669391d Revert "ges: timeline-pipeline: Remove playsink send_event hack"
This reverts commit 54aac450da.

We need this hack until we depend on gst-p-base 0.10.36
2012-04-23 14:38:31 -03:00
Thibault Saunier 2741a8fb38 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.
2012-04-07 22:26:08 -04:00
Thibault Saunier 2e43caf911 timeline-layer: Factor out a method to start observing timeline for auto-transitions 2012-04-07 22:26:08 -04:00
Thibault Saunier e172c294fe timeline-layer: Reorganize file 2012-04-07 22:26:08 -04:00
Thibault Saunier 64b4a38494 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.
2012-04-07 22:24:55 -04:00
Thibault Saunier 259af361bc timeline-object: Properly reflect contained TrackObject duration and inpoint properties changes 2012-04-07 22:24:55 -04:00
Thibault Saunier c783f4140a trackobject: Some documentation fixing 2012-04-07 22:24:55 -04:00
Thibault Saunier 8ae1cddae2 trackobject: Add API documentation 2012-04-07 22:24:55 -04:00
Thibault Saunier ad5bc85516 ges: Calm logging when not created TrackObject on purpose 2012-04-07 22:24:55 -04:00
Thibault Saunier 979b9ac0b6 timeline: Restructurate the file separting methods/callbacks/API 2012-04-07 22:24:55 -04:00
Thibault Saunier 1c04feace0 timelineobject: Emit effect-added when adding any kind of TrackEffect
We were only emitting it when working with TrackParseLaunch effects
2012-04-07 22:24:55 -04:00
Thibault Saunier 83dc13c63d docs: Tell users that adding an object to a timeline layer creates media related objects 2012-04-07 22:24:55 -04:00
Thibault Saunier a1aa78cd28 ges: Misc debug loggin cleanup 2012-04-07 22:24:55 -04:00
Thibault Saunier 4b34d2bbb3 timeline: Plug a leak when calling enable_update 2012-04-07 22:24:55 -04:00
Thibault Saunier 7e7059d37d 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.
2012-04-07 22:24:55 -04:00
Thibault Saunier 4a881a43d9 layer: Add a method to check if a layer is empty or not
API: ges_timeline_layer_is_empty
2012-04-07 22:24:55 -04:00
Thibault Saunier 4c26b89e3c 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.
2012-04-07 22:24:55 -04:00