Commit graph

2046 commits

Author SHA1 Message Date
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
bd30bbd4a8 tests: timelineedition: Add a test_scaling.
It will check that the clip updates its size correctly.
2013-09-03 20:57:31 -04:00
Simon Corsin
805d5dfc07 test-utils: Adds a utility function to quickly check the timeline. 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
d8cb8fec52 launch: Simplify encoding profile description
Use a 'simple' synthax to describe encoding profiles
2013-08-30 20:43:01 -04:00
Thibault Saunier
c97b9f7e04 launch: Make it easier to render project
Now providing an output uri is enough to tell that you want to render.

It will use project rendering infos when possible, missing a way to
specify which info if various are disponnible (we use the first one
right now).

+ Make options more logical now, -l mean --load, and -r means repeat
2013-08-30 20:10:47 -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
8458d0220e tests: Make use of g_assert_no_error when it makes sense 2013-08-27 19:12:26 -04:00
Thibault Saunier
b9ce7db53d tests: Let use 20 sec to execute tests 2013-08-27 18:40:55 -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
Thibault Saunier
a6cf479e49 Remove acinclude.m4 as we do not use it
and it is anyway removed by autogen.sh
2013-08-27 15:33:44 -04:00
Thibault Saunier
34abecc7db integration: Add titles test 2013-08-27 15:33:44 -04:00
Thibault Saunier
c22e2dcfac python: Do not initialize GES at import time 2013-08-26 17:41:14 -04:00
Tim-Philipp Müller
4318f683d9 tests: fix NULL pointer dereference, ternary operator silliness and message type use 2013-08-24 18:21:26 +01:00
Thibault Saunier
e2385bcb2f tests: Give more debugging info when samples could not be generated 2013-08-24 11:40:47 -04:00
Thibault Saunier
cf96e4145e tests: Fix make distcheck
We need to make sure that we can write to the directory where we save
project files, so doing it in the tmp folder.

+ Properly dist test data files
2013-08-24 03:04:55 -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
Mathieu Duponchelle
ce57a0aacf integration: make test_basic be two concatenated clips. 2013-08-21 08:02:58 -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
eab86c2913 tests: integration: Rework the way we handle seeking while fully paused
The idea is that we should first play until the time we reach the first
position, at that point we PAUSE the pipeline, then, afterward do the
seeks as asked.

If we get the position before the ASYNC DONE, just accept it.
2013-08-17 11:52:30 +02:00
Thibault Saunier
4ca7a4ef91 tests: integration: PNG file was renamed to png.png 2013-08-17 11:52:30 +02:00
Thibault Saunier
82ae3de5b6 tests: integration: Add a list tests only option
Also add an empty filed in the GOptionEntry array avoiding segfaults
2013-08-17 11:52:30 +02:00