Commit graph

2001 commits

Author SHA1 Message Date
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
Thibault Saunier
ee5c67de2f ges: Add some debugging symbols 2012-01-11 11:56:13 -03:00
Thibault Saunier
15c816569b ges: Handle TimelineLayer and its contained TimelineObject priorities properly
GESTimelineObject.priority is now actually relative to its containing layer
priority.

Test it in the layer test-suite.
2012-01-11 11:56:13 -03:00
Thibault Saunier
acf8c258ef ges: Define a LAYER_HEIGHT constant in the normal layer 2012-01-11 11:56:13 -03:00
Robert Swain
e288a6f460 timeline: simplify code to remove an object from the pendingobjects list
g_list_remove_all () can be used as a simplification as the private data to ges
timeline object are 1:1.
2012-01-06 09:16:09 -03:00
Robert Swain
fc97c16e7e GESTimeline: Lock object discovery list
TimelineFileSource objects are asynchronously discovered with discoverer
with such objects being added to a pendingobjects list. If one were to
remove a layer before an object in said layer had been discovered, a
segfault could occur.

As such, management of the list has been made more robust with the
addition of a mutex and removal of the object from the pendingobjects
list upon layer removal.
2012-01-05 09:01:20 -03:00
Mateu Batle
d1de4b2114 GESTimelineObject: fix trigger notify changing props
Notify signal was not triggered when changing properties through
ges_timeline_object_set_* functions, only when done through g_object_set
2012-01-05 08:56:59 -03:00
Edward Hervey
79ab1b5166 ges: Update for registry API change 2012-01-02 15:58:17 +01:00
Edward Hervey
a32f1bd4dc Merge remote-tracking branch 'origin/master' into 0.11
Conflicts:
	bindings/python/Makefile.am
	bindings/python/ges.override
	bindings/python/gesmodule.c
	configure.ac
2011-12-30 17:24:37 +01:00
Edward Hervey
febf62f2b9 ges: Update for 0.11 changes
* Changes with controller API
* Use new GstSample for screenshot API
2011-12-30 17:15:07 +01:00
Robert Swain
edf47f880d GESTimelinePipeline: Add API to get/set audio sink 2011-11-07 15:08:34 +01:00
Edward Hervey
c6d71ed335 TrackVideoTransition: Fix after merge 2011-10-11 10:02:11 +02:00
Edward Hervey
622cb2ac76 Merge remote-tracking branch 'origin/master' into 0.11 2011-10-11 09:58:46 +02:00
Edward Hervey
ebcd5ae3fa ges: ffmpegcolorspace is dead, long live videoconvert 2011-10-11 09:51:43 +02:00
Edward Hervey
7cdd9694ff ges: Port to 0.11 API 2011-10-11 09:51:35 +02:00
Edward Hervey
efe3bd7842 screenshot: Use new 0.11 API
FIXME : Need to figure out how to get the buffer caps.
2011-10-11 09:50:30 +02:00
Robert Swain
03ecfb80c0 GESTimelinePipeline: API documentation improvements
Added notes for refcounts and transference to API documentation for the
video sink getter/setter.
2011-10-05 12:24:36 +02:00
Robert Swain
8ff7b7def5 GESTimelinePipeline: Add video sink get/set API
This new API allows getting/setting of the preview mode's video sink
element through playsink's video-sink property.
2011-10-04 16:25:22 +02:00
Edward Hervey
1f6824cf87 GESTimelinePipeline: Return before the error labels
Avoids a warning for no reason
2011-08-30 16:40:03 +02:00
Edward Hervey
e02cf20326 GESTimelinePipeline: Handle some trivial error cases
Avoids ending up calling potentially NULL variables
2011-08-29 17:43:05 +02:00
Luis de Bethencourt
32f0a49c6a ges/ges-track-video-transition.c: fix transition of different video sizes 2011-08-15 11:58:15 +02:00
Luis de Bethencourt
f4fe8af5c4 GESTrackObject: missing Since tag and typo fixes 2011-08-14 00:52:23 +02:00
Luis de Bethencourt
92ee492588 docs: add Since tag to new TextOverlay functions
And add them to the GES API doc
2011-08-13 18:42:50 +02:00
Luis de Bethencourt
6dfce431a8 docs: add Since tag to new TitleSource functions
And add them to the GES API doc
2011-08-13 18:42:20 +02:00
Mathieu Duponchelle
973c3d2b2e Add ges-screenshot.h to ges.h
This is to make ges_play_sink_convert_frame available to the bindings.
2011-08-11 14:40:09 +02:00
Thibault Saunier
1efbf1ceec GESTimeleinePipeline: Create a flag type instead of a simple enum
Make it binding friendly
2011-08-10 17:12:45 +02:00
Luis de Bethencourt
237f19d63a GESTimelineTitleSource/TrackTitleSource: add xpos/ypos setting
Vertical and horizontal position properties of the title source
can be set and get.
2011-08-09 19:15:18 +02:00
Luis de Bethencourt
8704011597 GESTimelineTitleSource/TrackTitleSource: add color setting
Color property of the text overlay can be set and get.
2011-08-09 19:13:37 +02:00
Luis de Bethencourt
63a82c5274 GESTimelineTextOverlay/TrackTextOverlay: add xpos/ypos setting
Vertical and horizontal position properties of the text overlay
can be set and get.
2011-08-08 18:44:57 +02:00
Luis de Bethencourt
09ef6dbeac ges-enums: completed support for all options in TextAlign
Added the center and position options to the vertical, and horizontal
properties of text alignment.
2011-08-08 18:30:42 +02:00
Edward Hervey
20f568ae94 Opening the 0.11 branch 2011-08-05 13:24:44 +02:00
Luis de Bethencourt
c62e18e219 ges: include indentation fixes
run gst-indent through ges-timeline-text-overlay.h and
ges-track-text-overlay.h
2011-08-03 12:27:04 +02:00
Luis de Bethencourt
ba5babd474 GESTimelineTextOverlay/TrackTextOverlay: add color setting
Color property of the text overlay can be set and get.
2011-08-03 12:20:27 +02:00
Mathieu Duponchelle
369efb0822 effects: implement the TrackParseLaunch get_property method properly 2011-07-07 21:27:37 -04:00
Mathieu Duponchelle
b0810ff5de GES : make sure to set n_properties to 0 when needed 2011-07-07 21:18:04 -04:00
Luis de Bethencourt
9a19d2ef64 GESTimelineFileSource: Check uri at _new()
Check if uri is valid before creating a new object in
ges_timeline_filesource_new()
2011-06-25 20:12:46 +02:00
Luis de Bethencourt
9af6843f16 GESTimelineFileSource: Fix documentation 2011-06-25 19:42:29 +02:00
Edward Hervey
6476d50b2c GESFormatter: Plug a leak
And make the two save methods have the same code/look
2011-05-26 09:28:02 -07:00
Edward Hervey
f07daf3beb GESFormatter: Move comments out of the way
Avoids having them appear in gtk-doc
2011-05-20 16:52:57 +02:00
Edward Hervey
7cbb93e487 GESTimelineObject/TrackObject: Don't break ABI for the Class
New addition go at the end, and the _reserved pointer gets reduced
accordingly
2011-05-20 16:52:43 +02:00
Edward Hervey
3bc2d8854c ges: More "Since: 0.10.2" doc markers 2011-05-20 16:52:36 +02:00
Thibault Saunier
f8a05b6d51 doc: Update the ges_init documentation 2011-05-19 21:58:51 +02:00
Thibault Saunier
8cb608eac0 ges: Fix introspection annotations 2011-05-19 21:58:51 +02:00
Thibault Saunier
deb88a1551 GESTimelineStandardTransition: keep track of TrackVideoTransition
Use the new track_object_added/release vfunc to get cleaner code
2011-05-19 21:58:51 +02:00
Thibault Saunier
a00f2f82df GESTimelineTitleSource: Keep track of contained TrackTitleSource objects
We use the new track_object_added and track_object_released vfunc to keep track
of the TrackObject we might be interested in. Makes cleaner code
2011-05-19 21:58:50 +02:00
Thibault Saunier
d5734ab94f GESTimelineObject: add track_object_added and track_object_removed virtual methods
Those methods are meant to be used in sublassed when needed. They are not doing
anything at this time, but will be used to clean some code in GESTimelineObject
sublcasses.
2011-05-19 21:58:50 +02:00
Thibault Saunier
6e0d6ba9c5 GESTrack: add a duration property
User can connect to the notify::duration signal if needed
2011-05-19 21:58:50 +02:00
Thibault Saunier
776060452d GESTrack: keep track of the properties GParamSpecs 2011-05-19 21:58:50 +02:00
Edward Hervey
d935459f33 ges: Initialize GES when building the gir/typelib 2011-05-09 14:26:53 +02:00
Edward Hervey
904aabe653 ges: Use %NULL instead of #NULL
Reported by Stefan Kost:
"% is for constants, # is for objects/structs/types, @ is for parameters."
2011-05-09 14:24:26 +02:00
Edward Hervey
50911c87a6 ges: Fix docs for alignment and introspection annotations
gtk-doc comments need to have a space before the '*' of each line else
they won't be picked up by gtk-doc.
2011-05-07 16:59:06 +02:00
Edward Hervey
75fbaa8e29 GESTrack: Make debug statement more useful 2011-05-07 13:43:10 +02:00
Edward Hervey
17b99d36b2 GESTrackParseLaunchEffect: Name the convert elements better
And bump a DEBUG to an ERROR
2011-05-07 13:43:10 +02:00
Edward Hervey
168c2d0327 GESTrackEffect: Cleanup of the property lookup code 2011-05-07 13:43:10 +02:00
Edward Hervey
44795fe51c GESTrackObject: Fix leak when iterating elements
We *always* need to unref elements and not just when they're effects
2011-05-07 13:43:10 +02:00
Edward Hervey
92ce17285b GESTrackObject: use gst_object_ref 2011-05-07 13:43:07 +02:00
Edward Hervey
7b303a38c5 GESTrackEffect: Use gst_object_unref for the hash value destroyfunc
The values are GstObjects and it makes it easier to track in debug logs
when they are being unreffed.
2011-05-07 13:22:50 +02:00
Thibault Saunier
3195bd1303 GESTrackkEffect: Fix Leaks 2011-05-07 12:33:33 +02:00
Thibault Saunier
65649722dd GESTimelineParseLaunchEffect: finalize to avoid leaks 2011-05-06 17:18:58 -03:00
Thibault Saunier
898ddfde87 ges: Add 'Since 0.10.2' to the new effects related API 2011-05-06 14:55:31 -03:00
Edward Hervey
ed8c00aa73 GESTrackObject: Check for valid argument 2011-05-06 19:41:38 +02:00
Edward Hervey
5fb9ec4148 GESTrackObject: Make a local function static 2011-05-06 19:41:16 +02:00
Edward Hervey
dab7501cdc GESTimelineObject: Check for valid arguments
and minor indentation fix
2011-05-06 19:40:22 +02:00
Edward Hervey
eccad44289 ges: Debug statement fixups 2011-05-06 19:39:26 +02:00
Edward Hervey
a6f3ae6dac ges: Doc fixes 2011-05-06 19:38:26 +02:00
Edward Hervey
88ab612df2 ges: Include indentation fixes 2011-05-06 19:36:35 +02:00
Edward Hervey
bca106e4b3 ges: Fix include orders 2011-05-06 19:35:13 +02:00
Edward Hervey
5b57ce7f4f ges: Don't break debug lines 2011-05-06 11:56:30 +02:00
Edward Hervey
5ac02d60be TrackLaunchEffect: Fix macros 2011-05-06 11:54:19 +02:00
Thibault Saunier
a1f11bed79 GESTrackParseLaunchEffect: better create_element implementation 2011-05-06 10:39:05 +02:00
Thibault Saunier
d6945879a0 TrackObject: fixe a crash in connect_signal 2011-05-06 10:39:05 +02:00
Thibault Saunier
54ed9b1709 GESTrackObject: add a ges_track_object_list_children_properties method
test: Test the new method, and also set/get_child_property_by_spec
2011-05-06 10:39:05 +02:00
Thibault Saunier
0e9658812e GESTrackObject: Implement a get/set_child_property_by_spec and get/set_child_property_valist methods
Reimplement the get/set_property accordingly
2011-05-06 10:39:05 +02:00
Thibault Saunier
1add2482b8 GESTrackObject: add a ges_track_object_lookup_child method 2011-05-06 10:39:05 +02:00
Thibault Saunier
b0f877a47c GESTrackObject: fixe the connect_properties_signals 2011-05-06 10:39:05 +02:00
Thibault Saunier
3179cb7c53 GESTrackObject: Change properties_hashtable format to GParamSpec->GstElement
It used to be 'ClassName-property-name' -> GstElement
2011-05-06 10:39:04 +02:00
Thibault Saunier
34f6d41d15 GESTrackEffect: move get_props_hastable implementation from GESTackParseLaunchEffect 2011-05-06 10:39:04 +02:00
Thibault Saunier
a69106ce53 GESTimelineObject: set_top_effect_priority refactoring 2011-05-06 10:39:04 +02:00
Thibault Saunier
7f3e64bd82 GESTimelineObject: Change the get_effects method to get_top_effects. 2011-05-06 10:39:04 +02:00
Thibault Saunier
0d02e26195 GESTrackObject: fixe a few issues with the get_props_hastable vmethod 2011-05-06 10:39:04 +02:00
Thibault Saunier
218cad6f16 GESTimelineEffect: keep the list of TrackObjects always sorted
Make sort_track_effects function static
2011-05-06 10:39:04 +02:00
Thibault Saunier
9dccf8d475 GESTimelineObject: use GESTrackEffect as base classe for effects and not GESTrackOperation. 2011-05-06 10:39:04 +02:00
Thibault Saunier
20c2d1df71 GESTimelineParseLaunchEffect: documentation fixing 2011-05-06 10:39:04 +02:00
Thibault Saunier
ecb280c85e TrackParseLaunchEffect: rename ges_track_parse_launch_effect_new_from_bin_desc method to ges_track_parse_launch_effect_new 2011-05-06 10:39:03 +02:00
Thibault Saunier
4b4439ad8a Make GESTimelineEffect abstract and move its implementation to GESTimelineParseLaunchEffect
test: Adapte the test suite to suite the new API
2011-05-06 10:39:03 +02:00
Thibault Saunier
ea3625f4b9 Make GESTrackEffect abstract and move its implementation to GESTrackParseLaunchEffect
test: update the effect test suite
2011-05-06 10:39:03 +02:00
Thibault Saunier
da717d6b25 GESTrackObject: add the deep-notify signal
tests: test the new signal
2011-05-06 10:39:03 +02:00
Thibault Saunier
68c1ade22d GESTimelineObject: Emit signal when adding and removing effects
tests: test that those signals are actually well sent
2011-05-06 10:39:03 +02:00
Thibault Saunier
34c55abd5d docs: fixe the GESTimelineObject documentation 2011-05-06 10:39:02 +02:00
Thibault Saunier
3f4a4a7134 GesTrackObject: add the ges_track_object_get_child_property method
test: Test this new method

design: change the design file to fit the implementation
2011-05-06 10:39:02 +02:00
Thibault Saunier
d9c07a4ed4 GESTrackObject: add a ges_track_object_set_child_property_method
test: Test the new method
2011-05-06 10:39:02 +02:00
Thibault Saunier
5376ff21ce GESTrackEffect: add the get_props_hastable virtual method
Implements this virtual method for bin described effects.
2011-05-06 10:39:02 +02:00
Thibault Saunier
c67bcb1684 GESTrackObject: add an hashtable linking childs properityName -> GstElement
We also add a Virtual method that should be implementented in subclasses to generate the new GHasTable
2011-05-06 10:39:02 +02:00
Thibault Saunier
d18c9fe8fb GESTimelineObject: add a ges_timeline_object_set_top_effect_priority method
Lets the user have a minimum of control over effects priorities
2011-05-06 10:39:02 +02:00
Thibault Saunier
bad1b419c2 GESTimelineObject: Do not rely on the fact that the trackobject list is sorted 2011-05-06 10:39:02 +02:00
Thibault Saunier
8717290bb0 GESTimelineObject: Update TrackObject priorities handling
make use of the new TrackObject getters
2011-05-06 10:39:01 +02:00
Thibault Saunier
bbf8aba733 GESTimelineObject: make debugging symbols more usefull 2011-05-06 10:39:01 +02:00
Thibault Saunier
c84d87961d GESTrackEffect: add getters for the: start, inpoint, duration, priority, active properties
docs: add new symbols
2011-05-06 10:39:01 +02:00
Thibault Saunier
861b724cd6 TimelineEffect: implement the create_track_object vmethod
tests: test the new vmethod
2011-05-06 10:39:01 +02:00
Thibault Saunier
b2d9ba6f1e TimelineObject: take a private update_height method out of priority_update_cb 2011-05-06 10:39:01 +02:00
Thibault Saunier
5ebeec2df1 TimelineEffect: create 2 properties for bin_descrption, one for the audio track, another for the video one
This is more for testing purposes since in the long run we should use Materials
2011-05-06 10:39:01 +02:00
Thibault Saunier
b566453e4a TimelineEffect: Add the basis for GESTimelineEffect implementation 2011-05-06 10:39:01 +02:00
Thibault Saunier
67cefa009d TrackEffect: Fixe the documentation 2011-05-06 10:39:00 +02:00
Thibault Saunier
25daa3c6a0 TimelineObject: fixe new API documentation 2011-05-06 10:39:00 +02:00
Thibault Saunier
ca2d5bca2b TimelineObject: add the ges_timeline_object_get_top_effect_position method
tests: adapt the effect testsuite to use this function

docs: add the method to the documentation
2011-05-06 10:39:00 +02:00
Thibault Saunier
dd298b99c7 TimelineObject: remove trailling spaces 2011-05-06 10:39:00 +02:00
Thibault Saunier
5e84bf8fe3 TimelineObject: add ges_timeline_object_get_effects API
tests: Test the new TimelineObject API

docs: add the corresponding fonction
2011-05-06 10:39:00 +02:00
Thibault Saunier
78a4afe2dc TimelineObject: adapt the add_track_object so we can add effects to it.
We keep the list of contained TrackObject-s order by priority
2011-05-06 10:39:00 +02:00
Thibault Saunier
070be5aff3 TimelineObject: add a function to sort list of applied effects 2011-05-06 10:39:00 +02:00
Thibault Saunier
0e4528112d TimelineObject: add a property to count the number of effects applied on it 2011-05-06 10:39:00 +02:00
Thibault Saunier
f8154914a0 TrackEffect: add padding to give a margin for API expension without breaking ABI 2011-05-06 10:38:59 +02:00
Thibault Saunier
e499a1142a TrackEffect: change the create_element function arguments to fit what is expected 2011-05-06 10:38:59 +02:00
Thibault Saunier
3aa68dac63 TrackEffect: Change copyright 2011-05-06 10:38:59 +02:00
Thibault Saunier
647f7c34d9 effects: Make TrackEffect implementation corresponding to the new effect API description
Make the effects testsuite correspond to the new API

Fixe a few compilation issues due to TrackEffect
2011-05-06 10:38:59 +02:00
Thibault Saunier
6e5d16ac6d GESTrackEffect: add private struct 2011-05-06 10:38:58 +02:00
Thibault Saunier
63e901ed12 GESTrackEffect: implementation of this new class 2011-05-06 10:38:58 +02:00
Alessandro Decina
62a3a7ed8c android: make it ready for androgenizer
Remove the android/ top dir
Fixe the Makefile.am to be androgenized

To build gstreamer for android we are now using androgenizer which generates the needed Android.mk files.
Androgenizer can be found here: http://git.collabora.co.uk/?p=user/derek/androgenizer.git
2011-04-11 17:15:55 +02:00
Thibault Saunier
49ac8a4e3e GESTimelinePipeline: the _init_ method shouldn't return before the end
Fixes #644939
2011-03-23 15:45:48 +01:00
Edward Hervey
8927e8d72e KeyFileFormatter: Handle return value of gst_value_deserialize() 2011-03-15 14:01:41 +01:00
Alessandro Decina
d5622071f5 ges: fix compiler warnings 2011-03-01 17:38:52 +01:00
Vincent Penquerc'h
a35a29a810 ges: make uri strings const 2011-03-01 17:29:09 +01:00
Edward Hervey
762c447936 TimelineObject: Store GParamSpec for height and layer 2011-02-09 11:21:02 +01:00
Vincent Penquerc'h
857142a15d ges: Check that the gnonlin elements are present at initialization time
This avoids hanging with no obvious cause later when they're not.

https://bugzilla.gnome.org/show_bug.cgi?id=641246
2011-02-08 16:43:11 +01:00
Tim-Philipp Müller
2a98347461 ges: fix a couple of printf format warnings 2011-01-31 19:00:49 +00:00
Alessandro Decina
77d789b077 ges: fix compiler warnings 2011-01-27 17:44:43 +01:00
Edward Hervey
753c16055e ges: Fix more ges_timeline_get_layers() usage memory leaks 2011-01-11 18:14:41 +01:00
Sebastian Dröge
8dff71aa08 ges: Don't install ges-internal.h and hide the GES debug category symbols
Fixes bug #639219.
2011-01-11 18:02:33 +01:00
Edward Hervey
fb93259f12 ges-utils: minor doc update 2011-01-11 17:55:34 +01:00
Sebastian Dröge
93eb5cc74a ges: Only export symbols starting with ges_ or GES_
https://bugzilla.gnome.org/show_bug.cgi?id=639218
2011-01-11 17:55:33 +01:00
Sebastian Dröge
818368ffcf ges: Mark some private symbols static
https://bugzilla.gnome.org/show_bug.cgi?id=639218
2011-01-11 17:55:33 +01:00
Edward Hervey
5387d36a15 TimelinePipeline: minor doc fix 2011-01-10 16:50:51 +01:00
Thibault Saunier
dc6290a5e2 docs: Document all the undocumented public functions 2011-01-10 15:14:45 +01:00
Edward Hervey
38d306db2e TrackObject: Small cleanup 2011-01-10 15:10:01 +01:00
Edward Hervey
4b5d350121 TrackObject: Remove deprecated FIXME
You just need to connect to the notify signal to get updates
2011-01-10 15:09:40 +01:00
Edward Hervey
3359fe22b3 Track: Mark as private the instance private structure 2011-01-10 11:12:55 +01:00
Edward Hervey
9f26d1a14e Timeline: Fix documentation of return value 2011-01-10 11:12:38 +01:00
Thibault Saunier
ba5770993f GESFormatter: Add private instance and move private variables to it 2011-01-08 22:45:44 +01:00
Thibault Saunier
98b51d8cd1 TimelineFileSource: Create instance private and move private variables to it
Fixe/Add getter and setters methods for those variables

Fixup documentation
2011-01-08 22:45:44 +01:00
Thibault Saunier
3d6764d6e9 Timeline: Add instance private and Move private variables to it
Fixe/Add getter methods to get those variables

Fixup documentation
2011-01-08 22:45:44 +01:00
Thibault Saunier
e793cb6f9c TimelineTestSource: Move private variables to instance private
Fixe/Add getter and setter methods for those variables

Fixup documentation
2011-01-08 22:45:44 +01:00
Thibault Saunier
59c5cdfb33 TimelineTextOverlay: Move private variables to instance private
Fixe/Add getter and setter methods for those variables

Fixup documentation
2011-01-08 22:45:36 +01:00
Thibault Saunier
595e6434cb TimelineTitleSource: Move private variables to instance private
Fixe/Add getter and setters methods for those variables

Fixup documentation
2011-01-08 22:37:52 +01:00
Thibault Saunier
b8493f8896 TrackAudioTestSource: Move private variables to instance private
Add getter methods to get those variables

Fixup documentation
2011-01-08 22:32:53 +01:00
Thibault Saunier
5c757c1093 TrackAudioTransition: : Move private variables to instance private 2011-01-08 22:32:53 +01:00
Thibault Saunier
e042aa30e4 TrackTextOverlay: Move private variables to instance private
Add getter methods to get those variables

Add/Fixup documentation
2011-01-08 22:32:53 +01:00
Tim-Philipp Müller
9637de0afd gobject-introspection: fix g-i build for uninstalled setup
Requires gst-plugins-base git (> 0.10.31.2) to actually work.
2011-01-08 01:36:13 +00:00
Edward Hervey
e6f5bc0f13 enums: Fix transition enum
Leftovers from when we were using the old name
2011-01-06 12:06:24 +01:00
Edward Hervey
7c255ff247 TrackTitleSource: Move private variables to instance private
Add getter methods to get those variables

Add/Fixup documentation
2011-01-06 12:04:53 +01:00
Edward Hervey
fec797f298 TimelinePipeline: Fix thumbnail method docs and arguments
The provided gchar* aren't modified
2011-01-06 11:30:26 +01:00
Edward Hervey
2d9f03fde0 TrackVideoTestSource: Move private data to instance private
Add a getter for the pattern

Document methods
2011-01-06 11:29:44 +01:00
Edward Hervey
58afc44fd7 TrackVideoTransition: Move private variable to instance private
Also add/fixup methods to get/set the transition type and document them.
2011-01-06 11:21:51 +01:00
Edward Hervey
c8dc8973b0 TimelinePipeline: Updates for pbutils API change 2011-01-06 10:55:06 +01:00
Edward Hervey
1dcc4b56bc GESTrackAudioTransition: Fix empty if() body 2010-12-21 15:24:26 +01:00
Edward Hervey
74d41ef414 GESTimelinePipeline: Fix usage of encodebin
The property name is now avoid-reencoding
2010-12-20 19:09:48 +01:00
Edward Hervey
785c9d9253 GESTimeline: minor cleanup 2010-12-20 12:03:48 +01:00
Edward Hervey
1450d539d4 GESTimelineObject: Subclass from GInitiallyUnowned
The floating reference will be owned by the Layer
2010-12-20 12:03:48 +01:00
Edward Hervey
11887e0058 GESTimelineLayer: Subclass from GInitiallyUnowned
The floating reference will be owned by the Timeline
2010-12-20 12:03:48 +01:00
Edward Hervey
752e6cfb75 GESTrackObject: Subclass from GInitiallyUnowned
The floating reference will be owned by the Track
2010-12-20 12:03:48 +01:00
Edward Hervey
c90f399bfb TimelineObject: Hold a reference to the controlled TrackObject 2010-12-20 12:03:48 +01:00
Edward Hervey
05df4ec7b6 GES*Object: only use g_object_notify_by_pspec if available 2010-12-17 11:27:37 +01:00
Edward Hervey
a96a483fae GESTrackObject: Remove unused quarks 2010-12-17 11:27:23 +01:00
Edward Hervey
c568efb663 GESSimpleTimelineLayer: reverting const-ification 2010-12-16 19:37:06 +01:00
Brandon Lewis
82e4d95a28 GESSimpleTimelineLayer: add _index() method 2010-12-16 19:37:06 +01:00
Edward Hervey
e970c86753 GESTimelineObject: Add mapping/offset support [start/priority properties]
Allows moving independently (or not) timelineobjects and trackobjects and
have them synchronized with the offsets taken into account.

Right now only the start and priority properties are synchronized. The duration
and in-point properties will require more thoughts.
2010-12-16 19:29:14 +01:00
Edward Hervey
73209e1f21 GESTrackObject: priority offset is handled by the TimelineObject 2010-12-16 19:24:25 +01:00
Edward Hervey
411ac1cb99 GESTrackObject: re-factor property setting code
And make sure notifications are emitted at the right time
2010-12-16 19:23:20 +01:00
Edward Hervey
e6aeb97040 GESTrackObject: Add a 'locked' property for position synchronization
And update all code using it
2010-12-16 16:27:26 +01:00
Edward Hervey
8ca6f66f4c GESTrackObject: Hide more variables and provide accessors for them 2010-12-16 15:00:46 +01:00
Edward Hervey
4028baaa5b GESTimeline: Remove useless variable 2010-12-16 12:46:48 +01:00
Edward Hervey
5a170091e6 GESTimelineLayer: Hide the object list and priority
Add needed setters/getters
2010-12-16 12:41:26 +01:00
Edward Hervey
3eadc4aa31 ges: Add more documentation and annotations
This should make GES gobject-introspection compliant now.
2010-12-15 19:40:11 +01:00
Edward Hervey
7146c33617 TimelineObject: Put more function name in sync with others 2010-12-15 19:18:42 +01:00
Edward Hervey
7ef6f365d9 GESSimpleTimelineLayer: _nth() returns a const
The refcount isn't incremented.
2010-12-15 19:18:16 +01:00
Edward Hervey
ed6b2ce4c4 GESTrack: Make more properties private
And ensure exported symbols are properly documented and have
argument checking.
2010-12-15 19:05:48 +01:00
Brandon Lewis
c60a4b5734 GESSimpleTimelineLayer: ensure the object can be located before "object-added"
fires
2010-12-15 18:01:33 +01:00
Brandon Lewis
7bb28f0a6a GESSimpleTimelineLayer: add _nth() method 2010-12-15 18:01:33 +01:00
Edward Hervey
132cb68ab2 all: add/extend more .gitignore 2010-12-15 15:52:03 +01:00
Edward Hervey
ecc168c13c ges: Don't shorten symbol names
It wasn't making us gain anything, and confuses the hell out of g-ir-scanner.
2010-12-15 13:27:39 +01:00
Edward Hervey
122d3cda02 ges: Add gobject-introspection support 2010-12-15 12:58:26 +01:00
Edward Hervey
4c63aa21f2 ges: Switch to encoding-profile API from base
Remove dependency on gst-convenience.
2010-12-15 12:38:03 +01:00
Edward Hervey
5f6dadab77 GESTrackObject: Make base_priority/priority-offset a private field 2010-12-14 17:38:55 +01:00
Edward Hervey
3912245f87 GESTrackObject: Add create_element vmethod
API: GESTrackObjectClass::gnlobject_factorytype
API: GESTrackObjectClass::create_element

Most track objects are only specific by the contents of the gnlobject,
therefore move the 'create_element' vmethod which was already present
in some subclasses to the top-level class.

Also make the code more robust
2010-12-10 12:26:44 +01:00
Edward Hervey
8389feb971 GESTrackTransition: Make it a subclass of GESTrackOperation 2010-12-10 12:14:32 +01:00
Edward Hervey
7a098a423d GESTimelineSource: Remove textoverlay properties
This will be made more generic by allowing any overlay/effect to
be put on any source object.
2010-12-09 19:36:44 +01:00
Edward Hervey
ef7eb9efdd GESTransition: Make it a base class and add GESTimelineStandardTransition
This is to ensure people can create their own Layer Transition subclass.

API : GESTimelineTransition is now GESTimelineStandardTransition
2010-12-09 17:09:11 +01:00
Edward Hervey
36e165e190 ges: Make some classes abstract with G_DEFINE_ABSTRACT_TYPE 2010-12-09 15:21:10 +01:00
Edward Hervey
eb4cf96b29 ges: Avoid leaking a GList of GESTrackObject 2010-12-09 15:13:27 +01:00
Edward Hervey
237ea89aa7 ges: Remove unused GObject vmethods 2010-12-09 15:12:34 +01:00
Edward Hervey
d8b2781ddc GESTimelineOperation: New abstract class for operations
This is a new class for all timeline objects that both produce and
consume data.

The existing subclasses of it are now:
* GESTimelineOverlay
* GESTimelineTransition
2010-12-09 14:25:22 +01:00
Edward Hervey
f352404159 GESTimelineObject: Clarify usage of create_track_object(s) by subclasses 2010-12-09 12:53:07 +01:00
Edward Hervey
a98b77a648 GESTimelineSource: Remove empty create_track_object vmethod
The parent class will check if it is present or not, and call
track_objects if needed.
2010-12-09 12:52:15 +01:00
Edward Hervey
fd44f95618 GESFormatter: Hide the save/load vmethod from the docs
We need to deprecated them before API/ABI freeze
2010-12-09 12:46:27 +01:00
Edward Hervey
218bd56866 ges: Remove creators for base classes 2010-12-08 16:11:55 +01:00
Edward Hervey
8cef09279a GESTimelineSource: Remove _new() since it's a base class 2010-12-08 15:48:55 +01:00
Edward Hervey
faec1e803d docs: A round of updates 2010-12-08 15:36:55 +01:00
Thibault Saunier
dfeb7afe85 GESTimelineObject: add private structure 2010-12-08 13:00:21 +01:00
Thibault Saunier
7fc3be7d44 GESSimpleTimelineLayer: add private structure 2010-12-08 13:00:15 +01:00
Thibault Saunier
4c91a36f9a ges: Add instance private structures 2010-12-08 12:54:02 +01:00
Thibault Saunier
8d19b737d8 GESTimelinePipeline: add a private structure 2010-12-08 12:53:59 +01:00
Thibault Saunier
a66d8eaf16 GESCustomTimelineSource: add private structure 2010-12-08 12:53:59 +01:00
Thibault Saunier
4add2937de SimpleTimelineLayer: Remove bogus check and extend unit test to validate it 2010-12-02 11:55:44 +01:00
Edward Hervey
849d6ab872 ges: Add padding to all public structures
This will give us margin for API expansion without breaking ABI.

The ABI restriction will only come in place once we do the first
official release (i.e. 0.x.0).
2010-11-29 13:24:13 +01:00
Edward Hervey
3a9e4cdd74 Formatter: Extend and fixup documentation 2010-11-27 18:12:49 +01:00
Edward Hervey
2ff3d8ce12 Timeline: Add doc and more comments/fixmes 2010-11-27 18:12:49 +01:00
Edward Hervey
1da6d7a5dd GESTimeline: Prevent saving timelines without any layers 2010-11-27 18:12:49 +01:00
Edward Hervey
7176c26810 TimelineLayer: Add debug statement regarding priorities 2010-11-27 18:12:49 +01:00
Brandon Lewis
cc3634e18c GESFormatter: fix a few typos in documention 2010-11-27 18:08:20 +01:00
Brandon Lewis
33bc336a11 GESTimeline: add more fixmes 2010-11-27 18:08:20 +01:00
Brandon Lewis
39088c8f58 GESKeyFileFormatter: use ges_formatter_get/set data 2010-11-27 18:08:20 +01:00
Brandon Lewis
0ce5053ac4 GESFormatter: Add data-related methods 2010-11-27 18:08:20 +01:00
Brandon Lewis
9f1dc7709a GESKeyFileFormatter: New GKeyFile GESFormatter 2010-11-27 18:08:20 +01:00
Brandon Lewis
27481c3c26 GESTimeline: implementation of save_to/load_from uri 2010-11-27 18:08:19 +01:00
Brandon Lewis
124100b957 GESFormatter: Project file format support 2010-11-27 18:07:46 +01:00
Brandon Lewis
abce2912b8 GESTimeline: set track state to NULL before removing from timeline 2010-11-27 17:55:50 +01:00
Brandon Lewis
f521d31b40 GESTimeline: release timeline objects when a layer is removed 2010-11-27 17:55:49 +01:00
Brandon Lewis
293cc5c6ca GESTrack: keep track of trackobjects and remove/release them in dispose 2010-11-27 17:23:30 +01:00
Brandon Lewis
0ced93c4ed GESSimpleTimelineLayer: override get_objects () virtual method 2010-11-27 17:23:29 +01:00
Brandon Lewis
06695545e0 GESTimelineLayer: add get_objects virtual method 2010-11-27 17:23:29 +01:00
Brandon Lewis
9848c33e40 GESTimeline: allow adding tracks after layers 2010-11-27 17:23:23 +01:00
Brandon Lewis
170ec1e7ab GESTimeline: add existing timeline objects when adding layers 2010-11-27 17:16:36 +01:00
Brandon Lewis
d9f8563319 ges: ensure built-in timeline object classes are registered 2010-11-27 17:13:39 +01:00
Brandon Lewis
d2b2ac0d51 GESTimeline: remove layers before removing tracks in dispose () 2010-11-27 17:13:39 +01:00
Edward Hervey
da806759d1 Timeline: Remove unneeded variable 2010-11-25 14:02:26 +01:00
Edward Hervey
da977c5565 TimelineObject: Forgot a break in a switch/case 2010-11-25 14:01:15 +01:00
Edward Hervey
ab0493418a GESTimelinePipeline: Make sure playsink events are sent to all incoming streams
PlaySink will not send seek events to all incoming streams since it assumes that
they all come from the same source (like a file).
When used with multiple gnonlin compositions we need to make sure those seek events
are sent to all of them.
2010-11-23 18:24:38 +01:00
Edward Hervey
f8e6955459 GesTrackVideoTransition: Prefer videomixer2 to videomixer
If present
2010-11-14 11:58:10 +01:00
Edward Hervey
9718bf1f1f GESTimeline: Change for updated GstDiscoverer API 2010-11-04 12:28:46 +01:00
Edward Hervey
a5382931d2 Add gstvideo in build dependencies 2010-09-28 16:34:53 +02:00
Edward Hervey
6364e8ec2c all: Changes for discoverer being merged upstream
Along with a whole bunch of Makefile fixups
2010-09-23 18:42:48 +02:00
Edward Hervey
a02a5c2320 Update for factorylist/convertframe being merged to gst core/base 2010-09-16 08:39:46 +02:00
Edward Hervey
d76535bc59 Update to moved gst-convenience 2010-09-16 08:39:01 +02:00
Brandon Lewis
6e844f877f layer is also invalid when there are transitoins at the beginning/end 2010-09-02 18:08:43 +02:00
Brandon Lewis
03e488ac74 add vaid property and unit tests 2010-09-02 18:08:43 +02:00
Brandon Lewis
719c2ad0a5 add doc comment for object-moved signal 2010-09-02 18:08:43 +02:00
Brandon Lewis
cd9ad5302e add object-moved signal to simple timeline layer 2010-09-02 18:08:43 +02:00
Edward Hervey
c3d98ca5ea GESTrackObject: Fix debug statement 2010-09-02 17:55:20 +02:00
Edward Hervey
f6d0de047a GESTimelineFileSource: Don't leak strings 2010-09-01 17:04:26 +02:00
Brandon Lewis
2f07308cd9 deactivate overlay when no text is present 2010-09-01 16:56:04 +02:00
Brandon Lewis
1052532f5a expose text, font-desc, and alignment properties in GESTimelineSource 2010-09-01 16:56:04 +02:00
Brandon Lewis
ba00ee2bfd fix typo in docstring 2010-09-01 16:56:04 +02:00
Brandon Lewis
dd6f39594a add conversion elements to TrackTextOverlay 2010-09-01 16:56:04 +02:00
Brandon Lewis
eb3be94578 tweak gstl recalculate: cur track object sets priority for next transition 2010-09-01 16:56:03 +02:00
Brandon Lewis
3b1a0d756d add type argument to ges_timeline_object_find_track_objects() 2010-09-01 16:56:03 +02:00
Brandon Lewis
420badca90 don't add the same track object twice 2010-09-01 16:56:03 +02:00
Brandon Lewis
e6b24d8749 check for proper instance type in _set_* functions 2010-09-01 16:56:03 +02:00
Brandon Lewis
c4ac72dedb fix documentation comment 2010-09-01 16:56:03 +02:00
Brandon Lewis
1966efd927 create a text overlay with default text for every TimelineSource 2010-09-01 16:56:03 +02:00
Brandon Lewis
efbc4a22cd increase default priority offset for sources; update unit tests 2010-09-01 16:56:03 +02:00
Brandon Lewis
0e07ea40f7 move this commit down where it belongs 2010-09-01 16:56:03 +02:00
Brandon Lewis
4683b042f6 override create_track_objects (plural) in TimelineSource 2010-09-01 16:56:03 +02:00
Brandon Lewis
a9c3628b5a update height when track object priority offset changes 2010-09-01 16:56:02 +02:00
Brandon Lewis
6667956ceb reword priority documentation comments 2010-09-01 16:56:02 +02:00
Brandon Lewis
6c6d4911cd use object height in gstl recalcuate 2010-09-01 16:56:02 +02:00
Brandon Lewis
93936321da initialize height to 1 2010-09-01 16:56:02 +02:00
Brandon Lewis
d92d922c52 add accessor macro 2010-09-01 16:56:02 +02:00
Brandon Lewis
b02cf5b34e add height property 2010-09-01 16:56:02 +02:00
Brandon Lewis
ebdebc01ce document timelineobject::priority 2010-09-01 16:56:02 +02:00
Brandon Lewis
572f7ab4da expose priority-offset as a property 2010-09-01 16:56:02 +02:00
Brandon Lewis
03cf6c99b6 distinguish between base_priority, priority_offset, and gnl_priority 2010-09-01 16:56:02 +02:00
Brandon Lewis
03c1c76652 split timeline_object_add_track_object out of create_track_object 2010-09-01 16:56:02 +02:00
Brandon Lewis
cd7cefffa6 add create_track_objects 2010-09-01 16:56:01 +02:00
Brandon Lewis
dca01a3c0e add create_track_objects declarations 2010-09-01 16:56:01 +02:00
Brandon Lewis
d6d7eb8398 call create_track_objects in timeline.c 2010-09-01 16:56:01 +02:00
Edward Hervey
e28da66ceb GESTimelineTransition: Remove unneeded variable 2010-08-31 13:49:21 +02:00
Brandon Lewis
9c82a2841c allow borders on still image videoscale 2010-08-13 11:50:31 +02:00
Brandon Lewis
c9eba54506 always support audio on still images 2010-08-13 11:50:31 +02:00
Brandon Lewis
4408354819 remove ffmpegcolorspace after freeze (see 626518) 2010-08-13 11:50:31 +02:00
Brandon Lewis
598d883d53 don't set max duration on still images 2010-08-13 11:50:31 +02:00
Brandon Lewis
e095df1bc7 implement still image sources 2010-08-13 11:50:30 +02:00
Brandon Lewis
49fbc0b6d6 naive implementation of still images (seems broken) 2010-08-13 11:50:30 +02:00
Brandon Lewis
fe54413811 create GESTrackAudioTestSource for audio tracks when is-image is true 2010-08-13 11:50:30 +02:00
Brandon Lewis
56c26dd853 set 'is-image' property true when source has an image stream type 2010-08-13 11:50:30 +02:00
Brandon Lewis
f9bb4b274c create image sources when is_image is set to true 2010-08-13 11:50:30 +02:00
Brandon Lewis
e38cf5a3ad Add "is-image" property to GESTimelineFileSource 2010-08-13 11:50:30 +02:00
Brandon Lewis
9ba833c127 check in GESTrackImageSource 2010-08-13 11:50:30 +02:00
Edward Hervey
997e0287f9 ges: Also dist the generated files 2010-08-05 12:19:32 +02:00
Edward Hervey
f4245ed133 marshal: Fix typo in the Makefile that prevented marshal .c being built 2010-08-05 11:40:49 +02:00
Brandon Lewis
98298c00e5 link to the right sink pad on textoverlay object 2010-07-23 18:22:31 +02:00
Brandon Lewis
295d177d12 fwrite doesn't return the number of bytes written. check that fwrite is
non-zero and that ferror() isn't set instead.
2010-07-16 18:54:49 +02:00
Brandon Lewis
de54e7a312 don't plug encoders when raw caps are given 2010-07-16 18:54:48 +02:00
Brandon Lewis
085a4c4804 ges_caps_set_simple was being called incorrectly 2010-07-16 18:18:03 +02:00
Edward Hervey
6cc48991d6 ges: Don't forget to dist ges-timeline-overlay.h 2010-07-16 18:02:25 +02:00
Edward Hervey
fc62bc7518 TimelinePipeline: Make sure fwrite completes successfully 2010-07-16 17:29:05 +02:00
Brandon Lewis
bde192be3d add routine to save a thumbnail in the specified encoding 2010-07-16 17:22:19 +02:00
Brandon Lewis
74c58d9cdf add todo item 2010-07-16 17:22:19 +02:00
Brandon Lewis
0a548ffad9 factor encoder-finding code into separate function 2010-07-16 17:22:19 +02:00
Brandon Lewis
f487fe3fb8 use gstprofile to plug an encoder and encode the current frame 2010-07-16 17:22:18 +02:00
Brandon Lewis
70a040f760 add methods to retreive the current frame as a thumbnail 2010-07-16 17:22:18 +02:00
Brandon Lewis
f8c7b00a0f duplicate code from gstscreenshot.{c,h} and gstplaysink.{c,h} 2010-07-16 17:22:18 +02:00
Edward Hervey
df36ccabb9 GESTimelinePipeline: Use smartencoder feature from encodebin 2010-07-15 12:09:26 +02:00
Edward Hervey
b158c59202 GES: Switch to new fast pad linking 2010-07-14 13:29:23 +02:00
Brandon Lewis
66745d0695 Don't expose test source enum value table 2010-07-09 13:27:01 +02:00
Brandon Lewis
318abee5fb don't expose transition enum value table 2010-07-09 13:21:18 +02:00
Brandon Lewis
f64bc157bc use gtype to get the enum value for the nick 2010-07-09 13:21:18 +02:00
Brandon Lewis
770a16f5ce check whether setting vtype property actually succeeds 2010-07-09 13:21:18 +02:00
Brandon Lewis
33449efcd7 initialize transitions to type _TRANSITION_TYPE_NONE 2010-07-09 13:21:18 +02:00
Brandon Lewis
de8238031b add new invalid enum type 2010-07-09 13:21:18 +02:00
Brandon Lewis
4cd9fd5006 refactor duration_changed method as this is now a TrackObjectClass method 2010-07-09 13:21:18 +02:00
Brandon Lewis
847052077e remove notify::duration signal handler 2010-07-09 13:21:18 +02:00
Brandon Lewis
fee9f7fb67 add track object virtual methods for property change notifications 2010-07-09 13:21:18 +02:00
Brandon Lewis
b13bf26795 remove unneeded assertions 2010-07-09 13:21:18 +02:00
Brandon Lewis
31ffb87dde remove unneeded _new methods on certain base classes 2010-07-09 13:21:18 +02:00
Edward Hervey
919076f892 TrackTransition: Don't return anything for unhandled tracks 2010-07-09 13:21:18 +02:00
Edward Hervey
b30a85117c TrackTransition: Remove second argument from duration_changed vmethod
And get properties directly from parent classes instead
2010-07-09 13:21:17 +02:00
Edward Hervey
f107a01ede GES: whitespace fixes 2010-07-09 13:21:17 +02:00
Edward Hervey
8c8aa7393c GES: Simplify loops 2010-07-09 13:21:17 +02:00
Edward Hervey
11bd040ff1 GES: Remove un-needed branches
res it initialized to NULL
2010-07-09 13:21:17 +02:00
Edward Hervey
066ff4a9de GES: Fix initialization values 2010-07-09 13:21:17 +02:00
Edward Hervey
4708fbb4ca GES: Remove useless variables 2010-07-09 13:21:17 +02:00
Edward Hervey
8da8dda41f GES: Fix function prototypes 2010-07-09 13:21:17 +02:00
Edward Hervey
714a1025d6 TimelineTestSource: Set freq/volume whether mute or not 2010-07-09 13:21:17 +02:00
Edward Hervey
5a58ef53b4 TimelineOverlay: Fix doc 2010-07-09 13:21:17 +02:00
Edward Hervey
9fa220c0c0 TrackVideoTransition: Avoid switching from crossfade to other types
This now exposes a bug in the TimelineTransition, since it will have
a transition type different from its track objects.
2010-07-09 13:21:17 +02:00
Edward Hervey
f3c0d88e79 SimpleTimelineLayer: Fix top-level doc 2010-07-09 13:21:17 +02:00
Edward Hervey
d8d1e95952 TimelineLayer: Document _set_priority 2010-07-09 13:21:17 +02:00
Edward Hervey
c0e21a4a69 TrackVideoTransition: Use proper transition type 2010-07-09 13:21:17 +02:00
Edward Hervey
6dfc14b3e6 utils: Document timeline_new_audio_video 2010-07-09 13:21:16 +02:00
Brandon Lewis
7190943ddb make type field of video transition private 2010-07-09 13:21:16 +02:00
Brandon Lewis
5f3ef42e96 another massive documentation update 2010-07-09 13:21:16 +02:00
Brandon Lewis
12a2d3b3fe expose freq and volume props in GESTimelineTestSource 2010-07-09 13:21:16 +02:00
Brandon Lewis
fd7f9ac12f add routines to AudioTestSource to set freq and volume 2010-07-09 13:21:16 +02:00
Brandon Lewis
dcc0413945 remove 'mute' property from GESTimelineTextOverlay 2010-07-09 13:21:16 +02:00
Brandon Lewis
e4e800da50 fix incorrect type name strings 2010-07-09 13:21:16 +02:00
Brandon Lewis
9f71c1ff8c convert rest of code to use GESVideoTestPattern 2010-07-09 13:21:16 +02:00
Brandon Lewis
e73c98630e add GESVideoTestPattern enum 2010-07-09 13:21:16 +02:00
Brandon Lewis
ec803b0815 make sure to set properties on new track objects 2010-07-09 13:21:16 +02:00
Brandon Lewis
e588daf078 replace existing text position enums 2010-07-09 13:21:16 +02:00
Brandon Lewis
2bb344635b replace existing text position enums 2010-07-09 13:21:15 +02:00
Brandon Lewis
52bec51bff add text positioning enums 2010-07-09 13:21:15 +02:00
Brandon Lewis
cc719507ea move and rename TRANSITION_VTYPE into enums.h and rename 2010-07-09 13:21:15 +02:00
Brandon Lewis
babd78dbcd move track type enum to ges-enums.{h,c} 2010-07-09 13:21:15 +02:00
Brandon Lewis
b25befe29a check in skeletal ges-enums.{c,h} 2010-07-09 13:21:15 +02:00
Brandon Lewis
aec1fbd88c massive documentation updates 2010-07-09 13:21:15 +02:00
Brandon Lewis
aafd4d095a GESTimelineTextOverlay inherits from GESTimelineOverlay 2010-07-09 13:21:15 +02:00
Brandon Lewis
948dd9417a check in emtpy GESTimelineOverlay class 2010-07-09 13:21:15 +02:00
Brandon Lewis
521df03ddd GESTimelineOverlay -> GESTimelineTextOverlay 2010-07-09 13:21:15 +02:00
Brandon Lewis
e3718b4213 GESTimelineBackgroundSource -> GESTimelineTestSource 2010-07-09 13:21:15 +02:00
Brandon Lewis
1e7c1fa450 GESTrackAudioBackgroundSource -> GESTrackAudioTestSource 2010-07-09 13:21:14 +02:00
Brandon Lewis
ae8d9b1544 GESTrackVideoBackgroundSource -> GESTrackVideoTestSource 2010-07-09 13:21:14 +02:00
Brandon Lewis
890bbb084e GESTrackVideoOverlay -> GESTrackTextOverlay 2010-07-09 13:21:14 +02:00
Brandon Lewis
e134f1a5c9 remove GESTrackOverlay 2010-07-09 13:21:14 +02:00
Brandon Lewis
fc23c1f040 GESTrackVideoOverlay inherits directly from GESTrackOperation 2010-07-09 13:21:14 +02:00
Brandon Lewis
a4210a1ea4 check in GESTrackOperation 2010-07-09 13:21:14 +02:00
Brandon Lewis
6d2282ae58 documentation fixes 2010-07-09 13:21:14 +02:00
Brandon Lewis
526e37589b GESTrackVideoTitleSource -> GESTrackTitleSource 2010-07-09 13:21:14 +02:00
Brandon Lewis
44781f9e39 remove GESTrackTitleSource 2010-07-09 13:21:14 +02:00
Brandon Lewis
4aff8e0c9d fix doc comments 2010-07-09 13:21:14 +02:00
Brandon Lewis
9d310cf3ee GESTrackVideoTitleSource inherits directly from GESTrackObject 2010-07-09 13:21:14 +02:00
Brandon Lewis
1ada78f700 remove GESTrackBackgroundSource class 2010-07-09 13:21:14 +02:00
Brandon Lewis
44379e805c GESTrackAudioBackgroundSource inherits from GESTrackSource 2010-07-09 13:21:13 +02:00
Brandon Lewis
891826fdec GESTrackVideoBackgroundSource inherits directly from track object 2010-07-09 13:21:13 +02:00
Brandon Lewis
71df7618e0 move create_element virtual method up to TimelineSource class 2010-07-09 13:21:13 +02:00
Brandon Lewis
cc53dfb062 remove GESTrackAudioTitleSource 2010-07-09 13:21:13 +02:00
Brandon Lewis
23a3bbb80f create test track object instead of audio-title-source 2010-07-09 13:21:13 +02:00
Brandon Lewis
560956ed24 keep track of and release request pads for smpte also 2010-07-09 13:21:13 +02:00
Brandon Lewis
0d4ff040d2 free mixer in dispose separately from sink pads 2010-07-09 13:21:13 +02:00
Brandon Lewis
7b72e81d5a don't forget to unref pad targets 2010-07-09 13:21:12 +02:00
Brandon Lewis
ac500472f0 rough overlay implementation 2010-07-09 13:21:12 +02:00
Brandon Lewis
bcc63cd637 activate property setting functions 2010-07-09 13:21:12 +02:00
Brandon Lewis
577ad52020 add video overlays to main header 2010-07-09 13:21:12 +02:00
Brandon Lewis
734d95bfb8 create timeline-overly creates appropriate track object 2010-07-09 13:21:12 +02:00
Brandon Lewis
076c610f80 check in GESTrackVideoOverlay 2010-07-09 13:21:12 +02:00
Brandon Lewis
dd631dbf28 check in ges-track-overlay.{c,h} 2010-07-09 13:21:12 +02:00
Brandon Lewis
586530eba0 check in timelineoverlay, structural copy of GESTimelineTitleSource 2010-07-09 13:21:12 +02:00
Brandon Lewis
b629c98f0b update doc comment 2010-07-09 13:21:12 +02:00
Brandon Lewis
1723659704 remove unneeded paramenter to create_element 2010-07-09 13:21:12 +02:00
Brandon Lewis
e4c7d0bbcd push struct fields down to VideoTransition 2010-07-09 13:21:11 +02:00
Brandon Lewis
fa98f4cc09 push make_video_bin() down into subclass 2010-07-09 13:21:11 +02:00
Brandon Lewis
6574f0146f push relevant struct fields into AudioTransition 2010-07-09 13:21:11 +02:00
Brandon Lewis
b3d0c3e6b1 push make_audio_bin down into subclass 2010-07-09 13:21:11 +02:00
Brandon Lewis
a1734962e2 add duration_changed virtual method to GESTrackTransition 2010-07-09 13:21:11 +02:00
Brandon Lewis
2146e4a9af add create_element vmethod to GESTrackTransition 2010-07-09 13:21:11 +02:00
Brandon Lewis
622f0d7718 create transition subtype according to track type 2010-07-09 13:21:11 +02:00
Brandon Lewis
071ea8fb26 check in GESTrackVideoTransition, empty subclass of TrackTransition 2010-07-09 13:21:11 +02:00
Brandon Lewis
b2d36e8d9f check in GESTrackAudioTransition, empyt subclass of TrackTransition 2010-07-09 13:21:11 +02:00
Brandon Lewis
eb96fafc65 fix header file param names 2010-07-09 13:21:11 +02:00
Brandon Lewis
da566f9521 fix stupid copy/paste typo 2010-07-09 13:21:10 +02:00
Brandon Lewis
e417c4c656 free existing strings before assigning new ones 2010-07-09 13:21:10 +02:00
Brandon Lewis
aa19ff62ec implement {h,v}alignment property for timeline titles 2010-07-09 13:21:10 +02:00
Brandon Lewis
08d94f7e38 add ..._set_{h,v}alignment() methods to video titles 2010-07-09 13:21:10 +02:00
Brandon Lewis
c0f0d6f5f4 add font-desc property to TimelineTitleSource 2010-07-09 13:21:10 +02:00
Brandon Lewis
bae04feef4 add ...set_font_desc() method to VideoTitleSource 2010-07-09 13:21:10 +02:00
Brandon Lewis
ac31f1ab4d set black background on titles by default 2010-07-09 13:21:10 +02:00
Brandon Lewis
1c27454a80 have timeline title source create audio title sources 2010-07-09 13:21:10 +02:00
Brandon Lewis
7da9439668 check in ges-track-audio-title-source.{c,h} 2010-07-09 13:21:10 +02:00
Brandon Lewis
43583aaa16 don't forget to check for null 2010-07-09 13:21:09 +02:00
Brandon Lewis
6f49bdd90c set text on video track objects when text property changes 2010-07-09 13:21:09 +02:00
Brandon Lewis
ce3300dfa8 implement ges_timeline_title_source_create_track_object 2010-07-09 13:21:09 +02:00
Brandon Lewis
6f906db0b9 remove trailing '$' accidentally pasted 2010-07-09 13:21:09 +02:00
Brandon Lewis
0dac374785 these should have been checked in before 2010-07-09 13:21:09 +02:00
Brandon Lewis
643bcb7bcc add text property to GESTimelineTitleSource 2010-07-09 13:21:09 +02:00
Brandon Lewis
b0358d5da1 massive update to doc comments 2010-07-09 13:21:09 +02:00
Brandon Lewis
709332ef09 remove the zone plate and gamut enum values 2010-07-09 13:21:09 +02:00
Brandon Lewis
f804f09845 check in skeletal GESTrackVideoTitleSource 2010-07-09 13:21:09 +02:00
Brandon Lewis
a9be66a91a check in skeletal GESTrackTitleSource 2010-07-09 13:21:09 +02:00
Brandon Lewis
3ed3fc87b7 check in sekeletal GESTimelineTitleSource 2010-07-09 13:21:08 +02:00
Brandon Lewis
efb7524a0a test vpatern property in unit tests 2010-07-09 13:21:08 +02:00
Brandon Lewis
d48c10c026 make audio background-sources output silence 2010-07-09 13:21:08 +02:00
Brandon Lewis
7370d3ab7c don't initialize vpattern field 2010-07-09 13:21:08 +02:00
Brandon Lewis
2d022c8886 implement ges_timeline_background_source_new_for_nick() 2010-07-09 13:21:08 +02:00
Brandon Lewis
fcab9fa0b3 move enum table into file scope 2010-07-09 13:21:08 +02:00
Brandon Lewis
cf99d81a51 set pattern on newly-created video track objects 2010-07-09 13:21:08 +02:00
Brandon Lewis
532e2884a3 implement vpattern gobject property of tl background source 2010-07-09 13:21:08 +02:00
Brandon Lewis
20bb7c73b8 add big blob of pattern enum values copied from videotestsrc 2010-07-09 13:21:08 +02:00
Brandon Lewis
8019f805db add vpattern field to GESTimelineBackground source 2010-07-09 13:21:07 +02:00
Brandon Lewis
12437967ba implement setting pattern on video background sources 2010-07-09 13:21:07 +02:00
Brandon Lewis
2a351841cc add routines to set track object pattern 2010-07-09 13:21:07 +02:00
Brandon Lewis
5e39898c1a add enum for video patterns 2010-07-09 13:21:07 +02:00
Brandon Lewis
f371d2c83e implment GESTimelineBackground source create_track_object 2010-07-09 13:21:07 +02:00
Brandon Lewis
8a6bef074b add audio background source to build system 2010-07-09 13:21:07 +02:00
Brandon Lewis
88175b790a add audio background source to types.h 2010-07-09 13:21:07 +02:00
Brandon Lewis
3c47729062 check in audio background source 2010-07-09 13:21:07 +02:00
Brandon Lewis
8b10e0c065 add ges video-track background to build system 2010-07-09 13:21:07 +02:00
Brandon Lewis
ae5d0de868 check in ges-track-video-background-source.{c,h} 2010-07-09 13:21:07 +02:00
Brandon Lewis
bdee21579b add GESTrackBackgroundSource to build system 2010-07-09 13:21:07 +02:00
Brandon Lewis
77a16602c6 add track background source to header 2010-07-09 13:21:07 +02:00
Brandon Lewis
22707643b0 add track background source to ges-types.h 2010-07-09 13:21:06 +02:00
Brandon Lewis
73ca491f0e check in GESTrackBackgroundSource 2010-07-09 13:21:06 +02:00
Brandon Lewis
323cc10942 add GESTimelineBackgroundSource to build system 2010-07-09 13:21:06 +02:00
Brandon Lewis
4ab734edf0 add timeline background source to header 2010-07-09 13:21:06 +02:00
Brandon Lewis
33a9610cd0 check in ges-timeline-background-source.{c,h} 2010-07-09 13:21:06 +02:00
Edward Hervey
097647e97a GESTimelinePipeline: Fix leaked caps 2010-06-28 17:08:08 +02:00
Edward Hervey
be8cbdb4a1 GESTimelinePipeline: unref all pads 2010-06-21 11:54:01 +02:00
Edward Hervey
575c4865a0 GESTimelinePipeline: Make a copy of the provided GstEncodingProfile 2010-06-21 11:53:30 +02:00
Edward Hervey
6fe60cb694 GESTimelinePipeline: Properly release playsink and encodebin 2010-06-21 11:52:49 +02:00
Edward Hervey
87087b013a GESTimelinePipeline: finalize => dispose
We want to release our objects before the parent GstBin class does so.
2010-06-21 11:52:01 +02:00
Edward Hervey
45febdebe1 GESTrackTransition: Release all pads.
Whether calling get_request_pad or get_static_pad we always end up
with an extra reference.

Also keep a reference on videomixer so it doesn't go away before we
call _release_request_pad() on it with the proper pads to release.
2010-06-14 19:40:50 +02:00
Brandon Lewis
03b299ecdb release the request pads in dispose 2010-06-10 16:25:34 +02:00
Brandon Lewis
19c8bbfd3f don't keep an extra reference to vsmpte 2010-06-10 16:14:20 +02:00
Brandon Lewis
462cd2b41f gstl_recalculate() won't set priorities to -1 2010-06-09 18:56:55 +02:00
Brandon Lewis
73814e225d ges/ges-track-transition.h: add missing function prototype 2010-06-09 17:13:13 +02:00
Brandon Lewis
edecee8def ges/ges-utils.h: C90 fixes 2010-06-09 17:13:07 +02:00
Brandon Lewis
3e34e423a6 ges/ges-track.h: C90 fixes 2010-06-09 17:13:07 +02:00
Brandon Lewis
9b7c70c6c1 ges/ges-track.c: C90 fixes 2010-06-09 17:13:07 +02:00
Brandon Lewis
71df04a2f9 ges/ges-track-transition.c: C90 fixes 2010-06-09 16:34:14 +02:00
Brandon Lewis
8db7c7a48b ges/ges-track-object.c: C90 fixes 2010-06-09 16:31:11 +02:00
Brandon Lewis
7a64a8c690 ges/ges-timeline-transition.c: C90 fixes 2010-06-09 16:30:48 +02:00
Brandon Lewis
250d0be3c4 ges/ges-timeline-object.c: C90 fixes 2010-06-09 16:30:16 +02:00
Brandon Lewis
1ec9238358 ges/ges-timeline-layer.c: C90 fixes 2010-06-09 16:29:26 +02:00
Brandon Lewis
06a8cc32a0 ges/ges-simple-timeline-layer.c: C90 fixes 2010-06-09 16:27:43 +02:00
Edward Hervey
ea55ceb747 GESTrackTransition: Fix debug statement 2010-06-09 13:53:07 +02:00
Edward Hervey
9eedf06b7b GESTimeline: Remove all tracks/layers when being disposed 2010-06-09 13:52:35 +02:00
Edward Hervey
b6277bd8bb GESTimelineLayer: Release all layer/tracks when being disposed 2010-06-09 13:52:08 +02:00
Brandon Lewis
f0fc253aa8 ges/ges-track-transition.c: set referece to vsmpte to NULL after freeing 2010-06-09 11:28:46 +02:00
Brandon Lewis
c7273608c7 ges/ges-track-transition.c: was freeing same GstController twice in _dispose() 2010-06-09 11:28:46 +02:00
Edward Hervey
5e2660b2c2 GESTrackTransition: Unref the ControlSource in dispose 2010-06-09 11:28:46 +02:00
Edward Hervey
4188c6fa97 ges: Initialize GstController in ges_init 2010-06-09 11:28:46 +02:00
Brandon Lewis
9d8ce82b61 ges/ges-simple-timeline-layer.c: print a warning when transitions overlap 2010-06-09 11:28:46 +02:00
Brandon Lewis
0608930b19 ges/ges-timeline-transition.c: can't set enums by nick 2010-06-09 11:28:46 +02:00
Brandon Lewis
221df1b880 ges/ges-timeline-transition.c: initialize vtype enum type from static list of
GEnumValues
2010-06-09 11:28:46 +02:00
Brandon Lewis
67c33dc65b ges/ges-track-transition.c: adjust to the change in VTYPE_CROSSFADE 2010-06-09 11:28:10 +02:00
Brandon Lewis
adeef34c77 ges/ges-timeline-transition.{c,h}: value for VTYPE_CROSSFADE changed to 512
and exported in ges-timeline-transition.h
2010-06-09 11:28:10 +02:00
Brandon Lewis
2adbd8e36c ges/ges-timeline-transition.c: implement vtype gobject property on
GESTimelineTransitions
2010-06-09 11:28:10 +02:00
Brandon Lewis
2f18595e6e ges/ges-track-transition.{c,h}: add ability to change smptealpha type 2010-06-09 11:28:10 +02:00
Brandon Lewis
7beb6a5e5e ges/ges-timeline-transition.{c,h}: api change, pass gint instead of GEnumValue
to new()
2010-06-09 11:28:10 +02:00
Brandon Lewis
22534176d8 ges/ges-timeline-transition.{c,h},tests/.../transition.c: type change of vtype
to gint from GEnumValue
2010-06-09 11:28:10 +02:00
Brandon Lewis
e69dcea71a ges/ges-timeline-transition.c: sync with API change in previous commit 2010-06-09 11:28:10 +02:00
Brandon Lewis
3caed9bff4 ges/ges-track-transition.{c,h}: api change: pass gint instead of GEnumValue 2010-06-09 11:28:10 +02:00
Brandon Lewis
b3ec2bad19 ges/ges-track-transition.{c,h}, tests/check/ges/transition.c: change vtype
from GEnumValue to simple gint;
2010-06-09 11:28:10 +02:00
Brandon Lewis
d4c60b059d ges/ges-track-filesource.h: fix typo in documentation commments 2010-06-09 11:28:09 +02:00
Brandon Lewis
bc291a986d ges/ges-track-filesource.h: fix incorrect definition of GESTrackFileSource
structs.
2010-06-09 11:28:09 +02:00
Brandon Lewis
93534c0500 Add missing documentation 2010-06-09 11:28:09 +02:00
Brandon Lewis
812713cf2f ges/ges-track-transition.c: implement audio crossfades 2010-06-09 11:28:09 +02:00
Brandon Lewis
79ebc389e0 ges/ges-track-transition.{c,h}: add fields for audio interpolation to obj 2010-06-09 11:28:09 +02:00
Brandon Lewis
542e8afb75 fix bugs 2010-06-09 11:28:09 +02:00
Brandon Lewis
07693f56f8 ges/ges-track-transition.{c,h}: rename some members of ges-track-transition
struct to separate between audio and video objects.
2010-06-09 11:28:09 +02:00
Brandon Lewis
280aef4f6e ges/ges-track-transition.c: factor out code which produces video bin into a
seprate routine
2010-06-09 11:28:09 +02:00
Brandon Lewis
962a1d17d7 ges/ges-track-transition.c: give gnloperations a unique name 2010-06-09 11:28:09 +02:00
Brandon Lewis
899f4f35c5 ges/ges-simple-timeline-layer.c: also error when transition duration exceeds
that of its neighbors
2010-06-09 11:28:09 +02:00
Brandon Lewis
ae34d99867 ges/ges-simple-timeline-layer.c: don't allow user to create timelines with
adjacent transitions
2010-06-09 11:28:09 +02:00
Brandon Lewis
e5ae1405c8 ges/ges-simple-timeline-layer.c: implement simple stair-step like priority
management scheme.
2010-06-09 11:28:08 +02:00
Brandon Lewis
ff4443a9c6 ges/ges-timeline-transition.{c,h}: add convenience routine for creating
transitions
docs/libs/ges-sections.txt: add routine to documentation
2010-06-09 11:28:08 +02:00
Brandon Lewis
1d3d367e75 ges/ges-track-transition.{c,h}: add support for other wipes with smptealpha 2010-06-09 11:28:08 +02:00
Brandon Lewis
48eeb8d913 ges/ges-timeline-transition.{c,h}: add a type field 2010-06-09 11:28:08 +02:00
Brandon Lewis
998ae5af20 ges-track-transition.c: set interpolation control points properly from
gnlobject properties
2010-06-09 11:28:07 +02:00
Brandon Lewis
28f1acba81 ges-track-transition.c: GstControlSource -> GstInterpolationControlSource 2010-06-09 11:28:07 +02:00
Brandon Lewis
5afc67f3e5 ges-track-transition.c: create gst-controller for transition 2010-06-09 11:28:07 +02:00
Brandon Lewis
6728e4dd8d ges-track-transition.c: add controller and control-source members 2010-06-09 11:28:07 +02:00
Brandon Lewis
e3549deec2 depend on GST_CONTROLLER 2010-06-09 11:28:07 +02:00
Brandon Lewis
c9a2f73579 hacking 2010-06-09 11:28:07 +02:00
Brandon Lewis
3cc23d98ea ges/ges-types.h: add typedefs for GESTrackTransition[Class] structs 2010-06-09 11:28:07 +02:00
Brandon Lewis
eeae501a0a ges-track-transition.h: fix typo 2010-06-09 11:28:07 +02:00
Brandon Lewis
b557a5e3bd ges/Makefile.am: dist ges-track-transition.c,h 2010-06-09 11:28:07 +02:00
Brandon Lewis
7918bbec14 skeletal implementation of GESTrackTransition 2010-06-09 11:28:06 +02:00
Brandon Lewis
f42d7179d8 check-in ges-track-transition.h 2010-06-09 11:28:06 +02:00
Edward Hervey
8193fe5b4c GESTimeline: Freeze state of Tracks when doing an async state change 2010-05-25 16:36:57 +02:00
Edward Hervey
3b8ea491d7 GES: Add a new utility file
API : ges_timeline_new_audio_video()
2010-05-25 16:35:27 +02:00
Edward Hervey
a17900813a GESTimelinePipeline: Only remove the playsink if it was used 2010-05-20 12:29:30 +02:00
Edward Hervey
ed86ff2f51 GESTimeline: Remove unused variable 2010-05-19 15:50:41 +02:00
Edward Hervey
1bb45a61a6 GESTimeline: Use GstDiscoverer for incomplete filesources
If a GESTimelineFileSource is added to a layer and:
* It doesn't have specified supported formats
* OR it doesn't have a specified maximum duration
* OR it doesn't have a specifed duration

Then we asynchronously send it to the GstDiscoverer.

If this happens, the state change of the timeline from READY to
PAUSED will happen asynchronously and be completed when everything
has been properly discovered.

Part 2 of GstDiscoverer integration
2010-05-19 12:36:11 +02:00
Edward Hervey
eb4b02f3ed GESTimelineFileSource: Add 'max-duration' and 'supported-formats' properties
* max-duration is the total length of the File.
* supported-formats is the various track types this filesource can produce
  trackobjects for. This should maybe be moved to parent classes in the
  future

Step 1 of GstDiscoverer integration
2010-05-19 12:24:44 +02:00
Edward Hervey
133e8ec94a GESTimelineObject: Properly set default duration
Set it in the instance_init to GST_SECOND, But let the subclasses override
it.
This allows subclasses to set a different default duration
2010-05-19 12:19:37 +02:00
Edward Hervey
2df711cd60 GESSimpleTimelineLayer: Recalculate positions when object duration change
This ensures that if someone changes the duration, the clips still remain
contiguous and in the proper order.
2010-05-19 12:14:34 +02:00
Edward Hervey
6753d176d7 configure: Depend on gstreamer-discoverer 2010-05-18 19:07:27 +02:00
Edward Hervey
14a6a5f31d GESTrack: Make GESTrackType a flag, and add GES_TRACK_TYPE_UNKNOWN
Also add a bit more documentation about it.
2010-05-18 17:43:28 +02:00
Edward Hervey
505030b1a7 GESTimelineObject: Document CreateTrackObjectFunc vmethod 2010-05-18 12:56:24 +02:00
Edward Hervey
fbc80b1955 GESTimelinePipeline: Fix 32bit runtime issues 2010-05-10 12:44:56 +02:00
Edward Hervey
e747ad4867 GESTimelinePipeline: Limit encodebin buffering to 1 buffer
We don't need to queue more than that since we only need thread decoupling
and the various streams going into encodebin are guaranteed to come
from different streaming threads (since they're separate gnlcomposition).
2010-05-07 13:37:33 +02:00
Edward Hervey
2b589d4d29 GESTimelinePipeline: Remove unused variable/label. 2010-04-27 11:45:15 +02:00
Edward Hervey
7aedc2bcfb GESTimelinePipeline: Cleanup properly when pads are removed 2010-04-20 13:47:08 +02:00
Edward Hervey
d3c8b52c9c GESTimelinePipeline: Implement smart rendering 2010-04-20 13:47:08 +02:00
Edward Hervey
f909ff239f GESTimelinePipeline: Store encoding profile 2010-04-20 13:47:08 +02:00
Edward Hervey
adada51a2d GESTimelinePipeline: New Smart Render mode 2010-04-20 13:47:07 +02:00
Edward Hervey
75389d6493 GESTimelinePipeline: new functions to search/create OutputChain 2010-04-20 13:47:07 +02:00
Edward Hervey
2d7962bf93 GESTimelinePipeline: Remove unused code 2010-04-20 13:47:07 +02:00
Edward Hervey
e795bd056d GESTrack: set caps on the composition
This will allow them to be propagated to all objects contained within
2010-04-20 13:47:07 +02:00
Mark Nauwelaerts
10be8697df GESTimeLine(PipeLine): remove additional unref 2010-04-20 13:47:07 +02:00
Edward Hervey
7dc4844507 ges: Link gstprofile 2010-04-20 13:47:07 +02:00
Edward Hervey
c3741374da GESTimeline: New method ges_timeline_get_tracks 2010-04-20 13:47:03 +02:00
Edward Hervey
b78aa12aee GESTimelinePipeline: Fix minor bug in get_compatible_unlinked_pad
We weren't breaking and ended up doing a fallthrough to the loop
completion.
2010-03-13 16:05:37 +01:00
Edward Hervey
9d8ee15a20 GESTimelineObject: Fix doc of priority property 2010-03-13 15:56:57 +01:00
Edward Hervey
fd15030ff1 GESTrackFileSource: Don't forget to free the URI string 2010-03-13 15:56:57 +01:00
Edward Hervey
9b1a434e95 GESTimelineLayer: Add a 'priority' property 2010-03-13 15:56:57 +01:00
Edward Hervey
dafe3d2bb4 GESTimeline: Properly iterate TrackObject lists when removing them 2010-03-13 15:56:57 +01:00
Edward Hervey
83cc796cc9 GESTimelineObject: Don't leak a reference when creating TrackObject 2010-03-13 15:54:32 +01:00
Edward Hervey
62c24ee380 GESTimelineObject: new API : _find_track_object
This allows getting the TrackObject for a corresponding TimelineObject
and Track combination
2010-03-13 15:53:58 +01:00
Edward Hervey
51e59a6edc GESTimelinePipeline: Add comment for _set_render_settings 2010-01-08 18:21:08 +01:00
Edward Hervey
b4e36fe853 GESTimelinePipeline: Also get static pads for static pads from encodebin.
This is for the cases where the provided GstStreamEncodingProfile has
a non-zero presence.
2010-01-08 18:14:46 +01:00
Edward Hervey
15c0013732 ges: Small doc fixups 2009-12-11 15:24:56 +01:00
Edward Hervey
852eca115e GESTimelineObject: Move property setting to an earlier stage.
This ensures that any properties set on the TimelineObject will be
propagated to the created TrackObjects just after they're created
2009-12-11 15:20:35 +01:00
Edward Hervey
e0f61dcd80 GESTrackObject: Store pending values when GnlObject isn't created yet 2009-12-11 15:20:35 +01:00
Edward Hervey
82af34bb87 GESTimelinePipeline: Sync state of newly added element to container 2009-12-11 15:20:35 +01:00
Edward Hervey
5396476e7c GESTimelinePipeline: Don't forget to remember the mode 2009-12-11 15:20:13 +01:00
Edward Hervey
1d0f6faf94 GESTimelineFileSource: Properly handle mute
mute != active
2009-12-11 15:20:13 +01:00
Edward Hervey
aedf73803d GESTimelinePipeline: More render support 2009-12-11 15:20:13 +01:00
Edward Hervey
2d430098f8 GESTimelinePipeline: beginning of render support 2009-12-11 15:19:54 +01:00
Edward Hervey
dd9d3e420c ges/: Fix copyright in headers 2009-11-30 15:14:25 +01:00
Edward Hervey
a55e798fa2 timelinefilesource: Free URI when finalizing 2009-11-25 13:17:01 +01:00
Edward Hervey
22fb8c0eec trackobject: priority is a uint32 2009-11-25 13:17:01 +01:00
Edward Hervey
5ddf789cb4 TimelineObject: Add missing argument to printf statement 2009-11-25 13:17:01 +01:00