/[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 392 by schoenebeck, Sat Feb 19 02:40:24 2005 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              virtual void   LoadInstrument(const char* FileName, uint Instrument) = 0;  
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   PrepareLoadInstrument(const char* FileName, uint Instrument) = 0;
60                virtual void   LoadInstrument() = 0;
61              virtual void   Reset() = 0;              virtual void   Reset() = 0;
62              virtual void   Enable() = 0;              virtual void   Enable() = 0;
63              virtual void   Disable() = 0;              virtual void   Disable() = 0;
# Line 45  namespace LinuxSampler { Line 65  namespace LinuxSampler {
65              virtual void   SendNoteOff(uint8_t Key, uint8_t Velocity) = 0;              virtual void   SendNoteOff(uint8_t Key, uint8_t Velocity) = 0;
66              virtual void   SendPitchbend(int Pitch) = 0;              virtual void   SendPitchbend(int Pitch) = 0;
67              virtual void   SendControlChange(uint8_t Controller, uint8_t Value) = 0;              virtual void   SendControlChange(uint8_t Controller, uint8_t Value) = 0;
68                virtual void   SendSysex(void* pData, uint Size) = 0;
69              virtual float  Volume() = 0;              virtual float  Volume() = 0;
70              virtual void   Volume(float f) = 0;              virtual void   Volume(float f) = 0;
71                virtual uint   Channels() = 0;
72              virtual void   Connect(AudioOutputDevice* pAudioOut) = 0;              virtual void   Connect(AudioOutputDevice* pAudioOut) = 0;
73              virtual void   DisconnectAudioOutputDevice() = 0;              virtual void   DisconnectAudioOutputDevice() = 0;
74                virtual void   SetOutputChannel(uint EngineAudioChannel, uint AudioDeviceChannel) = 0;
75                virtual int    OutputChannel(uint EngineAudioChannel) = 0;
76              virtual int    RenderAudio(uint Samples) = 0;              virtual int    RenderAudio(uint Samples) = 0;
77              virtual uint   VoiceCount() = 0;              virtual uint   VoiceCount() = 0;
78              virtual uint   VoiceCountMax() = 0;              virtual uint   VoiceCountMax() = 0;
# Line 59  namespace LinuxSampler { Line 83  namespace LinuxSampler {
83              virtual String DiskStreamBufferFillPercentage() = 0;              virtual String DiskStreamBufferFillPercentage() = 0;
84              virtual String Description() = 0;              virtual String Description() = 0;
85              virtual String Version() = 0;              virtual String Version() = 0;
86                virtual String EngineName() = 0;
87                virtual String InstrumentFileName() = 0;
88                virtual String InstrumentName() = 0;
89                virtual int    InstrumentIndex() = 0;
90                virtual int    InstrumentStatus() = 0;
91      };      };
92  }  }
93    

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

  ViewVC Help
Powered by ViewVC