--- linuxsampler/trunk/src/engines/Engine.h 2006/07/01 13:30:52 887 +++ linuxsampler/trunk/src/engines/Engine.h 2006/11/27 21:34:55 947 @@ -25,6 +25,7 @@ #define __LS_ENGINE_H__ #include "../common/global.h" +#include "InstrumentManager.h" namespace LinuxSampler { @@ -57,6 +58,17 @@ virtual String Version() = 0; virtual String EngineName() = 0; + /** + * Returns pointer to the Engine's InstrumentManager or NULL if + * the Engine does not provide an InstrumentManager. + * + * Important: All engine instances of the same engine + * type have to return the same InstrumentManager, that is all + * instances of the same engine type have to share one and + * the same InstrumentManager object. + */ + virtual InstrumentManager* GetInstrumentManager() = 0; + protected: virtual ~Engine() {}; // MUST only be destroyed by EngineFactory friend class EngineFactory;