Package flumotion :: Package component :: Package encoders :: Package speex :: Module wizard_gtk
[hide private]

Source Code for Module flumotion.component.encoders.speex.wizard_gtk

 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  import gettext 
19   
20  from zope.interface import implements 
21   
22  from flumotion.admin.assistant.interfaces import IEncoderPlugin 
23  from flumotion.admin.assistant.models import AudioEncoder 
24  from flumotion.admin.gtk.basesteps import AudioEncoderStep 
25   
26  __version__ = "$Rev$" 
27  _ = gettext.gettext 
28   
29   
30 -class SpeexAudioEncoder(AudioEncoder):
31 componentType = 'speex-encoder' 32
33 - def __init__(self):
34 super(SpeexAudioEncoder, self).__init__() 35 36 self.properties.bitrate = 11
37
38 - def getProperties(self):
39 properties = super(SpeexAudioEncoder, self).getProperties() 40 properties.bitrate *= 1000 41 return properties
42 43
44 -class SpeexStep(AudioEncoderStep):
45 name = 'Speex encoder' 46 title = _('Speex Encoder') 47 sidebarName = _('Speex') 48 componentType = 'speex' 49 icon = 'xiphfish.png' 50 docSection = 'help-configuration-assistant-encoder-speex' 51 docAnchor = '' 52 docVersion = 'local' 53 54 # WizardStep 55
56 - def setup(self):
57 # Should be 2150 instead of 3 -> 3000 58 self.bitrate.set_range(3, 30) 59 self.bitrate.set_value(11) 60 61 self.bitrate.data_type = int 62 63 self.add_proxy(self.model.properties, ['bitrate'])
64
65 - def workerChanged(self, worker):
66 self.model.worker = worker 67 self.wizard.requireElements(worker, 'speexenc')
68 69
70 -class SpeexWizardPlugin(object):
71 implements(IEncoderPlugin) 72
73 - def __init__(self, wizard):
74 self.wizard = wizard 75 self.model = SpeexAudioEncoder()
76
77 - def getConversionStep(self):
78 return SpeexStep(self.wizard, self.model)
79