2
# PiTiVi , Non-linear video editor
6
# Copyright (c) 2005, Edward Hervey <bilboed@bilboed.com>
8
# This program is free software; you can redistribute it and/or
9
# modify it under the terms of the GNU Lesser General Public
10
# License as published by the Free Software Foundation; either
11
# version 2.1 of the License, or (at your option) any later version.
13
# This program is distributed in the hope that it will be useful,
14
# but WITHOUT ANY WARRANTY; without even the implied warranty of
15
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16
# Lesser General Public License for more details.
18
# You should have received a copy of the GNU Lesser General Public
19
# License along with this program; if not, write to the
20
# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
21
# Boston, MA 02111-1307, USA.
25
from objectfactory import OperationFactory,TransitionFactory,SMPTETransitionFactory
27
# There are different types of effects available:
28
# _ Simple Audio/Video Effects
29
# GStreamer elements that only apply to audio OR video
30
# Only take the elements who have a straightforward meaning/action
31
# _ Expanded Audio/Video Effects
32
# These are the Gstreamer elements that don't have a easy meaning/action or
33
# that are too cumbersome to use as such
34
# _ Complex Audio/Video Effects
38
Handles all the effects
41
def __init__(self, pitivi):
42
gst.info("New Magician")
44
self.simple_video = []
45
self.simple_audio = []
47
self._get_simple_filters()
49
def _get_simple_filters(self):
50
# go trough the list of element factories and
51
# add them to the correct list
52
factlist = gst.registry_get_default().get_feature_list(gst.ElementFactory)
54
if "Filter/Effect/Audio" in fact.get_klass():
55
self.simple_audio.append(fact)
56
elif "Filter/Effect/Video" in fact.get_klass():
57
self.simple_video.append(fact)