Commit graph

60 commits

Author SHA1 Message Date
Thibault Saunier
e41a6b6fac ges: Rework the way we ensure core elements are not wrongly moved between clips
Instead of focusing on the instances of the clips and their children,
we relax the check to allow moving track element clip between clips
that share a common asset. This makes it as correct conceptually but
more flexible, and the code becomes simpler.
2020-04-08 14:35:28 +01:00
Thibault Saunier
e7b2570c39 python: Cleanup overrides using monkey patching
Following the PyGObject guidelines[0], this starts monkey patching
overridden elements instead of subclassing them.

[0]: https://pygobject.readthedocs.io/en/latest/devguide/override_guidelines.html#python-override-guidelines
2020-03-03 21:34:23 +00:00
Thibault Saunier
3b182342e0 python: Add a Timeline.iter_clips() helper to iterate clips 2020-03-02 19:14:01 -03:00
Thibault Saunier
c802a40a96 ges: Call the right ->set_child_property vmethod
We used to always call the `->set_child_property` virtual method
of the object that `ges_timeline_element_set_child_property` was called
from, but that means that, in the case of referencing GESContainer
children properties from its children, the children wouldn't know
what child property have been set, and the children override wouldn't
be takent into account, in turns, it means that the behaviour could be
different in the setter depending on parent the method was called,
which is totally unexpected.

We now make sure that the vmethod from the element that introduced the
child property is called whatever parent method is called, making the
behaviour more uniform.

Fix the python override to make sure that new behaviour is respected.
2020-02-26 13:36:30 -03:00
Tim-Philipp Müller
0c96b9dd10 Remove autotools build system
Todo:
 - hook up data/completions/ges-launch-1.0 in Meson (#77)
2019-10-13 13:54:19 +01:00
Thibault Saunier
2c08770cf0 python: Add a better asset __repr__ 2019-07-26 13:48:51 -04:00
Thibault Saunier
9b2cdbb355 overrides: Make sure overrides are in hierarchy order
Otherwise method order resolution will not be correct
2019-05-23 18:54:42 -04:00
Thibault Saunier
4ded3b8838 python: Avoid warning about using deprecated methods
Fixes https://gitlab.freedesktop.org/gstreamer/gst-editing-services/issues/69
2019-05-04 10:47:27 -04:00
Thibault Saunier
2ab26ab306 ges: Move ges_container_edit to GESTimelineElement
Now that the notion of layer has been moved down to #GESTimelineElement
(through the new #ges_timeline_element_get_layer_priority method), this
method make much more sense directly in the base class.
2019-05-01 12:24:30 -04:00
Thibault Saunier
fe1595aef1 python: Implement TimelineElement.__repr__ 2019-03-15 23:51:55 +00:00
Thibault Saunier
e04a6c7fc3 python: Remove __init__.py
It is not needed with latest python
2018-10-28 13:35:40 +00:00
Philippe Normand
3e79fc7626 python: Remove debug print 2018-10-28 11:05:38 +00:00
Thibault Saunier
a3c1734316 python:overrides: Remove spurious print 2018-07-08 16:09:46 -04:00
Thibault Saunier
db827dbd00 python: Fix GES.Timelineset_child_property
Implementing it in the overrides as PyGObject won't be able to properly
convert python values to GValues in some cases. Using
g_object_set_property works as some logic is implemented inside
PyGObject for that particular case. This is a "regression" due
to https://bugzilla.gnome.org/review?bug=769789&attachment=348766 were
we end up with an OverflowError while setting G_TYPE_UINT children
properties.
2018-07-08 16:02:28 -04:00
Thibault Saunier
e1fcd42a19 examples: Move all examples to the root dir and create foldersdir per language
+ Add some markdown files to link between languages
+ Add a simple 'play timeline with one clip" example in C and python
2015-12-21 15:35:17 +01:00
Alexandru Băluț
df93acc581 ges-pipeline: Rename add_timeline to set_timeline
API BREAKAGE:
        - ges_pipeline_add_timeline
        + ges_pipeline_set_timeline
2014-02-04 14:17:47 +01:00
Thibault Saunier
7a1a044354 python: Remove old material.py example 2013-11-09 10:35:13 -03:00
Thibault Saunier
bfc720f6c5 bindings: Cleanup and fix simple python example 2013-11-09 10:35:12 -03:00
Thibault Saunier
c22e2dcfac python: Do not initialize GES at import time 2013-08-26 17:41:14 -04:00
Thibault Saunier
b2b96c743d Rename GESTimelineLayer to GESLayer 2013-04-23 20:22:31 -03:00
Thibault Saunier
695c381bb1 Rename GESTimelineFileSource to GESUriClip
Conflicts:
	ges/ges-pitivi-formatter.c
	ges/ges-uri-clip.c
	tests/check/ges/project.c
	tests/check/ges/uriclip.c
2013-02-15 14:42:02 -03:00
Thibault Saunier
3097efec7f bindings: Add simple python examples 2012-12-19 18:59:48 -03:00
Thibault Saunier
df4040a106 bindings: Start implementing overrides for python 2012-12-19 18:59:48 -03:00
Edward Hervey
312942f836 bindings: We no longer use static bindings in 0.11 2011-10-11 10:08:47 +02:00
Luis de Bethencourt
79756d2ab6 pyges: updating copyright of simple example
Signed-off-by: Thibault Saunier <thibault.saunier@collabora.com>
2011-08-17 12:24:50 +02:00
Luis de Bethencourt
0e0978f8e6 pyges: Add an effect example 2011-08-12 23:33:29 +02:00
Luis de Bethencourt
c24f57846a pyges: fix and clean examples/simple.py 2011-08-11 18:26:08 +02:00
Edward Hervey
67fc0c293e bindings: makefile => Makefile
More in sync with all other Makefiles
2011-08-11 16:32:51 +02:00
Edward Hervey
b1bc668bec testsuite: Remove print statements 2011-08-11 16:28:14 +02:00
Thibault Saunier
672d491fc8 pyges: Fix the timeline_file_source test suite
Can't create a GESTimelineFileSource if you don't have the protocol in the uri
2011-08-11 15:59:33 +02:00
Thibault Saunier
1b036156af pyges: Install it so we now use import ges
Using from gst import ges did not make much sense
2011-08-11 15:59:33 +02:00
Thibault Saunier
08be3bd93b pyges: Do not try to build the bindings if no python found 2011-08-11 15:59:33 +02:00
Thibault Saunier
f1d8151f63 pyges: Install files from the examples and testsuite 2011-08-11 15:59:32 +02:00
Thibault Saunier
287fbc02b8 pyges: Add a PyGes example 2011-08-11 15:59:24 +02:00
Thibault Saunier
0275a1b777 pyges: Add the GstArgtypes, get all the functions binded 2011-08-11 14:40:10 +02:00
Thibault Saunier
0e437d4069 pyges: link against pygst and use GstMiniObject 2011-08-11 14:40:10 +02:00
Mathieu Duponchelle
fc21eb395a pyges : Improve the test suite 2011-08-11 14:40:10 +02:00
Mathieu Duponchelle
f43d26e319 pyges : correct the defs for ges_track_audio_raw_new and ges_track_video_raw_new 2011-08-11 14:40:09 +02:00
Mathieu Duponchelle
0711c8d2c4 pyges : Add overrides 2011-08-11 14:40:09 +02:00
Mathieu Duponchelle
f738133ccf pyges : Add *_valist and *_by_pspec to the ignore-glob 2011-08-11 14:40:09 +02:00
Mathieu Duponchelle
6390ab1798 pyges : override unhandled methods 2011-08-11 14:40:09 +02:00
Mathieu Duponchelle
e5f05f9b37 pyges : add argtypes 2011-08-11 14:40:09 +02:00
Mathieu Duponchelle
0b09331dbb pyges : Remove ges_formatter_set_data and get_data from the .defs 2011-08-11 14:40:08 +02:00
Mathieu Duponchelle
18be79ac57 pyges : Override ges_timeline_parse_launch_effect_new to make it accept None 2011-08-11 14:40:08 +02:00
Thibault Saunier
01e4391d4a pyges: Update ges.defs and ges-types.defs with the new effect API 2011-08-11 14:40:08 +02:00
Mathieu Duponchelle
f8de22b29c pyges : Add a text overlay test 2011-08-11 14:40:08 +02:00
Thibault Saunier
843df22ec0 pyges : Add actual testing to the testcases 2011-08-10 17:12:46 +02:00
Thibault Saunier
b0114a79c4 pyges: add get_type method to the ignore_blob list 2011-08-10 17:12:46 +02:00
Mathieu Duponchelle
ee96719f3c pyges: Override methods using GList 2011-08-10 17:12:46 +02:00
Mathieu Duponchelle
cea06907c9 pyges : Add a test suite with three test cases for the bindings 2011-08-10 17:12:46 +02:00