Simon Corsin
a635e48d77
GES: Add GESVideoSource and GESAudioSource base classes
...
+ Update documentation.
+ Implements subclasses audio-uri-source and video-uri-source
2013-09-03 20:22:32 -04:00
Simon Corsin
7fcc6e4b08
testsource: Handle child properties as child properties
...
Makes $make check pass.
Standardizes property handling.
2013-09-03 20:12:33 -04:00
Simon Corsin
e50a86d0d9
source: Make a ges_source_create_topbin internal helper method
2013-09-03 20:10:37 -04:00
Simon Corsin
c0b6c968d8
ges-source: Move common elements handling to the base class
...
+ And port all the subclasses
2013-09-03 19:44:31 -04:00
Thibault Saunier
28770ce53b
container: Do not forget to initialize the timeline before using it
2013-09-02 13:57:15 -04:00
Tim-Philipp Müller
73075e4637
ges-xml-formatter: use g_ascii_dtostr() instead of messing with setlocale()
...
Libraries shouldn't use setlocale().
2013-09-02 00:19:30 +01:00
Mathieu Duponchelle
6d70b553ad
xml-formatter: set LC_NUMERIC locale before saving values.
...
Avoiding to save ',' instead of '.' for floats in certain locals
2013-08-31 21:29:59 -04:00
Mathieu Duponchelle
832616fb2c
video-transition: Keep switch transition type simple
...
Also make sure there is a proper default value for transition type.
2013-08-31 13:53:16 -04:00
Thibault Saunier
f7ac18c138
timeline: No autotrans between elements in same toplevel container
...
This makes no sense, we ended up creating/removing tons of transition
while moving groups
2013-08-30 18:47:24 -04:00
Thibault Saunier
e54ceff720
ges: Disable the Pitivi formatter
...
It lacks to many feature and the code is too bad, desactivation until
someone comes and fix it... The code should be removed if it never
happens
2013-08-29 18:43:21 -04:00
Mathieu Duponchelle
c527067953
ges-clip: when a child, is removed, disconnect from its notifies.
2013-08-28 14:03:14 -04:00
Thibault Saunier
54b10dcbbf
trackelement: Simplify the way we handle children properties
...
So subclass do not have to implement a new logic all the time, but
instead can use a simple method to add properties as needed.
2013-08-27 15:33:45 -04:00
Thibault Saunier
ef8c4b4b6b
clip: Remove the ges_clip_fill_track method
...
Its was only use by the old custom source which is dead now.
API:
Remove ges_clip_fill_track
https://bugzilla.gnome.org/show_bug.cgi?id=706855
2013-08-27 15:33:45 -04:00
Thibault Saunier
13aeda606a
ges: Remove custom clip
...
If you want a custom clip then you have to subclass GESClip,
This class was pre historicall and only used for testing purposes, we
have GESTestClip for that.
https://bugzilla.gnome.org/show_bug.cgi?id=706855
2013-08-27 15:33:45 -04:00
Mathieu Duponchelle
cd8955c56f
trackelement: split bindings correctly.
2013-08-22 18:36:40 -04:00
Mathieu Duponchelle
01f9dbcadc
trackelement: update control bindings correctly.
...
When duration or inpoint change, we need to remove edge control points,
and set new control points with interpolated values.
Also when duration == 0, we need to remove all control points, as otherwise
the controller will raise !is_end assertions.
It's the duty of the application to set keyframes back when duration gets
!= 0 again.
2013-08-21 08:06:59 -04:00
Mathieu Duponchelle
e9e7f0a82c
container: resort children after prepending an element.
2013-08-21 08:06:59 -04:00
Mathieu Duponchelle
09405c0080
timeline: when there are no objects anymore, set duration to 0.
2013-08-21 08:06:59 -04:00
Mathieu Duponchelle
dec80f3e4d
ges-audio-track: Change contructor prototype.
...
We return an AudioTrack.
2013-08-21 08:06:59 -04:00
Mathieu Duponchelle
2e1e88fb22
pipeline: add a get_mode method.
2013-08-21 08:06:59 -04:00
Mathieu Duponchelle
2226882a5c
basexmlformatter: Only set timeline auto transitions when done loading.
2013-08-21 08:05:24 -04:00
Thibault Saunier
fbe18c9ed1
formatter: Plug leaks in the can_save_to_uri method
...
https://bugzilla.gnome.org/show_bug.cgi?id=679941
2013-08-20 08:24:33 -04:00
Thibault Saunier
0c87104955
pipeline: Remove the dynamic lock
...
We actually do not need it has everywhere where we would need it we are
already locked against the timeline.dyn_lock, we need to make sure it is
always the case in the future.
The hierarchy of the mutex was wrong and could possibly lead to
deadlocks
2013-08-19 15:18:06 -04:00
Thibault Saunier
41d86292c9
formatter: Remove the unsed can_save_uri vmethod
...
This virtual method does not make much sense right now, we might need it
again later, but most probably with a sensibly different API so removing
it for now.
2013-08-19 15:18:06 -04:00
Paul Lange
9d30f05798
ges-formatter: Check if directory of URI is writeable
...
https://bugzilla.gnome.org/show_bug.cgi?id=679941
2013-08-19 15:18:06 -04:00
Thibault Saunier
0671b69d34
timeline: Add support for group-id in the stream-start event
2013-08-02 14:47:24 +02:00
Thibault Saunier
a939c553cf
project: Make sure error-loading-asset is emited when needed
...
In case ges_project_try_updating_id would be called from outside ges-project the signal
was not emitted, change that.
+ Add some debugging
2013-07-27 19:29:07 +02:00
Thibault Saunier
5c8e2737b4
timeline: Add methods to get and set the snapping distance
2013-07-24 22:37:06 -04:00
Thibault Saunier
c1451cf48c
clip: Fix the spliting method
...
We should make sure that the newly created trackelement are inside
a container when adding them to as this is needed for GESUriClip-s.
Also do not try to set a child property on the TrackElement itself.
https://bugzilla.gnome.org/show_bug.cgi?id=703152
2013-07-24 21:30:23 -04:00
Thibault Saunier
3e88edfebc
pipeline: Check that the profile could actually be set on the encodebin
...
Setting the profile on an encodebin can fail, and if that happens, there
will be no profile set at all, we should return FALSE in GESPipeline
when that happens
2013-07-21 21:42:42 -04:00
Lubosz Sarnecki
9f0b0c26e3
Rename GESTimelinePipeline to GESPipeline
...
rename ges_timeline_pipeline methods to ges_pipeline
2013-07-21 21:42:42 -04:00
Thibault Saunier
e981c171b1
tests: integration: Give some more information to user on errors
2013-07-21 21:27:16 -04:00
Mathieu Duponchelle
9e14ca1487
ges-uri-clip: Add the possibility to specify an assets directory
...
through the GES_TESTING_ASSETS_DIRECTORY environment variable.
2013-07-13 17:22:24 +02:00
Mathieu Duponchelle
78e19edad9
track-element: No need to log when prio == MIN_GNL_PRIO.
2013-07-12 18:17:00 -04:00
Mathieu Duponchelle
e0b89ce691
framepositionner: fix messup with propname enum.
2013-07-12 18:17:00 -04:00
Mathieu Duponchelle
cc09d03253
track: Make it possible to disable the mixing feature
...
API:
ges_track_set_mixing
ges_track_get_mixing
2013-07-12 18:17:00 -04:00
Mathieu Duponchelle
4addde8d74
timeline: create_transitions_on_layer *before* actually commiting
...
Everything need to be in place before commiting, otherwize it makes no
sense at all.
2013-07-12 18:17:00 -04:00
Thibault Saunier
cc9391319e
group: Add an empty group constructor
...
As it is more intuitive for users.
API:
ges_group_new
2013-07-12 11:56:59 -04:00
Mathieu Duponchelle
2723ef561e
container/group/clip: Allow creating an empty group.
...
This is a legitimate use case.
2013-07-11 23:47:36 +02:00
Mathieu Duponchelle
96204ac1d2
container: Add a 'recursive' argument to the get_children method
...
API:
- ges_container_get_children (GESContainer *container);
+ ges_container_get_children (GESContainer *container, gboolean recurse);
2013-07-10 23:25:12 -04:00
Mathieu Duponchelle
ff21ea7f92
group: set priv->setting_value to TRUE when moving ourselves in _child_removed
2013-07-10 23:18:41 -04:00
Thibault Saunier
1e5bb2edf6
timelineelement: Make sure that we will never set a negative start
...
Currently we can end up overflowing the start of others child of our
parent, avoid that making sure we can set our start to what was
requested by the user before actually doing it
+ Add a test
2013-07-10 23:17:54 -04:00
Thibault Saunier
b0202ed22b
timeline: Append missing layers when moving groups between layers
...
This was a missing feature of the newly added groups
2013-07-09 21:30:59 -04:00
Thibault Saunier
a933d9540d
ges: Implement a GESGroup class, subclass of GESContainer
...
The GESGroup class is used to group various GESContainer
together, it can contain either GESClips or GESGroup or both.
2013-07-09 16:47:00 -04:00
Thibault Saunier
d3e3871440
xml-formatter: Indent formatted files
2013-07-09 22:14:43 +02:00
Thibault Saunier
bce084f4fd
timeline-element: Add a method to get the topelevel parent of an element
...
API:
ges_timeline_element_get_toplevel_parent
2013-07-09 22:13:42 +02:00
Thibault Saunier
2b9606437c
clip: Emit the notify::layer signal only when actually needed
...
That means:
- only when we do change layer
- At the end of moving between two layers
2013-07-09 22:13:42 +02:00
Thibault Saunier
89e2a69d37
clip: Avoid list corruption when grouping objects
...
We are currently iterating over a list that is modified in the same
method, we have to get a copy of the list, and iterate over the copy.
2013-07-09 22:13:42 +02:00
Thibault Saunier
12eebdabda
clip: Add an internal method to easily get the priority of the layer the clip is in
2013-07-09 22:13:42 +02:00
Thibault Saunier
30eb9e4474
container: Remove the get_priority_range vmethod
...
We now let full control to subclasses so we do not need it anymore.
2013-07-09 22:13:42 +02:00