108 |
virtual void VoiceFreed() { } |
virtual void VoiceFreed() { } |
109 |
|
|
110 |
virtual void Synthesize(uint Samples, sample_t* pSrc, uint Skip); |
virtual void Synthesize(uint Samples, sample_t* pSrc, uint Skip); |
111 |
|
|
112 |
|
virtual release_trigger_t GetReleaseTriggerFlags() = 0; |
113 |
|
|
114 |
uint GetSampleRate() { return GetEngine()->SampleRate; } |
uint GetSampleRate() { return GetEngine()->SampleRate; } |
115 |
|
|
116 |
uint8_t GetControllerValue(uint8_t Controller) { |
uint8_t GetControllerValue(uint8_t Controller) { |
140 |
|
|
141 |
template<class TV, class TRR, class TR, class TD, class TIM, class TI> friend class EngineBase; |
template<class TV, class TRR, class TR, class TD, class TIM, class TI> friend class EngineBase; |
142 |
|
|
143 |
|
#if CONFIG_DEVMODE |
144 |
|
public: |
145 |
|
#else |
146 |
protected: |
protected: |
147 |
|
#endif |
148 |
SampleInfo SmplInfo; |
SampleInfo SmplInfo; |
149 |
RegionInfo RgnInfo; |
RegionInfo RgnInfo; |
150 |
InstrumentInfo InstrInfo; |
InstrumentInfo InstrInfo; |
156 |
float CutoffBase; ///< Cutoff frequency before control change, EG and LFO are applied |
float CutoffBase; ///< Cutoff frequency before control change, EG and LFO are applied |
157 |
float VolumeLeft; ///< Left channel volume. This factor is calculated when the voice is triggered and doesn't change after that. |
float VolumeLeft; ///< Left channel volume. This factor is calculated when the voice is triggered and doesn't change after that. |
158 |
float VolumeRight; ///< Right channel volume. This factor is calculated when the voice is triggered and doesn't change after that. |
float VolumeRight; ///< Right channel volume. This factor is calculated when the voice is triggered and doesn't change after that. |
159 |
float NotePanLeft; ///< Updated by calls to built-in instrument script function change_pan() (defaults to 1.0, that is neutral). |
Fade NotePan[2]; ///< Updated by calls to built-in instrument script function change_pan() (defaults to 1.0, that is neutral, index 0 for left pan, index 1 for right). |
160 |
float NotePanRight; ///< Updated by calls to built-in instrument script function change_pan() (defaults to 1.0, that is neutral). |
NoteBase::Norm NoteCutoff; ///< Updated by calls to built-in instrument script function change_cutoff() (defaults to 1.0, that is neutral). |
161 |
float NoteCutoff; ///< Updated by calls to built-in instrument script function change_cutoff() (defaults to 1.0, that is neutral). |
NoteBase::Norm NoteResonance; ///< Updated by calls to built-in instrument script function change_reso() (defaults to 1.0, that is neutral). |
|
float NoteResonance; ///< Updated by calls to built-in instrument script function change_reso() (defaults to 1.0, that is neutral). |
|
162 |
gig::SmoothVolume CrossfadeSmoother; ///< Crossfade volume, updated by crossfade CC events |
gig::SmoothVolume CrossfadeSmoother; ///< Crossfade volume, updated by crossfade CC events |
163 |
gig::SmoothVolume VolumeSmoother; ///< Volume, updated by CC 7 (volume) events |
gig::SmoothVolume VolumeSmoother; ///< Volume, updated by CC 7 (volume) events |
164 |
gig::SmoothVolume PanLeftSmoother; ///< Left channel volume, updated by CC 10 (pan) events and change_pan() real-time instrument script calls. |
gig::SmoothVolume PanLeftSmoother; ///< Left channel volume, updated by CC 10 (pan) events and change_pan() real-time instrument script calls. |