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

Diff of /linuxsampler/trunk/src/engines/gig/Engine.h

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

revision 738 by schoenebeck, Tue Aug 16 17:14:25 2005 UTC revision 846 by persson, Sun Mar 19 16:38:22 2006 UTC
# Line 78  namespace LinuxSampler { namespace gig { Line 78  namespace LinuxSampler { namespace gig {
78              virtual String Version();              virtual String Version();
79              virtual String EngineName();              virtual String EngineName();
80    
81                static const float* VolumeCurve;    ///< Table that maps volume control change values 0..127 to amplitude. Unity gain is at 90.
82                static const float* PanCurve;       ///< Table that maps pan control change values 0..128 to right channel amplitude. Unity gain is at 64 (center).
83                static const float* CrossfadeCurve; ///< Table that maps crossfade control change values 0..127 to amplitude. Unity gain is at 127.
84    
85          //protected:          //protected:
86              static InstrumentResourceManager instruments;              static InstrumentResourceManager instruments;
87    
# Line 106  namespace LinuxSampler { namespace gig { Line 110  namespace LinuxSampler { namespace gig {
110              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
111              int                     MaxFadeOutPos;         ///< The last position in an audio fragment to allow an instant fade out (e.g. for voice stealing) without leading to clicks.              int                     MaxFadeOutPos;         ///< The last position in an audio fragment to allow an instant fade out (e.g. for voice stealing) without leading to clicks.
112              uint32_t                RandomSeed;            ///< State of the random number generator used by the random dimension.              uint32_t                RandomSeed;            ///< State of the random number generator used by the random dimension.
113                Mutex                   ResetInternalMutex;    ///< Mutex to protect the ResetInternal function for concurrent usage (e.g. by the lscp and instrument loader threads).
114    
115              void ProcessEvents(EngineChannel* pEngineChannel, uint Samples);              void ProcessEvents(EngineChannel* pEngineChannel, uint Samples);
116              void RenderActiveVoices(EngineChannel* pEngineChannel, uint Samples);              void RenderActiveVoices(EngineChannel* pEngineChannel, uint Samples);
# Line 136  namespace LinuxSampler { namespace gig { Line 141  namespace LinuxSampler { namespace gig {
141    
142              static std::map<AudioOutputDevice*,Engine*> engines; ///< All instances of gig::Engine.              static std::map<AudioOutputDevice*,Engine*> engines; ///< All instances of gig::Engine.
143    
144                int SostenutoKeys[128];
145                int SostenutoKeyCount;
146    
147              uint8_t GSCheckSum(const RingBuffer<uint8_t>::NonVolatileReader AddrReader, uint DataSize);              uint8_t GSCheckSum(const RingBuffer<uint8_t>::NonVolatileReader AddrReader, uint DataSize);
148              void    AdjustScale(int8_t ScaleTunes[12]);              void    AdjustScale(int8_t ScaleTunes[12]);
149              void    ReleaseAllVoices(EngineChannel* pEngineChannel, Pool<Event>::Iterator& itReleaseEvent);              void    ReleaseAllVoices(EngineChannel* pEngineChannel, Pool<Event>::Iterator& itReleaseEvent);
150              void    KillAllVoices(EngineChannel* pEngineChannel, Pool<Event>::Iterator& itKillEvent);              void    KillAllVoices(EngineChannel* pEngineChannel, Pool<Event>::Iterator& itKillEvent);
151                bool    ShouldReleaseVoice(EngineChannel* pEngineChannel, int Key);
152                static float* InitVolumeCurve();
153                static float* InitPanCurve();
154                static float* InitCrossfadeCurve();
155                static float* InitCurve(const float* segments, int size = 128);
156    
157              unsigned long FrameTime; ///< Time in frames of the start of the current audio fragment              unsigned long FrameTime; ///< Time in frames of the start of the current audio fragment
158      };      };

Legend:
Removed from v.738  
changed lines
  Added in v.846

  ViewVC Help
Powered by ViewVC