25 |
#define __LS_ENGINE_H__ |
#define __LS_ENGINE_H__ |
26 |
|
|
27 |
#include "../common/global.h" |
#include "../common/global.h" |
28 |
|
#include "InstrumentManager.h" |
29 |
|
|
30 |
namespace LinuxSampler { |
namespace LinuxSampler { |
31 |
|
|
58 |
virtual String Version() = 0; |
virtual String Version() = 0; |
59 |
virtual String EngineName() = 0; |
virtual String EngineName() = 0; |
60 |
|
|
61 |
|
/** |
62 |
|
* Returns pointer to the Engine's InstrumentManager or NULL if |
63 |
|
* the Engine does not provide an InstrumentManager. |
64 |
|
* |
65 |
|
* <b>Important:</b> All engine instances of the same engine |
66 |
|
* type have to return the same InstrumentManager, that is all |
67 |
|
* instances of the same engine type have to share one and |
68 |
|
* the same InstrumentManager object. |
69 |
|
*/ |
70 |
|
virtual InstrumentManager* GetInstrumentManager() = 0; |
71 |
|
|
72 |
protected: |
protected: |
73 |
virtual ~Engine() {}; // MUST only be destroyed by EngineFactory |
virtual ~Engine() {}; // MUST only be destroyed by EngineFactory |
74 |
friend class EngineFactory; |
friend class EngineFactory; |