/[svn]/linuxsampler/trunk/src/engines/AbstractEngine.h
ViewVC logotype

Diff of /linuxsampler/trunk/src/engines/AbstractEngine.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 2434 by schoenebeck, Thu Mar 7 19:23:24 2013 UTC revision 2448 by schoenebeck, Fri May 3 14:26:32 2013 UTC
# Line 31  Line 31 
31  #include "../common/ConditionServer.h"  #include "../common/ConditionServer.h"
32  #include "../common/Pool.h"  #include "../common/Pool.h"
33  #include "../common/RingBuffer.h"  #include "../common/RingBuffer.h"
34    #include "../common/ChangeFlagRelaxed.h"
35  #include "../drivers/audio/AudioOutputDevice.h"  #include "../drivers/audio/AudioOutputDevice.h"
36  #include "common/Event.h"  #include "common/Event.h"
37  #include "common/SignalUnitRack.h"  #include "common/SignalUnitRack.h"
# Line 58  namespace LinuxSampler { Line 59  namespace LinuxSampler {
59              virtual uint   VoiceCount() OVERRIDE;              virtual uint   VoiceCount() OVERRIDE;
60              virtual uint   VoiceCountMax() OVERRIDE;              virtual uint   VoiceCountMax() OVERRIDE;
61              virtual String EngineName() OVERRIDE;              virtual String EngineName() OVERRIDE;
62                virtual void   AdjustScaleTuning(const int8_t ScaleTunes[12]) OVERRIDE;
63                virtual void   GetScaleTuning(int8_t* pScaleTunes) OVERRIDE;
64                virtual void   ResetScaleTuning() OVERRIDE;
65    
66              virtual Format GetEngineFormat() = 0;              virtual Format GetEngineFormat() = 0;
67              virtual void   Connect(AudioOutputDevice* pAudioOut) = 0;              virtual void   Connect(AudioOutputDevice* pAudioOut) = 0;
# Line 100  namespace LinuxSampler { Line 104  namespace LinuxSampler {
104              ArrayList<EngineChannel*>  engineChannels; ///< All engine channels of a Engine instance.              ArrayList<EngineChannel*>  engineChannels; ///< All engine channels of a Engine instance.
105              ConditionServer            EngineDisabled;              ConditionServer            EngineDisabled;
106              int8_t                     ScaleTuning[12];    ///< contains optional detune factors (-64..+63 cents) for all 12 semitones of an octave              int8_t                     ScaleTuning[12];    ///< contains optional detune factors (-64..+63 cents) for all 12 semitones of an octave
107                ChangeFlagRelaxed          ScaleTuningChanged; ///< Boolean flag indicating whenever ScaleTuning has been modified by a foreign thread (i.e. by API).
108              RingBuffer<Event,false>*   pEventQueue;        ///< Input event queue for engine global events (e.g. SysEx messages).              RingBuffer<Event,false>*   pEventQueue;        ///< Input event queue for engine global events (e.g. SysEx messages).
109              EventGenerator*            pEventGenerator;              EventGenerator*            pEventGenerator;
110              RTList<Event>*             pGlobalEvents;         ///< All engine global events for the current audio fragment (usually only SysEx messages).              RTList<Event>*             pGlobalEvents;         ///< All engine global events for the current audio fragment (usually only SysEx messages).
# Line 117  namespace LinuxSampler { Line 122  namespace LinuxSampler {
122              void ClearEventLists();              void ClearEventLists();
123              void ImportEvents(uint Samples);              void ImportEvents(uint Samples);
124              void ProcessSysex(Pool<Event>::Iterator& itSysexEvent);              void ProcessSysex(Pool<Event>::Iterator& itSysexEvent);
             void ResetScaleTuning();  
125              void ProcessPitchbend(AbstractEngineChannel* pEngineChannel, Pool<Event>::Iterator& itPitchbendEvent);              void ProcessPitchbend(AbstractEngineChannel* pEngineChannel, Pool<Event>::Iterator& itPitchbendEvent);
126    
127              void ProcessFxSendControllers (              void ProcessFxSendControllers (
# Line 143  namespace LinuxSampler { Line 147  namespace LinuxSampler {
147              static float* InitCrossfadeCurve();              static float* InitCrossfadeCurve();
148              static float* InitCurve(const float* segments, int size = 128);              static float* InitCurve(const float* segments, int size = 128);
149    
             void AdjustScale(int8_t ScaleTunes[12]);  
150              bool RouteFxSend(FxSend* pFxSend, AudioChannel* ppSource[2], float FxSendLevel, uint Samples);              bool RouteFxSend(FxSend* pFxSend, AudioChannel* ppSource[2], float FxSendLevel, uint Samples);
151      };      };
152    

Legend:
Removed from v.2434  
changed lines
  Added in v.2448

  ViewVC Help
Powered by ViewVC