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

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

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

revision 438 by persson, Wed Mar 9 22:12:15 2005 UTC revision 563 by schoenebeck, Sun May 22 20:43:32 2005 UTC
# Line 24  Line 24 
24  #ifndef __LS_GIG_ENGINEGLOBALS_H__  #ifndef __LS_GIG_ENGINEGLOBALS_H__
25  #define __LS_GIG_ENGINEGLOBALS_H__  #define __LS_GIG_ENGINEGLOBALS_H__
26    
 #if DEBUG_HEADERS  
 # warning EngineGlobals.h included  
 #endif // DEBUG_HEADERS  
   
 #define PITCHBEND_SEMITONES             12  
 #define MAX_AUDIO_VOICES                128  
 #define SYSEX_BUFFER_SIZE               2048  // 2kB  
 #define VOICE_STEAL_ALGORITHM           voice_steal_algo_oldestkey  ///< @see voice_steal_algo_t for available voice stealing algorithms  
   
 #define FILTER_UPDATE_PERIOD            64 ///< amount of sample points after which filter parameters (cutoff, resonance) are going to be updated (higher value means less CPU load, but also worse parameter resolution, this value will be aligned to a power of two)  
 #define FORCE_FILTER_USAGE              0  ///< if set to 1 then filter is always used, if set to 0 filter is used only in case the instrument file defined one  
 #define FILTER_CUTOFF_MAX               10000.0f ///< maximum cutoff frequency (10kHz)  
 #define FILTER_CUTOFF_MIN               100.0f   ///< minimum cutoff frequency (100Hz)  
   
 // Uncomment following line to override external cutoff controller  
 //#define OVERRIDE_FILTER_CUTOFF_CTRL   1  ///< set to an arbitrary MIDI control change controller (e.g. 1 for 'modulation wheel')  
   
 // Uncomment following line to override external resonance controller  
 //#define OVERRIDE_FILTER_RES_CTRL      91  ///< set to an arbitrary MIDI control change controller (e.g. 91 for 'effect 1 depth')  
   
 // Uncomment following line to override filter type  
 //#define OVERRIDE_FILTER_TYPE          ::gig::vcf_type_lowpass  ///< either ::gig::vcf_type_lowpass, ::gig::vcf_type_bandpass or ::gig::vcf_type_highpass  
   
27  #include "Voice.h"  #include "Voice.h"
28  #include "../common/Event.h"  #include "../common/Event.h"
29    
# Line 54  namespace LinuxSampler { namespace gig { Line 31  namespace LinuxSampler { namespace gig {
31    
32      class Voice;      class Voice;
33    
34        /** @brief Voice Stealing Algorithms
35         *
36         * Enumeration of all possible voice stealing algorithms.
37         */
38      enum voice_steal_algo_t {      enum voice_steal_algo_t {
39          voice_steal_algo_none,          voice_steal_algo_none,              ///< Voice stealing disabled.
40          voice_steal_algo_keymask,          voice_steal_algo_oldestvoiceonkey,  ///< Try to kill the oldest voice from same key where the new voice should be spawned.
41          voice_steal_algo_oldestkey          voice_steal_algo_oldestkey          ///< Try to kill the oldest voice from the oldest active key.
42      };      };
43    
44        /** @brief MIDI key runtime informations
45         *
46         * Reflects runtime informations for one MIDI key.
47         */
48      struct midi_key_info_t {      struct midi_key_info_t {
49          RTList<Voice>*  pActiveVoices;  ///< Contains the active voices associated with the MIDI key.          RTList<Voice>*  pActiveVoices;  ///< Contains the active voices associated with the MIDI key.
50          bool            KeyPressed;     ///< Is true if the respective MIDI key is currently pressed.          bool            KeyPressed;     ///< Is true if the respective MIDI key is currently pressed.
# Line 67  namespace LinuxSampler { namespace gig { Line 52  namespace LinuxSampler { namespace gig {
52          bool            ReleaseTrigger; ///< If we have to launch release triggered voice(s) when the key is released          bool            ReleaseTrigger; ///< If we have to launch release triggered voice(s) when the key is released
53          Pool<uint>::Iterator itSelf;    ///< hack to allow fast deallocation of the key from the list of active keys          Pool<uint>::Iterator itSelf;    ///< hack to allow fast deallocation of the key from the list of active keys
54          RTList<Event>*  pEvents;        ///< Key specific events (only Note-on, Note-off and sustain pedal currently)          RTList<Event>*  pEvents;        ///< Key specific events (only Note-on, Note-off and sustain pedal currently)
55            int             VoiceTheftsQueued; ///< Amount of voices postponed due to shortage of voices.
56          uint8_t         RoundRobinIndex; ///< For the round robin dimension: current articulation for this key, will be incremented for each note on          uint8_t         RoundRobinIndex; ///< For the round robin dimension: current articulation for this key, will be incremented for each note on
57      };      };
58    

Legend:
Removed from v.438  
changed lines
  Added in v.563

  ViewVC Help
Powered by ViewVC