[pitivi] project, timeline: Set restriction caps on tracks.



commit 351a8337ff534a18341d480d3f4d2b485a48bae5
Author: Mathieu Duponchelle <mathieu duponchelle epitech eu>
Date:   Tue Sep 3 23:12:14 2013 +0200

    project, timeline: Set restriction caps on tracks.

 pitivi/project.py           |   10 ++++++++++
 pitivi/timeline/timeline.py |    4 ++++
 2 files changed, 14 insertions(+), 0 deletions(-)
---
diff --git a/pitivi/project.py b/pitivi/project.py
index f5b1462..40c622d 100644
--- a/pitivi/project.py
+++ b/pitivi/project.py
@@ -853,8 +853,18 @@ class Project(Loggable, GES.Project):
         self.pipeline = Pipeline()
         self.pipeline.add_timeline(self.timeline)
 
+        self.update_restriction_caps()
+
         return True
 
+    def update_restriction_caps(self):
+        caps = Gst.Caps.new_empty_simple("video/x-raw")
+        caps.set_value("width", self.videowidth)
+        caps.set_value("height", self.videoheight)
+        for track in self.timeline.get_tracks():
+            if isinstance(track, GES.VideoTrack):
+                track.set_restriction_caps(caps)
+
     def addUris(self, uris):
         """
         Add c{uris} to the source list.
diff --git a/pitivi/timeline/timeline.py b/pitivi/timeline/timeline.py
index 0a71166..ddc5b36 100644
--- a/pitivi/timeline/timeline.py
+++ b/pitivi/timeline/timeline.py
@@ -640,6 +640,7 @@ class TimelineStage(Clutter.ScrollActor, Zoomable):
 
     def _trackAddedCb(self, timeline, track):
         self._connectTrack(track)
+        self._container.app.current_project.update_restriction_caps()
 
     def _trackRemovedCb(self, timeline, track):
         self._disconnectTrack(track)
@@ -1373,6 +1374,9 @@ class Timeline(Gtk.VBox, Zoomable, Loggable):
 
             self.ruler.setProjectFrameRate(self._framerate)
 
+        if item == "width" or item == "height":
+            project.update_restriction_caps()
+
     def _snapDistanceChangedCb(self, settings):
         if self.bTimeline:
             self.bTimeline.set_snapping_distance(Zoomable.pixelToNs(self._settings.edgeSnapDeadband))


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