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
Thibault Saunier
4c28e59046
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
2012-05-19 13:57:35 -04:00
Thibault Saunier
1e3e7c5276
docs: Misc documentation fixing
2012-05-19 13:57:35 -04:00
Thibault Saunier
171bf8e627
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.
2012-05-19 13:40:00 -04:00
Thibault Saunier
ce8afba367
timeline: Add a method to get the timeline duration
...
+ Bind it in python
API: ges_timeline_get_duration
2012-05-19 13:39:45 -04:00
Thibault Saunier
406bc5fe28
Merge remote-tracking branch 'origin/0.10'
2012-05-10 14:56:34 -04:00
Thibault Saunier
20e7d4349c
timeline: Avoid segfault when debug logging
2012-05-08 19:43:51 -04:00
Thibault Saunier
2e52fe15f0
Merge remote-tracking branch 'origin/0.10'
...
Conflicts:
bindings/python/ges.defs
ges/ges-track-video-transition.c
2012-05-05 13:02:20 -04: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
b1a8596256
Merge remote-tracking branch 'origin/0.10'
...
Conflicts:
bindings/python/ges-types.defs
bindings/python/ges.defs
bindings/python/ges.override
configure.ac
ges/ges-timeline.c
2012-04-25 17:54:36 -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
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
4be360c4e5
Port to the new GMutex API
2012-04-20 14:18:34 -04:00
Thibault Saunier
672a162062
Merge branch '0.10'
...
Conflicts:
bindings/python/ges.defs
2012-04-07 22:31:23 -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
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
1728704d09
Merge branch '0.10'
...
Conflicts:
bindings/python/ges.defs
2012-03-29 12:55:44 -04:00
Thibault Saunier
d5b4fa215e
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
2012-03-27 22:33:57 -04:00
Tim-Philipp Müller
1f37aefdcd
Remove ges-marshal.[ch] and use the generic marshaller
2012-03-12 15:46:42 +00:00
Tim-Philipp Müller
5d02075d9b
Merge remote-tracking branch 'origin/master' into 0.11
...
Conflicts:
bindings/python/Makefile.am
bindings/python/ges-types.defs
bindings/python/ges.defs
bindings/python/ges.override
bindings/python/gesmodule.c
bindings/python/testsuite/test_textoverlay.py
2012-03-12 15:25:49 +00:00
Mark Nauwelaerts
2162c635e2
ges: support and handle no-more-pads in GESTimeline(Pipeline)
...
... to arrange for a clean READY to PAUSED state change transition.
Not doing so might have playsink reaching PAUSED prematurely
as one track prerolls, only to lose this state again (temporarily)
when the other track needs to preroll.
This is generally not nice or convenient, and particularly nasty
when trying to perform seek in PAUSED.
2012-01-30 11:35:13 +01:00
Edward Hervey
ee237ec523
ges: Various doc fixups and cleanups
2012-01-12 16:34:57 +01:00
Thibault Saunier
b844ff04de
ges: Add a "discovery-error" signal to GESTimeline
...
API: GESTimeline::discovery-error signal
2012-01-11 11:56:17 -03:00
Mathieu Duponchelle
93046aad6b
GES : remove transitions when needed
...
Conflicts:
ges/ges-timeline.c
2012-01-11 11:56:17 -03:00
Thibault Saunier
4acc711e52
ges: Add a maxduration property to TrackFileSource
...
API: GESTrackFileSource::maxduration property
2012-01-11 11:56:17 -03:00
Thibault Saunier
bc8c709303
ges: Some debug logging enhancements
2012-01-11 11:56:16 -03:00
Thibault Saunier
ffd196d06a
ges: Add a duration property to GESTimeline
...
API: GESTimeline:duration property
2012-01-11 11:56:16 -03:00
Thibault Saunier
5d35024cd3
docs: Update documentation
2012-01-11 11:56:16 -03:00
Mathieu Duponchelle
31688a9354
ges: don't reset the supported formats in the timeline when they're already set
...
My mom never told me goto was evil
2012-01-11 11:56:15 -03:00
Mathieu Duponchelle
2c4d614cb1
ges: adds an enable_update function to the GESTimeline
...
Binds it in python
API: ges_timeline_enable_update
2012-01-11 11:56:15 -03:00
Thibault Saunier
8d15025aae
ges: Add a ges_timeline_append_layer convenience method
...
API: ges_timeline_append_layer
2012-01-11 11:56:14 -03:00
Thibault Saunier
6e1a482a80
ges: add a function to move TimelineObject from a layer to another
...
API: ges_timeline_object_move_to_layer
API: ges_timeline_object_is_moving_from_layer
API: ges_timeline_object_set_moving_from_layer
2012-01-11 11:56:14 -03:00
Thibault Saunier
2bbcbab174
ges: Keep layers sorted by priorities in the timeline
2012-01-11 11:56:14 -03:00
Robert Swain
e288a6f460
timeline: simplify code to remove an object from the pendingobjects list
...
g_list_remove_all () can be used as a simplification as the private data to ges
timeline object are 1:1.
2012-01-06 09:16:09 -03:00
Robert Swain
fc97c16e7e
GESTimeline: Lock object discovery list
...
TimelineFileSource objects are asynchronously discovered with discoverer
with such objects being added to a pendingobjects list. If one were to
remove a layer before an object in said layer had been discovered, a
segfault could occur.
As such, management of the list has been made more robust with the
addition of a mutex and removal of the object from the pendingobjects
list upon layer removal.
2012-01-05 09:01:20 -03:00
Edward Hervey
7cdd9694ff
ges: Port to 0.11 API
2011-10-11 09:51:35 +02:00
Edward Hervey
904aabe653
ges: Use %NULL instead of #NULL
...
Reported by Stefan Kost:
"% is for constants, # is for objects/structs/types, @ is for parameters."
2011-05-09 14:24:26 +02:00
Vincent Penquerc'h
a35a29a810
ges: make uri strings const
2011-03-01 17:29:09 +01:00
Sebastian Dröge
818368ffcf
ges: Mark some private symbols static
...
https://bugzilla.gnome.org/show_bug.cgi?id=639218
2011-01-11 17:55:33 +01:00
Thibault Saunier
dc6290a5e2
docs: Document all the undocumented public functions
2011-01-10 15:14:45 +01:00
Edward Hervey
9f26d1a14e
Timeline: Fix documentation of return value
2011-01-10 11:12:38 +01:00
Thibault Saunier
98b51d8cd1
TimelineFileSource: Create instance private and move private variables to it
...
Fixe/Add getter and setters methods for those variables
Fixup documentation
2011-01-08 22:45:44 +01:00
Thibault Saunier
3d6764d6e9
Timeline: Add instance private and Move private variables to it
...
Fixe/Add getter methods to get those variables
Fixup documentation
2011-01-08 22:45:44 +01:00
Edward Hervey
785c9d9253
GESTimeline: minor cleanup
2010-12-20 12:03:48 +01:00
Edward Hervey
11887e0058
GESTimelineLayer: Subclass from GInitiallyUnowned
...
The floating reference will be owned by the Timeline
2010-12-20 12:03:48 +01:00
Edward Hervey
8ca6f66f4c
GESTrackObject: Hide more variables and provide accessors for them
2010-12-16 15:00:46 +01:00
Edward Hervey
4028baaa5b
GESTimeline: Remove useless variable
2010-12-16 12:46:48 +01:00
Edward Hervey
3eadc4aa31
ges: Add more documentation and annotations
...
This should make GES gobject-introspection compliant now.
2010-12-15 19:40:11 +01:00
Edward Hervey
faec1e803d
docs: A round of updates
2010-12-08 15:36:55 +01:00
Thibault Saunier
dfeb7afe85
GESTimelineObject: add private structure
2010-12-08 13:00:21 +01:00
Edward Hervey
2ff3d8ce12
Timeline: Add doc and more comments/fixmes
2010-11-27 18:12:49 +01:00
Brandon Lewis
33bc336a11
GESTimeline: add more fixmes
2010-11-27 18:08:20 +01:00
Brandon Lewis
27481c3c26
GESTimeline: implementation of save_to/load_from uri
2010-11-27 18:08:19 +01:00
Brandon Lewis
abce2912b8
GESTimeline: set track state to NULL before removing from timeline
2010-11-27 17:55:50 +01:00
Brandon Lewis
f521d31b40
GESTimeline: release timeline objects when a layer is removed
2010-11-27 17:55:49 +01:00
Brandon Lewis
9848c33e40
GESTimeline: allow adding tracks after layers
2010-11-27 17:23:23 +01:00
Brandon Lewis
170ec1e7ab
GESTimeline: add existing timeline objects when adding layers
2010-11-27 17:16:36 +01:00
Brandon Lewis
d2b2ac0d51
GESTimeline: remove layers before removing tracks in dispose ()
2010-11-27 17:13:39 +01:00
Edward Hervey
da806759d1
Timeline: Remove unneeded variable
2010-11-25 14:02:26 +01:00
Edward Hervey
9718bf1f1f
GESTimeline: Change for updated GstDiscoverer API
2010-11-04 12:28:46 +01:00
Edward Hervey
6364e8ec2c
all: Changes for discoverer being merged upstream
...
Along with a whole bunch of Makefile fixups
2010-09-23 18:42:48 +02:00
Edward Hervey
a02a5c2320
Update for factorylist/convertframe being merged to gst core/base
2010-09-16 08:39:46 +02:00
Edward Hervey
d76535bc59
Update to moved gst-convenience
2010-09-16 08:39:01 +02:00
Brandon Lewis
cd7cefffa6
add create_track_objects
2010-09-01 16:56:01 +02:00
Brandon Lewis
d6d7eb8398
call create_track_objects in timeline.c
2010-09-01 16:56:01 +02:00
Brandon Lewis
c9eba54506
always support audio on still images
2010-08-13 11:50:31 +02:00
Brandon Lewis
598d883d53
don't set max duration on still images
2010-08-13 11:50:31 +02:00
Brandon Lewis
56c26dd853
set 'is-image' property true when source has an image stream type
2010-08-13 11:50:30 +02:00
Edward Hervey
9eedf06b7b
GESTimeline: Remove all tracks/layers when being disposed
2010-06-09 13:52:35 +02:00
Brandon Lewis
93534c0500
Add missing documentation
2010-06-09 11:28:09 +02:00
Edward Hervey
8193fe5b4c
GESTimeline: Freeze state of Tracks when doing an async state change
2010-05-25 16:36:57 +02:00
Edward Hervey
ed86ff2f51
GESTimeline: Remove unused variable
2010-05-19 15:50:41 +02:00
Edward Hervey
1bb45a61a6
GESTimeline: Use GstDiscoverer for incomplete filesources
...
If a GESTimelineFileSource is added to a layer and:
* It doesn't have specified supported formats
* OR it doesn't have a specified maximum duration
* OR it doesn't have a specifed duration
Then we asynchronously send it to the GstDiscoverer.
If this happens, the state change of the timeline from READY to
PAUSED will happen asynchronously and be completed when everything
has been properly discovered.
Part 2 of GstDiscoverer integration
2010-05-19 12:36:11 +02:00
Mark Nauwelaerts
10be8697df
GESTimeLine(PipeLine): remove additional unref
2010-04-20 13:47:07 +02:00
Edward Hervey
c3741374da
GESTimeline: New method ges_timeline_get_tracks
2010-04-20 13:47:03 +02:00
Edward Hervey
dafe3d2bb4
GESTimeline: Properly iterate TrackObject lists when removing them
2010-03-13 15:56:57 +01:00