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

Diff of /linuxsampler/trunk/src/engines/common/AbstractVoice.h

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

revision 2061 by persson, Tue Feb 23 18:32:31 2010 UTC revision 2121 by schoenebeck, Tue Sep 14 17:09:08 2010 UTC
# Line 23  Line 23 
23   ***************************************************************************/   ***************************************************************************/
24    
25  #ifndef __LS_ABSTRACTVOICE_H__  #ifndef __LS_ABSTRACTVOICE_H__
26  #define __LS_ABSTRACTVOICE_H__  #define __LS_ABSTRACTVOICE_H__
27    
28  #include "Voice.h"  #include "Voice.h"
29    
# Line 80  namespace LinuxSampler { Line 80  namespace LinuxSampler {
80    
81      class AbstractVoice : public Voice {      class AbstractVoice : public Voice {
82          public:          public:
83              type_t       Type;         ///< Voice Type              type_t       Type;         ///< Voice Type (bit field, a voice may have several types)
84              int          MIDIKey;      ///< MIDI key number of the key that triggered the voice              int          MIDIKey;      ///< MIDI key number of the key that triggered the voice
             uint         KeyGroup;  
85    
86              AbstractVoice();              AbstractVoice();
87              virtual ~AbstractVoice();              virtual ~AbstractVoice();
# Line 106  namespace LinuxSampler { Line 105  namespace LinuxSampler {
105              void processPitchEvent(RTList<Event>::Iterator& itEvent);              void processPitchEvent(RTList<Event>::Iterator& itEvent);
106              void processResonanceEvent(RTList<Event>::Iterator& itEvent);              void processResonanceEvent(RTList<Event>::Iterator& itEvent);
107              void processTransitionEvents(RTList<Event>::Iterator& itEvent, uint End);              void processTransitionEvents(RTList<Event>::Iterator& itEvent, uint End);
108                void processGroupEvents(RTList<Event>::Iterator& itEvent, uint End);
109              void UpdatePortamentoPos(Pool<Event>::Iterator& itNoteOffEvent);              void UpdatePortamentoPos(Pool<Event>::Iterator& itNoteOffEvent);
110              void Kill(Pool<Event>::Iterator& itKillEvent);              void Kill(Pool<Event>::Iterator& itKillEvent);
111    
# Line 152  namespace LinuxSampler { Line 152  namespace LinuxSampler {
152              float                       fFinalResonance;              float                       fFinalResonance;
153              gig::SynthesisParam         finalSynthesisParameters;              gig::SynthesisParam         finalSynthesisParameters;
154              gig::Loop                   loop;              gig::Loop                   loop;
155                RTList<Event>*              pGroupEvents;        ///< Events directed to an exclusive group
156    
157              virtual AbstractEngine* GetEngine() = 0;              virtual AbstractEngine* GetEngine() = 0;
158              virtual SampleInfo      GetSampleInfo() = 0;              virtual SampleInfo      GetSampleInfo() = 0;
# Line 188  namespace LinuxSampler { Line 188  namespace LinuxSampler {
188               */               */
189              virtual double CalculateCrossfadeVolume(uint8_t MIDIKeyVelocity) = 0;              virtual double CalculateCrossfadeVolume(uint8_t MIDIKeyVelocity) = 0;
190    
191                virtual MidiKeyBase* GetMidiKeyInfo(int MIDIKey) = 0;
192    
193              virtual int   OrderNewStream() = 0;              virtual int   OrderNewStream() = 0;
194    
195              virtual PitchInfo CalculatePitchInfo(int PitchBend);              virtual PitchInfo CalculatePitchInfo(int PitchBend);
# Line 241  namespace LinuxSampler { Line 243  namespace LinuxSampler {
243              virtual double  GetVelocityRelease(uint8_t MIDIKeyVelocity) = 0;              virtual double  GetVelocityRelease(uint8_t MIDIKeyVelocity) = 0;
244    
245              virtual unsigned long GetNoteOnTime(int MIDIKey) = 0;              virtual unsigned long GetNoteOnTime(int MIDIKey) = 0;
246    
247                virtual void    ProcessGroupEvent(RTList<Event>::Iterator& itEvent) = 0;
248                void            EnterReleaseStage();
249      };      };
250  } // namespace LinuxSampler  } // namespace LinuxSampler
251    
252  #endif  /* __LS_ABSTRACTVOICE_H__ */  #endif  /* __LS_ABSTRACTVOICE_H__ */

Legend:
Removed from v.2061  
changed lines
  Added in v.2121

  ViewVC Help
Powered by ViewVC