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

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

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

revision 1722 by schoenebeck, Thu Apr 10 17:41:32 2008 UTC revision 2135 by schoenebeck, Thu Sep 30 20:00:43 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 40  public: Line 40  public:
40       *       *
41       * @param pDevice - audio output context for the effects, providing       * @param pDevice - audio output context for the effects, providing
42       *                  informations like samplerate       *                  informations like samplerate
43         * @param iEffectChainId - (optional) numerical ID of the effect chain,
44         *                         intended for master effect chains, unique among
45         *                         all master effect chains which share the same
46         *                         audio output device
47       */       */
48      EffectChain(AudioOutputDevice* pDevice);      EffectChain(AudioOutputDevice* pDevice, int iEffectChainId = -1);
49    
50      /**      /**
51       * Add the given effect to the end of the effect chain.       * Add the given effect to the end of the effect chain.
# Line 99  public: Line 103  public:
103       */       */
104      void ClearAllChannels();      void ClearAllChannels();
105    
106        /**
107         * Returns numerical ID of this effect chain, intended for master effect
108         * chains. The ID is unique among all master effect chains which share the
109         * same audio output device.
110         *
111         * There is no ID for insert effect chains, since a sampler channel
112         * always provides exactly one insert effect chain.
113         *
114         * @returns id equal or larger than zero if master effect chain, negative
115         *          number if this is an insert effect chain
116         */
117        int ID() const;
118    
119  private:  private:
120      struct _ChainEntry {      struct _ChainEntry {
121          Effect* pEffect;          Effect* pEffect;
# Line 107  private: Line 124  private:
124    
125      std::vector<_ChainEntry> vEntries;      std::vector<_ChainEntry> vEntries;
126      AudioOutputDevice*       pDevice;      AudioOutputDevice*       pDevice;
127        int                      iID;
128  };  };
129    
130  } // namespace LinuxSampler  } // namespace LinuxSampler

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

  ViewVC Help
Powered by ViewVC