[pitivi/ges: 21/287] Add the split function



commit f11758bfbec4cb799878d9c43dc387b5f62fc89a
Author: Mathieu Duponchelle <seeed laposte net>
Date:   Sun Aug 28 21:16:40 2011 +0200

    Add the split function

 pitivi/ui/timeline.py |   23 +++++++++++++++++------
 1 files changed, 17 insertions(+), 6 deletions(-)
---
diff --git a/pitivi/ui/timeline.py b/pitivi/ui/timeline.py
index d6e273c..71d41e8 100644
--- a/pitivi/ui/timeline.py
+++ b/pitivi/ui/timeline.py
@@ -740,13 +740,24 @@ class Timeline(gtk.Table, Loggable, Zoomable):
             pmeter.addWatcher(progress_dialog.updatePosition)
 
     def split(self, action):
-        self.app.action_log.begin("split")
-        self.timeline.disableUpdates()
-        self.timeline.split(self._position)
-        self.timeline.enableUpdates()
-        self.app.action_log.commit()
+        self.timeline.enable_update(False)
+        tl_objs_dict = {}
+        for track in self.timeline.get_tracks():
+            tck_objects = track.get_track_objects_at_position(long(self._position))
+            for tck_obj in tck_objects:
+                if isinstance(tck_obj, ges.TrackAudioTestSource) or isinstance(tck_obj, ges.TrackVideoTestSource):
+                    continue
+                obj = tck_obj.get_timeline_object()
+                if obj in tl_objs_dict.keys():
+                    tl_objs_dict[obj] = "both"
+                elif tck_obj.get_track().get_caps().to_string() == "audio/x-raw-int; audio/x-raw-float":
+                    tl_objs_dict[obj] = "audio"
+                else:
+                    tl_objs_dict[obj] = "video"
+        for src in tl_objs_dict:
+            src.split(self._position)
+        self.timeline.enable_update(True)
         # work-around for 603149
-        self.project.seeker.seek(self._position)
 
     def keyframe(self, action):
         timeline_position = self._position



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]