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

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

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

revision 475 by schoenebeck, Thu Mar 17 23:56:56 2005 UTC revision 660 by schoenebeck, Fri Jun 17 19:49:30 2005 UTC
# Line 42  namespace LinuxSampler { Line 42  namespace LinuxSampler {
42       */       */
43      class EngineChannel {      class EngineChannel {
44          public:          public:
45        
46              /////////////////////////////////////////////////////////////////              /////////////////////////////////////////////////////////////////
47              // abstract methods              // abstract methods
48              //     (these have to be implemented by the descendant)              //     (these have to be implemented by the descendant)
49                
50              virtual void    PrepareLoadInstrument(const char* FileName, uint Instrument) = 0;              virtual void    PrepareLoadInstrument(const char* FileName, uint Instrument) = 0;
51              virtual void    LoadInstrument() = 0;              virtual void    LoadInstrument() = 0;
52              virtual void    SendNoteOn(uint8_t Key, uint8_t Velocity) = 0;              virtual void    SendNoteOn(uint8_t Key, uint8_t Velocity) = 0;
53              virtual void    SendNoteOff(uint8_t Key, uint8_t Velocity) = 0;              virtual void    SendNoteOff(uint8_t Key, uint8_t Velocity) = 0;
54              virtual void    SendPitchbend(int Pitch) = 0;              virtual void    SendPitchbend(int Pitch) = 0;
55              virtual void    SendControlChange(uint8_t Controller, uint8_t Value) = 0;                          virtual void    SendControlChange(uint8_t Controller, uint8_t Value) = 0;
56                virtual bool    StatusChanged() = 0;
57              virtual float   Volume() = 0;              virtual float   Volume() = 0;
58              virtual void    Volume(float f) = 0;              virtual void    Volume(float f) = 0;
59              virtual uint    Channels() = 0;                          virtual uint    Channels() = 0;
60              virtual void    Connect(AudioOutputDevice* pAudioOut) = 0;              virtual void    Connect(AudioOutputDevice* pAudioOut) = 0;
61              virtual void    DisconnectAudioOutputDevice() = 0;              virtual void    DisconnectAudioOutputDevice() = 0;
62              virtual void    SetOutputChannel(uint EngineAudioChannel, uint AudioDeviceChannel) = 0;              virtual void    SetOutputChannel(uint EngineAudioChannel, uint AudioDeviceChannel) = 0;
63              virtual int     OutputChannel(uint EngineAudioChannel) = 0;                          virtual int     OutputChannel(uint EngineAudioChannel) = 0;
64              virtual String  InstrumentFileName() = 0;              virtual String  InstrumentFileName() = 0;
65              virtual String  InstrumentName() = 0;              virtual String  InstrumentName() = 0;
66              virtual int     InstrumentIndex() = 0;              virtual int     InstrumentIndex() = 0;
# Line 67  namespace LinuxSampler { Line 68  namespace LinuxSampler {
68              virtual Engine* GetEngine() = 0;              virtual Engine* GetEngine() = 0;
69              virtual String  EngineName() = 0;              virtual String  EngineName() = 0;
70    
71              virtual ~EngineChannel() {};              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)
72    
73            protected:
74                virtual ~EngineChannel() {}; // MUST only be destroyed by EngineChannelFactory
75                friend class EngineChannelFactory;
76      };      };
77        
78  } // namespace LinuxSampler  } // namespace LinuxSampler
79    
80  #endif // __LS_ENGINECHANNEL_H__  #endif // __LS_ENGINECHANNEL_H__

Legend:
Removed from v.475  
changed lines
  Added in v.660

  ViewVC Help
Powered by ViewVC