--- linuxsampler/trunk/src/engines/gig/Voice.h 2016/12/14 18:55:08 3053 +++ linuxsampler/trunk/src/engines/gig/Voice.h 2016/12/15 12:47:45 3054 @@ -4,7 +4,8 @@ * * * Copyright (C) 2003, 2004 by Benno Senoner and Christian Schoenebeck * * Copyright (C) 2005 - 2008 Christian Schoenebeck * - * Copyright (C) 2009 - 2013 Christian Schoenebeck and Grigor Iliev * + * Copyright (C) 2009 Christian Schoenebeck and Grigor Iliev * + * Copyright (C) 2010 - 2016 Christian Schoenebeck and Andreas Persson * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -63,33 +64,33 @@ void CalculateFadeOutCoeff(float FadeOutTime, float SampleRate); protected: - virtual SampleInfo GetSampleInfo(); - virtual RegionInfo GetRegionInfo(); - virtual InstrumentInfo GetInstrumentInfo(); - virtual double CalculateCrossfadeVolume(uint8_t MIDIKeyVelocity); - virtual AbstractEngine* GetEngine() { return (AbstractEngine*)pEngine; } - virtual double GetEG1ControllerValue(uint8_t MIDIKeyVelocity); - virtual EGInfo CalculateEG1ControllerInfluence(double eg1ControllerValue); - virtual void TriggerEG1(const EGInfo& egInfo, double velrelease, double velocityAttenuation, uint sampleRate, uint8_t velocity); - virtual double GetEG2ControllerValue(uint8_t MIDIKeyVelocity); - virtual EGInfo CalculateEG2ControllerInfluence(double eg2ControllerValue); - virtual void TriggerEG2(const EGInfo& egInfo, double velrelease, double velocityAttenuation, uint sampleRate, uint8_t velocity); - virtual void InitLFO1(); - virtual void InitLFO2(); - virtual void InitLFO3(); - virtual float CalculateCutoffBase(uint8_t MIDIKeyVelocity); - virtual float CalculateFinalCutoff(float cutoffBase); - virtual uint8_t GetVCFCutoffCtrl(); - virtual uint8_t GetVCFResonanceCtrl(); + virtual SampleInfo GetSampleInfo() OVERRIDE; + virtual RegionInfo GetRegionInfo() OVERRIDE; + virtual InstrumentInfo GetInstrumentInfo() OVERRIDE; + virtual double CalculateCrossfadeVolume(uint8_t MIDIKeyVelocity) OVERRIDE; + virtual AbstractEngine* GetEngine() OVERRIDE { return (AbstractEngine*)pEngine; } + virtual double GetEG1ControllerValue(uint8_t MIDIKeyVelocity) OVERRIDE; + virtual EGInfo CalculateEG1ControllerInfluence(double eg1ControllerValue) OVERRIDE; + virtual void TriggerEG1(const EGInfo& egInfo, double velrelease, double velocityAttenuation, uint sampleRate, uint8_t velocity) OVERRIDE; + virtual double GetEG2ControllerValue(uint8_t MIDIKeyVelocity) OVERRIDE; + virtual EGInfo CalculateEG2ControllerInfluence(double eg2ControllerValue) OVERRIDE; + virtual void TriggerEG2(const EGInfo& egInfo, double velrelease, double velocityAttenuation, uint sampleRate, uint8_t velocity) OVERRIDE; + virtual void InitLFO1() OVERRIDE; + virtual void InitLFO2() OVERRIDE; + virtual void InitLFO3() OVERRIDE; + virtual float CalculateCutoffBase(uint8_t MIDIKeyVelocity) OVERRIDE; + virtual float CalculateFinalCutoff(float cutoffBase) OVERRIDE; + virtual uint8_t GetVCFCutoffCtrl() OVERRIDE; + virtual uint8_t GetVCFResonanceCtrl() OVERRIDE; virtual void ProcessCCEvent(RTList::Iterator& itEvent) OVERRIDE; virtual void ProcessChannelPressureEvent(RTList::Iterator& itEvent) OVERRIDE; virtual void ProcessPolyphonicKeyPressureEvent(RTList::Iterator& itEvent) OVERRIDE; - virtual void ProcessCutoffEvent(RTList::Iterator& itEvent); - virtual double GetVelocityAttenuation(uint8_t MIDIKeyVelocity); - virtual double GetVelocityRelease(uint8_t MIDIKeyVelocity); - virtual double GetSampleAttenuation(); - virtual void ProcessGroupEvent(RTList::Iterator& itEvent); - virtual int CalculatePan(uint8_t pan); + virtual void ProcessCutoffEvent(RTList::Iterator& itEvent) OVERRIDE; + virtual double GetVelocityAttenuation(uint8_t MIDIKeyVelocity) OVERRIDE; + virtual double GetVelocityRelease(uint8_t MIDIKeyVelocity) OVERRIDE; + virtual double GetSampleAttenuation() OVERRIDE; + virtual void ProcessGroupEvent(RTList::Iterator& itEvent) OVERRIDE; + virtual int CalculatePan(uint8_t pan) OVERRIDE; private: EGADSR EG1; @@ -110,7 +111,7 @@ EngineChannel* GetGigEngineChannel(); protected: - virtual uint8_t CrossfadeAttenuation(uint8_t& CrossfadeControllerValue) { + virtual uint8_t CrossfadeAttenuation(uint8_t& CrossfadeControllerValue) OVERRIDE { uint8_t c = std::max(CrossfadeControllerValue, pRegion->AttenuationControllerThreshold); c = (!pRegion->Crossfade.out_end) ? c /* 0,0,0,0 means no crossfade defined */ : (c < pRegion->Crossfade.in_end) ?