/[svn]/linuxsampler/trunk/src/effects/Effect.h
ViewVC logotype

Diff of /linuxsampler/trunk/src/effects/Effect.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 2134 by schoenebeck, Sat Sep 18 09:24:41 2010 UTC revision 2135 by schoenebeck, Thu Sep 30 20:00:43 2010 UTC
# Line 30  namespace LinuxSampler { Line 30  namespace LinuxSampler {
30    
31  // just symbol prototyping  // just symbol prototyping
32  class AudioOutputDevice;  class AudioOutputDevice;
33    class EffectInfo;
34    
35  /**  /**
36   * Abstract base class for sampler internal effects.   * Abstract base class for sampler internal effects.
# Line 41  public: Line 42  public:
42      //     (these have to be implemented by the descendant)      //     (these have to be implemented by the descendant)
43    
44      /**      /**
45         * General information about this effect type, that is independent of this
46         * instance of this effect type.
47         *
48         * @returns general effect information
49         */
50        virtual EffectInfo* GetEffectInfo() = 0;
51    
52        /**
53       * Use the input audio signal given with @a ppInputChannels, render the       * Use the input audio signal given with @a ppInputChannels, render the
54       * effect and mix the result into the effect's output channels.       * effect and mix the result into the effect's output channels.
55       *       *
# Line 62  public: Line 71  public:
71      virtual void InitEffect(AudioOutputDevice* pDevice) throw (Exception);      virtual void InitEffect(AudioOutputDevice* pDevice) throw (Exception);
72    
73      /**      /**
74         * Constructor, initializes variables.
75         */
76        Effect();
77    
78        /**
79       * Destructor, deletes all audio input and output channels.       * Destructor, deletes all audio input and output channels.
80       */       */
81      virtual ~Effect();      virtual ~Effect();
# Line 107  public: Line 121  public:
121       */       */
122      uint InputControlCount() const;      uint InputControlCount() const;
123    
124        /**
125         * Shall be called to set the object that uses this effect, e.g. to
126         * determine whether an effect is currently in use.
127         */
128        void SetParent(void* pParent);
129    
130        /**
131         * Returns object which currently uses this effect.
132         */
133        void* Parent() const;
134    
135        /**
136         * Sets the unique numerical ID of this effect within the sampler instance.
137         * This method is usually only called by the EffectFactory class.
138         */
139        void SetId(int id);
140    
141        /**
142         * Returns unique numerical ID of this effect within the sampler instance,
143         * as previously set by SetId() .
144         */
145        int ID() const;
146    
147  protected:  protected:
148      std::vector<AudioChannel*> vInputChannels;      std::vector<AudioChannel*> vInputChannels;
149      std::vector<AudioChannel*> vOutputChannels;      std::vector<AudioChannel*> vOutputChannels;
150      std::vector<EffectControl*> vInputControls;      std::vector<EffectControl*> vInputControls;
151      std::vector<EffectControl*> vOutputControls; ///< yet unused      std::vector<EffectControl*> vOutputControls; ///< yet unused
152        void* pParent;
153        int iID;
154  };  };
155    
156  } // namespace LinuxSampler  } // namespace LinuxSampler

Legend:
Removed from v.2134  
changed lines
  Added in v.2135

  ViewVC Help
Powered by ViewVC