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