Commit graph

715 commits

Author SHA1 Message Date
Volodymyr Rudyi
1dcb142307 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
2012-03-27 22:35:26 -04:00
Thibault Saunier
6447a50001 timelineobject: Update the nb_effect when releasing a TrackEffect 2012-03-27 22:33:57 -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
Thibault Saunier
a762e72c13 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.
2012-03-27 22:33:57 -04:00
Thibault Saunier
149ceeab2e timeline-layer: Add a method to get the timeline it is currently in
API: ges_timeline_layer_get_timeline

Bind it in python
2012-03-27 22:33:57 -04:00
Volodymyr Rudyi
4148d605ad 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
2012-03-27 22:33:00 -04:00
Tim-Philipp Müller
70c023626a ges-pitivi-formatter: add copyright/license headers
https://bugzilla.gnome.org/show_bug.cgi?id=644943
2012-03-19 10:57:14 +00:00
Tim-Philipp Müller
f043f05698 ges-timeline-pipeline: port to 0.11 2012-03-12 16:22:22 +00: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
Tim-Philipp Müller
e121368e37 configure: check for libxml2 explicitly
GStreamer may be built without the libxml2 dependency.
2012-03-12 15:15:22 +00:00
Tim-Philipp Müller
6a3391eae8 ges-pitivi-formatter: move libxml includes into .c file
There's no need to have them in the header file.
2012-03-12 15:09:39 +00:00
Sebastian Dröge
2fc0a0c619 ges: Fix 'implicit conversion from enumeration type 'GESTextHAlign' to different enumeration type 'GESTextVAlign'' and similar compiler warnings 2012-03-06 15:37:18 +01:00
Sebastian Dröge
70fda7d45d ges: Fix 'comparison of unsigned expression < 0 is always false' 2012-03-06 15:35:51 +01:00
Tim-Philipp Müller
1a48407337 track: add g-i annotation that ges_track_new() takes ownership of caps passed 2012-02-10 19:36:49 +00:00
Tim-Philipp Müller
7b7bf95268 ges: port to new raw audio/video caps
Completely untested, but more likely to work than the
existing code.
2012-02-10 19:35:28 +00:00
Tim-Philipp Müller
b1361c556f g-i: need to call gst_init() before ges_init() so GST_TYPE_CAPS is set
Fixes "g_param_spec_boxed: assertion `G_TYPE_IS_BOXED (boxed_type)' failed"
warnings when running g-ir-scanner.
2012-02-10 19:14:24 +00:00
Tim-Philipp Müller
1e1012602e track-{audio,video}-transition: update for controller API changes 2012-02-10 19:01:03 +00:00
Tim-Philipp Müller
1b2bb14aab timeline-pipeline: use standard GLib API to save thumbnail data to file 2012-02-10 18:43:51 +00:00
Tim-Philipp Müller
c69ea5652d timeline-pipeline: update for new gst_buffer_map() API 2012-02-10 18:35:07 +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
Mark Nauwelaerts
282c3c4b49 ges: only use glib constructs as required in configure.ac 2012-01-12 15:12:14 +01:00
Thibault Saunier
3df2f0ae0a pitivi-formatter: Use the new Formatter->project_loaded vmethod 2012-01-11 11:56:18 -03:00
Thibault Saunier
f5c861ddc3 formatter: Add a "loaded" signal
API: GESFormatter::loaded signal
API: GESFormatter->project_loaded VMethod
2012-01-11 11:56:18 -03:00
Thibault Saunier
5672ac8159 docs: Add a pitivi-formatter documentation
Move the API to the API section of the pitivi-formatter file
2012-01-11 11:56:18 -03:00
Thibault Saunier
c2d5992af0 formatter: Enhance some debug logging 2012-01-11 11:56:18 -03:00
Thibault Saunier
10803b553d ges: Rework the ges_pitivi_get_sources method
+ Remove the URI parameter of ges_pitivi_get_sources

    + Rework how we handle the PitiviFormatterPrivate.source_table HashTable
      rename it to sources_table to make a difference between it and the
      source_table(s) it containes
2012-01-11 11:56:17 -03:00
Thibault Saunier
31430b1e0a ges: Let user set a source list on the PitiviFormatter
API: ges_pitivi_formatter_set_sources

Bind it in python
2012-01-11 11:56:17 -03:00
Thibault Saunier
a904904b77 ges: Handle the new SourceMoved API in PitiviFormatter 2012-01-11 11:56:17 -03:00
Thibault Saunier
7c0ba83b26 ges: Add an API to Formatter to be able to handle moved sources
API: GESFormatter::source-moved signal
API: GESFormatter::update_source_uri virtual method

Conflicts:

	ges/ges-formatter.h
2012-01-11 11:56:17 -03: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
Thibault Saunier
3ca5e7bcaa ges: Let user set TimelineObject URI while not containing any TrackObject
In the case of not properly set uri, we can keep using the same
TimelineFileSource changing its URI until its TrackObject could be created.

This is particularly usefull in the case of formatter trying to load filesource
when the file has been moved
2012-01-11 11:56:17 -03:00
mathieu duponchelle
ac6f8599fe Add API to get all sources from xptv project 2012-01-11 11:56:17 -03:00
mathieu duponchelle
2376c313a1 Disconnect handlers when object is removed from layer 2012-01-11 11:56:17 -03:00
mathieu duponchelle
1bd6e9b758 Edit : typos 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
mathieu duponchelle
cc031a5f6a Fixes auto transitions on layers + n. 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
ce6edd94f4 ges: Disconnect the TrackObject when removed from a Track 2012-01-11 11:56:17 -03:00
Thibault Saunier
ba57355d95 ges: Add a runtime version checking function
Bind it in python

API: ges_version
2012-01-11 11:56:17 -03:00
Thibault Saunier
6c242b8cb1 ges: Reindent ges-track-object.h 2012-01-11 11:56:17 -03:00
Thibault Saunier
a71b46e080 ges: Make TrackObject:locked a GObject property 2012-01-11 11:56:16 -03:00
Thibault Saunier
9d4a528b9e ges: Fix the TimelineObject::effect-added signal emission timing
We were emitting it before it gets added to the track_object list,
so the list we were getting with get_top_effects was containing
a TrackObject that wasen't a TrackEffect

+ A bit of refactoring
2012-01-11 11:56:16 -03:00
Thibault Saunier
059b798d12 ges: Reindent ges-track.h 2012-01-11 11:56:16 -03:00
Thibault Saunier
bc8c709303 ges: Some debug logging enhancements 2012-01-11 11:56:16 -03:00
Thibault Saunier
ef96f26e8a ges: Expand track background duration equal to timeline duration 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
53c4eb35db ges: Fix TimelineObject movement that contains unlocked and relocked objects
Record the TrackObject that initiated a TimelineObject movement so we don't
get inifite loops.

Also fix the new TrackObject calculation:
    child.start = time - offset (not time + offset)
2012-01-11 11:56:16 -03:00
Thibault Saunier
826d4f9a71 ges: Bump layer height from 10 to 1000 2012-01-11 11:56:16 -03:00
Thibault Saunier
4d802c1241 ges: Little fixes to timeline_object_g(s)et_supprted_formats 2012-01-11 11:56:16 -03:00
Thibault Saunier
c0d60b9d17 ges: Add guards to all API calls in GESTimelineObject
And reindent the .h file
2012-01-11 11:56:16 -03:00
Thibault Saunier
714a7bf886 ges: Add a method to TimelineObject to set contained TrackObject-s locked state
API: ges_timeline_object_objects_set_locked
2012-01-11 11:56:16 -03:00
Thibault Saunier
5d35024cd3 docs: Update documentation 2012-01-11 11:56:16 -03:00
Thibault Saunier
97846d698c ges: Remove transitions properly 2012-01-11 11:56:16 -03:00
Thibault Saunier
b85b2103ad ges: Add a TimelineObject::track-object-removed signal
API: TimelineObject::track-object
2012-01-11 11:56:16 -03:00
Thibault Saunier
a9193def76 ges: Enhance some debug logging
Also make sure not to warn when it shouldn't
2012-01-11 11:56:16 -03:00
Thibault Saunier
82974d9a9d ges: Misc fixes in ges-timeline-layer
Put the comment where they are meant to be
Make static functions static
Use LAYER_HEIGHT where needed
2012-01-11 11:56:16 -03:00
Thibault Saunier
5021017904 ges: Auto transition cleanup 2012-01-11 11:56:15 -03:00
Thibault Saunier
0c872c4340 ges: Do not add any audio source when still image
We now have a backgroud so no problem with that.

Fix the testsuite accordingly

Fix #657514
2012-01-11 11:56:15 -03:00
Thibault Saunier
6ed88075d9 ges: Fix debugging symbol to avoid segfaults 2012-01-11 11:56:15 -03:00
Thibault Saunier
8addbcddd0 ges: Big PiTiVi formatter cleanup
Also set the version to 0.2
2012-01-11 11:56:15 -03:00
Stéphane Maniaci
876add1fe5 ges: Don't release unexisting sources when destroying the formatter
This happens in case of an empty project.
2012-01-11 11:56:15 -03:00
Thibault Saunier
14480b43f4 ges: Add a gnl background object to tracks
This is in order to support gaps in the timeline.
This is not the proper solution, we should make sure to fill gaps properly,
but for the time being, it makes the trick
2012-01-11 11:56:15 -03:00
Thibault Saunier
2fe6210383 ges: Make sure not to set transition start to negative
gnlobject.start is a guint64, we can not set it to a negative value
2012-01-11 11:56:15 -03:00
Mathieu Duponchelle
7212307db5 ges: makes "pass over" accurate and reset priority when transition is removed 2012-01-11 11:56:15 -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
7bb8e6f951 ges: make the offset positive as it should have been
Took me two days to figure that out :/ I'm pretty sure it's the way things are supposed to be
2012-01-11 11:56:15 -03:00
Mathieu Duponchelle
e1d97cfee0 ges: modifies emission of the track/object-removed signal
Make it be emitted right before the track objects is removed so we don't end up
with a TrackObject that has already been freed
2012-01-11 11:56:15 -03:00
Mathieu Duponchelle
55fbba27c3 ges: adds a ges_timeline_object_split method
Slightly improves the copy function to do so.

API: ges_timeline_object_split
2012-01-11 11:56:15 -03:00
Thibault Saunier
5f30a86214 ges: add a timeline_object copy function 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
Mathieu Duponchelle
76f256f0bd ges : add a track-object(removed signal to the track
API: GESTrack::track-object-removed signal
2012-01-11 11:56:15 -03:00
Thibault Saunier
8f405d6a4d ges: Handle supported formats in TimelineStandardTransition 2012-01-11 11:56:15 -03:00
Mathieu Duponchelle
0e11ec4137 ges: add an auto-transition to the layer
API: GESTimelineLayer.auto_transition property
2012-01-11 11:56:15 -03:00
Mathieu Duponchelle
9413d9f9e9 ges: Keep the track object list sorted in track 2012-01-11 11:56:14 -03:00
Mathieu Duponchelle
32ce69684c ges: add track objects to the track before the track-object-added is emitted
NOTE: The caller of ges_timeline_object_create_track_object now needs to add it to
the timeline_object after calling the function.

Fix the testsuite to support that accordingly
2012-01-11 11:56:14 -03:00
Mathieu Duponchelle
c191715608 ges: Add API to get the TrackObject-s contained in a Track
Sort the track_objects list

API: ges_track_get_objects
2012-01-11 11:56:14 -03:00
Mathieu Duponchelle
c7a984824f ges: Implement a Pitivi Formatter
API: ges_pitivi_formatter_new
2012-01-11 11:56:14 -03:00
Mathieu Duponchelle
0c92ca9b57 ges: add a track-object-added signal to GESTrack
API: GESTrack::track-object-added signal
2012-01-11 11:56:14 -03:00
Mathieu Duponchelle
ad85383be1 ges: Add a track-object-added signal to GESTimelineObject
API: GESTimelineObject::track-object-added signal
2012-01-11 11:56:14 -03:00
Thibault Saunier
6386247cc4 ges: Move supported formats from filesource to timelineobject
This is usefull by any subclass of GESTimelineObject
 + Bind it in python
 + Fix the keyfile formatter tests

API: ges_timeline_object_set_supported_formats
API: ges_timeline_object_get_supported_formats
2012-01-11 11:56:14 -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
Thibault Saunier
ee5c67de2f ges: Add some debugging symbols 2012-01-11 11:56:13 -03:00
Thibault Saunier
15c816569b ges: Handle TimelineLayer and its contained TimelineObject priorities properly
GESTimelineObject.priority is now actually relative to its containing layer
priority.

Test it in the layer test-suite.
2012-01-11 11:56:13 -03:00
Thibault Saunier
acf8c258ef ges: Define a LAYER_HEIGHT constant in the normal layer 2012-01-11 11:56:13 -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
Mateu Batle
d1de4b2114 GESTimelineObject: fix trigger notify changing props
Notify signal was not triggered when changing properties through
ges_timeline_object_set_* functions, only when done through g_object_set
2012-01-05 08:56:59 -03:00
Edward Hervey
79ab1b5166 ges: Update for registry API change 2012-01-02 15:58:17 +01:00
Edward Hervey
a32f1bd4dc Merge remote-tracking branch 'origin/master' into 0.11
Conflicts:
	bindings/python/Makefile.am
	bindings/python/ges.override
	bindings/python/gesmodule.c
	configure.ac
2011-12-30 17:24:37 +01:00
Edward Hervey
febf62f2b9 ges: Update for 0.11 changes
* Changes with controller API
* Use new GstSample for screenshot API
2011-12-30 17:15:07 +01:00
Robert Swain
edf47f880d GESTimelinePipeline: Add API to get/set audio sink 2011-11-07 15:08:34 +01:00
Edward Hervey
c6d71ed335 TrackVideoTransition: Fix after merge 2011-10-11 10:02:11 +02:00
Edward Hervey
622cb2ac76 Merge remote-tracking branch 'origin/master' into 0.11 2011-10-11 09:58:46 +02:00
Edward Hervey
ebcd5ae3fa ges: ffmpegcolorspace is dead, long live videoconvert 2011-10-11 09:51:43 +02:00
Edward Hervey
7cdd9694ff ges: Port to 0.11 API 2011-10-11 09:51:35 +02:00
Edward Hervey
efe3bd7842 screenshot: Use new 0.11 API
FIXME : Need to figure out how to get the buffer caps.
2011-10-11 09:50:30 +02:00