/[svn]/linuxsampler/trunk/src/engines/FxSend.h
ViewVC logotype

Diff of /linuxsampler/trunk/src/engines/FxSend.h

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

revision 1721 by iliev, Thu Mar 29 09:40:45 2007 UTC revision 1722 by schoenebeck, Thu Apr 10 17:41:32 2008 UTC
# Line 3  Line 3 
3   *   LinuxSampler - modular, streaming capable sampler                     *   *   LinuxSampler - modular, streaming capable sampler                     *
4   *                                                                         *   *                                                                         *
5   *   Copyright (C) 2003, 2004 by Benno Senoner and Christian Schoenebeck   *   *   Copyright (C) 2003, 2004 by Benno Senoner and Christian Schoenebeck   *
6   *   Copyright (C) 2005 - 2007 Christian Schoenebeck                       *   *   Copyright (C) 2005 - 2008 Christian Schoenebeck                       *
7   *                                                                         *   *                                                                         *
8   *   This library is free software; you can redistribute it and/or modify  *   *   This library is free software; you can redistribute it and/or modify  *
9   *   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 38  namespace LinuxSampler { Line 38  namespace LinuxSampler {
38      /** @brief Engine Channel Effect Send      /** @brief Engine Channel Effect Send
39       *       *
40       * This class is used to manage effect sends on Engine Channels. An effect       * This class is used to manage effect sends on Engine Channels. An effect
41       * send is used to route sampler channel's audio signals to sampler       * send is used to route sampler channel's audio signals to either sampler
42       * external effect processors. Each effect send entity can define an       * external effect processors or to sampler internal effect processors.
43       * arbitrary MIDI controller number which can alter the effect send's       * Each effect send entity can define an arbitrary MIDI controller number
44       * send level.       * which can alter the effect send's send level.
45         *
46         * Regarding sampler internal effects: only master effects are supported
47         * ATM, no insert effects yet. See AudioOutputDevice regarding management
48         * of master effects, since master effects only live in the context of
49         * exactly @e ONE AudioOutputDevice.
50       *       *
51       * Note: effect sends cannot be routed to a different AudioOutputDevice       * Note: effect sends cannot be routed to a different AudioOutputDevice
52       * than assigned to the FxSend's EngineChannel. Also note that an effect       * than assigned to the FxSend's EngineChannel. Also note that an effect
# Line 67  namespace LinuxSampler { Line 72  namespace LinuxSampler {
72              FxSend(EngineChannel* pEngineChannel, uint8_t MidiCtrl, String Name = "") throw (Exception);              FxSend(EngineChannel* pEngineChannel, uint8_t MidiCtrl, String Name = "") throw (Exception);
73    
74              /**              /**
75                 * Index of the master effect chain this FX send is routed to or
76                 * -1 if FX send is not routed to a master effect.
77                 */
78                int DestinationMasterEffectChain() const;
79    
80                /**
81                 * Index of the master effect of the master effect chain given by
82                 * DestinationMasterEffectChain(), in case FX send is routed to
83                 * a master effect or -1 otherwise.
84                 */
85                int DestinationMasterEffect() const;
86    
87                /**
88                 * Route this FX send to the given master effect given by index
89                 * @a iEffect of the master effect chain given by @a iChain .
90                 *
91                 * If you want to remove the routing of an FX send, currently
92                 * directed to a master effect processor, and want to route it
93                 * directly to an audio output device channel instead, then set
94                 * both arguments to @c -1 .
95                 *
96                 * @throw Exception - if given effect / effect chain doesn't exist
97                 * @see AudioOutputDevice::MasterEffectChain()
98                 */
99                void SetDestinationMasterEffect(int iChain, int iEffect) throw (Exception);
100    
101                /**
102               * Returns the audio output device's audio channel to which effect               * Returns the audio output device's audio channel to which effect
103               * send's channel \a SrcChan is currently routed to.               * send's channel \a SrcChan is currently routed to.
104               */               */
# Line 160  namespace LinuxSampler { Line 192  namespace LinuxSampler {
192    
193          protected:          protected:
194              EngineChannel*   pEngineChannel;              EngineChannel*   pEngineChannel;
195                int              iMasterEffectChain;
196                int              iMasterEffect;
197              std::vector<int> Routing;              std::vector<int> Routing;
198              uint8_t          MidiFxSendController;              uint8_t          MidiFxSendController;
199              String           sName;              String           sName;

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

  ViewVC Help
Powered by ViewVC