Trees | Indices | Help |
---|
|
1 # -*- Mode: Python -*- 2 # vi:si:et:sw=4:sts=4:ts=4 3 # 4 # Flumotion - a streaming media server 5 # Copyright (C) 2004,2005,2006,2007,2008 Fluendo, S.L. (www.fluendo.com). 6 # All rights reserved. 7 8 # This file may be distributed and/or modified under the terms of 9 # the GNU General Public License version 2 as published by 10 # the Free Software Foundation. 11 # This file is distributed without any warranty; without even the implied 12 # warranty of merchantability or fitness for a particular purpose. 13 # See "LICENSE.GPL" in the source distribution for more information. 14 15 # Licensees having purchased or holding a valid Flumotion Advanced 16 # Streaming Server license may use this file in accordance with the 17 # Flumotion Advanced Streaming Server Commercial License Agreement. 18 # See "LICENSE.Flumotion" in the source distribution for more information. 19 20 # Headers in this file shall remain intact. 21 22 from gettext import gettext as _ 23 24 import gtk 25 import os 26 import math 27 28 # import custom glade handler 29 from flumotion.ui import glade 30 from flumotion.component.base.effectsnode import EffectAdminGtkNode 31 32 __version__ = "$Rev$" 33 34 DEINTERLACE_MODE = { 35 _("Automatic detection"): "auto", 36 _("Force deinterlacing"): "interlaced", 37 } 38 39 DEINTERLACE_METHOD = { 40 _("FFmpeg Deinterlacer"): "ffmpeg", 41 _("Motion Adaptive: Motion Search"): "tomsmocomp", 42 _("Motion Adaptive: Advanced Detection"): "greedyh", 43 _("Motion Adaptive: Simple Detection"): "greedyl", 44 _("Blur: Temporal"): "linearblend", 45 _("Blur: Vertical"): "vfir", 46 _("Television: Full resolution"): "linear", 47 _("Double lines"): "scalerbob", 48 _("Weave"): "weave", 49 _("Progressive: Top Field First"): "weavetff", 50 _("Progressive: Bottom Field First"): "weavebff"} 51 5254 logCategory = 'deinterlace' 55 gladeFile = os.path.join('flumotion', 'component', 'effects', 56 'deinterlace', 'deinterlace.glade') 57 58 uiStateHandlers = None 5912461 self.widget = self.wtree.get_widget('deinterlace-widget') 62 self._mode_combobox = \ 63 self.wtree.get_widget('deinterlace-mode-combobox') 64 self._method_combobox = \ 65 self.wtree.get_widget('deinterlace-method-combobox') 66 67 # fill comboboxes 68 self._mode_combobox.prefill(DEINTERLACE_MODE.items()) 69 self._method_combobox.prefill(DEINTERLACE_METHOD.items()) 70 self._mode_combobox.select_item_by_data("auto") 71 self._method_combobox.select_item_by_data("ffmpeg") 72 73 # do the callbacks for the mode setting 74 self._mode_combobox.connect('changed', self._cb_mode_set) 75 # do the callback for the method setting 76 self._method_combobox.connect('changed', self._cb_method_set)7779 EffectAdminGtkNode.setUIState(self, state) 80 if not self.uiStateHandlers: 81 self.uiStateHandlers = {'deinterlace-mode': self.modeSet, 82 'deinterlace-method': self.methodSet} 83 for k, handler in self.uiStateHandlers.items(): 84 handler(state.get(k))85 9092 if mode is not None: 93 if mode == 'disabled': 94 self._method_combobox.set_sensitive(False) 95 self._mode_combobox.set_sensitive(False) 96 else: 97 self._mode_combobox.select_item_by_data(mode) 98 self._method_combobox.set_sensitive(True) 99 self._mode_combobox.set_sensitive(True)100 104106 self.warning("Failure %s setting mode: %s" % ( 107 failure.type, failure.getErrorMessage())) 108 return None109111 self.warning("Failure %s setting method: %s" % ( 112 failure.type, failure.getErrorMessage())) 113 return None114116 mode = widget.get_selected_data() 117 d = self.effectCallRemote("setMode", mode) 118 d.addErrback(self.setModeErrback)119121 method = widget.get_selected_data() 122 d = self.effectCallRemote("setMethod", method) 123 d.addErrback(self.setModeErrback)
Trees | Indices | Help |
---|
Generated by Epydoc 3.0.1 on Thu Mar 10 07:52:18 2011 | http://epydoc.sourceforge.net |