37 |
#include "../gig/SmoothVolume.h" |
#include "../gig/SmoothVolume.h" |
38 |
#include "../gig/Synthesizer.h" |
#include "../gig/Synthesizer.h" |
39 |
#include "../gig/Profiler.h" |
#include "../gig/Profiler.h" |
40 |
|
#include "SignalUnitRack.h" |
41 |
|
|
42 |
// include the appropriate (unsigned) triangle LFO implementation |
// include the appropriate (unsigned) triangle LFO implementation |
43 |
#if CONFIG_UNSIGNED_TRIANG_ALGO == INT_MATH_SOLUTION |
#if CONFIG_UNSIGNED_TRIANG_ALGO == INT_MATH_SOLUTION |
101 |
); |
); |
102 |
|
|
103 |
virtual void Synthesize(uint Samples, sample_t* pSrc, uint Skip); |
virtual void Synthesize(uint Samples, sample_t* pSrc, uint Skip); |
104 |
|
|
105 |
|
uint GetSampleRate() { return GetEngine()->SampleRate; } |
106 |
|
|
107 |
|
virtual SignalUnitRack* GetSignalUnitRack() { return NULL; } |
108 |
|
|
109 |
void processCCEvents(RTList<Event>::Iterator& itEvent, uint End); |
void processCCEvents(RTList<Event>::Iterator& itEvent, uint End); |
110 |
void processPitchEvent(RTList<Event>::Iterator& itEvent); |
void processPitchEvent(RTList<Event>::Iterator& itEvent); |
165 |
virtual InstrumentInfo GetInstrumentInfo() = 0; |
virtual InstrumentInfo GetInstrumentInfo() = 0; |
166 |
|
|
167 |
/** |
/** |
168 |
|
* Most of the important members of the voice are set when the voice |
169 |
|
* is triggered (like pEngineChannel, pRegion, pSample, etc). |
170 |
|
* This method is called after these members are set and before |
171 |
|
* the voice is actually triggered. |
172 |
|
* Override this method if you need to do some additional |
173 |
|
* initialization which depends on these members before the voice |
174 |
|
* is triggered. |
175 |
|
*/ |
176 |
|
virtual void AboutToTrigger() { } |
177 |
|
|
178 |
|
virtual bool EG1Finished(); |
179 |
|
|
180 |
|
/** |
181 |
* Gets the sample cache size in bytes. |
* Gets the sample cache size in bytes. |
182 |
*/ |
*/ |
183 |
virtual unsigned long GetSampleCacheSize() = 0; |
virtual unsigned long GetSampleCacheSize() = 0; |