53 |
virtual ~Voice(); |
virtual ~Voice(); |
54 |
void SetOutput(AudioOutputDevice* pAudioOutputDevice); |
void SetOutput(AudioOutputDevice* pAudioOutputDevice); |
55 |
void SetEngine(LinuxSampler::Engine* pEngine); |
void SetEngine(LinuxSampler::Engine* pEngine); |
|
virtual SignalUnitRack* GetSignalUnitRack(); |
|
56 |
|
|
57 |
protected: |
protected: |
58 |
virtual SampleInfo GetSampleInfo(); |
virtual SampleInfo GetSampleInfo(); |
62 |
virtual AbstractEngine* GetEngine() { return (AbstractEngine*)pEngine; } |
virtual AbstractEngine* GetEngine() { return (AbstractEngine*)pEngine; } |
63 |
virtual double GetEG1ControllerValue(uint8_t MIDIKeyVelocity); |
virtual double GetEG1ControllerValue(uint8_t MIDIKeyVelocity); |
64 |
virtual EGInfo CalculateEG1ControllerInfluence(double eg1ControllerValue); |
virtual EGInfo CalculateEG1ControllerInfluence(double eg1ControllerValue); |
65 |
virtual void TriggerEG1(const EGInfo& egInfo, double velrelease, double velocityAttenuation, uint sampleRate, uint8_t velocity); |
virtual void TriggerEG1(const EGInfo& egInfo, double velrelease, double velocityAttenuation, uint sampleRate, uint8_t velocity) { } |
66 |
virtual double GetEG2ControllerValue(uint8_t MIDIKeyVelocity); |
virtual double GetEG2ControllerValue(uint8_t MIDIKeyVelocity); |
67 |
virtual EGInfo CalculateEG2ControllerInfluence(double eg2ControllerValue); |
virtual EGInfo CalculateEG2ControllerInfluence(double eg2ControllerValue); |
68 |
virtual void TriggerEG2(const EGInfo& egInfo, double velrelease, double velocityAttenuation, uint sampleRate, uint8_t velocity); |
virtual void TriggerEG2(const EGInfo& egInfo, double velrelease, double velocityAttenuation, uint sampleRate, uint8_t velocity) { } |
69 |
virtual void InitLFO1(); |
virtual void InitLFO1() { } |
70 |
virtual void InitLFO2(); |
virtual void InitLFO2() { } |
71 |
virtual void InitLFO3(); |
virtual void InitLFO3() { } |
72 |
virtual float CalculateCutoffBase(uint8_t MIDIKeyVelocity); |
virtual float CalculateCutoffBase(uint8_t MIDIKeyVelocity); |
73 |
virtual float CalculateFinalCutoff(float cutoffBase); |
virtual float CalculateFinalCutoff(float cutoffBase); |
74 |
virtual uint8_t GetVCFCutoffCtrl(); |
virtual uint8_t GetVCFCutoffCtrl(); |
82 |
virtual void AboutToTrigger(); |
virtual void AboutToTrigger(); |
83 |
|
|
84 |
private: |
private: |
|
::LinuxSampler::sfz::EGADSR EG1; |
|
|
::LinuxSampler::gig::EGADSR EG2; // TODO: use sfz v1 instead of gig |
|
85 |
::sf2::Region* pPresetRegion; |
::sf2::Region* pPresetRegion; |
86 |
SF2SignalUnitRack SignalRack; |
SF2SignalUnitRack SignalRack; |
87 |
|
|