[pitivi: 13/41] previewer: allow specifying thumbnail period
- From: Thibault Saunier <tsaunier src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [pitivi: 13/41] previewer: allow specifying thumbnail period
- Date: Sat, 13 Aug 2011 12:07:19 +0000 (UTC)
commit 5bf443c0a7983950248c0ad88d564e49a3c058c3
Author: Brandon Lewis <brandon_lewis alum berkeley edu>
Date: Wed Nov 3 15:53:12 2010 +0000
previewer: allow specifying thumbnail period
pitivi/ui/previewer.py | 21 ++++++++++++++++++++-
pitivi/utils.py | 4 ++++
2 files changed, 24 insertions(+), 1 deletions(-)
---
diff --git a/pitivi/ui/previewer.py b/pitivi/ui/previewer.py
index 012c2fd..32acb24 100644
--- a/pitivi/ui/previewer.py
+++ b/pitivi/ui/previewer.py
@@ -49,6 +49,11 @@ GlobalSettings.addConfigOption("thumbnailSpacingHint",
key="spacing-hint",
default=2,
notify=True)
+GlobalSettings.addConfigOption("thumbnailPeriod",
+ section="thumbnailing",
+ key="thumbnail-period",
+ default=0.5,
+ notify=True)
PreferencesDialog.addNumericPreference("thumbnailSpacingHint",
section=_("Appearance"),
@@ -56,6 +61,13 @@ PreferencesDialog.addNumericPreference("thumbnailSpacingHint",
lower=0,
description=_("The gap between thumbnails"))
+PreferencesDialog.addNumericPreference("thumbnailPeriod",
+ section=_("Appearance"),
+ label=_("Thumbnail Period (seconds)"),
+ lower=0.001,
+ upper=60,
+ description=_("The interval, in seconds, between successive thumbnails"))
+
# this default works out to a maximum of ~ 1.78 MiB per factory, assuming:
# 4:3 aspect ratio
# 4 bytes per pixel
@@ -381,7 +393,7 @@ class RandomAccessVideoPreviewer(RandomAccessPreviewer):
def _segment_for_time(self, time):
# quantize thumbnail timestamps to maximum granularity
- return time - (time % self.tstep)
+ return utils.quantize(time, long(gst.SECOND * self.tperiod))
def _thumbnailCb(self, unused_thsink, pixbuf, timestamp):
gobject.idle_add(self._finishThumbnail, pixbuf, timestamp)
@@ -396,12 +408,19 @@ class RandomAccessVideoPreviewer(RandomAccessPreviewer):
def _connectSettings(self, settings):
RandomAccessPreviewer._connectSettings(self, settings)
settings.connect("showThumbnailsChanged", self._showThumbsChanged)
+ settings.connect("thumbnailPeriodChanged",
+ self._thumbnailPeriodChanged)
self._view = settings.showThumbnails
+ self.tperiod = settings.thumbnailPeriod
def _showThumbsChanged(self, settings):
self._view = settings.showThumbnails
self.emit("update", None)
+ def _thumbnailPeriodChanged(self, settings):
+ self.tperiod = settings.thumbnailPeriod
+ self.emit("update", None)
+
class StillImagePreviewer(RandomAccessVideoPreviewer):
def _thumbForTime(self, cr, time, x, y):
diff --git a/pitivi/utils.py b/pitivi/utils.py
index be1554c..bf224c3 100644
--- a/pitivi/utils.py
+++ b/pitivi/utils.py
@@ -567,6 +567,10 @@ def formatPercent(value):
return "%3d%%" % (value * 100)
+def quantize(input, interval):
+ return (input // interval) * interval
+
+
native_endianness = struct.pack('=I', 0x34333231)
big_to_cairo_alpha_mask = struct.unpack('=i', '\xFF\x00\x00\x00')[0]
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]