platform/upstream/gst-editing-services.git
11 years agovideosource: Make sure to update z-order when layer priority changes
Thibault Saunier [Sun, 1 Sep 2013 16:19:32 +0000 (12:19 -0400)]
videosource: Make sure to update z-order when layer priority changes

Conflicts:
ges/ges-video-source.c

11 years agotimeline-element: Add a set_parent vmethod
Thibault Saunier [Sun, 1 Sep 2013 16:18:53 +0000 (12:18 -0400)]
timeline-element: Add a set_parent vmethod

API:
        GESTimelineElment->set_parent vmethod

11 years agotests: timelineedition: Add a test_scaling.
Simon Corsin [Thu, 29 Aug 2013 09:35:30 +0000 (11:35 +0200)]
tests: timelineedition: Add a test_scaling.

It will check that the clip updates its size correctly.

11 years agotest-utils: Adds a utility function to quickly check the timeline.
Simon Corsin [Sun, 25 Aug 2013 15:08:00 +0000 (17:08 +0200)]
test-utils: Adds a utility function to quickly check the timeline.

11 years agovideotransition: No need to hard set width and height anymore.
Simon Corsin [Thu, 15 Aug 2013 18:12:30 +0000 (20:12 +0200)]
videotransition: No need to hard set width and height anymore.

11 years agogstframepositionner: Install width and height properties.
Simon Corsin [Wed, 21 Aug 2013 09:32:45 +0000 (11:32 +0200)]
gstframepositionner: Install width and height properties.

  + And manage them properly.

11 years agoges-track: Add the notion of resriction caps to GESTrack
Simon Corsin [Sat, 17 Aug 2013 12:57:15 +0000 (14:57 +0200)]
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

11 years agoGES: Add GESVideoSource and GESAudioSource base classes
Simon Corsin [Tue, 9 Jul 2013 13:31:15 +0000 (15:31 +0200)]
GES: Add GESVideoSource and GESAudioSource base classes

  + Update documentation.
  + Implements subclasses audio-uri-source and video-uri-source

11 years agotestsource: Handle child properties as child properties
Simon Corsin [Wed, 3 Jul 2013 16:27:00 +0000 (18:27 +0200)]
testsource: Handle child properties as child properties

Makes $make check pass.
Standardizes property handling.

11 years agosource: Make a ges_source_create_topbin internal helper method
Simon Corsin [Tue, 2 Jul 2013 09:12:00 +0000 (11:12 +0200)]
source: Make a ges_source_create_topbin internal helper method

11 years agoges-source: Move common elements handling to the base class
Simon Corsin [Thu, 27 Jun 2013 12:20:00 +0000 (14:20 +0200)]
ges-source: Move common elements handling to the base class

  + And port all the subclasses

11 years agocontainer: Do not forget to initialize the timeline before using it
Thibault Saunier [Mon, 2 Sep 2013 17:57:15 +0000 (13:57 -0400)]
container: Do not forget to initialize the timeline before using it

11 years agoges-xml-formatter: use g_ascii_dtostr() instead of messing with setlocale()
Tim-Philipp Müller [Sun, 1 Sep 2013 23:19:30 +0000 (00:19 +0100)]
ges-xml-formatter: use g_ascii_dtostr() instead of messing with setlocale()

Libraries shouldn't use setlocale().

11 years agoxml-formatter: set LC_NUMERIC locale before saving values.
Mathieu Duponchelle [Sat, 31 Aug 2013 22:46:45 +0000 (00:46 +0200)]
xml-formatter: set LC_NUMERIC locale before saving values.

Avoiding to save ',' instead of '.' for floats in certain locals

11 years agovideo-transition: Keep switch transition type simple
Mathieu Duponchelle [Thu, 29 Aug 2013 21:45:56 +0000 (23:45 +0200)]
video-transition: Keep switch transition type simple

Also make sure there is a proper default value for transition type.

11 years agolaunch: Simplify encoding profile description
Thibault Saunier [Sat, 31 Aug 2013 00:32:56 +0000 (20:32 -0400)]
launch: Simplify encoding profile description

Use a 'simple' synthax to describe encoding profiles

11 years agolaunch: Make it easier to render project
Thibault Saunier [Sat, 31 Aug 2013 00:03:16 +0000 (20:03 -0400)]
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

11 years agotimeline: No autotrans between elements in same toplevel container
Thibault Saunier [Fri, 30 Aug 2013 22:45:31 +0000 (18:45 -0400)]
timeline: No autotrans between elements in same toplevel container

This makes no sense, we ended up creating/removing tons of transition
while moving groups

11 years agoges: Disable the Pitivi formatter
Thibault Saunier [Thu, 29 Aug 2013 15:10:33 +0000 (11:10 -0400)]
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

11 years agoges-clip: when a child, is removed, disconnect from its notifies.
Mathieu Duponchelle [Wed, 28 Aug 2013 17:56:29 +0000 (19:56 +0200)]
ges-clip: when a child, is removed, disconnect from its notifies.

11 years agotests: Make use of g_assert_no_error when it makes sense
Thibault Saunier [Tue, 27 Aug 2013 23:12:26 +0000 (19:12 -0400)]
tests: Make use of g_assert_no_error when it makes sense

11 years agotests: Let use 20 sec to execute tests
Thibault Saunier [Tue, 27 Aug 2013 22:40:55 +0000 (18:40 -0400)]
tests: Let use 20 sec to execute tests

11 years agotrackelement: Simplify the way we handle children properties
Thibault Saunier [Tue, 27 Aug 2013 03:31:14 +0000 (23:31 -0400)]
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.

11 years agoclip: Remove the ges_clip_fill_track method
Thibault Saunier [Mon, 26 Aug 2013 23:26:08 +0000 (19:26 -0400)]
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

11 years agoges: Remove custom clip
Thibault Saunier [Mon, 26 Aug 2013 23:15:08 +0000 (19:15 -0400)]
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

11 years agoRemove acinclude.m4 as we do not use it
Thibault Saunier [Mon, 26 Aug 2013 23:25:20 +0000 (19:25 -0400)]
Remove acinclude.m4 as we do not use it

and it is anyway removed by autogen.sh

11 years agointegration: Add titles test
Thibault Saunier [Mon, 26 Aug 2013 22:56:49 +0000 (18:56 -0400)]
integration: Add titles test

11 years agopython: Do not initialize GES at import time
Thibault Saunier [Mon, 26 Aug 2013 21:41:14 +0000 (17:41 -0400)]
python: Do not initialize GES at import time

11 years agotests: fix NULL pointer dereference, ternary operator silliness and message type use
Tim-Philipp Müller [Sat, 24 Aug 2013 17:21:26 +0000 (18:21 +0100)]
tests: fix NULL pointer dereference, ternary operator silliness and message type use

11 years agotests: Give more debugging info when samples could not be generated
Thibault Saunier [Sat, 24 Aug 2013 15:39:11 +0000 (11:39 -0400)]
tests: Give more debugging info when samples could not be generated

11 years agotests: Fix make distcheck
Thibault Saunier [Sat, 24 Aug 2013 06:41:07 +0000 (02:41 -0400)]
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

11 years agotrackelement: split bindings correctly.
Mathieu Duponchelle [Tue, 13 Aug 2013 16:05:55 +0000 (18:05 +0200)]
trackelement: split bindings correctly.

11 years agotrackelement: update control bindings correctly.
Mathieu Duponchelle [Tue, 13 Aug 2013 15:57:33 +0000 (17:57 +0200)]
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.

11 years agocontainer: resort children after prepending an element.
Mathieu Duponchelle [Mon, 12 Aug 2013 19:25:31 +0000 (21:25 +0200)]
container: resort children after prepending an element.

11 years agotimeline: when there are no objects anymore, set duration to 0.
Mathieu Duponchelle [Mon, 12 Aug 2013 14:13:40 +0000 (16:13 +0200)]
timeline: when there are no objects anymore, set duration to 0.

11 years agoges-audio-track: Change contructor prototype.
Mathieu Duponchelle [Mon, 12 Aug 2013 13:01:53 +0000 (15:01 +0200)]
ges-audio-track: Change contructor prototype.

We return an AudioTrack.

11 years agopipeline: add a get_mode method.
Mathieu Duponchelle [Sun, 11 Aug 2013 18:06:49 +0000 (20:06 +0200)]
pipeline: add a get_mode method.

11 years agobasexmlformatter: Only set timeline auto transitions when done loading.
Mathieu Duponchelle [Wed, 7 Aug 2013 17:37:49 +0000 (19:37 +0200)]
basexmlformatter: Only set timeline auto transitions when done loading.

11 years agointegration: make test_basic be two concatenated clips.
Mathieu Duponchelle [Wed, 7 Aug 2013 14:12:27 +0000 (16:12 +0200)]
integration: make test_basic be two concatenated clips.

11 years agoformatter: Plug leaks in the can_save_to_uri method
Thibault Saunier [Tue, 20 Aug 2013 12:22:24 +0000 (08:22 -0400)]
formatter: Plug leaks in the can_save_to_uri method

https://bugzilla.gnome.org/show_bug.cgi?id=679941

11 years agopipeline: Remove the dynamic lock
Thibault Saunier [Mon, 19 Aug 2013 19:13:48 +0000 (15:13 -0400)]
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

11 years agoformatter: Remove the unsed can_save_uri vmethod
Thibault Saunier [Mon, 19 Aug 2013 19:12:48 +0000 (15:12 -0400)]
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.

11 years agoges-formatter: Check if directory of URI is writeable
Paul Lange [Fri, 20 Jul 2012 12:19:01 +0000 (14:19 +0200)]
ges-formatter: Check if directory of URI is writeable

https://bugzilla.gnome.org/show_bug.cgi?id=679941

11 years agotests: integration: Rework the way we handle seeking while fully paused
Thibault Saunier [Tue, 6 Aug 2013 16:35:24 +0000 (18:35 +0200)]
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.

11 years agotests: integration: PNG file was renamed to png.png
Thibault Saunier [Sun, 4 Aug 2013 23:07:36 +0000 (01:07 +0200)]
tests: integration: PNG file was renamed to png.png

11 years agotests: integration: Add a list tests only option
Thibault Saunier [Sun, 4 Aug 2013 15:46:33 +0000 (17:46 +0200)]
tests: integration: Add a list tests only option

Also add an empty filed in the GOptionEntry array avoiding segfaults

11 years agobuild: add subdir-objects to AM_INIT_AUTOMAKE
Lubosz Sarnecki [Fri, 2 Aug 2013 12:23:13 +0000 (14:23 +0200)]
build: add subdir-objects to AM_INIT_AUTOMAKE

Fixes warnings with automake 1.14

https://bugzilla.gnome.org/show_bug.cgi?id=705350

11 years agotests: integration: Only use 2 layers for the mixing for now
Thibault Saunier [Sun, 4 Aug 2013 15:35:20 +0000 (17:35 +0200)]
tests: integration: Only use 2 layers for the mixing for now

+ Call the TSuite "integration" instead of "render"

11 years agotests: check: All assets moved to assets/
Thibault Saunier [Sun, 4 Aug 2013 14:14:42 +0000 (16:14 +0200)]
tests: check: All assets moved to assets/

11 years agotests: integration: Make it possible to list all avalaible tests
Thibault Saunier [Sat, 3 Aug 2013 15:01:22 +0000 (17:01 +0200)]
tests: integration: Make it possible to list all avalaible tests

You can not use make check-integration --list-tests, you have to use
./integration --list-tests instead

11 years agotimeline: Add support for group-id in the stream-start event
Thibault Saunier [Fri, 2 Aug 2013 12:16:26 +0000 (14:16 +0200)]
timeline: Add support for group-id in the stream-start event

11 years agoFix compilation
Thibault Saunier [Thu, 1 Aug 2013 16:14:36 +0000 (18:14 +0200)]
Fix compilation

11 years agotests: integration: Avoid leak
Thibault Saunier [Thu, 1 Aug 2013 15:56:16 +0000 (17:56 +0200)]
tests: integration: Avoid leak

11 years agotests: integration: Do not forget to set encoding profiles
Thibault Saunier [Thu, 1 Aug 2013 15:47:50 +0000 (17:47 +0200)]
tests: integration: Do not forget to set encoding profiles

11 years agointegration: add mixing tests
Vasilis Liaskovitis [Thu, 18 Jul 2013 21:09:51 +0000 (23:09 +0200)]
integration: add mixing tests

Add a new test that creates a given number of layers. Each layer has the same
assets / clips shifted by a different amount in the timeline. Alpha and volume
properties are different for each layer. This test is similar to the mixer
example in:

http://gist.github.com/MathieuDuponchelle/5736992#file-mixit-py

We should be able to add more clips to each layer, but this example test only
tests mixing 1 clip across 4 layers.

Conflicts:
tests/check/ges/integration.c

11 years agotests/integration: display test name when running it.
Mathieu Duponchelle [Thu, 1 Aug 2013 09:31:16 +0000 (11:31 +0200)]
tests/integration: display test name when running it.

11 years agotests/integration: add an asset directory.
Mathieu Duponchelle [Thu, 1 Aug 2013 09:32:44 +0000 (11:32 +0200)]
tests/integration: add an asset directory.

11 years agointegration: add seek tests to paused pipeline (no playing)
Vasilis Liaskovitis [Mon, 22 Jul 2013 23:50:28 +0000 (01:50 +0200)]
integration: add seek tests to paused pipeline (no playing)

This second set of seeking tests performs the seeks in a PAUSED
pipeline. After all seeks are successful, the pipeline is resumed so that the
test does not timeout.

Conflicts:
tests/check/ges/integration.c

11 years agointegration: add paused pipeline seek tests
Vasilis Liaskovitis [Thu, 18 Jul 2013 22:40:00 +0000 (00:40 +0200)]
integration: add paused pipeline seek tests

11 years agotests/integration: adds image_filename in the test generation macro
Mathieu Duponchelle [Tue, 16 Jul 2013 17:42:53 +0000 (19:42 +0200)]
tests/integration: adds image_filename in the test generation macro

11 years agoproject: Make sure error-loading-asset is emited when needed
Thibault Saunier [Sat, 27 Jul 2013 08:18:30 +0000 (10:18 +0200)]
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

11 years agotimeline: Add methods to get and set the snapping distance
Thibault Saunier [Thu, 25 Jul 2013 02:37:06 +0000 (22:37 -0400)]
timeline: Add methods to get and set the snapping distance

11 years agoclip: Fix the spliting method
Thibault Saunier [Wed, 24 Jul 2013 18:26:18 +0000 (14:26 -0400)]
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

11 years agotests: integration: Let the user mute the tests when needed
Thibault Saunier [Tue, 23 Jul 2013 23:20:34 +0000 (19:20 -0400)]
tests: integration: Let the user mute the tests when needed

Add an environment variable so the user can make sur that
integration tests use fakesinks instead of real sinks

11 years agotests: Make sure we can have the results into an XML file
Thibault Saunier [Tue, 23 Jul 2013 00:06:25 +0000 (20:06 -0400)]
tests: Make sure we can have the results into an XML file

11 years agopipeline: Check that the profile could actually be set on the encodebin
Thibault Saunier [Mon, 22 Jul 2013 01:41:13 +0000 (21:41 -0400)]
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

11 years agoRename GESTimelinePipeline to GESPipeline
Lubosz Sarnecki [Mon, 1 Jul 2013 14:27:54 +0000 (16:27 +0200)]
Rename GESTimelinePipeline to GESPipeline

rename ges_timeline_pipeline methods to ges_pipeline

11 years agotests: integration: Add some pipeline dumps
Thibault Saunier [Thu, 18 Jul 2013 02:48:17 +0000 (22:48 -0400)]
tests: integration: Add some pipeline dumps

When we go to PLAYING, or when we get an error on the bus

+ Activate the hack so that we dump the pipeline on first buffer
pushed by the smart adder

11 years agotests: integration: Add video/audio only basic tests
Thibault Saunier [Thu, 18 Jul 2013 02:47:31 +0000 (22:47 -0400)]
tests: integration: Add video/audio only basic tests

11 years agotests: integration: Give some more information to user on errors
Thibault Saunier [Thu, 18 Jul 2013 00:54:20 +0000 (20:54 -0400)]
tests: integration: Give some more information to user on errors

11 years agotests: intergration: Add some more encoding profiles
Thibault Saunier [Wed, 17 Jul 2013 22:34:22 +0000 (18:34 -0400)]
tests: intergration: Add some more encoding profiles

11 years agotests: integration: Give the user more details about failure when checking transcoded...
Thibault Saunier [Wed, 17 Jul 2013 20:09:29 +0000 (16:09 -0400)]
tests: integration: Give the user more details about failure when checking transcoded file

11 years agotests: integration: Be more precise with namings
Thibault Saunier [Wed, 17 Jul 2013 20:06:09 +0000 (16:06 -0400)]
tests: integration: Be more precise with namings

Fully define formats in the namings

+ Add an mp3 + h264 in mov test

11 years agotests: integration: Refactor and make easier to add encoding profiles
Thibault Saunier [Wed, 17 Jul 2013 17:06:05 +0000 (13:06 -0400)]
tests: integration: Refactor and make easier to add encoding profiles

11 years agotests: integration: Add audio/video only seeking tests
Thibault Saunier [Wed, 17 Jul 2013 16:31:02 +0000 (12:31 -0400)]
tests: integration: Add audio/video only seeking tests

11 years agotests: integration: Remove the effect in test_seeking
Thibault Saunier [Wed, 17 Jul 2013 16:05:26 +0000 (12:05 -0400)]
tests: integration: Remove the effect in test_seeking

It complexifies the test but this is not what we actually want in
that test

11 years agotests: Remove prints
Thibault Saunier [Wed, 17 Jul 2013 01:58:16 +0000 (21:58 -0400)]
tests: Remove prints

And use GST_DEBUG and friends instead

11 years agointegration: some fixes for seek tests
Vasilis Liaskovitis [Sun, 14 Jul 2013 12:03:46 +0000 (14:03 +0200)]
integration: some fixes for seek tests

- Use g_list_remove_link so that ordering of seeks is not mandatory
- use g_slice allocator for SeekInfo structs
- Fix leak in freeing seek list
- Check for NULL seeks at end of test, otherwise fail and free failed seeks

11 years agointegration: add SeekInfo and get_position callback for seek tests
Vasilis Liaskovitis [Sat, 13 Jul 2013 13:15:04 +0000 (15:15 +0200)]
integration: add SeekInfo and get_position callback for seek tests

A Seekinfo structure consists of 2 fields:
- position: the position to seek to
- seeking_position: the position to perform the seek from

Seeks can be appended to a global list e.g. from code:
seeks = g_list_append (seeks, new_seek_info (0.2 * GST_SECOND, 0.6 * GST_SECOND));
seeks = g_list_append (seeks, new_seek_info (1.0 * GST_SECOND, 1.2 * GST_SECOND));
seeks = g_list_append (seeks, new_seek_info (1.5 * GST_SECOND, 1.8 * GST_SECOND));

The get_position callback checks the current position and attempts to perform
the corresponding seek with gst_element_seek_simple

11 years agoges-uri-clip: Add the possibility to specify an assets directory
Mathieu Duponchelle [Tue, 2 Jul 2013 18:50:05 +0000 (20:50 +0200)]
ges-uri-clip: Add the possibility to specify an assets directory

through the GES_TESTING_ASSETS_DIRECTORY environment variable.

11 years agotests: Simplifie integration tests using macros all around
Thibault Saunier [Fri, 12 Jul 2013 23:44:46 +0000 (19:44 -0400)]
tests: Simplifie integration tests using macros all around

11 years agotests: Add integration tests
Mathieu Duponchelle [Thu, 25 Apr 2013 22:03:21 +0000 (00:03 +0200)]
tests: Add integration tests

Those are test with real media files, they are run separetely from other
unit tests using the make check-integration command (can be done from
the toplevel directory)

11 years agotest-utils: Add test file generation code.
Mathieu Duponchelle [Sat, 27 Apr 2013 22:22:42 +0000 (00:22 +0200)]
test-utils: Add test file generation code.

11 years agotrack-element: No need to log when prio == MIN_GNL_PRIO.
Mathieu Duponchelle [Fri, 28 Jun 2013 13:49:03 +0000 (15:49 +0200)]
track-element: No need to log when prio == MIN_GNL_PRIO.

11 years agoframepositionner: fix messup with propname enum.
Mathieu Duponchelle [Thu, 27 Jun 2013 21:33:21 +0000 (23:33 +0200)]
framepositionner: fix messup with propname enum.

11 years agotrack: Make it possible to disable the mixing feature
Mathieu Duponchelle [Wed, 26 Jun 2013 21:23:59 +0000 (23:23 +0200)]
track: Make it possible to disable the mixing feature

API:
  ges_track_set_mixing
  ges_track_get_mixing

11 years agotimeline: create_transitions_on_layer *before* actually commiting
Mathieu Duponchelle [Fri, 28 Jun 2013 22:17:31 +0000 (00:17 +0200)]
timeline: create_transitions_on_layer *before* actually commiting

Everything need to be in place before commiting, otherwize it makes no
sense at all.

11 years agogroup: Add an empty group constructor
Thibault Saunier [Fri, 12 Jul 2013 15:55:46 +0000 (11:55 -0400)]
group: Add an empty group constructor

As it is more intuitive for users.

API:
  ges_group_new

11 years agocontainer/group/clip: Allow creating an empty group.
Mathieu Duponchelle [Wed, 10 Jul 2013 21:33:51 +0000 (23:33 +0200)]
container/group/clip: Allow creating an empty group.

This is a legitimate use case.

11 years agocontainer: Add a 'recursive' argument to the get_children method
Mathieu Duponchelle [Wed, 10 Jul 2013 19:24:28 +0000 (21:24 +0200)]
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);

11 years agogroup: set priv->setting_value to TRUE when moving ourselves in _child_removed
Mathieu Duponchelle [Thu, 11 Jul 2013 00:16:19 +0000 (02:16 +0200)]
group: set priv->setting_value to TRUE when moving ourselves in _child_removed

11 years agotimelineelement: Make sure that we will never set a negative start
Thibault Saunier [Thu, 11 Jul 2013 03:15:17 +0000 (23:15 -0400)]
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

11 years agotimeline: Append missing layers when moving groups between layers
Thibault Saunier [Wed, 10 Jul 2013 01:30:59 +0000 (21:30 -0400)]
timeline: Append missing layers when moving groups between layers

This was a missing feature of the newly added groups

11 years agoges: Implement a GESGroup class, subclass of GESContainer
Thibault Saunier [Wed, 26 Jun 2013 21:08:57 +0000 (17:08 -0400)]
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.

11 years agoxml-formatter: Indent formatted files
Thibault Saunier [Mon, 8 Jul 2013 02:40:55 +0000 (22:40 -0400)]
xml-formatter: Indent formatted files

11 years agotimeline-element: Add a method to get the topelevel parent of an element
Thibault Saunier [Wed, 3 Jul 2013 22:33:05 +0000 (18:33 -0400)]
timeline-element: Add a method to get the topelevel parent of an element

API:
ges_timeline_element_get_toplevel_parent

11 years agotests: More safely check if objects where destroyed
Thibault Saunier [Wed, 3 Jul 2013 16:48:58 +0000 (12:48 -0400)]
tests: More safely check if objects where destroyed

Check if an object rthat has already been freed has been destroyed is not safe.
Add a helper function that uses weak reference to check that objects that are expected
to be destroyed when unrefing an object are actually destroyed.

11 years agoclip: Emit the notify::layer signal only when actually needed
Thibault Saunier [Tue, 2 Jul 2013 23:47:48 +0000 (19:47 -0400)]
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

11 years agoclip: Avoid list corruption when grouping objects
Thibault Saunier [Tue, 2 Jul 2013 14:56:40 +0000 (10:56 -0400)]
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.

11 years agoclip: Add an internal method to easily get the priority of the layer the clip is in
Thibault Saunier [Tue, 2 Jul 2013 00:35:39 +0000 (20:35 -0400)]
clip: Add an internal method to easily get the priority of the layer the clip is in