Merge remote-tracking branch 'origin/0.10'
authorThibault Saunier <thibault.saunier@collabora.com>
Wed, 25 Apr 2012 21:53:38 +0000 (17:53 -0400)
committerThibault Saunier <thibault.saunier@collabora.com>
Wed, 25 Apr 2012 21:54:36 +0000 (17:54 -0400)
Conflicts:
bindings/python/ges-types.defs
bindings/python/ges.defs
bindings/python/ges.override
configure.ac
ges/ges-timeline.c

1  2 
docs/libs/ges-sections.txt
ges/ges-timeline-layer.c
ges/ges-timeline-object.c
ges/ges-timeline-pipeline.c
ges/ges-timeline.c
ges/ges-track-object.c
ges/ges-track.c
tests/check/Makefile.am

Simple merge
Simple merge
Simple merge
Simple merge
@@@ -269,8 -354,42 +354,42 @@@ ges_timeline_class_init (GESTimelineCla
     */
    ges_timeline_signals[DISCOVERY_ERROR] =
        g_signal_new ("discovery-error", G_TYPE_FROM_CLASS (klass),
 -      G_SIGNAL_RUN_FIRST, 0, NULL, NULL, gst_marshal_VOID__OBJECT_BOXED,
 -      G_TYPE_NONE, 2, GES_TYPE_TIMELINE_FILE_SOURCE, GST_TYPE_G_ERROR);
 +      G_SIGNAL_RUN_FIRST, 0, NULL, NULL, g_cclosure_marshal_generic,
 +      G_TYPE_NONE, 2, GES_TYPE_TIMELINE_FILE_SOURCE, G_TYPE_ERROR);
+   /**
+    * GESTimeline::track-objects-snapping:
+    * @timeline: the #GESTimeline
+    * @obj1: the first #GESTrackObject that was snapping.
+    * @obj2: the second #GESTrackObject that was snapping.
+    * @position: the position where the two objects finally snapping.
+    *
+    * Will be emitted when the 2 #GESTrackObject first snapped
+    *
+    * Since: 0.10.XX
+    */
+   ges_timeline_signals[SNAPING_STARTED] =
+       g_signal_new ("snapping-started", G_TYPE_FROM_CLASS (klass),
+       G_SIGNAL_RUN_LAST, 0, NULL, NULL, NULL,
+       G_TYPE_NONE, 3, GES_TYPE_TRACK_OBJECT, GES_TYPE_TRACK_OBJECT,
+       G_TYPE_UINT64);
+   /**
+    * GESTimeline::snapping-end:
+    * @timeline: the #GESTimeline
+    * @obj1: the first #GESTrackObject that was snapping.
+    * @obj2: the second #GESTrackObject that was snapping.
+    * @position: the position where the two objects finally snapping.
+    *
+    * Will be emitted when the 2 #GESTrackObject ended to snap
+    *
+    * Since: 0.10.XX
+    */
+   ges_timeline_signals[SNAPING_ENDED] =
+       g_signal_new ("snapping-ended", G_TYPE_FROM_CLASS (klass),
+       G_SIGNAL_RUN_LAST, 0, NULL, NULL, NULL,
+       G_TYPE_NONE, 3, GES_TYPE_TRACK_OBJECT, GES_TYPE_TRACK_OBJECT,
+       G_TYPE_UINT64);
  }
  
  static void
@@@ -280,18 -400,30 +400,30 @@@ ges_timeline_init (GESTimeline * self
    self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self,
        GES_TYPE_TIMELINE, GESTimelinePrivate);
  
-   self->priv->layers = NULL;
-   self->priv->tracks = NULL;
-   self->priv->duration = 0;
+   priv = self->priv;
+   priv->layers = NULL;
+   priv->tracks = NULL;
+   priv->duration = 0;
+   priv->snapping_distance = 0;
+   /* Move context initialization */
+   init_movecontext (&self->priv->movecontext);
+   priv->movecontext.ignore_needs_ctx = FALSE;
+   priv->by_start = g_hash_table_new (g_direct_hash, g_direct_equal);
+   priv->by_end = g_hash_table_new (g_direct_hash, g_direct_equal);
+   priv->by_object = g_hash_table_new (g_direct_hash, g_direct_equal);
+   priv->starts_ends = g_sequence_new (g_free);
+   priv->tracksources = g_sequence_new (g_object_unref);
  
-   g_mutex_init (&self->priv->pendingobjects_lock);
 -  priv->pendingobjects_lock = g_mutex_new ();
++  g_mutex_init (&priv->pendingobjects_lock);
    /* New discoverer with a 15s timeout */
-   self->priv->discoverer = gst_discoverer_new (15 * GST_SECOND, NULL);
-   g_signal_connect (self->priv->discoverer, "finished",
+   priv->discoverer = gst_discoverer_new (15 * GST_SECOND, NULL);
+   g_signal_connect (priv->discoverer, "finished",
        G_CALLBACK (discoverer_finished_cb), self);
-   g_signal_connect (self->priv->discoverer, "discovered",
+   g_signal_connect (priv->discoverer, "discovered",
        G_CALLBACK (discoverer_discovered_cb), self);
-   gst_discoverer_start (self->priv->discoverer);
+   gst_discoverer_start (priv->discoverer);
  }
  
  /* Private methods */
Simple merge
diff --cc ges/ges-track.c
Simple merge
Simple merge