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,2009 Fluendo, S.L. 6 # Copyright (C) 2010,2011 Flumotion Services, S.A. 7 # All rights reserved. 8 # 9 # This file may be distributed and/or modified under the terms of 10 # the GNU Lesser General Public License version 2.1 as published by 11 # the Free Software Foundation. 12 # This file is distributed without any warranty; without even the implied 13 # warranty of merchantability or fitness for a particular purpose. 14 # See "LICENSE.LGPL" in the source distribution for more information. 15 # 16 # Headers in this file shall remain intact. 17 18 from gettext import gettext as _ 19 20 import gtk 21 import os 22 23 # import custom glade handler 24 from flumotion.ui import glade 25 from flumotion.component.base.effectsnode import EffectAdminGtkNode 26 27 __version__ = "$Rev$" 28 29 DEINTERLACE_MODE = { 30 _("Automatic detection"): "auto", 31 _("Force deinterlacing"): "interlaced", 32 } 33 34 DEINTERLACE_METHOD = { 35 _("FFmpeg Deinterlacer"): "ffmpeg", 36 _("Motion Adaptive: Motion Search"): "tomsmocomp", 37 _("Motion Adaptive: Advanced Detection"): "greedyh", 38 _("Motion Adaptive: Simple Detection"): "greedyl", 39 _("Blur: Temporal"): "linearblend", 40 _("Blur: Vertical"): "vfir", 41 _("Television: Full resolution"): "linear", 42 _("Double lines"): "scalerbob", 43 _("Weave"): "weave", 44 _("Progressive: Top Field First"): "weavetff", 45 _("Progressive: Bottom Field First"): "weavebff"} 46 4749 logCategory = 'deinterlace' 50 gladeFile = os.path.join('flumotion', 'component', 'effects', 51 'deinterlace', 'deinterlace.glade') 52 53 uiStateHandlers = None 5411956 self.widget = self.wtree.get_widget('deinterlace-widget') 57 self._mode_combobox = \ 58 self.wtree.get_widget('deinterlace-mode-combobox') 59 self._method_combobox = \ 60 self.wtree.get_widget('deinterlace-method-combobox') 61 62 # fill comboboxes 63 self._mode_combobox.prefill(DEINTERLACE_MODE.items()) 64 self._method_combobox.prefill(DEINTERLACE_METHOD.items()) 65 self._mode_combobox.select_item_by_data("auto") 66 self._method_combobox.select_item_by_data("ffmpeg") 67 68 # do the callbacks for the mode setting 69 self._mode_combobox.connect('changed', self._cb_mode_set) 70 # do the callback for the method setting 71 self._method_combobox.connect('changed', self._cb_method_set)7274 EffectAdminGtkNode.setUIState(self, state) 75 if not self.uiStateHandlers: 76 self.uiStateHandlers = {'deinterlace-mode': self.modeSet, 77 'deinterlace-method': self.methodSet} 78 for k, handler in self.uiStateHandlers.items(): 79 handler(state.get(k))80 8587 if mode is not None: 88 if mode == 'disabled': 89 self._method_combobox.set_sensitive(False) 90 self._mode_combobox.set_sensitive(False) 91 else: 92 self._mode_combobox.select_item_by_data(mode) 93 self._method_combobox.set_sensitive(True) 94 self._mode_combobox.set_sensitive(True)95 99101 self.warning("Failure %s setting mode: %s" % ( 102 failure.type, failure.getErrorMessage())) 103 return None104106 self.warning("Failure %s setting method: %s" % ( 107 failure.type, failure.getErrorMessage())) 108 return None109111 mode = widget.get_selected_data() 112 d = self.effectCallRemote("setMode", mode) 113 d.addErrback(self.setModeErrback)114116 method = widget.get_selected_data() 117 d = self.effectCallRemote("setMethod", method) 118 d.addErrback(self.setModeErrback)
Trees | Indices | Help |
---|
Generated by Epydoc 3.0.1 on Tue Aug 13 06:17:25 2013 | http://epydoc.sourceforge.net |