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

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

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

revision 53 by schoenebeck, Mon Apr 26 17:15:51 2004 UTC revision 329 by senkov, Tue Dec 28 09:43:04 2004 UTC
# Line 2  Line 2 
2   *                                                                         *   *                                                                         *
3   *   LinuxSampler - modular, streaming capable sampler                     *   *   LinuxSampler - modular, streaming capable sampler                     *
4   *                                                                         *   *                                                                         *
5   *   Copyright (C) 2003 by Benno Senoner and Christian Schoenebeck         *   *   Copyright (C) 2003, 2004 by Benno Senoner and Christian Schoenebeck   *
6   *                                                                         *   *                                                                         *
7   *   This program is free software; you can redistribute it and/or modify  *   *   This program is free software; you can redistribute it and/or modify  *
8   *   it under the terms of the GNU General Public License as published by  *   *   it under the terms of the GNU General Public License as published by  *
# Line 24  Line 24 
24  #define __LS_ENGINE_H__  #define __LS_ENGINE_H__
25    
26  #include "../../common/global.h"  #include "../../common/global.h"
27  #include "../../audiodriver/AudioOutputDevice.h"  #include "../../drivers/audio/AudioOutputDevice.h"
28    
29  namespace LinuxSampler {  namespace LinuxSampler {
30    
# Line 37  namespace LinuxSampler { Line 37  namespace LinuxSampler {
37       */       */
38      class Engine {      class Engine {
39          public:          public:
40    
41                virtual ~Engine() {};
42    
43                /////////////////////////////////////////////////////////////////
44                // type definitions
45    
46                /**
47                 * List with all currently implemented sampler engines.
48                 */
49                enum type_t {
50                    type_gig
51                };
52    
53    
54    
55                /////////////////////////////////////////////////////////////////
56                // abstract methods
57                //     (these have to be implemented by the descendant)
58    
59              virtual void   LoadInstrument(const char* FileName, uint Instrument) = 0;              virtual void   LoadInstrument(const char* FileName, uint Instrument) = 0;
60              virtual void   Reset() = 0;              virtual void   Reset() = 0;
61              virtual void   Enable() = 0;              virtual void   Enable() = 0;
# Line 45  namespace LinuxSampler { Line 64  namespace LinuxSampler {
64              virtual void   SendNoteOff(uint8_t Key, uint8_t Velocity) = 0;              virtual void   SendNoteOff(uint8_t Key, uint8_t Velocity) = 0;
65              virtual void   SendPitchbend(int Pitch) = 0;              virtual void   SendPitchbend(int Pitch) = 0;
66              virtual void   SendControlChange(uint8_t Controller, uint8_t Value) = 0;              virtual void   SendControlChange(uint8_t Controller, uint8_t Value) = 0;
67                virtual void   SendSysex(void* pData, uint Size) = 0;
68              virtual float  Volume() = 0;              virtual float  Volume() = 0;
69              virtual void   Volume(float f) = 0;              virtual void   Volume(float f) = 0;
70                virtual uint   Channels() = 0;
71              virtual void   Connect(AudioOutputDevice* pAudioOut) = 0;              virtual void   Connect(AudioOutputDevice* pAudioOut) = 0;
72              virtual void   DisconnectAudioOutputDevice() = 0;              virtual void   DisconnectAudioOutputDevice() = 0;
73                virtual void   SetOutputChannel(uint EngineAudioChannel, uint AudioDeviceChannel) = 0;
74                virtual int    OutputChannel(uint EngineAudioChannel) = 0;
75              virtual int    RenderAudio(uint Samples) = 0;              virtual int    RenderAudio(uint Samples) = 0;
76              virtual uint   VoiceCount() = 0;              virtual uint   VoiceCount() = 0;
77              virtual uint   VoiceCountMax() = 0;              virtual uint   VoiceCountMax() = 0;
# Line 59  namespace LinuxSampler { Line 82  namespace LinuxSampler {
82              virtual String DiskStreamBufferFillPercentage() = 0;              virtual String DiskStreamBufferFillPercentage() = 0;
83              virtual String Description() = 0;              virtual String Description() = 0;
84              virtual String Version() = 0;              virtual String Version() = 0;
85                virtual String EngineName() = 0;
86                virtual String InstrumentFileName() = 0;
87                virtual int    InstrumentIndex() = 0;
88                virtual int    InstrumentStatus() = 0;
89      };      };
90  }  }
91    

Legend:
Removed from v.53  
changed lines
  Added in v.329

  ViewVC Help
Powered by ViewVC