Commit graph

1014 commits

Author SHA1 Message Date
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