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 |
|
|
37 |
*/ |
*/ |
38 |
class Engine { |
class Engine { |
39 |
public: |
public: |
40 |
|
|
41 |
|
///////////////////////////////////////////////////////////////// |
42 |
|
// type definitions |
43 |
|
|
44 |
|
/** |
45 |
|
* List with all currently implemented sampler engines. |
46 |
|
*/ |
47 |
|
enum type_t { |
48 |
|
type_gig |
49 |
|
}; |
50 |
|
|
51 |
|
|
52 |
|
|
53 |
|
///////////////////////////////////////////////////////////////// |
54 |
|
// abstract methods |
55 |
|
// (these have to be implemented by the descendant) |
56 |
|
|
57 |
virtual void LoadInstrument(const char* FileName, uint Instrument) = 0; |
virtual void LoadInstrument(const char* FileName, uint Instrument) = 0; |
58 |
virtual void Reset() = 0; |
virtual void Reset() = 0; |
59 |
virtual void Enable() = 0; |
virtual void Enable() = 0; |
76 |
virtual String DiskStreamBufferFillPercentage() = 0; |
virtual String DiskStreamBufferFillPercentage() = 0; |
77 |
virtual String Description() = 0; |
virtual String Description() = 0; |
78 |
virtual String Version() = 0; |
virtual String Version() = 0; |
79 |
|
virtual String EngineName() = 0; |
80 |
|
virtual String InstrumentFileName() = 0; |
81 |
|
virtual int InstrumentIndex() = 0; |
82 |
|
virtual int InstrumentStatus() = 0; |
83 |
}; |
}; |
84 |
} |
} |
85 |
|
|