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. |
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 |
* |
* |
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(); |
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 |