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