~ubuntu-branches/ubuntu/trusty/pitivi/trusty

« back to all changes in this revision

Viewing changes to pitivi/effects.py

  • Committer: Bazaar Package Importer
  • Author(s): Daniel Holbach
  • Date: 2006-02-04 14:42:30 UTC
  • Revision ID: james.westby@ubuntu.com-20060204144230-9ihvyas6lhgn81k1
Tags: upstream-0.9.9.2
ImportĀ upstreamĀ versionĀ 0.9.9.2

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#!/usr/bin/python
 
2
# PiTiVi , Non-linear video editor
 
3
#
 
4
#       effects.py
 
5
#
 
6
# Copyright (c) 2005, Edward Hervey <bilboed@bilboed.com>
 
7
#
 
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.
 
12
#
 
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.
 
17
#
 
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.
 
22
 
 
23
import gobject
 
24
import gst
 
25
from objectfactory import OperationFactory,TransitionFactory,SMPTETransitionFactory
 
26
 
 
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
 
35
 
 
36
class Magician:
 
37
    """
 
38
    Handles all the effects
 
39
    """
 
40
 
 
41
    def __init__(self, pitivi):
 
42
        gst.info("New Magician")
 
43
        self.pitivi = pitivi
 
44
        self.simple_video = []
 
45
        self.simple_audio = []
 
46
        self.transitions = []
 
47
        self._get_simple_filters()
 
48
 
 
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)
 
53
        for fact in factlist:
 
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)
 
58