/[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 2123 by schoenebeck, Thu Apr 10 17:41:32 2008 UTC revision 2124 by schoenebeck, Sat Sep 18 09:24:41 2010 UTC
# Line 1  Line 1 
1  /***************************************************************************  /***************************************************************************
2   *                                                                         *   *                                                                         *
3   *   Copyright (C) 2008 Christian Schoenebeck                              *   *   Copyright (C) 2008, 2010 Christian Schoenebeck                        *
4   *                                                                         *   *                                                                         *
5   *   This program is free software; you can redistribute it and/or modify  *   *   This program is free software; you can redistribute it and/or modify  *
6   *   it under the terms of the GNU General Public License as published by  *   *   it under the terms of the GNU General Public License as published by  *
# Line 23  Line 23 
23    
24  #include <vector>  #include <vector>
25  #include "../drivers/audio/AudioChannel.h"  #include "../drivers/audio/AudioChannel.h"
26    #include "../common/Exception.h"
27    #include "EffectControl.h"
28    
29  namespace LinuxSampler {  namespace LinuxSampler {
30    
# Line 42  public: Line 44  public:
44       * Use the input audio signal given with @a ppInputChannels, render the       * Use the input audio signal given with @a ppInputChannels, render the
45       * effect and mix the result into the effect's output channels.       * effect and mix the result into the effect's output channels.
46       *       *
47       * @param Samples         - amount of sample points to process       * @param Samples - amount of sample points to process
48       */       */
49      virtual void RenderAudio(uint Samples) = 0;      virtual void RenderAudio(uint Samples) = 0;
50    
# Line 55  public: Line 57  public:
57       * output channels! ;-)       * output channels! ;-)
58       *       *
59       * @param pDevice - audio output device which is going to play the signal       * @param pDevice - audio output device which is going to play the signal
60         * @throws Exception - if effect could not be initialized successfully
61       */       */
62      virtual void InitEffect(AudioOutputDevice* pDevice);      virtual void InitEffect(AudioOutputDevice* pDevice) throw (Exception);
63    
64      /**      /**
65       * Destructor, deletes all audio input and output channels.       * Destructor, deletes all audio input and output channels.
# Line 93  public: Line 96  public:
96       */       */
97      uint OutputChannelCount() const;      uint OutputChannelCount() const;
98    
99        /**
100         * Returns effect parameter with index \a ControlIndex or NULL if index
101         * out of bounds.
102         */
103        EffectControl* InputControl(uint ControlIndex) const;
104    
105        /**
106         * Returns the amount of effect parameters the effect provides.
107         */
108        uint InputControlCount() const;
109    
110  protected:  protected:
111      std::vector<AudioChannel*> vInputChannels;      std::vector<AudioChannel*> vInputChannels;
112      std::vector<AudioChannel*> vOutputChannels;      std::vector<AudioChannel*> vOutputChannels;
113        std::vector<EffectControl*> vInputControls;
114        std::vector<EffectControl*> vOutputControls; ///< yet unused
115  };  };
116    
117  } // namespace LinuxSampler  } // namespace LinuxSampler

Legend:
Removed from v.2123  
changed lines
  Added in v.2124

  ViewVC Help
Powered by ViewVC