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