Thibault Saunier
c8b2ab8dbb
ges: Add a method to get GES GOption group
...
This allow us to have global options to be
passed as arguments of the program to configure
GES behaviour
API:
ges_init_get_option_group
https://bugzilla.gnome.org/show_bug.cgi?id=740715
2014-12-06 10:34:14 +01:00
Thibault Saunier
39a7ce6ca0
pipeline: Disable encoding format renegotiation when rendering
2014-12-06 10:34:14 +01:00
Mathieu Duponchelle
fb34c5056e
*source: new lines in xml break my parser.
...
+ So I removed them cause I'm clever
https://bugzilla.gnome.org/show_bug.cgi?id=740727
2014-12-05 22:12:12 +01:00
Mathieu Duponchelle
f85c463b93
track: [API]: ges_track_update_restriction_caps.
...
+ And specify default restriction caps for audio tracks.
+ Add ges_track_set_restriction_caps to the sections, it
was missing.
https://bugzilla.gnome.org/show_bug.cgi?id=740726
2014-12-05 22:12:11 +01:00
Thibault Saunier
fd268f0387
element: Add a property allowing user to avoid serializing TimelineElements on demand
2014-11-10 17:03:46 +01:00
Thibault Saunier
5665e3abb1
xml-formatter: Serialize groups
...
They were not serialized until now.
That implies several changes:
* Override GESTimelineElement [start, inpoint, duration] properties in
GESGroup to ensure that those properties are not serialized as they
should not be.
* Rename GESBaseXmlContainer->clips field to
GESBaseXmlContainer->containers as the hashtable now contains Groups
https://bugzilla.gnome.org/show_bug.cgi?id=709148
2014-11-10 16:22:43 +01:00
Thibault Saunier
e36c4c2bf7
pipeline: Do not relink an already linked track
2014-11-10 16:22:43 +01:00
Thibault Saunier
08af3721bf
frameposition: In case sources have the same size as track, follow track size
...
For example if the size has been serialized in a file, but the user has
not personalized the size, we want that whenever the restriction caps
change the size, the video should take the size of the track
restriction caps.
We know need to keep track of the current positionner.size even if
setting through caps size changes.
https://bugzilla.gnome.org/show_bug.cgi?id=739527
2014-11-10 16:22:42 +01:00
Thibault Saunier
21807d6637
xml-formatter: Do not forget to set properties on the track elements
...
We were just setting children properties, even if the propertie to be
set on themselves where properly passed in
https://bugzilla.gnome.org/show_bug.cgi?id=729487
2014-11-10 16:22:42 +01:00
Thibault Saunier
7f71914f07
title-source: Expose the shaded-background property
...
Rework the way we override the background property to avoid trying to
lookup shaded-foreground-color!
https://bugzilla.gnome.org/show_bug.cgi?id=728635
2014-11-10 16:22:42 +01:00
Thibault Saunier
fcfdbef0b2
titlesource: Expose the outline-color property
...
https://bugzilla.gnome.org/show_bug.cgi?id=728634
2014-11-10 16:22:42 +01:00
Mathieu Duponchelle
ee2b3f7d24
pipeline: connect tracks when added, not only on state change.
...
+ ghost track src pad before calling track added so that
pipeline has a pad to link.
+ Remove silly comment.
2014-11-10 16:22:42 +01:00
Thibault Saunier
ac906a9143
Document known and usable child properties for GESTrackElements subclasses
2014-11-10 16:22:41 +01:00
Thibault Saunier
20f76fe86f
trackelement: Add a lookup_child vmethod
...
This method can be used for subclass to override the default behaviour
for child lookup. This vmethod can be used for example in the case where
you want the name of a child property to be 'overridden'.
As an example in the GESTitleSource where we have a videotestsrc
which has a 'foreground-color' property that is used in the TitleSource
to set the background color of the title, this vmethod is now used to
tweak the name passed as parameter to rename "background" to
"foreground-backend" making our API understandable.
API:
GESTrackElement::lookup_child
https://bugzilla.gnome.org/show_bug.cgi?id=727880
2014-11-10 16:22:41 +01:00
Thibault Saunier
190643508f
title: Deprecate all method related to child properties
...
The standard way setting children properties is by using the
GESTrackElement::set_child_propery and friend methods
https://bugzilla.gnome.org/show_bug.cgi?id=727880
2014-11-10 16:22:41 +01:00
Mathieu Duponchelle
3035bcb405
timeline: connect_after to layer.object_added.
...
We want the user provided signal handlers to be called before
we add track elements.
2014-11-10 16:22:41 +01:00
Mathieu Duponchelle
3f97397b4f
nle: Downgrade some INFO to DEBUG.
...
+ makes it more pleasant to read logs in info.
2014-11-10 16:22:40 +01:00
Thibault Saunier
79230eef1f
nle: Handle sending SEEK event recursively to our children
...
Instead of relying on it being implemented in core (as it is currently
not!)
2014-11-10 16:22:40 +01:00
Thibault Saunier
c4f43c88f2
track-element: Add a signal about added control bindings
...
API:
GESTrackElement::control-binding-added
2014-11-10 16:22:40 +01:00
Thibault Saunier
24e2c88180
track-element: Add an API to list all set ControlBinding
...
API:
ges_track_element_get_all_control_bindings
2014-11-10 16:22:40 +01:00
Thibault Saunier
a022b4b394
title-source: Properly expose children properties
...
+ Make sure that the TitleClip properties are not serialized anymore as
they are serialized through children properties now.
+ Enhance debugging for not serialized properties in GESXmlFormatter.
2014-11-10 16:22:40 +01:00
Mathieu Duponchelle
19ee23cdcc
nlecomposition: update base time before seeking current stack.
...
There could be a race where the new segments were pushed after
a seek on some / all pads before the operation had had its basetime
updated, and thus incoming segments were tweaked wrongly.
Reproducible with 3 clips composited and multiple seeks,
FIXME hard to validate.
2014-11-10 16:22:39 +01:00
Joris Valette
84610050ae
formatter: save and load source's children properties
2014-11-10 16:22:39 +01:00
Thibault Saunier
e8fd816e33
project: Do not concider adding am already tracked asset as failure
...
It is not really a failure, just a special case.
2014-11-10 16:22:39 +01:00
Thibault Saunier
bc7a465fcd
extractable: Make extractable_set_asset return a boolean
...
WARNING: This is a minor API breakage, it should be harmless
and allows us to let users know whether changing setting the
asset worked or no.
2014-11-10 16:22:39 +01:00
Thibault Saunier
6a371b308b
nlecomposition: Fix the get_current_position method
2014-11-10 16:22:38 +01:00
Thibault Saunier
d419bccf4f
nlecomposition: Wait for a buffer from the new segment to restart task
...
Avoiding races where we would launch a seek right after a FLUSH_STOP and
before we get a Buffer which would possibly lead to ERROR message when upstream
elements try to push a buffer and check_sticky fails because downstream
is flushing.
2014-11-10 16:22:37 +01:00
Thibault Saunier
578364ce41
nlecomposition: Do useless thing so that the compiler doesn't warn us!
...
Otherwize we get a gcc warning about useless statements.
2014-11-10 16:22:37 +01:00
Thibault Saunier
2fb33d69f8
nlecomposition: Update start stop and duration on initialization
...
So that the composition is usable right after the initialization
2014-10-31 11:58:12 +01:00
Thibault Saunier
0d54d796de
ges: Avoid to always commit when a project is loaded
...
In case we are not in a PLAYING state and the project is loaded, the
only thing that should be done is to fill the gaps and this way when the
composition get to PLAYING, their initialization will be enough to get
everything on track.
2014-10-31 11:58:12 +01:00
Thibault Saunier
95223fd46b
Start taking advantage of the fact that NLE is in the same three as GES!
2014-10-31 11:58:12 +01:00
Thibault Saunier
50cf1fb5fe
nlecomposition: Fix several leaks
...
* In the action closure invokation we were alway leaking the composition.
* gst_bin_add will actually take an extra ref since we already gst_object_ref_sink so we
own the object, other call to that method will increase the refcount which means we do
not need to pass an extra ref to the bin.
* We want to ref_sink right when the object is added to the composition, making things
cleaner and simpler to follow in the tests.
2014-10-31 11:58:12 +01:00
Thibault Saunier
3e79e28213
nlecomposition: Activate the composition ghostpad to flush downstream
...
Since commit 060b16ac75
"pad: don't accept flush-stop on inactive pads" in -core, the flush_stop event will not be
fowarded downstream in case the pad is not activated. In our case the element is in
READY state, so pads are deactivated. In that commit we simply make sure that the
event can be fowarded downstream
2014-10-31 11:58:12 +01:00
Thibault Saunier
02665dae91
nlecomposition: Restart the main task on FLUSH_STOP
...
It means stop using a dedicated probe to restart task so that the main probe does not
drop the FLUSH_STOP event before we have a chance to restart the task. (and this is
for sure cleaner/and simpler to read).
2014-10-31 11:58:12 +01:00
Thibault Saunier
37f50193fd
nle:source: Protect the probeid field with the GST_OBJECT_LOCK
...
Avoiding races where we try to remove a probe on an already destroyed pad.
2014-10-31 11:58:12 +01:00
Thibault Saunier
03c284abb6
framepositionner: Add a weak pointer to the track_source
...
Avoiding assertions when the object is destroyed.
2014-10-31 11:58:12 +01:00
Mathieu Duponchelle
e31d0554c8
nle: Seek gnlsource when prerolled only
...
Instead of implementing seek on ready all around GStreamer, just
seek in PAUSED, when the source gets 'prerolled'.
2014-10-31 11:58:12 +01:00
Thibault Saunier
6bd27667eb
ges-track: Do not set removed object state
...
It is the composition to handle
2014-10-31 11:58:12 +01:00
Thibault Saunier
8913c14c58
nle: Stop using a MainContext avoiding needing one iter per source dispach
...
Using GClosure to handle the source handling and handle our action
ordering ourselves
https://bugzilla.gnome.org/show_bug.cgi?id=733342
2014-10-31 11:58:12 +01:00
Thibault Saunier
aa69de7514
ges: Use audiomixer instead of adder by default
2014-10-31 11:58:12 +01:00
Thibault Saunier
b3336fe26e
Port to the new NLE API
...
Port the timeline, track and pipeline to the new NLE API where
all objects have static src pads.
2014-10-31 11:58:12 +01:00
Thibault Saunier
11f9c6e108
Cleanup import of GNL and rename gnl to nle for Non Linear Engine
...
Conflicts:
ges/ges-track-element.c
gnl/Makefile.am
gnl/common
Conflicts:
ges/ges-internal.h
ges/ges-track.c
ges/ges-utils.c
ges/nle/.gitignore
ges/nle/gnlmarshal.list
ges/nle/nle.h
ges/nle/nlecomposition.c
ges/nle/nlecomposition.h
ges/nle/nleghostpad.c
ges/nle/nleghostpad.h
ges/nle/nleobject.c
ges/nle/nleoperation.c
ges/nle/nleoperation.h
ges/nle/nlesource.c
ges/nle/nlesource.h
ges/nle/nletypes.h
ges/nle/nleurisource.c
ges/nle/nleurisource.h
gnl/Makefile.am
gnl/gnl.c
gnl/gnl.h
gnl/gnl/gnl.h
gnl/gnl/gnlcomposition.c
gnl/gnl/gnlcomposition.h
gnl/gnl/gnlghostpad.c
gnl/gnl/gnlghostpad.h
gnl/gnl/gnlmarshal.list
gnl/gnl/gnlobject.c
gnl/gnl/gnloperation.c
gnl/gnl/gnloperation.h
gnl/gnl/gnlsource.c
gnl/gnl/gnlsource.h
gnl/gnl/gnltypes.h
gnl/gnl/gnlurisource.c
gnl/gnl/gnlurisource.h
gnl/gnlcomposition.c
gnl/gnlcomposition.h
gnl/gnlghostpad.c
gnl/gnlghostpad.h
gnl/gnlmarshal.list
gnl/gnlobject.c
gnl/gnlobject.h
gnl/gnloperation.c
gnl/gnloperation.h
gnl/gnlsource.c
gnl/gnlsource.h
gnl/gnltypes.h
gnl/gnlurisource.c
gnl/gnlurisource.h
gnl/tests/check/gnl/common.c
gnl/tests/check/gnl/common.h
gnl/tests/check/gnl/complex.c
gnl/tests/check/gnl/gnlcomposition.c
gnl/tests/check/gnl/gnloperation.c
gnl/tests/check/gnl/gnlsource.c
gnl/tests/check/gnl/seek.c
gnl/tests/check/gnl/simple.c
tests/check/gnl/common.c
tests/check/gnl/common.h
tests/check/gnl/complex.c
tests/check/gnl/gnlcomposition.c
tests/check/gnl/gnloperation.c
tests/check/gnl/gnlsource.c
tests/check/gnl/seek.c
tests/check/gnl/simple.c
tests/check/nle/common.c
tests/check/nle/common.h
tests/check/nle/complex.c
tests/check/nle/nlecomposition.c
tests/check/nle/nleoperation.c
tests/check/nle/nlesource.c
tests/check/nle/seek.c
tests/check/nle/simple.c
2014-10-31 11:58:12 +01:00
Thibault Saunier
b752eea818
timeline: Add a method to retrieve a pad from a track
...
It allows user to easily get the proxied pad from a track.
API:
+ ges_timeline_get_pad_for_track
2014-10-31 11:58:07 +01:00
Thibault Saunier
b9c6606e89
ges: Use the new GNL element message feature to notify async operations
2014-10-31 11:58:07 +01:00
Mathieu Duponchelle
2104cd9e50
xml-formatter: message-forward is not something that should be parsed.
2014-10-31 11:58:07 +01:00
Mathieu Duponchelle
565591e9ee
timeline: handle async start
2014-10-31 11:58:07 +01:00
Tim-Philipp Müller
5c79b5539b
smart-video-mixer: unref pads_info hash table in dispose
...
Before gst_bin_dispose() runs and destroys elements.
2014-10-30 15:54:04 +00:00
Tim-Philipp Müller
9b82267aef
smart-adder: fix crash in unit test
...
Unref pads_info hash table in dispose instead of
finalize, i.e. before gst_bin_dispose runs and
destroys pads_info->bin (to which the pads_info
does not hold a ref).
2014-10-30 15:49:21 +00:00
Tim-Philipp Müller
717985182a
track: fix indentation
2014-10-26 20:36:22 +00:00
Tim-Philipp Müller
e1f92be62b
timeline-element: don't leak name string
2014-10-26 20:35:52 +00:00
Tim-Philipp Müller
29bac48934
timeline: fix mutex and all_elements hash table leaks
2014-10-26 20:35:20 +00:00
Tim-Philipp Müller
44724f8d6d
timeline: free tracks obtained via select-tracks-for-object signal
2014-10-26 20:33:50 +00:00
Tim-Philipp Müller
30d879f357
timeline: free track elements list
2014-10-26 20:32:41 +00:00
Tim-Philipp Müller
b3114b6a4d
video-test-source: fix caps leak
2014-10-26 20:31:40 +00:00
Tim-Philipp Müller
0c5dfcf931
framepositionner: fix caps leak
2014-10-26 20:31:26 +00:00
Tim-Philipp Müller
0f809b481b
audiotrack: fix caps leak
2014-10-26 20:31:08 +00:00
Tim-Philipp Müller
4ecb7c88fb
videotrack: fix caps leak
2014-10-26 20:30:53 +00:00
Tim-Philipp Müller
8edb4a7ec6
track: don't leak restriction caps
2014-10-26 20:30:29 +00:00
Tim-Philipp Müller
d2e33a35e9
smart-adder: don't leak pads_infos hash table
2014-10-26 20:29:06 +00:00
Tim-Philipp Müller
dd7d2d26ec
smart-video-mixer: don't leak pads_infos hash table
2014-10-26 20:28:48 +00:00
Tim-Philipp Müller
3e02157f02
project: fix string leak
2014-10-26 20:27:29 +00:00
Tim-Philipp Müller
4ad628bb13
metacontainer: don't leak GValue contents
2014-10-26 20:25:46 +00:00
Lazar Claudiu
b850f3042e
text-overlay: added text properties as child-properties
2014-07-23 16:11:31 +02:00
Thibault Saunier
ea2b814fba
ges: Use registry to select the compositor element
2014-07-23 16:11:30 +02:00
Mathieu Duponchelle
0d2256b5bd
xml-formatter: Set errno to 0 before g_ascii_strtoll.
2014-07-18 20:23:57 +02:00
Vincent Penquerc'h
31257a260c
smart-video-mixer: fix memory leak on error path
...
Coverity 1212166
2014-06-12 09:51:02 +01:00
Thibault Saunier
edd95cf57d
trackelement: Sort paramspec by name in list_children_properties
...
https://bugzilla.gnome.org/show_bug.cgi?id=720023
2014-06-09 16:10:41 +02:00
Thibault Saunier
03c87dbbc7
clip: Fix the ges_clip_set_position function
...
And enhance the new test
https://bugzilla.gnome.org/show_bug.cgi?id=731248
2014-06-09 16:10:41 +02:00
Thibault Saunier
bb4cf62b62
clip: Rename top_effect_index to top_effect_index
...
Keeping the old method to not break the API but removing it from the
documentation as users should use the new method (which is the exact
same with a better naming)
https://bugzilla.gnome.org/show_bug.cgi?id=731248
2014-06-09 16:10:41 +02:00
Thibault Saunier
2db5368b9d
tests: Check ges_clip_set_position behaviour
...
+ Minor fix to handle properly the feature when clip is not in any layer
https://bugzilla.gnome.org/show_bug.cgi?id=731248
2014-06-09 16:10:41 +02:00
Thibault Saunier
b3a240126d
pipeline: Add support to rendering without container
...
+ Simplify the support in ges-launch as we should not require the
profile desc to start with : in that case
https://bugzilla.gnome.org/show_bug.cgi?id=731245
2014-06-09 16:10:41 +02:00
Christoph Reiter
ba2b4920b6
Fix invalid GEnumValue.value_name entries.
...
This makes the enum entries in the gir have valid c:identifiers and documentation.
https://bugzilla.gnome.org/show_bug.cgi?id=730691
2014-06-09 16:10:41 +02:00
Mathieu Duponchelle
4494296830
ges-track: fill the gaps left empty by deactivated track elements.
2014-06-03 18:14:21 +02:00
Thibault Saunier
1fed9555cf
ges:clip: Add a method to look for a list of TrackElement-s
...
+ Add unit tests to check it works properly.
API:
+ ges_clip_find_track_elements
2014-05-19 12:21:52 +02:00
Thibault Saunier
be23365899
ges: Do not forget to update the count when updating already used name
...
That could still lead to naming conflicts
2014-05-15 20:47:28 +02:00
Thibault Saunier
10c3e97f42
ges: Add a queue after the decoder in video test src
2014-05-15 20:07:58 +02:00
Thibault Saunier
19df708207
ges: Avoid GESTimelineElement naming conflicts
...
When users (can be formatters) set timeline element names in the
default 'namespace' we need to update our counter to avoid setting
twice the same name on TimelineElements so afterward there is no
problem adding them in the GESTimeline
+ add a testcase to check that new code and fix leaks on the
existing testcases.
+ Sensibly enhance debugs
2014-05-14 22:29:44 +02:00
Edward Hervey
8da506f931
xml-formatter: Don't leak children_props
...
By going through the cleanup code-path
CID #1212146
2014-05-13 14:30:39 +02:00
Thibault Saunier
b2c8a9efb3
ges: Do not use freed pointers
...
COVERTY CID 1212182
COVERTY CID 1212184
COVERTY CID 1212185
2014-05-10 23:00:45 +02:00
Thibault Saunier
3c1518be6c
ges: Plug a leak in ges-smart-adder
...
COVERTY CID 1212166
2014-05-10 22:48:12 +02:00
Thibault Saunier
cf492d3839
ges-xml-formatter: fix memory leak
...
COVERTY CID 1212148
2014-05-10 22:45:34 +02:00
Thibault Saunier
9cbdfad546
ges-xml-formatter: fix memory leak in error path
...
COVERITY CID 1212147
2014-05-10 22:41:23 +02:00
Thibault Saunier
a1bf40b9e1
ges: Assert if an asset is not in the global hashtable
...
COVERITY CID 1151679
2014-05-10 22:38:21 +02:00
Thibault Saunier
0cf5d3df13
ges: Remove useless pointer assignement
...
COVERITY CID: 1139442
2014-05-10 22:33:15 +02:00
Thibault Saunier
9cbcd9617a
ges: Remove useless pointer assignement
...
COVERITY CID: 1139941
2014-05-10 22:30:00 +02:00
Thibault Saunier
27ecb81037
ges: Add license header in ges-meta-container
2014-05-10 22:28:28 +02:00
Thibault Saunier
8015359f16
ges: remove comparison of unsigned inferior to 0
...
COVERITY CID 1139769
2014-05-10 22:14:34 +02:00
Tim-Philipp Müller
6d68f55c63
ges-xml-formatter: fix memory leak in error path
...
CID 1212146
2014-05-09 13:00:32 +01:00
Mathieu Duponchelle
12a2d96a34
timeline-element: return TRUE in _set_name when both names match.
2014-05-08 14:26:41 +02:00
Mathieu Duponchelle
71b9d421b8
ges-timeline: Fix ges_timeline_get_project macro.
...
This macro was a little confused about its own meaning.
2014-05-08 14:25:18 +02:00
Thibault Saunier
2dd59ab53a
tools: Add an option to disable mixing
...
+ Add a a GObject property so that the info is seralized
https://bugzilla.gnome.org/show_bug.cgi?id=729382
2014-05-02 16:59:08 +02:00
Thibault Saunier
cba79c09ac
project: Enhance debugging when updating URI with an invalid one
...
https://bugzilla.gnome.org/show_bug.cgi?id=729382
2014-05-02 16:58:55 +02:00
Thibault Saunier
ff1446c2b2
ges: Rename remaning tlobj to clip
...
https://bugzilla.gnome.org/show_bug.cgi?id=729382
2014-05-02 16:58:42 +02:00
Thibault Saunier
1adb9a0030
Add a notion of 'name' in GESTimelineElement
...
https://bugzilla.gnome.org/show_bug.cgi?id=729382
2014-05-02 16:27:25 +02:00
Thibault Saunier
56abc17a70
uri-asset: Check return value of gst_tag_list_copy_value
...
CID 1139597
2014-04-17 13:18:19 +02:00
Edward Hervey
d582da74d3
framepositioner: Set the proper default value
...
Most likely a copy/paste error.
CID #1139646
2014-04-10 18:03:55 +02:00
Edward Hervey
73713c157d
xml-formatter: Use proper value for string extraction
...
The pass would be filled with some bogus (pointer) numerical value
CID #1139652
2014-04-10 18:01:03 +02:00
Edward Hervey
e58a0a0fd8
base-xml-formatter: Don't attempt to use NULL entry
...
Instead return straight away
CID #1139739
2014-04-10 17:52:20 +02:00
Christoph Reiter
a66e674649
Include class related section documentation in the gir file.
...
g-ir-scanner includes section docs as class/interface docs if the section name is equal to the lowercase type name.
Since all the documentation is in section blocks, rename them to match the type names.
https://bugzilla.gnome.org/show_bug.cgi?id=727776
2014-04-07 22:13:25 +02:00
Thibault Saunier
af10f530ad
build: Add reference to GstVideo in gir file
2014-04-06 16:43:07 +02:00
Lubosz Sarnecki
272e372566
multifilesrc: remove unused class declaration
2014-03-27 08:34:54 +01:00
Lubosz Sarnecki
d3bc58988d
build: install ges-version.h
2014-03-27 08:34:52 +01:00
Thibault Saunier
0e9c74bcb1
pipeline: Do not set EncodingProfile.presence when we have no track for the type
...
That leads to freeze as encodebin will be waiting for a pad and EOS
forever
2014-03-21 10:22:52 +01:00
Lubosz Sarnecki
46c65aaaaf
ges: multifilesrc support
...
* GESMultiFileSource class
* multifilesrc example
* Support multifile:// urls in uri asset
* start/stop index modification
* Doc
https://bugzilla.gnome.org/show_bug.cgi?id=719373
2014-03-19 18:32:48 +01:00
Thibault Saunier
d7c43140e7
Release 1.2.0
2014-03-16 12:46:26 +01:00
Thibault Saunier
9ef7344a21
Properly generate versioning #define-s during autogen
2014-03-15 20:01:48 +01:00
Thibault Saunier
9b050a54cd
container: Properly handle the case where we could not set parent
...
In this case we had a FIXME about reverting everything that was done,
implement that FIXME!
2014-03-15 20:01:48 +01:00
Andreas Schwab
4dbdac99ed
ges: remove extra semicolon
...
https://bugzilla.gnome.org/show_bug.cgi?id=726365
2014-03-15 13:12:06 +01:00
Thibault Saunier
0a903cdd35
pipeline: Always set the encoding profile presence to 1
...
We currenty do not support multiple tracks with same type in GESPipeline
and we actually need to set the presence field to avoid a scenario where
we have only video in a video track, and no audio in the audio track. So
audiotestsrc is used and we end up encoding the whole audio stream but
no decoded video frame as reached the decodebin src pad, so the pad
has not been created and thus it will not be linked to the encodebin.
On the audio part, the EOS will be emitted so fast that the resulting stream will
not have any video in it as the muxer will not even have a video pad created.
Setting the presence will ensure that the muxer does have a video pad
(because of how encodebin behaves) and thus will create a pad for it
and wait for its EOS.
2014-03-14 18:48:44 +01:00
Thibault Saunier
bffc8a1d94
title-source: Rename ges_title_clip_set_backrgound_colour as appropriate
...
The method was badly called _clip_ instead of _source_ we have not release the API
so we still can change it.
2014-03-14 12:12:17 +01:00
Dan Williams
636dcc3a26
ges: fix finalize/dispose mixup
...
https://bugzilla.gnome.org/show_bug.cgi?id=725918
2014-03-08 11:26:32 +00:00
Dan Williams
54367a2d36
ges: Ensure GObject finalize and dispose methods chain up to parents
...
https://bugzilla.gnome.org/show_bug.cgi?id=725918
2014-03-08 11:24:33 +00:00
Dan Williams
4170ed1721
Fix use-after-free in _free_pending_clip()
...
https://bugzilla.gnome.org/show_bug.cgi?id=725855
2014-03-07 17:42:52 +01:00
Alexandru Băluț
2fbf26a57f
Update the documentation to use Pitivi instead of PiTiVi
2014-02-27 09:54:41 +01:00
Alexandru Băluț
abfe68b285
Remove "#" from short-description
...
It breaks the display in the index.html page.
2014-02-27 09:54:41 +01:00
Alexandru Băluț
eef3861272
Minor documentation fixes: GESExtractable, GESAsset
2014-02-27 09:54:41 +01:00
Thibault Saunier
e9ecfef808
timeline: Make sure not to add 2 times a TrackElement in the same track
...
Without that, if a UriClip contains several tracks of a same type (ie.
video or audio...), we would add all the TrackElements to each track
making everything failling as we end up with several GNL sources at
the same position with the same priority.
2014-02-18 11:02:49 +01:00
Thibault Saunier
f921277ac2
Rename TIMELINE_MODE_XXX to GES_PIPELINE_MODE_XXX so it corresponds to reality
...
First, it was not in any namespace, second the name of the enum is
GESPipelineFlags.
2014-02-17 12:37:57 +01:00
Thibault Saunier
387b234f3b
ges: Give a reference to the formatter for the idle callback
...
This avoid segfault as we are not guaranteed that the formatter will
not be destroyed in the meantime.
+ Minor cleanup of handling of private members
https://bugzilla.gnome.org/show_bug.cgi?id=724337
2014-02-16 20:58:04 +01:00
Sebastian Dröge
0a25ed00a1
ges: Remove unused functions
2014-02-09 23:50:25 +01:00
Sebastian Dröge
f88cc0f433
ges-group: Properly check for integer underflows
...
error: comparison of unsigned expression < 0 is always false
2014-02-08 20:19:53 +01:00
Sebastian Dröge
92e595718a
ges-extractable: Return NULL instead of G_TYPE_INVALID
...
The return type of this function is gchar *, not GType
2014-02-08 20:18:11 +01:00
Thibault Saunier
0b1f3bb5ff
ges: Some documentation cleanup
2014-02-05 00:12:10 +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
f76000d750
uri-asset: Let a chance for user to change URI if the set one is not readable
...
It sounds like the most logical thing to do in that case.
https://bugzilla.gnome.org/show_bug.cgi?id=721111
2014-02-04 13:53:34 +01:00
Thibault Saunier
f4ce6dcab7
videosource: Always add a deinterlace at the beining of videosrcbin
...
It might be needed in some cases (for example when decoding prores files) and
it is the way it is done with playbin now. Also deinterlace now properly supports
passtrough mode.
2014-02-04 13:53:34 +01:00
Thibault Saunier
94dbf20400
ges-asset: Do not forget to give a ref to the registry
...
+ Add test in the testsuite
+ Fix broken tests
https://bugzilla.gnome.org/show_bug.cgi?id=721111
2014-01-30 22:27:54 +01:00
Mathieu Duponchelle
105d901c12
track-element: clamp interpolated keyframe values.
2014-01-10 18:40:37 +01:00
Thibault Saunier
14a2f5943d
base-xml-formatter: Emit 'loaded' right after a project with empy timeline is loaded
...
https://bugzilla.gnome.org/show_bug.cgi?id=720040
2013-12-27 10:14:20 +01:00
Thibault Saunier
d00283f309
track-element: Remove constructors for TrackElement from the API
...
Most of the time the user should not create GESTrackElements
himself, instead he should add a GESAsset to a layer, that will
result in a clip creation and the proper TrackElements to be
created and added to the tracks.
The case of effects and overlays is a bit different as the user should
create the TrackElement and add them to a clip.
2013-12-27 10:14:19 +01:00
Thibault Saunier
b774783af8
ges: Remove versionning infos now that we start on the 1.X API serie
...
They are now meaningless, all the current symbols are the basic
ones for the 1.X serie.
2013-12-27 10:14:19 +01:00
Thibault Saunier
35cefaad1b
ges: Add padding for API extension where missing
2013-12-27 10:14:19 +01:00
Thibault Saunier
289b04f170
ges: Reimplement 'always create a project to back a timeline'
...
Keeping it simple, and making sure everything is synchronous
2013-11-28 15:47:50 -03:00
Thibault Saunier
6e9e9338ae
Revert "ges: Always create a project to back a timeline"
...
This reverts commit 59d83f1a93
.
Conflicts:
tests/check/ges/backgroundsource.c
tests/check/ges/effects.c
tests/check/ges/overlays.c
tests/check/ges/simplelayer.c
tests/check/ges/text_properties.c
tests/check/ges/titles.c
2013-11-28 15:12:15 -03:00
Thibault Saunier
99a36b2b69
timeline: Add all assets of the clip added to the timeline to the project
2013-11-25 15:18:24 -03:00
Thibault Saunier
e7a45f0eef
Remove GESSimplerLayer, that API should land into GESLayer in the end
...
The priority handling of clip is now handled by GESLayer itself, and
handling clip as a ordered list should be implemented in GESLayer itself
too, this way the user can decide to switch mode at any time instead of
2013-11-22 17:50:27 -03:00
Thibault Saunier
04071e7214
layer: Set clip start to the duration of the layer if == TIME_NONE
...
In the provided start of a clip is GST_CLOCK_TIME_NONE in
ges_layer_add_asset, it means that we want the clip to be
added at the end of the layer
2013-11-22 17:50:27 -03:00
Thibault Saunier
4c411761fd
layer: Add an API to get the total duration of the layer
...
API:
ges_layer_get_duration
2013-11-22 17:50:27 -03:00
Lubosz Sarnecki
7b1df27c86
gir: fix warnings
2013-11-22 17:50:27 -03:00
Thibault Saunier
a73644a7b9
video-uri-source: Handle interlaced videos
...
https://bugzilla.gnome.org/show_bug.cgi?id=710168
2013-11-19 12:37:23 -03:00
Thibault Saunier
371740ecdf
framepositionner: Fix the range of properties dealing with number of pixels
...
This way it is possible to interpolate those values.
2013-11-09 10:35:13 -03:00
Thibault Saunier
59d83f1a93
ges: Always create a project to back a timeline
...
And fix all the tests as we need to wait for the project to be loaded
to check the reference count of the timeline (as we keep a ref on the
timeline in project to later emit "loaded" on idle).
2013-11-09 10:35:12 -03:00
Kishore Arepalli
5a5228a25a
ges: Fix several memory leaks
...
https://bugzilla.gnome.org/show_bug.cgi?id=710390
2013-10-31 23:11:23 +01:00
Mathieu Duponchelle
219154eacb
track-element: add start to the position to which we wish we split the bindings.
...
The bindings split is relative to the beginning of the clip.
2013-10-30 12:09:52 -03:00
Thibault Saunier
0e35a68aa6
clip: Fix the find_track_element method
...
What we want is to be able to find a TrackElement by its type, and
possibly specify a Track where to look into.
2013-10-29 17:31:06 -03:00
Kishore Arepalli
71a6d75d75
ges-formatter: don't use 'class' as function argument name in headers
...
It's a keyword in C++ and C++ compilers won't like it.
https://bugzilla.gnome.org/show_bug.cgi?id=710172
2013-10-15 10:49:50 +01:00
Thibault Saunier
ee36beb244
uri-asset: Check if file exists before trying it as a proxy
...
This avoids:
1- discovering file that we know do not exist
2- proposing the current proxy path (that failed) as a possible proxy
which lead to errors
2013-10-11 17:09:46 -03:00
Thibault Saunier
35acbae033
formatter: Try to use best formatter first
2013-10-09 20:25:47 -03:00
Thibault Saunier
d77f260f9e
audiosource: Add audioconvert and audioresample before the volume element
...
https://bugzilla.gnome.org/show_bug.cgi?id=709777
2013-10-09 20:08:03 -03:00
Mathieu Duponchelle
fb6aabfe4d
timeline: pass the correct argument to disconnect_by_func.
...
fixes #709205
2013-10-02 21:17:56 +02:00
Thibault Saunier
ca562ba8a0
clip: Return the newly created TrackElement when adding an asset
...
This is a minor API change
2013-09-28 18:09:49 +02:00
Thibault Saunier
002977cd85
timeline: Add a signal to know when it is commited
2013-09-28 15:42:20 +02:00
MathieuDuponchelle
1c389d6af3
clip: split_bindings at position * + inpoint*
2013-09-28 02:44:06 +02:00
MathieuDuponchelle
e6f82c68e5
video-track: update gaps framerate along with restriction caps.
2013-09-28 02:44:06 +02:00
MathieuDuponchelle
1fac84c7b9
xml-formatter: add support for restriction caps.
2013-09-25 23:54:49 +02:00
Simon Corsin
3970e2fac7
video-source: Add a videorate in video-source.
...
And control it in framepositionner.
Conflicts:
ges/ges-video-source.c
2013-09-25 23:54:49 +02:00
Thibault Saunier
efb638efe8
pipeline: Let some queuing in encodebin
...
It is sometimes necessary
2013-09-22 23:06:22 +02:00
Thibault Saunier
7b96c50b4e
examples: Make project loading more generic
...
Pitivi formatter is deprecated, do not use it by default
2013-09-22 23:06:22 +02:00
Thibault Saunier
c0eae0c790
Revert "ges: Disable the Pitivi formatter"
...
This reverts commit e54ceff720
.
Let's just keep it... it does not cost anything.
2013-09-22 23:06:22 +02:00
Thibault Saunier
ec28489b84
formatter: Keep timeline duration as a meta
2013-09-13 20:37:58 -03:00
Thibault Saunier
f661c3ea55
ges-launch: Make it possible to provid pathes to look for moved asset
...
For example if a project was sent from someone else thus the pates in
there are meaningless on the other computer, we need to be able
to specify a list of pathes where the files are.
+ Fix documentation
2013-09-12 19:07:58 -03:00
Kishore Arepalli
6c993d36ba
ges-pipeline: Don't unref buffer obtained from a GstSample
...
https://bugzilla.gnome.org/show_bug.cgi?id=707914
2013-09-12 09:06:27 +02:00
Thibault Saunier
0daf523dfd
pipeline: Create it through a factory
...
Making it possible to use it with GstValidate LD_PRELOAD feature
2013-09-09 12:51:06 -03:00
Thibault Saunier
0d0fc767ee
pipeline: Finnish renaming from GESTimelinePipeline
2013-09-09 12:47:02 -03:00
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
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
Thibault Saunier
9e15e13983
container: Let full control of children priorities to subclasses
...
For that we make the children_control_mode a protected filed, directly usable by
subclasses, removing the method to set it.
And we let the subclass set and get the priority offsets to the container class.
2013-07-09 22:13:42 +02:00
Thibault Saunier
ed9dcddef4
track: Make sure that new gaps are filled before removing the old ones
...
Currently we can end up having gaps in track as the first step of the
gap filling method removes currently set gaps.
2013-07-09 22:13:41 +02:00
Thibault Saunier
534bf481ed
clip: Handle child priority offsets when setting priority
2013-07-09 22:13:41 +02:00
Thibault Saunier
9d13c5cbd3
container: Do not allow adding an element to a container if it already has a parent
...
This should never happen, an element can have 1 and only 1 parent.
2013-07-09 22:13:41 +02:00
Thibault Saunier
bcfeada696
container: "Implement" the set_priority vmethod
...
This way we will just accept any value setted
2013-07-09 22:13:41 +02:00
Thibault Saunier
7412de6f6c
ges: Avoid leaking the timeline when grouping containers
2013-07-09 22:13:41 +02:00
Thibault Saunier
8bc88a2ba8
container: Let subclasses decide when height change should be computed
...
API:
- GESContainer.compute_height vmethod
+ _ges_container_set_height
2013-07-09 22:13:41 +02:00
Thibault Saunier
b5858c5b04
base-xml-formatter: s/ducation/duration/
2013-07-09 22:13:41 +02:00
Thibault Saunier
91ebdc7efb
container: ges_container_ungroup return a transfer full list
2013-07-09 22:13:41 +02:00
Thibault Saunier
663f9884ef
ges: Move ges_clip_edit to GESContainer
...
This exact same method will be needed in GESGroup, so we should have the method
in the common parent class.
API:
- ges_clip_edit
+ ges_container_edit
+ GESContainer->edit vmethod
2013-07-09 22:13:41 +02:00
Thibault Saunier
87cfcca5e7
container: Update offsets in GESTimelineElement vmethod implementations
...
So subclasses just have to link up to resync offsets
2013-07-09 22:13:41 +02:00
Thibault Saunier
cd111fa10a
docs: Misc documentation fixes
2013-07-09 22:13:41 +02:00
Thibault Saunier
fe043e0231
clip: Never try to set the start after the end of an element when trimming
2013-07-09 22:13:40 +02:00
Thibault Saunier
71f877c611
internal: Add a macro to make it easier to get the end of a TimelineElement
2013-07-09 22:13:40 +02:00
Thibault Saunier
dd7085d2ed
track: Update gaps only when commiting
...
We were still updating them at useless moments, do it only when absolutely needed.
2013-07-09 22:13:40 +02:00
Thibault Saunier
4020ca54ff
container: Fix the way we check priority of subclasses when grouping objects
...
The resulting list was from lower to higher, we need the contrary
2013-07-09 22:13:40 +02:00
Thibault Saunier
ab98f370c8
ges: Move GESTimelineElemt vmethod implementation from container to clip
...
This is where they belong to has they are specific to that
implementation of the baseclass
2013-07-09 22:13:40 +02:00
Thibault Saunier
f5aee5df57
container: Make initiated_move a read only protected member
...
It is a interesting information for subclasses.
Conflicts:
ges/ges-container.c
2013-07-09 22:13:40 +02:00
Thibault Saunier
5a29cd0c88
internal: Fix typo in the header
...
ges_base_xml_formatter_add_control_bindingi was meant to be
ges_base_xml_formatter_add_control_binding
2013-07-09 10:57:51 -04:00
Mathieu Duponchelle
2cb71e730a
track-element: Remove duration_changed virtual method.
...
We use notifies for the properties.
+ Use notifies in audio-transition and video-transition
2013-07-08 19:32:15 -04:00
Mathieu Duponchelle
f1a3d65ef6
formatters: Save and load bindings applied to sources.
2013-07-08 19:32:09 -04:00
Tim-Philipp Müller
3b8bfc1f16
timelinepipeline: fix caps leak
2013-06-28 00:24:33 +01:00
Руслан Ижбулатов
e4b1153846
timelinepipeline: make the caps from encoding profile writable
...
https://bugzilla.gnome.org/show_bug.cgi?id=703121
2013-06-28 00:20:14 +01:00
Thibault Saunier
d49efabb93
urisource: Do not let user reset the URI property
...
This is not supported right now and would lead to unexpected behaviours
2013-06-23 18:43:00 -04:00
Mathieu Duponchelle
9e0632e353
ges: Add a framepositionner element used in ges-smart-mixer and ges-uri-source
...
It adds metadata on the buffers and the mixer parses them.
This is done because we want to keep positionning properties
and set them on the dynamic mixer pad.
Conflicts:
ges/Makefile.am
2013-06-23 18:42:59 -04:00
Mathieu Duponchelle
2b4609bfe7
video-track: "implement" get_mixing_element.
2013-06-23 18:37:41 -04:00
Mathieu Duponchelle
859f4c3c05
ges-smart-mixer: first code dump, mainly copy paste from ges-smart-adder.
2013-06-23 18:37:41 -04:00
Simon Corsin
bc4186d9c8
ges-layer.c: notify priority changes.
2013-06-23 18:37:41 -04:00
Mathieu Duponchelle
fc182b8026
ges-uri-source: Refactoring work.
...
+ Categorize functions (Callbacks, vmethods)
+ make more generic functions for the creation of the bin.
2013-06-23 18:37:40 -04:00
Mathieu Duponchelle
6be4f79ca0
uri-source: Expose the volume property.
...
+ Make the pspec_hash function an internal util.
+ Add a create_props_hashtable implementation
+ If TRACK_TYPE_AUDIO, put the volume properties in the hashtable.
2013-06-23 18:37:40 -04:00
Mathieu Duponchelle
800325db02
uri-source: when creating the audio element, set the volume to the layr volume when necessary.
2013-06-23 18:37:40 -04:00
Mathieu Duponchelle
86b893e54c
ges-uri-source: don't use gnlurisource but a custom bin.
...
+ This bin is a uridecodebin when GES_TRACK_TYPE_VIDEO
+ This bin contains a uridecodebin and a volume when GES_TRACK_TYPE_AUDIO
2013-06-23 18:37:40 -04:00
Mathieu Duponchelle
65670509f9
smart-adder: remove volume from the bin, which quite simplifies the code.
...
+ Don't be too smart, adder.
2013-06-23 18:37:40 -04:00
Thibault Saunier
724a6c1bb5
smart-adder: Implement a GESSmartAdder bin element to be used as mixing element
...
..in audio tracks
2013-06-23 18:37:40 -04:00
Thibault Saunier
b87c800743
meta-container: Add a VOLUME default meta to layers
2013-06-23 18:28:53 -04:00
Thibault Saunier
29bfe9c0fe
ges: Misc documentation fixes
2013-06-23 18:28:53 -04:00
Thibault Saunier
7e25aaeccc
track: Implement infrastructure for mixing
2013-06-23 18:28:52 -04:00
Thibault Saunier
58aba118a6
track-element: Set a reference to the GESTrackElement on the GnlObjects using qdata
2013-06-23 18:28:52 -04:00
Thibault Saunier
55b7628382
ges: Make space in the GESTracks to be able to add mixing elements later
...
And update the tests
2013-06-23 18:28:52 -04:00
Thibault Saunier
700a56f88c
layer: Fix some mix up in variable names
2013-06-23 17:39:05 -04:00
Thibault Saunier
439f9b4cc0
layer: Simplify a bit how we handle priorities
2013-06-23 17:39:05 -04:00
Thibault Saunier
b57f55121b
timeline-element: Make it possible to reset the timeline property to NULL
...
+ Add some debug symbol
2013-06-23 17:39:05 -04:00
Thibault Saunier
9b14c001b0
ges: Implement GESAudioTrack and GESVideoTrack, subclasses of GESTrack
2013-06-23 17:38:57 -04:00
Thibault Saunier
f6038e3ad2
ges: Port to the new commit based API in GNL
...
The GNL API changed to go from a model where user could
enable/disable updates in the composition, which leaded to races
in many places, to a model where any positioning change in the
composition is not directly done but 'cached' and then the user
has to commit those changes so they become effective in the media
processing stack.
The new API in GES is pretty similare and is basically copy
pasting this new design.
We still need to see if in some context it would make sense to add
a mode where we would commit any changes ourself at the end of our
operation for basic use cases.
Removed APIs:
ges_timeline_enable_update
ges_timeline_is_updating
ges_track_enable_update
ges_track_is_updating
New APIs:
ges_track_commit
ges_timeline_commit
2013-06-23 16:33:33 -04:00
Lubosz Sarnecki
30f0924055
timeline: fix segfaults
...
don't call the timeline update, when the reference is invalid
https://bugzilla.gnome.org/show_bug.cgi?id=702605
2013-06-20 09:54:02 -04:00
Mathieu Duponchelle
1d00f45f4f
ges-uri-asset.c: Fix ges_uri_asset_request_sync annotations.
2013-06-16 22:02:49 -04:00
Thibault Saunier
d702b16e25
project: Disable update in the project rather than the formatter
...
We need to make sure the update are disabled until the project is fully
loaded, let the responsability to the project instead of the formatter
2013-06-12 12:00:59 -04:00
Thibault Saunier
284648e536
timeline: Sync track enable_update property with parent
...
When we add a track to a timeline, we want it "enable update" property
to be set to the timeline's
2013-06-12 11:16:37 -04:00
Thibault Saunier
7e121ff167
ges: Protect from Gst dynamic callbacks
...
The pad-added and no-more-pad signal can be emited from any thread
so we have to protect our code from that
2013-05-29 17:14:31 -04:00
Thibault Saunier
302e0ed5d7
track: Update all gaps when timeline duration changed
...
And add a unit test to check that a gap is created in empty tracks
2013-05-28 18:27:31 -04:00
Thibault Saunier
40bfdd508a
Finish renaming filesource to urisource
2013-05-28 18:27:31 -04:00
Thibault Saunier
9ea53465d2
track: Update gaps when we set the timeline
2013-05-28 18:27:31 -04:00
Sebastian Dröge
e7c748a7f2
ges-pitivi-formatter: Remove some unneeded includes and clean up includes
...
Fixes the build on Windows, where there's no unistd.h... which wasn't
needed at all.
https://bugzilla.gnome.org/show_bug.cgi?id=701115
2013-05-28 08:51:08 +02:00
Nicolas Dufresne
13fb847255
GESAssetLoadingReturn cannot be internal
...
The enumeration is referenced in a public API.
2013-05-10 18:13:11 -04:00
Thibault Saunier
ef4efa505f
clip: Avoid corruption of our list of children while ungrouping
2013-05-09 19:12:43 -04:00
Anton Belka
7d999c5ab8
timeline: add auto-transition
...
API:
ges_timeline_get_auto_transition
ges_timeline_set_auto_transition
GESTimeline::auto-transition
2013-05-09 18:54:56 -04:00
Thibault Saunier
51403f65be
basexmlformatter: Do not allow empty file loading
2013-04-30 18:26:57 +01:00
Thibault Saunier
602f49f3e1
video-test-src: Force video/x-raw
...
Avoiding to hit errors with video/x-bayer
2013-04-28 01:45:02 +02:00
Mathieu Duponchelle
a2f8dbd3d1
audiotransition: Add a resampler in the audio transition bin
2013-04-28 01:45:01 +02:00
Mathieu Duponchelle
e02681ca2a
audiotransition: Fix porting error of the interpollator
...
+ update debug statements s/LOG/INFO
(acontrolsource != bcontrolsource)
2013-04-28 01:44:55 +02:00
Thibault Saunier
54bf3c05c5
test-clip: Do not set black/silent by default
2013-04-28 01:44:55 +02:00
Mathieu Duponchelle
c57e463b2d
replace query_caps with get_current_caps. don't check for unused gnlobject.
2013-04-23 23:05:17 -03:00
Thibault Saunier
b2b96c743d
Rename GESTimelineLayer to GESLayer
2013-04-23 20:22:31 -03:00
Thibault Saunier
b5c52a17ec
layer: Remove the "rate" property of ges_timeline_layer_add_asset
...
API:
- ges_timeline_layer_add_asset (layer, asset, start, inpoint, duration, rate, track_types);
+ ges_timeline_layer_add_asset (layer, asset, start, inpoint, duration, track_types);
2013-04-23 20:22:27 -03:00
Mathieu Duponchelle
5ef1a8afa9
trackelement: asynchronously add bindings if the track-element is not in a track yet.
...
Also fix annotations.
2013-04-23 19:31:32 -03:00
Thibault Saunier
f3372dfb0f
formatter: Pass a dummy instance of formatter to virtual method
...
Instead of passing the class itself
2013-04-23 19:31:32 -03:00
Thibault Saunier
bf4a05d2e7
Fix compilation
2013-04-22 09:42:10 -03:00
Thibault Saunier
dcb1114806
xml-formatter: Use G_GUINT64_FORMAT where needed
2013-04-21 21:29:29 -03:00
Thibault Saunier
f5eb42c664
uri-clip-asset: Add "_class_" to a class method
...
API CHANGE:
- ges_uri_clip_asset_set_timeout
+ ges_uri_clip_asset_class_set_timeout
2013-04-21 21:13:00 -03:00
Thibault Saunier
5ab40ce5cb
ges: Fix compilation with clang
2013-04-21 21:11:52 -03:00
Thibault Saunier
723fee10b6
project: Accept NULL as a valid value for @id in _create_asset
2013-04-19 19:59:26 -03:00
Thibault Saunier
10c25fef13
clip: Rework the splitting method
...
+ Avoid setting clip duration of our parent ourself
Now each and every TrackElement inside a clip have the same
start/inpoint/duration
2013-04-19 19:05:43 -03:00
Thibault Saunier
858a630e65
ges: Fix compilation
2013-04-18 18:59:52 -03:00
Thibault Saunier
64e188772e
pipeline: Add API guards where needed
2013-04-18 18:48:19 -03:00
Thibault Saunier
70d5680748
pipeline: Add a GError argument
2013-04-18 18:48:19 -03:00
Thibault Saunier
fee4167292
pipeline: Return FALSE in save_thumbnail when the operation fails
2013-04-17 16:48:05 -03:00
Thibault Saunier
e1cac75df4
container: The TimelineElement.inpoint property is call "in-point" not inpoint
2013-04-15 00:18:05 -03:00
Thibault Saunier
cdd00ed207
ges-clip: Remove the unlocked TrackElement APIs
...
Remove APIs:
ges_track_element_set_locked
ges_track_element_is_locked
Those APIs where really not nice to use and were causing more issues
than solving them. If 2 time related properties of TimelineElement must
be different, then those element can *not* have the same parent.
Plus, with the new ges_container_group () API, we will recreate 1
GESClip containing the proper GESTimelineElements if it is the thing
to do.
2013-04-15 00:18:05 -03:00
Thibault Saunier
6775097e66
pitivi-formatter: Remove broken code to handle unlocked track object
...
WARNING: The plan is to remove unlocked track object APIs so this is
the first part of that process... that code was already broken, and
*needs* to be fixed anyway, better do it using new APIs
2013-04-15 00:18:05 -03:00
Thibault Saunier
fff2511597
pitivi-formatter: Remove saving code
2013-04-15 00:18:04 -03:00
Thibault Saunier
4039468b57
timeline: call sync_state_with_parent when adding a child
2013-04-09 00:11:18 -03:00
Thibault Saunier
78d80c8ca4
track-element: Rename set_property_controlling_parameters set_control_source
...
+ Generate the documentation
2013-03-31 16:37:41 +02:00
Mathieu Duponchelle
e655a75605
[Keyframes] Adds API to set a control binding on a track element, and the serialization code.
2013-03-31 16:31:26 +02:00
Thibault Saunier
811e68811c
Changing remaining clip::track-element-added to container::child-added
2013-03-30 15:40:38 +01:00
Thibault Saunier
d3595d4706
pipeline: Implement the video overlay interface
2013-03-30 14:35:45 +01:00
Thibault Saunier
8b1039a87a
timeline-pipeline: Enhance API guards
2013-03-30 13:34:56 +01:00
Thibault Saunier
40376f9219
timeline: Do no unref the timeline before returning it
2013-03-30 13:34:36 +01:00
Thibault Saunier
8d4ce97fc3
container: s/get_priorty_range/get_priority_range/
2013-03-30 12:31:50 +01:00
Thibault Saunier
f114b6eb3b
timeline: Comment some variables goals
2013-03-29 15:50:12 +01:00
Thibault Saunier
cd188c851d
container: Let subclasses handle the height
...
+ Fix tests (starting using GESTestClip instead of GESCustomClip)
Now the height is not only growing, but can also go down, as the value
is just simply computed
API:
GESContainer::compute_height virtual method
2013-03-28 11:16:41 +01:00
Thibault Saunier
b5f2c819fc
container: Properly implement ges_container_group
2013-03-28 11:16:41 +01:00
Thibault Saunier
134ce9a8d8
clip: Emit notify signal when setting Clip.layer
2013-03-28 11:16:41 +01:00
Thibault Saunier
7313916ae8
timeline: Remove TrackElement from its container on GESTimelineLayer::"clip-removed"
...
.... when the Track is NULL
2013-03-28 11:16:41 +01:00
Thibault Saunier
0df2d4f945
container: Make sure that the child exists when emiting the "child-removed" signal
...
+ Add a test
2013-03-28 11:16:41 +01:00
Thibault Saunier
229ec5f435
container: Replace ignore_notify by a GESChildrenControlMode flag
2013-03-23 03:26:33 -03:00
Thibault Saunier
c6078abc97
container: Stop ignoring notifies if ->add_child fails
2013-03-23 01:35:02 -03:00
Thibault Saunier
7f1fbd2300
internal: Add a element_end_compare
2013-03-23 01:34:50 -03:00
Thibault Saunier
e72f5a6012
timeline-element: Add a macro to get element 'end'
2013-03-23 01:31:23 -03:00
Thibault Saunier
c84f4ec9fb
ges: Keep ges-gerror categories simple.
2013-03-22 17:39:04 -03:00
Thibault Saunier
fa5ed5111d
Misc cleaning
2013-03-21 22:17:10 -03:00
Thibault Saunier
48b5903ef8
track-element: Make ges_track_element_set_track internal
...
Removed API:
+ ges_track_element_set_track
2013-03-21 22:12:47 -03:00
Thibault Saunier
cae3aabbca
ges: Make ges_clip_create_track_element(s) internal methods
...
+ Fix tests (we still need a round of modernisation, making use of
assets where it makes sense)
There is no reason to use those method outside of GES, so remove them,
cleaning the API and making it easier for users.
Removed APIs:
-----------
* ges_clip_create_track_element
* ges_clip_create_track_elements
2013-03-21 22:05:45 -03:00
Thibault Saunier
9a751269bb
uri-asset: Properly handle images and do not duplicate the TrackType
2013-03-19 21:07:58 -03:00
Thibault Saunier
855270566c
uri-asset: Implement a ges_uri_clip_asset_request_sync method
...
This way we let the possibility to the user to actually do it, but we avoid him to do it
without knowing it is absolutely not recommanded to.
API:
+ ges_uri_clip_asset_request_sync
2013-03-19 20:06:30 -03:00
Thibault Saunier
6a3331cc67
Start categorizing GError types in GES
2013-03-19 20:06:30 -03:00
Thibault Saunier
5b2183076a
timeline-element: Do not give a reference to the calles of g_object_get_property
...
... for both the "parent" and the "timeline" properties
Making things simpler to handle for the copy method.
2013-03-19 20:06:30 -03:00
Thibault Saunier
f8334dba24
clip: Make it mandatory that a clip is in a layer to be splittable
...
Otherwize we will not be able to describe if the returned object has a floating reference or not, and this would screw the introspection.
2013-03-19 20:06:30 -03:00
Thibault Saunier
5a5b07297c
Use gst_object_ref_sink instead of g_object_ref_sink when appropriate
...
Making refcount issue debugging simpler
2013-03-18 12:48:42 -03:00
Thibault Saunier
0767f08c7a
Always prefer gst_object_(un)ref over g_object_(un)ref
...
Making the refcount issue debugging easier
2013-03-18 12:48:41 -03:00
Thibault Saunier
dd50427714
clip: Make set/is_moving_from_layer internal
2013-03-15 12:01:58 -03:00
Thibault Saunier
058f0d0099
clip: Reindent header and make ges_clip_set_layer internal
2013-03-15 11:58:59 -03:00
Thibault Saunier
2fede3adeb
track: Cleanup header and add a FIXME
2013-03-15 11:38:03 -03:00
Thibault Saunier
aa740d86bd
Remove GESTrackElements from GESTracks when removing from a GESClip
...
... Not the other way round.
+ Add and enhance debugging info on the way
The user should not be responsible for removing the GESTrackElements from
GESTracks, instead, removing it from a GESClip should imply removing
it from any GESTrack it is in.
This patch changes sensibly the behaviour when we remove a
GESTrackElement from a GESTrack, not remoing it from the GESClip it is
in. *But*, users should never remove a GESTrackElement from a GESTrack
anyway. The testsuite has been updated to that new behaviour.
2013-03-15 11:17:06 -03:00
Thibault Saunier
7943bb510a
ges: Make GESTimeline responsible for adding GESTrackElement to GESTrack
...
+ Fix tests as necessary (Do not use agingtv as it can be "applied" on any TrackType
and is not representative of what happens IRL)
We already had the infrastructure so the user can have the control over where to add
the elements (through the "select-track-for-object" signal). We now make use of that
signal everytime a GESClip is added to a GESTimelineLayer. This make user's life easier,
and object responsability clearer.
2013-03-15 00:13:09 -03:00
Thibault Saunier
b397a41f2f
Add a GESEffectAsset class, and make sure to set the GESTrackType asap on effects
...
+ Make use of the asset in ges_effect_new
2013-03-15 00:13:09 -03:00
Thibault Saunier
eaf30dd4c5
ges: Use GESAsset in clip contructors when possible
2013-03-15 00:13:09 -03:00
Thibault Saunier
fceb80dda3
timeline-element: Set asset from the copied element to the new copy
2013-03-15 00:13:09 -03:00
Thibault Saunier
f579a6a95c
container: Add a ges_container_group method
...
+ Add some basic unit tests
API:
GESContainer:group vmethod
ges_container_group
2013-03-15 00:13:09 -03:00
Thibault Saunier
ae80f08869
track: Do not remove a TrackElement from a NULL clip
2013-03-15 00:13:09 -03:00
Thibault Saunier
c73ced52f8
container: Add a way to ungroup a GESContainer into several GESContainers
...
+ Add simple unit test
API:
GESContainerClass::ungroup vmethod
ges_container_ungroup
2013-03-15 00:13:09 -03:00
Thibault Saunier
c72c14b398
timeline-element: Make it possible to reset parent to NULL
2013-03-15 00:13:08 -03:00
Thibault Saunier
3136ccf84c
Fix some documentations
2013-03-15 00:13:08 -03:00
Thibault Saunier
795b8df1b6
Implement GESContainer
...
+ Fix unit tests
+ Minor enhancement in unit tests
API changes:
-----------
* ges_track_element_get_clip -> ges_timeline_element_get_parent
* ges_clip_add_track_element -> ges_container_add
* ges_clip_release_track_element -> ges_container_remove
* ges_clip_get_track_elements -> ges_container_get_children
(or GES_CONTAINER_CHILDREN)
2013-03-15 00:13:08 -03:00
Thibault Saunier
25bcb023ca
timeline-element: Enhance debug statement and documentation
...
+ Accept NULL as a parent
2013-03-14 18:11:56 -03:00
Thibault Saunier
0cb8c671ea
timeline-element: Add a "timeline" property
2013-03-14 18:10:34 -03:00
Руслан Ижбулатов
7a81dd8669
ges-timeline-element: Fix GST_DEBUG_OBJECT invocations
...
Fixes #695267
2013-03-06 08:33:21 +01:00
Thibault Saunier
0888e5e25b
Rename object/tobj/trobj to clip or track_element as necessary
...
Not really complete but it is a good start!
2013-02-15 16:26:30 -03:00
Thibault Saunier
7f3c952737
Finish renaming tck_obj and derivate to track_element
2013-02-15 15:23:16 -03:00
Thibault Saunier
d21791a8d0
Rename GESTimelineLayer.xxx_object to GESTimelineLayer.xxx_clip
2013-02-15 15:23:15 -03:00
Thibault Saunier
ec1db99266
track: Rename all GESTrack.xxx_object to GESTrack.xxx_element
2013-02-15 15:23:15 -03:00
Thibault Saunier
fc8f06eedb
Properly rename object-added to clip-added
2013-02-15 15:23:15 -03:00
Thibault Saunier
4ddcfb642d
Finish renaming timeline object to clip
2013-02-15 15:23:15 -03:00
Thibault Saunier
b4e1131b70
Finish renaming track object to track element
2013-02-15 15:23:15 -03:00
Thibault Saunier
cb11f0d7c4
Add GESTimelineElement.{start, inpoint, duration, maxduration, priority} getters
2013-02-15 15:23:15 -03:00
Thibault Saunier
6689db6098
uriclip: Fix wrong acces to object instead of its duration field
2013-02-15 15:23:10 -03:00
Thibault Saunier
c21524a985
Reword ges_title_clip_set_color to ges_title_clip_set_text_color
2013-02-15 14:42:07 -03:00
Thibault Saunier
f63c78b056
Rename ges_title_.*_set_background to set_background_color
2013-02-15 14:42:07 -03:00
Thibault Saunier
552f008e9d
titleclip: Remove useless mute property
2013-02-15 14:42:07 -03:00
Thibault Saunier
28e86cbc6c
pitiviformatter: Fix renaming issues
2013-02-15 14:42:07 -03:00
Thibault Saunier
a20f6cf5f3
Rename overlay_text to text_overlay
2013-02-15 14:42:07 -03:00
Thibault Saunier
fb7baa1cd3
Rename GESAssetClip to GESClipAsset
2013-02-15 14:42:07 -03:00
Thibault Saunier
997df180ea
Rename GESTrackAudioTransition to GESAudioTransition
2013-02-15 14:42:07 -03:00
Thibault Saunier
ecc9eb3020
Rename GESTrackVideoTransition to GESVideoTransition
2013-02-15 14:42:07 -03:00
Thibault Saunier
3f97a05c11
Rename GESTrackTransition to GESTransition
2013-02-15 14:42:06 -03:00
Thibault Saunier
f7170a6a83
Rename GESTrackOperation to GESOperation
2013-02-15 14:42:06 -03:00
Thibault Saunier
ac456f74d7
Rename GESTrackTextOverlay to GESTextOverlay
2013-02-15 14:42:06 -03:00
Thibault Saunier
8245a6e624
Rename GESTrackTitleSource to GESTitleSource
2013-02-15 14:42:06 -03:00
Thibault Saunier
6aa01b594a
Rename GESTrackImageSource to GESImageSource
2013-02-15 14:42:06 -03:00
Thibault Saunier
037b71bc16
Rename GESAssetTrackElement to GESTrackElementAsset
2013-02-15 14:42:06 -03:00
Thibault Saunier
bfef8d77ba
Rename TrackFileSource to UriSource
2013-02-15 14:42:06 -03:00
Thibault Saunier
6363d0fdad
Rename GESTrackSource to GESSource
2013-02-15 14:42:06 -03:00
Thibault Saunier
273f27a269
Rename GESTrackVideoTestSource to GESVideoTestSource
2013-02-15 14:42:05 -03:00
Thibault Saunier
5a5aae6e63
Rename GESTrackAudioTestSource to GESAudioTestSource
2013-02-15 14:42:05 -03:00
Thibault Saunier
e24cccabfd
Rename GESTrackParseLaunchEffect to GESEffect
2013-02-15 14:42:05 -03:00
Thibault Saunier
5da8fa89e2
Rename TrackEffect to BaseEffect
2013-02-15 14:42:05 -03:00
Thibault Saunier
d69964fd2a
Rename GESTrackObject to GESTrackElement
2013-02-15 14:42:05 -03:00
Thibault Saunier
dc04fd005c
Rename GESStandardEffectClip to GESEffectClip
2013-02-15 14:42:04 -03:00
Thibault Saunier
4346775d6e
Rename GESEffectClip to GESBaseEffectClip
2013-02-15 14:42:04 -03:00
Thibault Saunier
6f4315b75d
Rename GESStandardTransitionClip to GESTransitionClip
2013-02-15 14:42:04 -03:00
Thibault Saunier
4300876b0d
Rename GESTransitionClip to GESBaseTransitionClip
2013-02-15 14:42:04 -03:00
Thibault Saunier
e48b959dde
timelineelement: Implement the notion of parenting
2013-02-15 14:42:04 -03:00
Thibault Saunier
e3dc877c4b
Rename GESTimelineTestSource to GESTestSourceClip
2013-02-15 14:42:04 -03:00
Thibault Saunier
5da46b7658
Rename GESTimelineTileSource to GESTitleClip
2013-02-15 14:42:04 -03:00
Thibault Saunier
a2f670448e
Rename GESTimelineTextOverlay to GESTextOverlayClip
2013-02-15 14:42:04 -03:00
Thibault Saunier
fd5c3e512a
Rename GESTimelineOverlay to GESOverlayClip
2013-02-15 14:42:03 -03:00
Thibault Saunier
878f015179
Rename GESTimelineSource to GESSourceClip
...
And GESCustomTimelineSource to GESCustomSourceClip
2013-02-15 14:42:03 -03:00
Thibault Saunier
d151f62aa9
Rename GESTimelineOperation to GESOperationClip
2013-02-15 14:42:03 -03:00
Thibault Saunier
dbc83d5d86
Rename GESTimelineParseLaunchEffect to GESStandardEffectClip
2013-02-15 14:42:03 -03:00
Thibault Saunier
d7693b4014
Rename GESTimelineStandardTransition to GESStandardTransitionClip
2013-02-15 14:42:03 -03:00
Thibault Saunier
b73cf7c3d7
Rename GESTimelineTransition to GESTransitionClip
2013-02-15 14:42:03 -03:00
Thibault Saunier
192d8a6f4d
Rename GESTimelineEffect to GESEffectClip
2013-02-15 14:42:03 -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
04a3c49ebd
Rename GESTimelineObject to GESClip
2013-02-15 14:42:02 -03:00
Thibault Saunier
f0359481c0
Add a GESTimelineElement base class
...
+ Port GESTrackObject and GESTimelineObject to the new baseclass
2013-02-15 14:42:02 -03:00
Thibault Saunier
04b1ef6eb7
project: Update loading asset when a URI is missing
2013-01-30 20:14:59 -03:00
Tim-Philipp Müller
85663a840e
Fix various printf format issues in debug messages
2013-01-22 19:51:57 +00:00
Thibault Saunier
7f81f16674
pitiviformatter: Handle project metadatas
2013-01-14 09:02:26 -03:00
Thibault Saunier
17b765bfb5
xmlformatter: Do no allow saving CONSTRUCTONLY properties
2013-01-14 09:02:26 -03:00
Thibault Saunier
350c5a07bf
layer: State assets we create async as loading to the project
2013-01-14 09:02:26 -03:00
Thibault Saunier
e071e3ed37
project: Track Asset that were loaded with error
2013-01-14 09:02:26 -03:00
Thibault Saunier
1d397591af
project: Handle assets that are being loaded
...
API:
ges_project_get_loading_assets
2013-01-14 09:02:26 -03:00
Thibault Saunier
ae9b006d05
ges: Documentations fixes
2013-01-12 10:53:44 -03:00
Thibault Saunier
02652902f5
Reimplement the auto-transition feature
...
+ Actually implement unit tests
2013-01-10 18:53:15 -03:00
Thibault Saunier
5f69200a3a
trackobject: Make the GESTrack (parent track) a GObject property
2013-01-10 18:09:23 -03:00
Thibault Saunier
9791fc541b
timeline: Minor refactoring
2013-01-10 18:01:33 -03:00
Thibault Saunier
eeef1548b3
timeline: Avoid recreating the moving_tlobjs when unecessary
2013-01-10 13:32:15 -03:00
Thibault Saunier
8888a3a698
Misc debug message enhancements
2013-01-10 12:46:33 -03:00
Thibault Saunier
92a67092d5
timeline: Keep track of whether updates are enabled or not
...
Check if we want to track Track-s enable status and update our status according
to that
2013-01-10 12:46:33 -03:00
Thibault Saunier
2c37986493
layer: Properly emit the notify signal when auto_transition changes
2013-01-10 12:25:53 -03:00
Thibault Saunier
7f10881dd2
timeline: Track TrackObject-s by layer
2013-01-10 11:50:02 -03:00
Thibault Saunier
af326df8bd
utilities: Make internal utilities instead of copy/pasting functions
2013-01-10 11:15:32 -03:00
Thibault Saunier
feb85a1456
Move LAYER_HEIGHT definition from -timeline-layer.c c to -internal.h
2013-01-10 11:11:31 -03:00
Thibault Saunier
6e33af939c
asset-track-object: Minor doc fixing
2013-01-10 11:11:31 -03:00
Thibault Saunier
1b8126d349
timeline: Remove dead macros
2013-01-10 11:11:30 -03:00
Thibault Saunier
31e1ea3840
timeline: Use g_sequence_sort_changed when appropriate
2013-01-10 11:11:28 -03:00
Thibault Saunier
e54f1292b6
track: Keep in cache the GSequenceIter so we get a faster acces to them
2013-01-03 12:23:02 -03:00
Thibault Saunier
c9e970eb36
formatter: Plug some leaks
2013-01-03 09:44:35 -03:00
Thibault Saunier
0ec78ea70b
xmlformatter: Plug various leaks
2013-01-03 09:44:35 -03:00
Thibault Saunier
cf93469fa5
Misc nitpick fixing
2012-12-30 23:12:28 -03:00
Thibault Saunier
854228c4ea
project: Plug various leaks.
2012-12-30 23:12:28 -03:00
Thibault Saunier
ac7dd69a71
meta-container: Plug various leaks
2012-12-30 23:12:28 -03:00
Thibault Saunier
bf1e966d25
asset: Do not allow proxying over the same currently proxied asset
2012-12-30 23:12:27 -03:00
Thibault Saunier
38bc983502
asset: Fix some leaks
2012-12-30 23:12:27 -03:00
Thibault Saunier
96d3afce6e
asset: Avoid leaking the GParameter array and content
2012-12-29 19:38:50 -03:00
Thibault Saunier
f722938ebf
assetfilesource: Fix some leaks
2012-12-29 19:38:31 -03:00
Thibault Saunier
a962f07087
Refrase formatters descriptions
2012-12-29 19:38:13 -03:00
Thibault Saunier
b6b6063be3
formatter: First check the extension when checking if can load URI
2012-12-29 19:38:13 -03:00
Thibault Saunier
7fa9eee785
project: Run the vmethod in first stage for the "loaded" signal
...
This is most probably what sublcasses will need
2012-12-29 19:38:13 -03:00
Thibault Saunier
e796a2aab2
tests: Fix misc issues
...
Now GST_CAPS_ANY is a singleton, it is not returning a newly created caps
anymore
2012-12-29 19:38:12 -03:00
Thibault Saunier
9f63e6514a
Allow checking code coverage
2012-12-29 19:38:12 -03:00
Thibault Saunier
67da662276
Misc documentation fixes
...
Using "#" a in short_description screws the display
2012-12-29 19:38:12 -03:00
Thibault Saunier
c5ad871d1c
Implement a GESAssetTrackObject class
...
+ Addapt the rest of the code to make use of it
2012-12-29 19:38:12 -03:00
Thibault Saunier
27c36046fa
Implement a GESAssetTimelineObject class
...
+ Make GESAssetFileSource a subclass of it
+ Remove ges_asset_filesource_get_supported_type as it is now in GESAssetTimelineObject
+ Remove the GES_META_TIMELINE_OBJECT_SUPPORTED_FORMATS as it is useless now
2012-12-29 19:36:53 -03:00
Thibault Saunier
6dfae640a2
Add a GESAssetTrackFileSource class and make use of it all around
2012-12-29 19:36:53 -03:00
Sebastian Dröge
bc0f335734
Allow applications to select to which track a track object should be added
...
Modifies some API:
ges_timeline_object_create_track_objects now take a GESTrackType instead of a
GESTrack as second argument, and return a GList instead of a boolean
ges_timeline_object_create_track_object now take a GESTrackType instead of a
GESTrack as second argument
2012-12-29 19:36:52 -03:00
Thibault Saunier
313036aa15
Add a utility method to get the name of a GESTrackType
...
API:
ges_track_type_name
2012-12-29 19:36:52 -03:00
Thibault Saunier
0f98adece8
timelinepipeline: Properly reset #GESTrack caps when switching back to playback
2012-12-29 19:36:52 -03:00
Thibault Saunier
2b4c4cfc0c
timeline: Properly popullate the tracks field with GESTrack-s
...
+ add priv_tracks private field that contained TrackPrivate structures
We now have 2 list containing our tracks, one with TrackPrivate structures, and one the
GESTrack-s themselves.
2012-12-29 19:36:52 -03:00
Thibault Saunier
228c2fd569
Revert "Revert "ges: timeline-pipeline: Remove playsink send_event hack""
...
This reverts commit 094669391d
.
Conflicts:
ges/ges-timeline-pipeline.c
2012-12-29 19:36:52 -03:00
Thibault Saunier
5a56aef7c0
Misc documentation fixing
2012-12-29 19:36:52 -03:00
Thibault Saunier
4ab430877f
formatter: Rework the _save_to_uri method to give more debug information
2012-12-29 19:36:51 -03:00
Thibault Saunier
f30e33d489
timeline-layer: Handle project when adding a GESTimelineObject directly
2012-12-29 19:36:51 -03:00
Thibault Saunier
063bc37a35
timeline-layer: Implement the Extractable type
...
We can imagine user implemts more Layer type, it could be usefull for formatters
to instanciate through a GESMaterial
2012-12-29 19:36:51 -03:00
Thibault Saunier
ad00c228c4
timeline-object: Reindent header file
2012-12-29 19:36:51 -03:00
Thibault Saunier
d32dc3fb20
docs: Minor documentation fixes
2012-12-29 19:36:51 -03:00
Thibault Saunier
1a06a2e63e
internale: Add the G_GNUC_INTERNAL attribute to all internal methods
2012-12-29 19:36:51 -03:00
Thibault Saunier
07ceb2ca40
ges: Create assets for all GESTimelineStandardTransition on ges_init()
...
+ Add some testsuite
2012-12-29 19:36:50 -03:00
Thibault Saunier
38bcd59bfa
ges: Make sure not to initialize twice
2012-12-29 19:36:50 -03:00
Thibault Saunier
7ecf33130a
timelineobject: Add a method to add a GESAsset
...
+ Avoid to assume function arguments are correct before actually testing
them in ges_timeline_object_add_track_object
API: ges_timeline_object_add_asset
2012-12-29 19:36:50 -03:00
Thibault Saunier
e47701b226
timeline-standard-transition: Override the GESExtractable implementation
...
Standard transition material have the vtype property as ID, it has the particularity
that the ID can be changed at runtime
+ Implement tests to make sure it behaves properly
2012-12-29 19:36:50 -03:00
Thibault Saunier
c1110f2c85
timelinefilesource: Remove deprectated methods
...
Removed API:
ges_timeline_filesource_get_supported_formats
2012-12-29 19:36:50 -03:00
Thibault Saunier
45c7f609da
timeline: Make use of the Project API for timeline saving
...
API:
* Add a formatter_type paramatter to ges_timeline_save_to_uri
2012-12-29 19:36:50 -03:00
Thibault Saunier
774e14fff0
xml-formatter: Implement a GESXmlFormatter
2012-12-29 19:36:50 -03:00
Thibault Saunier
7c00521b4e
track: Set the gap element creator function when tracks are using raw audio/video
2012-12-19 18:59:51 -03:00
Thibault Saunier
bf742ced65
pipeline: Minor documentation fixes
2012-12-19 18:59:51 -03:00
Thibault Saunier
9a2ba1f9f7
Check in TimelineObject what tracks are supported before creating TrackObject-s
...
We used to do it in TimelineFileSource which does not make sense.
At the same time we set AUDIO | VIDEO as default supported types as it is more
likely to be what subclasses support. If it is not the case, they need to
specify it as shown in ges-timeline-custom-timeline-source.c
+ Fix the tests accordingly
2012-12-19 18:59:51 -03:00
Thibault Saunier
8ff97af65d
timeline: Implement the GESMetaContainerInterface
2012-12-19 18:59:51 -03:00
Thibault Saunier
dbab748bfc
timeline: Implement the GESExtractable interface
2012-12-19 18:59:50 -03:00
Thibault Saunier
543ab28228
timeline: Make timeline->track and timeline->layers public fields
2012-12-19 18:59:50 -03:00
Thibault Saunier
66abaa40d4
formatter: Make it work with GESProject
...
+ Compile new GESProject code
The formatter and projects should work together, and the user will in the end not need
the GESFormatter API in most cases. Start making that happening
Update the GESPitiviFormatter to the new behaviour and remove APIs that became
obselete
API:
+ Adds:
* Pass the GESFormatterClass to can_load/save_uri vmethods
* Add an @overwrite argumenent to ges_formatter_save_to_uri and the
corresponding vmethod
* Add name, description, extension, mimetype, version, rank metadatas
to GESFormatterClass
+ Removes:
* ges_pitivi_formatter_set_sources:
* ges_pitivi_formatter_get_sources:
2012-12-19 18:59:50 -03:00
Thibault Saunier
a89683f06a
formatter: Implement the GESExtractable interface
...
Make it a GInitially unowned, GESProject will become the owner
2012-12-19 18:59:50 -03:00
Thibault Saunier
49867a95fc
project: Implement GESProject
...
Do not build yet, waiting for everythnig to be in place before doing so
Co-Authored-By: Volodymyr Rudyi <vladimir.rudoy@gmail.com>
2012-12-19 18:59:49 -03:00
Thibault Saunier
571e9c63d8
track: Implement the GESMetaContainer interface
2012-12-19 18:59:49 -03:00
Thibault Saunier
b39ed6a379
trackobject: Implement the GESMetaContainerInterface
2012-12-19 18:59:49 -03:00
Thibault Saunier
c2fe7f0c82
timeline-object: Implement the GESMetadataContainer interface
2012-12-19 18:59:49 -03:00
Thibault Saunier
ca0bcfcd50
trackobject: Implement the GESExtractable interface
2012-12-19 18:59:49 -03:00
Thibault Saunier
04c8b4a7d9
docs: Update GESTimelineTestSource documentation
2012-12-19 18:59:49 -03:00
Thibault Saunier
0232f57003
customtimelinesource: Override Extractable
...
API: ges_material_custom_timeline_source_new (helper method)
2012-12-19 18:59:49 -03:00
Thibault Saunier
a7280fb59d
ges: Implement the ges_timeline_layer_add_asset method
...
+ Remove GstDiscoverer related code in GESTimeline as we do not need it anymore
+ Refactor the ges_timeline_layer_add_object method to make sure it is still working as intended
API:
ges_timeline_layer_add_asset
2012-12-19 18:59:48 -03:00
Volodymyr Rudyi
c7cefd0f37
timelinefilesource: Override default GESExtractable interface implementation
2012-12-19 18:59:48 -03:00
Thibault Saunier
b5c21da0d8
timelineobject: Implement the GESExtractable interface
2012-12-19 18:59:48 -03:00
Volodymyr Rudyi
107b4ad0c6
ges: Implement GESAssetFileSource
...
+ Generate the documentation
+ Make the new Asset infrastructure compile
Co-Authored-By: Thibault Saunier <thibault.saunier@collabora.com>
2012-12-19 18:59:47 -03:00
Thibault Saunier
f4858a97f7
ges: Implement the GESExtractable interface
...
+ Generate the documentation
Note: Do not compile (add to Makefile.am) for now as we are missing pieces at that point
Co-Authored-By: Volodymyr Rudyi <vladimir.rudoy@gmail.com>
2012-12-19 11:45:38 -03:00
Volodymyr Rudyi
55ddfebb64
ges: Implement GESAsset
...
+ Generate the documentation
Note: Do not compile (add to Makefile.am) for now as we are missing pieces at that point
Co-Authored-By: Thibault Saunier <thibault.saunier@collabora.com>
2012-12-19 11:45:38 -03:00
Thibault Saunier
30e12995fd
filesource: Make the uri property CONSTRUCT_ONLY
...
This is the way it should always have been.
2012-12-19 11:45:38 -03:00
Paul Lange
6ea0dffb47
timeline-layer: implement the GESMetaContainer interface
2012-12-19 11:45:38 -03:00
Thibault Saunier
3de2670b00
metacontainer: Finnish GESMetaContainer implementation
2012-12-19 11:45:38 -03:00
Paul Lange
97862bbe48
implement the GESMetaContainer interface
2012-12-19 11:45:38 -03:00
Thibault Saunier
1752e0db9f
timeline-layer: Fix track-added Callback parametters
2012-12-19 11:45:38 -03:00
Thibault Saunier
ab9e2364c3
timeline-object: Edit can only work work with GESTrackSource
2012-12-19 11:45:38 -03:00
Thibault Saunier
ce9aa02723
formatter: Remove obselete APIs
...
Removed APIs:
ges_formatter_update_source_uri
GESFormatter::source-moved
ges_formatter_update_source_uri
ges_formatter_load
ges_formatter_save
ges_formatter_set_data
ges_formatter_clear_data
ges_formatter_get_data
GESFormatterLoadMethod
GESFormatterSaveMethod
This is now GESProject's role
2012-12-19 11:45:38 -03:00
Thibault Saunier
97973f1eba
Remove the GESKeyFileFormatter
...
It was using deprecated URI, and can not be used in real life anymore.
Also remove the ges_formatter_default_new method ges_formatter_new_for_uri
that are useless now
2012-12-19 11:45:37 -03:00
Thibault Saunier
35a3f72ad5
pitiviformatter: Some minor restrtucturation
2012-12-19 11:45:37 -03:00
Thibault Saunier
b0cc5c6b87
track: Force video/x-raw in raw gaps
2012-12-19 11:45:37 -03:00
Thibault Saunier
346b04ecb4
timeline: Keep track of GSequenceIter for each GESTrackObject
...
This way we do not have to look for them in the sequence itself, and
make things simpler
2012-12-19 11:45:37 -03:00
Thibault Saunier
5772bd4c91
timelineobject: Give a direct access to the list of TrackObject
...
Avoid to have to copy the list each time we want to access it
2012-12-19 11:45:37 -03:00
Thibault Saunier
f8037f857d
trackobject: Properly rename get/set_child_property
...
We used to have a ges_track_object_get/set_child_property that was in
fact letting user set/get various properties at once, rename it to
get/set_properties, and implement:
API:
ges_track_object_get_child_property (GESTrackObject *object, const gchar
*property_name, GValue * value);
ges_track_object_set_child_property (GESTrackObject *object, const gchar
*property_name, GValue * value);
2012-12-19 11:44:26 -03:00
Thibault Saunier
dcfda73777
trackobject: Some GI annotation fix
2012-12-18 22:06:09 -03:00
Tim-Philipp Müller
a61489df53
ges-track-effect: don't use deprecated API
2012-11-17 00:10:20 +00:00
Tim-Philipp Müller
426fffb6c3
Fix FSF address
2012-11-04 00:25:20 +00:00
Thibault Saunier
76400fa07c
ges: fix g-i search path for GstAudio GstVideo GstTag and GstBase
2012-10-31 14:49:44 -03:00
Xabier Rodriguez Calvar
101240e67c
timeline: Added timeline and mode as properties
2012-10-25 12:44:00 +02:00
Xabier Rodriguez Calvar
8a298d1fab
timeline: Adding GObject property API to get/set preview audio and video sinks
2012-10-25 12:43:44 +02:00
Xabier Rodriguez Calvar
fd30629eed
timeline: Initialize as NULL the preview sinks when getting them.
...
This way, if there is a problem getting the properties from the
playsink, we do not return garbage.
2012-10-25 12:43:28 +02:00
Thibault Saunier
4d73e4d67f
ges: Update reported version to 1.0
2012-09-25 15:11:41 +02:00
Volodymyr Rudyi
f68757ce2c
timeline: Added 'const' modifier
2012-09-25 15:11:41 +02:00
Thibault Saunier
04f2347f37
titlesource: Use GST_DEBUG_OBJECT when appropriate
2012-09-25 15:10:35 +02:00
Thibault Saunier
d4fdc9b5d1
Reset ABI for 1.0 and ensure that extensible baseclasses are extensible enough
2012-09-25 15:10:35 +02:00
Thibault Saunier
fbefd6dae3
pitiviformatter: Implement can_load_uri vmethod
2012-09-25 15:10:33 +02:00
Thibault Saunier
f0e9691c96
formatter: Implement a usefull version of ges_formatter_can_load_uri
2012-09-23 02:37:12 +02:00
Thibault Saunier
52edf1704d
formatter: Add GError everywhere needed in the API
...
We should give as much information as possible to the user when serialization/deserialization doesn't work.
2012-09-23 02:37:12 +02:00
Thibault Saunier
933d41f15d
timeline: Plug a leak in the movecontext code
2012-09-23 02:37:12 +02:00
Nicolas Dufresne
76ccc417c8
timeline-pipeline: use downstream block probe to avoid deadlock on duration query
2012-09-07 19:20:08 +01:00
Nicolas Dufresne
b3e1bd5dbb
timeline-pipeline: Clean the blocked pad
...
We do need to cleanup the pad now, otherwise the probe will get remove a
second time in pad_removed_cb causing an assertion.
2012-09-06 16:58:21 -04:00
Matas Brazdeikis
aaec341f79
title-source: add background color option
2012-08-26 16:12:01 -04:00
Matas Brazdeikis
0b3c1333d8
timeline-title-source: remove audio-test-source
2012-08-26 16:10:34 -04:00
Thibault Saunier
37e6cb43cf
Misc documentation fixing
2012-08-18 15:32:54 -04:00
Thibault Saunier
cc6200292f
GI: Fix some annotations in TrackObject
2012-08-18 15:05:23 -04:00
Thibault Saunier
19fa2acc02
ges: Remove useless and error prone 'transfer full' annotations
...
transfer full is default and there is currently a bug in GES when constructor
are declared as transfer full
2012-07-28 21:45:03 -04:00
Thibault Saunier
7eed7ef46c
Merge remote-tracking branch 'origin/0.10'
...
Conflicts:
common
2012-07-01 20:54:42 -04:00
Thibault Saunier
b13942c5b5
formatter: Make the emit_loaded a real method and not a virtual method
...
+ Modify formatter subclasses accordingly
API:ges_formatter_emit_loaded
This API wasn't released so it could still be changed
2012-07-01 20:07:46 -04:00
Thibault Saunier
2d13b12878
pitivi-formatter: Make use of the Formatter:timeline protected field
2012-07-01 20:07:44 -04:00
Thibault Saunier
76c7ba5264
formatter: Add a timeline protected field
2012-07-01 20:07:09 -04:00
Volodymyr Rudyi
963cce240c
ges-pitivi-formatter: Fixed loading of projects with empty timeline
...
Because 'project-loaded' signal was triggered from track object loading
callback in case with projects that have empty timeline this signal was
never emitted.
2012-07-01 19:26:02 -04:00
Volodymyr Rudyi
b102df2d4d
ges-formatter: Removed assert to allow saving projects with empty timeline
...
Removed assert in ges-formatter.c to allow saving projects with empty timeline.
2012-07-01 19:26:02 -04:00
Sebastian Dröge
5e824ef5af
gestimelinepipeline: Fix for gst_element_make_from_uri() API changes
2012-06-25 10:32:36 +02:00
Thibault Saunier
4b84218434
track: Make sure to remove the proper TrackObject from the GSequence
2012-05-27 23:26:03 -04:00
Thibault Saunier
70b343e121
track: Make sure to remove the proper TrackObject from the GSequence
2012-05-27 23:13:09 -04:00
Thibault Saunier
f32fdf13b7
Merge remote-tracking branch 'origin/0.10'
...
Conflicts:
bindings/python/ges.defs
ges/ges-screenshot.c
ges/ges-track-video-transition.c
2012-05-26 17:00:50 -04:00
Thibault Saunier
7012280e48
timeline: Do not use meaningless offset values when snapping
2012-05-21 19:39:10 -04:00
Thibault Saunier
410a3e4c3f
formatter: Disable updates when loading a project
2012-05-21 18:12:52 -04:00
Thibault Saunier
a8f32d2e48
videotransition: Some explanations about the invert property
2012-05-21 18:12:52 -04:00
Thibault Saunier
28585bc87a
videotransition: Misc cleanup in the smpte/crossfade transition type switches
2012-05-21 18:12:51 -04:00
Thibault Saunier
d8488cf061
videotransition: Do not wait pad to be blocked before switching transitions
...
... from smpte to crossfad and the other way around
This avoid useless async operations
2012-05-21 13:05:14 -04:00
Thibault Saunier
861a06e7ce
timeline: Move all callbacks to the callback section of the file
2012-05-19 13:57:36 -04:00
Thibault Saunier
c199c24507
timeline: Make the update property a GObject property
...
API: timeline::update property
2012-05-19 13:57:36 -04:00
Thibault Saunier
4c79afcbe4
timeline: Try to resnap at same snapping point before calculating new value
2012-05-19 13:57:36 -04:00
Thibault Saunier
9913d48e5c
timeline: Avoid to recalculate the moving context unecessarly
2012-05-19 13:57:35 -04:00
Thibault Saunier
5a29478c2d
timeline: Create a debug logging category for the timeline
2012-05-19 13:57:35 -04:00
Thibault Saunier
4c28e59046
timeline: Properly set TimelineFileSource-s duration and max duration
...
When we get the information of duration of files after discoverying them,
use that information to set the values on the TimelineFileSource-s
2012-05-19 13:57:35 -04:00
Thibault Saunier
f19a8af81f
timeline-layer: Rework the way we calculate in which layer a TrackObject is
2012-05-19 13:57:35 -04:00
Thibault Saunier
1e3e7c5276
docs: Misc documentation fixing
2012-05-19 13:57:35 -04:00
Thibault Saunier
f84c183f63
track: Properly fill gaps
...
API: GESCreateElementForGapFunc Virtual method type
API: ges_track_set_create_element_for_gap_func
2012-05-19 13:57:35 -04:00
Thibault Saunier
b0e1b20cc3
track: Restructurate file so we have private method and API properly separeted
2012-05-19 13:40:00 -04:00
Thibault Saunier
c2bedb182e
track: Use a GSequence to keep the sorted list of TrackObject-s
...
Use a GSequence instead of a GList to optimise the process.
Conflicts:
ges/ges-track.c
2012-05-19 13:40:00 -04:00
Thibault Saunier
171bf8e627
timeline: Make use of our own knowledge of the timeline duration
...
Do not use each Track durations as it end going in loop as we have the Tracks
that need to know about timeline's duration to create or not gaps in the end and
then the timeline references on Tracks duration for its duration. We have this
information locally so just make proper use of it.
2012-05-19 13:40:00 -04:00
Thibault Saunier
ce8afba367
timeline: Add a method to get the timeline duration
...
+ Bind it in python
API: ges_timeline_get_duration
2012-05-19 13:39:45 -04:00
Thibault Saunier
406bc5fe28
Merge remote-tracking branch 'origin/0.10'
2012-05-10 14:56:34 -04:00
Thibault Saunier
9ee94b3d40
track-object: Keep a reference to our gnlobject
...
Avoid refering to an object that doesn't exists and segfault in some cases.
We do not need to increase the reference to the gnlobj when the trackobject
is removed from a track because the TrackObject as its own reference and will
handle the disposal gracefully.
Add some guard around related APIs
2012-05-10 14:49:59 -04:00
Thibault Saunier
20e7d4349c
timeline: Avoid segfault when debug logging
2012-05-08 19:43:51 -04:00
Tim-Philipp Müller
ea254c4621
ges: fix printf arguments in debug message
...
https://bugzilla.gnome.org/show_bug.cgi?id=675547
2012-05-07 16:11:26 +01:00
Mathieu Duponchelle
dd55b0084b
track-video-transition: Make the invert property management coherent
2012-05-06 14:10:17 -04:00
Mathieu Duponchelle
c22fa97088
track-video-transition: Fix set_inverted
2012-05-06 13:11:11 -04:00
Thibault Saunier
2e52fe15f0
Merge remote-tracking branch 'origin/0.10'
...
Conflicts:
bindings/python/ges.defs
ges/ges-track-video-transition.c
2012-05-05 13:02:20 -04:00
Thibault Saunier
43b815925a
track-object: Set minimum value of max-duration to 0
...
GST_CLOCK_TIME_NONE was nonsense
Minor documentation fixing on the way
2012-05-05 12:34:26 -04:00
Edward Hervey
151f491549
ges: Remove invalid ' < 0' checks
...
It's an unsigned value, it will never be < 0.
2012-05-03 15:41:08 +02:00
Thibault Saunier
7a7690a9e0
Do no check if GLib >2.26 as we depend on GLib 2.28
2012-05-02 23:56:35 -04:00
Thibault Saunier
686792609a
track-video-transition: Properly emit notify for the invert and border properties
2012-05-02 23:49:08 -04:00
Thibault Saunier
26aebe2d3d
track-video-transition: Expose the transition type as a GObject property
...
API: GESTrackVideoTransition::transition-type property
2012-05-02 23:49:08 -04:00
Mathieu Duponchelle
fa7e9a4d39
track-video-transition: expose border and inverted as GObject properties
2012-05-02 23:18:29 -04:00
Mathieu Duponchelle
7e4bcd950b
track-video-transition: Expose the invert property from smpte
...
Also, add/fixup some doc
API: ges_track_video_transition_get_inverted
API: ges_track_video_transition_set_inverted
2012-05-02 23:05:25 -04:00
Thibault Saunier
2c6e4f2e69
Merge remote-tracking branch 'origin/0.10'
...
Conflicts:
bindings/python/ges.defs
ges/ges-track-video-transition.c
2012-05-02 22:03:51 -04:00
Thibault Saunier
959bc5e0cb
track-video-transition: Reuse interpollation setting functions when possible
2012-05-02 20:18:09 -04:00
Thibault Saunier
b891eb042c
track-video-transition: Reindent header
2012-05-02 20:18:09 -04:00
Thibault Saunier
d780cf474f
track-video-transition: Add a way to get current border value
...
Add some documentation for the border property
Change the border value in set_border to a guint as the value can be negative
API: ges_track_video_transition_get_border
2012-05-02 20:18:09 -04:00
Mathieu Duponchelle
1a3fde1bee
track-video-transition: Return pending type in transition_get_type when needed
2012-05-02 20:18:09 -04:00
Mathieu Duponchelle
15c7e9738c
track-video-transition: expose the border property of smptealpha
...
API: ges_track_video_transition_set_border
2012-05-02 20:18:09 -04:00
Mathieu Duponchelle
1e6c82fb3c
ges-track-video-transition: Enables switching from crossfade to smpte and vice versa
...
Fix the tests properly
2012-05-02 20:18:09 -04:00
Руслан Ижбулатов
fdb06182fa
ges: fix some format strings in debug messages
...
https://bugzilla.gnome.org/show_bug.cgi?id=674265
2012-05-01 19:18:54 +01:00
Tim-Philipp Müller
6ab94bc79b
ges: fix some not entirely correct casts for vararg function arguments
2012-05-01 19:16:42 +01:00
Tim-Philipp Müller
efeb450be8
track-video-transition: update for videomixer pad template name change
2012-05-01 19:06:20 +01:00
Tim-Philipp Müller
4198aebd18
ges: fix gnonlin version check
2012-05-01 18:51:30 +01:00
Tim-Philipp Müller
423e7078f9
track-audio-transition: fix adder sink pad template name
2012-05-01 18:51:30 +01:00
Руслан Ижбулатов
f65df0ec24
timeline-pipeline: fix src pad request template for tee
...
https://bugzilla.gnome.org/show_bug.cgi?id=674339
2012-05-01 18:51:10 +01:00
Thibault Saunier
b1a8596256
Merge remote-tracking branch 'origin/0.10'
...
Conflicts:
bindings/python/ges-types.defs
bindings/python/ges.defs
bindings/python/ges.override
configure.ac
ges/ges-timeline.c
2012-04-25 17:54:36 -04:00
Thibault Saunier
9e21741b90
docs: Add some more docs about editing mode
...
Also add the documentation "Section" into ges-enum.c so the file documentation ar
actualy taken into account in the final generated documentation.
2012-04-25 17:09:19 -04:00
Thibault Saunier
28d73a4441
timeline: Rework snapping signaling so it is easier to use
...
API: GESTimeline::snap-started signal
API: GESTimeline::snap-ended signal
(This code has not been released so we can still change the API)
2012-04-25 16:13:44 -04:00
Thibault Saunier
606a788314
trackobject: Take into account the max duration when trying to set a new duration
...
Change its default value to GST_CLOCK_TIME_NONE instead of 0.
(unreleased code so it still can be changed)
2012-04-23 22:03:12 -04:00
Thibault Saunier
5cae3f844f
trackobject: Add API guards all around
2012-04-23 22:03:12 -04:00
Thibault Saunier
6735e877b3
trackobject: Add the copy method to the API
...
Add documentation and plug a leak at the same time.
API: ges_track_object_copy
2012-04-23 22:03:11 -04:00
Thibault Saunier
c238b356fe
timelineobject: Ignore notifies when needed
2012-04-23 22:03:11 -04:00
Thibault Saunier
f06ca66012
timelineobject: Fix wrong naming when connection to in-point notify
...
inpoint -> in-point
2012-04-23 22:03:11 -04:00
Thibault Saunier
cb29c31337
timelineobject: Make changing start/duration sensible to snapping
...
Adapt the documentation so users are aware of the behaviour
Conflicts:
ges/ges-timeline-object.c
2012-04-23 22:03:11 -04:00
Thibault Saunier
91b55adec2
timeline: Minor documentations fixes
2012-04-23 22:03:11 -04:00
Thibault Saunier
2fd5364927
ges: Add a timeline edition mode API
...
+ timeline: Add a snapping-distance property
+ Bump the GLib dependency to 2.28 in the mean time as we need some functions from GSequence that only landed
+ Update the testsuite accordingly
API: GESTimeline:snapping-distance property
API: ges_timeline_object_edit
API: ges_timeline_object_ripple
API: ges_timeline_object_ripple_end
API: ges_timeline_object_roll_start
API: ges_timeline_object_roll_end
API: ges_timeline_object_trim_start
API: ges_track_object_edit
API: GESEdge enum
API: GESEditMode enum
2012-04-23 22:03:11 -04:00
Thibault Saunier
beae7dbd34
timelineobject: Make the 'position' argument of the split method a guint64 not gin64
...
This makes more sense to be a guint64 as it actually is a GstClockTime,
and this way we keep the API concistent.
(This code has not been release so we can still change the API.)
2012-04-23 20:33:58 -04:00
Thibault Saunier
f6c060b3fb
timelineobject: Reimplement properly the splitting method
2012-04-23 20:33:58 -04:00
Thibault Saunier
30d9ba2acf
timelineobject: Misc API guard fixes
2012-04-23 20:25:08 -04:00
Thibault Saunier
efc28fd35e
track-object: Add method to copy a TrackObject
...
API: ges_track_object_copy
2012-04-23 20:25:08 -04:00
Thibault Saunier
7b0797c992
ges-track-object: Make possible to add a track already containing a gnlobject to a track
2012-04-23 20:25:07 -04:00
Thiago Santos
299e186480
ges-timeline-pipeline: add todo to remember to remove hack
...
Remove playsink hack once we depend on gst-plugins-base 0.10.37
(next gst-plugins-base release)
2012-04-23 14:40:26 -03:00
Thiago Santos
094669391d
Revert "ges: timeline-pipeline: Remove playsink send_event hack"
...
This reverts commit 54aac450da
.
We need this hack until we depend on gst-p-base 0.10.36
2012-04-23 14:38:31 -03:00
Thibault Saunier
4be360c4e5
Port to the new GMutex API
2012-04-20 14:18:34 -04:00
Sebastian Dröge
3afca7521f
configure: Modernize autotools setup a bit
...
Also we now only create tar.bz2 and tar.xz tarballs.
2012-04-13 14:00:35 +02:00
Thibault Saunier
672a162062
Merge branch '0.10'
...
Conflicts:
bindings/python/ges.defs
2012-04-07 22:31:23 -04:00
Thibault Saunier
2741a8fb38
timeline-object: Add TrackObject to the Track after the TimelineObject
...
This way, the Track::track-object-added is emited after the TrackObject is ready to be used, and it make the API easier to use.
2012-04-07 22:26:08 -04:00
Thibault Saunier
2e43caf911
timeline-layer: Factor out a method to start observing timeline for auto-transitions
2012-04-07 22:26:08 -04:00
Thibault Saunier
e172c294fe
timeline-layer: Reorganize file
2012-04-07 22:26:08 -04:00
Thibault Saunier
64b4a38494
timeline-layer: Rework auto transition callbacks management
...
We now have a GESTrack::track-object-added signal so we now depend on it rather than on each GESTimelineObject::track-object-added signal.
2012-04-07 22:24:55 -04:00
Thibault Saunier
259af361bc
timeline-object: Properly reflect contained TrackObject duration and inpoint properties changes
2012-04-07 22:24:55 -04:00
Thibault Saunier
c783f4140a
trackobject: Some documentation fixing
2012-04-07 22:24:55 -04:00
Thibault Saunier
8ae1cddae2
trackobject: Add API documentation
2012-04-07 22:24:55 -04:00
Thibault Saunier
ad5bc85516
ges: Calm logging when not created TrackObject on purpose
2012-04-07 22:24:55 -04:00
Thibault Saunier
979b9ac0b6
timeline: Restructurate the file separting methods/callbacks/API
2012-04-07 22:24:55 -04:00
Thibault Saunier
1c04feace0
timelineobject: Emit effect-added when adding any kind of TrackEffect
...
We were only emitting it when working with TrackParseLaunch effects
2012-04-07 22:24:55 -04:00
Thibault Saunier
83dc13c63d
docs: Tell users that adding an object to a timeline layer creates media related objects
2012-04-07 22:24:55 -04:00
Thibault Saunier
a1aa78cd28
ges: Misc debug loggin cleanup
2012-04-07 22:24:55 -04:00
Thibault Saunier
4b34d2bbb3
timeline: Plug a leak when calling enable_update
2012-04-07 22:24:55 -04:00
Thibault Saunier
7e7059d37d
timeline: Rework the append_layer method
...
ges_timeline_append_layer now creates a new layer, adds it to the timeline
and returns it
This code has not been released yet so we can break this API.
2012-04-07 22:24:55 -04:00
Thibault Saunier
4a881a43d9
layer: Add a method to check if a layer is empty or not
...
API: ges_timeline_layer_is_empty
2012-04-07 22:24:55 -04:00
Thibault Saunier
4c26b89e3c
ges: Move the max-duration property from TrackFileSource to TrackObject
...
This property was firstly added to TrackFileSource, but in the end, it makes
more sense for it to be directly in TrackOject as it can be usefull in other cases.
2012-04-07 22:24:55 -04:00
Thibault Saunier
13a2857db7
timeline-layer: Do not call track_get_by_layer when track == NULL
2012-04-04 20:15:19 -04:00
Thiago Santos
8a3fc66e70
Merge branch '0.10'
2012-04-04 14:02:43 -03:00
Thiago Santos
54aac450da
ges: timeline-pipeline: Remove playsink send_event hack
...
This is fixed now in upstream playsink, remove the hack
https://bugzilla.gnome.org/show_bug.cgi?id=673211
2012-04-04 11:44:27 -03:00
Sebastian Dröge
e2e2f1261e
ges: Update versioning
2012-04-04 14:50:23 +02:00
Sebastian Dröge
8429fd526c
Merge remote-tracking branch 'origin/0.10'
...
Conflicts:
bindings/python/Makefile.am
ges/Makefile.am
2012-04-04 12:08:06 +02:00
Thibault Saunier
7282ee2ff4
formatter: Try to figure out new paths when media files have moved
...
Introduces a dependency to GIO
2012-04-03 20:41:27 -04:00
Thibault Saunier
1728704d09
Merge branch '0.10'
...
Conflicts:
bindings/python/ges.defs
2012-03-29 12:55:44 -04:00
Sebastian Dröge
fa44d050f5
Merge remote-tracking branch 'origin/0.10'
2012-03-29 15:10:09 +02:00
Thibault Saunier
148e7ef411
timelineobject: Set TrackObject's TimelineObject only when calling the add function
...
ges_timeline_object_add_track_object actually calls
ges_track_object_set_timeline_object so do not do it once more ourself.
Especially since it results in having a TrackObject.timeline_object refering
to a TimelineObject it is not actually in yet.
2012-03-28 13:10:27 -04:00
Volodymyr Rudyi
1dcb142307
ges-track: Set gnlobject state to NULL before disposing it
...
Work around a deadlock if setting state to NULL right before removing the
gnlobject from the composition.
https://bugzilla.gnome.org/show_bug.cgi?id=672751
2012-03-27 22:35:26 -04:00
Thibault Saunier
6447a50001
timelineobject: Update the nb_effect when releasing a TrackEffect
2012-03-27 22:33:57 -04:00
Thibault Saunier
d5b4fa215e
ges: Add a way to know whether a timeline is updating on each changes
...
+ Bind the new API in python
API: ges_timeline_is_updating
API: ges_track_is_updating
2012-03-27 22:33:57 -04:00
Thibault Saunier
a762e72c13
trackobject: Enable adding a TrackObject in a Track before a TimelineObject
...
We were requiring it only for GESCustomTimelineSource, but it is not actually
necessary so, we can just check if the TrackObject is in a TimelineObject or
not, and react accordingly.
2012-03-27 22:33:57 -04:00
Thibault Saunier
149ceeab2e
timeline-layer: Add a method to get the timeline it is currently in
...
API: ges_timeline_layer_get_timeline
Bind it in python
2012-03-27 22:33:57 -04:00
Volodymyr Rudyi
4148d605ad
ges-track: Set gnlobject state to NULL before disposing it
...
Work around a deadlock if setting state to NULL right before removing the
gnlobject from the composition.
https://bugzilla.gnome.org/show_bug.cgi?id=672751
2012-03-27 22:33:00 -04:00
Tim-Philipp Müller
70c023626a
ges-pitivi-formatter: add copyright/license headers
...
https://bugzilla.gnome.org/show_bug.cgi?id=644943
2012-03-19 10:57:14 +00:00
Tim-Philipp Müller
f043f05698
ges-timeline-pipeline: port to 0.11
2012-03-12 16:22:22 +00:00
Tim-Philipp Müller
1f37aefdcd
Remove ges-marshal.[ch] and use the generic marshaller
2012-03-12 15:46:42 +00:00
Tim-Philipp Müller
5d02075d9b
Merge remote-tracking branch 'origin/master' into 0.11
...
Conflicts:
bindings/python/Makefile.am
bindings/python/ges-types.defs
bindings/python/ges.defs
bindings/python/ges.override
bindings/python/gesmodule.c
bindings/python/testsuite/test_textoverlay.py
2012-03-12 15:25:49 +00:00
Tim-Philipp Müller
e121368e37
configure: check for libxml2 explicitly
...
GStreamer may be built without the libxml2 dependency.
2012-03-12 15:15:22 +00:00
Tim-Philipp Müller
6a3391eae8
ges-pitivi-formatter: move libxml includes into .c file
...
There's no need to have them in the header file.
2012-03-12 15:09:39 +00:00
Sebastian Dröge
2fc0a0c619
ges: Fix 'implicit conversion from enumeration type 'GESTextHAlign' to different enumeration type 'GESTextVAlign'' and similar compiler warnings
2012-03-06 15:37:18 +01:00
Sebastian Dröge
70fda7d45d
ges: Fix 'comparison of unsigned expression < 0 is always false'
2012-03-06 15:35:51 +01:00
Tim-Philipp Müller
1a48407337
track: add g-i annotation that ges_track_new() takes ownership of caps passed
2012-02-10 19:36:49 +00:00
Tim-Philipp Müller
7b7bf95268
ges: port to new raw audio/video caps
...
Completely untested, but more likely to work than the
existing code.
2012-02-10 19:35:28 +00:00
Tim-Philipp Müller
b1361c556f
g-i: need to call gst_init() before ges_init() so GST_TYPE_CAPS is set
...
Fixes "g_param_spec_boxed: assertion `G_TYPE_IS_BOXED (boxed_type)' failed"
warnings when running g-ir-scanner.
2012-02-10 19:14:24 +00:00
Tim-Philipp Müller
1e1012602e
track-{audio,video}-transition: update for controller API changes
2012-02-10 19:01:03 +00:00
Tim-Philipp Müller
1b2bb14aab
timeline-pipeline: use standard GLib API to save thumbnail data to file
2012-02-10 18:43:51 +00:00
Tim-Philipp Müller
c69ea5652d
timeline-pipeline: update for new gst_buffer_map() API
2012-02-10 18:35:07 +00:00
Mark Nauwelaerts
2162c635e2
ges: support and handle no-more-pads in GESTimeline(Pipeline)
...
... to arrange for a clean READY to PAUSED state change transition.
Not doing so might have playsink reaching PAUSED prematurely
as one track prerolls, only to lose this state again (temporarily)
when the other track needs to preroll.
This is generally not nice or convenient, and particularly nasty
when trying to perform seek in PAUSED.
2012-01-30 11:35:13 +01:00
Edward Hervey
ee237ec523
ges: Various doc fixups and cleanups
2012-01-12 16:34:57 +01:00
Mark Nauwelaerts
282c3c4b49
ges: only use glib constructs as required in configure.ac
2012-01-12 15:12:14 +01:00
Thibault Saunier
3df2f0ae0a
pitivi-formatter: Use the new Formatter->project_loaded vmethod
2012-01-11 11:56:18 -03:00
Thibault Saunier
f5c861ddc3
formatter: Add a "loaded" signal
...
API: GESFormatter::loaded signal
API: GESFormatter->project_loaded VMethod
2012-01-11 11:56:18 -03:00
Thibault Saunier
5672ac8159
docs: Add a pitivi-formatter documentation
...
Move the API to the API section of the pitivi-formatter file
2012-01-11 11:56:18 -03:00
Thibault Saunier
c2d5992af0
formatter: Enhance some debug logging
2012-01-11 11:56:18 -03:00
Thibault Saunier
10803b553d
ges: Rework the ges_pitivi_get_sources method
...
+ Remove the URI parameter of ges_pitivi_get_sources
+ Rework how we handle the PitiviFormatterPrivate.source_table HashTable
rename it to sources_table to make a difference between it and the
source_table(s) it containes
2012-01-11 11:56:17 -03:00
Thibault Saunier
31430b1e0a
ges: Let user set a source list on the PitiviFormatter
...
API: ges_pitivi_formatter_set_sources
Bind it in python
2012-01-11 11:56:17 -03:00
Thibault Saunier
a904904b77
ges: Handle the new SourceMoved API in PitiviFormatter
2012-01-11 11:56:17 -03:00
Thibault Saunier
7c0ba83b26
ges: Add an API to Formatter to be able to handle moved sources
...
API: GESFormatter::source-moved signal
API: GESFormatter::update_source_uri virtual method
Conflicts:
ges/ges-formatter.h
2012-01-11 11:56:17 -03:00
Thibault Saunier
b844ff04de
ges: Add a "discovery-error" signal to GESTimeline
...
API: GESTimeline::discovery-error signal
2012-01-11 11:56:17 -03:00
Thibault Saunier
3ca5e7bcaa
ges: Let user set TimelineObject URI while not containing any TrackObject
...
In the case of not properly set uri, we can keep using the same
TimelineFileSource changing its URI until its TrackObject could be created.
This is particularly usefull in the case of formatter trying to load filesource
when the file has been moved
2012-01-11 11:56:17 -03:00
mathieu duponchelle
ac6f8599fe
Add API to get all sources from xptv project
2012-01-11 11:56:17 -03:00
mathieu duponchelle
2376c313a1
Disconnect handlers when object is removed from layer
2012-01-11 11:56:17 -03:00
mathieu duponchelle
1bd6e9b758
Edit : typos
2012-01-11 11:56:17 -03:00
Mathieu Duponchelle
93046aad6b
GES : remove transitions when needed
...
Conflicts:
ges/ges-timeline.c
2012-01-11 11:56:17 -03:00
mathieu duponchelle
cc031a5f6a
Fixes auto transitions on layers + n.
2012-01-11 11:56:17 -03:00
Thibault Saunier
4acc711e52
ges: Add a maxduration property to TrackFileSource
...
API: GESTrackFileSource::maxduration property
2012-01-11 11:56:17 -03:00
Thibault Saunier
ce6edd94f4
ges: Disconnect the TrackObject when removed from a Track
2012-01-11 11:56:17 -03:00
Thibault Saunier
ba57355d95
ges: Add a runtime version checking function
...
Bind it in python
API: ges_version
2012-01-11 11:56:17 -03:00
Thibault Saunier
6c242b8cb1
ges: Reindent ges-track-object.h
2012-01-11 11:56:17 -03:00
Thibault Saunier
a71b46e080
ges: Make TrackObject:locked a GObject property
2012-01-11 11:56:16 -03:00
Thibault Saunier
9d4a528b9e
ges: Fix the TimelineObject::effect-added signal emission timing
...
We were emitting it before it gets added to the track_object list,
so the list we were getting with get_top_effects was containing
a TrackObject that wasen't a TrackEffect
+ A bit of refactoring
2012-01-11 11:56:16 -03:00
Thibault Saunier
059b798d12
ges: Reindent ges-track.h
2012-01-11 11:56:16 -03:00
Thibault Saunier
bc8c709303
ges: Some debug logging enhancements
2012-01-11 11:56:16 -03:00
Thibault Saunier
ef96f26e8a
ges: Expand track background duration equal to timeline duration
2012-01-11 11:56:16 -03:00
Thibault Saunier
ffd196d06a
ges: Add a duration property to GESTimeline
...
API: GESTimeline:duration property
2012-01-11 11:56:16 -03:00
Thibault Saunier
53c4eb35db
ges: Fix TimelineObject movement that contains unlocked and relocked objects
...
Record the TrackObject that initiated a TimelineObject movement so we don't
get inifite loops.
Also fix the new TrackObject calculation:
child.start = time - offset (not time + offset)
2012-01-11 11:56:16 -03:00
Thibault Saunier
826d4f9a71
ges: Bump layer height from 10 to 1000
2012-01-11 11:56:16 -03:00
Thibault Saunier
4d802c1241
ges: Little fixes to timeline_object_g(s)et_supprted_formats
2012-01-11 11:56:16 -03:00
Thibault Saunier
c0d60b9d17
ges: Add guards to all API calls in GESTimelineObject
...
And reindent the .h file
2012-01-11 11:56:16 -03:00
Thibault Saunier
714a7bf886
ges: Add a method to TimelineObject to set contained TrackObject-s locked state
...
API: ges_timeline_object_objects_set_locked
2012-01-11 11:56:16 -03:00
Thibault Saunier
5d35024cd3
docs: Update documentation
2012-01-11 11:56:16 -03:00
Thibault Saunier
97846d698c
ges: Remove transitions properly
2012-01-11 11:56:16 -03:00
Thibault Saunier
b85b2103ad
ges: Add a TimelineObject::track-object-removed signal
...
API: TimelineObject::track-object
2012-01-11 11:56:16 -03:00
Thibault Saunier
a9193def76
ges: Enhance some debug logging
...
Also make sure not to warn when it shouldn't
2012-01-11 11:56:16 -03:00
Thibault Saunier
82974d9a9d
ges: Misc fixes in ges-timeline-layer
...
Put the comment where they are meant to be
Make static functions static
Use LAYER_HEIGHT where needed
2012-01-11 11:56:16 -03:00
Thibault Saunier
5021017904
ges: Auto transition cleanup
2012-01-11 11:56:15 -03:00
Thibault Saunier
0c872c4340
ges: Do not add any audio source when still image
...
We now have a backgroud so no problem with that.
Fix the testsuite accordingly
Fix #657514
2012-01-11 11:56:15 -03:00
Thibault Saunier
6ed88075d9
ges: Fix debugging symbol to avoid segfaults
2012-01-11 11:56:15 -03:00
Thibault Saunier
8addbcddd0
ges: Big PiTiVi formatter cleanup
...
Also set the version to 0.2
2012-01-11 11:56:15 -03:00
Stéphane Maniaci
876add1fe5
ges: Don't release unexisting sources when destroying the formatter
...
This happens in case of an empty project.
2012-01-11 11:56:15 -03:00
Thibault Saunier
14480b43f4
ges: Add a gnl background object to tracks
...
This is in order to support gaps in the timeline.
This is not the proper solution, we should make sure to fill gaps properly,
but for the time being, it makes the trick
2012-01-11 11:56:15 -03:00
Thibault Saunier
2fe6210383
ges: Make sure not to set transition start to negative
...
gnlobject.start is a guint64, we can not set it to a negative value
2012-01-11 11:56:15 -03:00
Mathieu Duponchelle
7212307db5
ges: makes "pass over" accurate and reset priority when transition is removed
2012-01-11 11:56:15 -03:00
Mathieu Duponchelle
31688a9354
ges: don't reset the supported formats in the timeline when they're already set
...
My mom never told me goto was evil
2012-01-11 11:56:15 -03:00
Mathieu Duponchelle
7bb8e6f951
ges: make the offset positive as it should have been
...
Took me two days to figure that out :/ I'm pretty sure it's the way things are supposed to be
2012-01-11 11:56:15 -03:00
Mathieu Duponchelle
e1d97cfee0
ges: modifies emission of the track/object-removed signal
...
Make it be emitted right before the track objects is removed so we don't end up
with a TrackObject that has already been freed
2012-01-11 11:56:15 -03:00
Mathieu Duponchelle
55fbba27c3
ges: adds a ges_timeline_object_split method
...
Slightly improves the copy function to do so.
API: ges_timeline_object_split
2012-01-11 11:56:15 -03:00
Thibault Saunier
5f30a86214
ges: add a timeline_object copy function
2012-01-11 11:56:15 -03:00
Mathieu Duponchelle
2c4d614cb1
ges: adds an enable_update function to the GESTimeline
...
Binds it in python
API: ges_timeline_enable_update
2012-01-11 11:56:15 -03:00
Mathieu Duponchelle
76f256f0bd
ges : add a track-object(removed signal to the track
...
API: GESTrack::track-object-removed signal
2012-01-11 11:56:15 -03:00
Thibault Saunier
8f405d6a4d
ges: Handle supported formats in TimelineStandardTransition
2012-01-11 11:56:15 -03:00
Mathieu Duponchelle
0e11ec4137
ges: add an auto-transition to the layer
...
API: GESTimelineLayer.auto_transition property
2012-01-11 11:56:15 -03:00
Mathieu Duponchelle
9413d9f9e9
ges: Keep the track object list sorted in track
2012-01-11 11:56:14 -03:00
Mathieu Duponchelle
32ce69684c
ges: add track objects to the track before the track-object-added is emitted
...
NOTE: The caller of ges_timeline_object_create_track_object now needs to add it to
the timeline_object after calling the function.
Fix the testsuite to support that accordingly
2012-01-11 11:56:14 -03:00
Mathieu Duponchelle
c191715608
ges: Add API to get the TrackObject-s contained in a Track
...
Sort the track_objects list
API: ges_track_get_objects
2012-01-11 11:56:14 -03:00
Mathieu Duponchelle
c7a984824f
ges: Implement a Pitivi Formatter
...
API: ges_pitivi_formatter_new
2012-01-11 11:56:14 -03:00
Mathieu Duponchelle
0c92ca9b57
ges: add a track-object-added signal to GESTrack
...
API: GESTrack::track-object-added signal
2012-01-11 11:56:14 -03:00
Mathieu Duponchelle
ad85383be1
ges: Add a track-object-added signal to GESTimelineObject
...
API: GESTimelineObject::track-object-added signal
2012-01-11 11:56:14 -03:00
Thibault Saunier
6386247cc4
ges: Move supported formats from filesource to timelineobject
...
This is usefull by any subclass of GESTimelineObject
+ Bind it in python
+ Fix the keyfile formatter tests
API: ges_timeline_object_set_supported_formats
API: ges_timeline_object_get_supported_formats
2012-01-11 11:56:14 -03:00
Thibault Saunier
8d15025aae
ges: Add a ges_timeline_append_layer convenience method
...
API: ges_timeline_append_layer
2012-01-11 11:56:14 -03:00
Thibault Saunier
6e1a482a80
ges: add a function to move TimelineObject from a layer to another
...
API: ges_timeline_object_move_to_layer
API: ges_timeline_object_is_moving_from_layer
API: ges_timeline_object_set_moving_from_layer
2012-01-11 11:56:14 -03:00
Thibault Saunier
2bbcbab174
ges: Keep layers sorted by priorities in the timeline
2012-01-11 11:56:14 -03:00