Thibault Saunier
9c77d52f30
timeline: Make sure we do not move object when only trimming
...
We were missing a few checks so that we do not move objects when their
duration is equal to the max duration, or 0
2013-09-08 19:19:24 -03:00
Thibault Saunier
c47c115dd1
timeline: Avoid setting duration > max_duration when rippling
...
We should use the trimming method to set duration to make sure to avoid
going over the max duration.
Also avoid computing when setting duration to the same old value.
2013-09-07 12:59:17 -04:00
Thibault Saunier
c4c26f8748
ges: Handle trimming in groups
...
This was broken, clips where moving all around, make it behave properly.
2013-09-07 12:55:58 -04:00
Thibault Saunier
c74aee5fdc
timeline: Make ripple start be trimming
...
This is a more natural behaviour as a user instead of doing nothing at
all.
2013-09-07 02:10:12 -04:00
Thibault Saunier
2f03a5df25
ges: Make GESAudioSource and GESVideoSource abstract
2013-09-03 20:57:31 -04:00
Mathieu Duponchelle
17122c44fb
gstframepositionner: correctly tag metadata.
...
We do not use GST_VIDEO_META_TAG_STR as it would mean depending on
GstVideo which is not the case right now
2013-09-03 20:57:31 -04:00
Thibault Saunier
9ed5803323
videosource: Make sure to update z-order when layer priority changes
...
Conflicts:
ges/ges-video-source.c
2013-09-03 20:57:31 -04:00
Thibault Saunier
9fa99df5a7
timeline-element: Add a set_parent vmethod
...
API:
GESTimelineElment->set_parent vmethod
2013-09-03 20:57:31 -04:00
Simon Corsin
93de0baf96
videotransition: No need to hard set width and height anymore.
2013-09-03 20:57:31 -04:00
Simon Corsin
a93f7baed3
gstframepositionner: Install width and height properties.
...
+ And manage them properly.
2013-09-03 20:57:31 -04:00
Simon Corsin
7269c2b316
ges-track: Add the notion of resriction caps to GESTrack
...
This way we can let the user determine what he want to come out of the
track.
API:
- ges_track_set_caps (The track caps are now construct only)
+ ges_track_set_restriction_caps
+ ges_track_get_restriction_caps
+ GESTrack.props.restriction_caps
2013-09-03 20:57:30 -04:00
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