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

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

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

revision 889 by schoenebeck, Sat Jul 1 13:34:18 2006 UTC revision 947 by schoenebeck, Mon Nov 27 21:34:55 2006 UTC
# Line 47  namespace LinuxSampler { Line 47  namespace LinuxSampler {
47      class EngineChannel {      class EngineChannel {
48          public:          public:
49    
             EngineChannel();  
   
50              /////////////////////////////////////////////////////////////////              /////////////////////////////////////////////////////////////////
51              // abstract methods              // abstract methods
52              //     (these have to be implemented by the descendant)              //     (these have to be implemented by the descendant)
# Line 57  namespace LinuxSampler { Line 55  namespace LinuxSampler {
55              virtual void    LoadInstrument() = 0;              virtual void    LoadInstrument() = 0;
56              virtual void    Reset() = 0;              virtual void    Reset() = 0;
57              virtual void    SendNoteOn(uint8_t Key, uint8_t Velocity) = 0;              virtual void    SendNoteOn(uint8_t Key, uint8_t Velocity) = 0;
58                virtual void    SendNoteOn(uint8_t Key, uint8_t Velocity, int32_t FragmentPos) = 0;
59              virtual void    SendNoteOff(uint8_t Key, uint8_t Velocity) = 0;              virtual void    SendNoteOff(uint8_t Key, uint8_t Velocity) = 0;
60                virtual void    SendNoteOff(uint8_t Key, uint8_t Velocity, int32_t FragmentPos) = 0;
61              virtual void    SendPitchbend(int Pitch) = 0;              virtual void    SendPitchbend(int Pitch) = 0;
62                virtual void    SendPitchbend(int Pitch, int32_t FragmentPos) = 0;
63              virtual void    SendControlChange(uint8_t Controller, uint8_t Value) = 0;              virtual void    SendControlChange(uint8_t Controller, uint8_t Value) = 0;
64                virtual void    SendControlChange(uint8_t Controller, uint8_t Value, int32_t FragmentPos) = 0;
65              virtual bool    StatusChanged(bool bNewStatus = false) = 0;              virtual bool    StatusChanged(bool bNewStatus = false) = 0;
66              virtual float   Volume() = 0;              virtual float   Volume() = 0;
67              virtual void    Volume(float f) = 0;              virtual void    Volume(float f) = 0;
# Line 111  namespace LinuxSampler { Line 113  namespace LinuxSampler {
113               */               */
114              bool GetSolo();              bool GetSolo();
115    
116                /**
117                 * Returns current MIDI program (change) number of this
118                 * EngineChannel.
119                 */
120                uint8_t GetMidiProgram();
121    
122                /**
123                 * Change EngineChannel's MIDI program.
124                 */
125                void SetMidiProgram(uint8_t Program);
126    
127                /**
128                 * Returns current MIDI bank MSB (coarse) number of this
129                 * EngineChannel.
130                 */
131                uint8_t GetMidiBankMsb();
132    
133                /**
134                 * Change current MIDI bank MSB (coarse) number of this
135                 * EngineChannel.
136                 */
137                void SetMidiBankMsb(uint8_t BankMSB);
138    
139                /**
140                 * Returns current MIDI bank LSB (fine) number of this
141                 * EngineChannel.
142                 */
143                uint8_t GetMidiBankLsb();
144    
145                /**
146                 * Change current MIDI bank LSB (fine) number of this
147                 * EngineChannel.
148                 */
149                void SetMidiBankLsb(uint8_t BankLSB);
150    
151              int iSamplerChannelIndex; ///< FIXME: nasty hack, might be removed (should be 'virtual EngineChannel* EngineChannel() = 0;', but due to cyclic dependencies only a void* solution would be possible ATM)              int iSamplerChannelIndex; ///< FIXME: nasty hack, might be removed (should be 'virtual EngineChannel* EngineChannel() = 0;', but due to cyclic dependencies only a void* solution would be possible ATM)
152    
153          protected:          protected:
154                EngineChannel();
155              virtual ~EngineChannel() {}; // MUST only be destroyed by EngineChannelFactory              virtual ~EngineChannel() {}; // MUST only be destroyed by EngineChannelFactory
156              friend class EngineChannelFactory;              friend class EngineChannelFactory;
157    
158          private:          private:
159              int  iMute;              int     iMute;
160              bool bSolo;              bool    bSolo;
161                uint8_t uiMidiProgram;
162                uint8_t uiMidiBankMsb;
163                uint8_t uiMidiBankLsb;
164      };      };
165    
166  } // namespace LinuxSampler  } // namespace LinuxSampler

Legend:
Removed from v.889  
changed lines
  Added in v.947

  ViewVC Help
Powered by ViewVC