Package toon :: Module fx
[hide private]
[frames] | no frames]

Source Code for Module toon.fx

 1  #!/usr/bin/env python 
 2  """ 
 3  Formalizing the effects. 
 4  """ 
 5  from toon import optgroup 
 6  from twisted.python import modules 
 7   
8 -class Effect(object):
9 """ 10 Video Effect base class 11 """
12 - def __init__(self):
13 self.name = None # Must be set to a str in children classes. 14 self.enabled = True 15 self.loaded = False # set to False in case of error. 16 self.options = optgroup.OptionsGroup() # to be replaced in children classes by a subclass of OptionsGroup
17
18 - def setup(self):
19 pass
20
21 - def enable(self):
22 self.enabled = True
23
24 - def disable(self):
25 self.enabled = False
26
27 - def pre_draw(self):
28 pass
29
30 - def post_draw(self):
31 pass
32 33
34 -def load_effects():
35 """ 36 Loads modules in the toon.effects package and returns a dict with 37 their name as the key 38 """ 39 ret = {} 40 fx_package = modules.getModule("toon.effects") 41 for module in fx_package.iterModules(): 42 try: 43 loaded_module = module.load() 44 effect = loaded_module.create_effect() 45 except Exception, e: 46 print("Error loading %s effect module : %s " % (module.name, e.message)) 47 #raise 48 else: 49 effect.setup() 50 if not effect.loaded: 51 print("Could not load effect %s." % (effect.name)) 52 else: 53 ret[effect.name] = effect 54 return ret
55