24 |
|
|
25 |
#include "gig/Engine.h" |
#include "gig/Engine.h" |
26 |
|
|
27 |
|
#include "../common/global.h" |
28 |
|
|
29 |
namespace LinuxSampler { |
namespace LinuxSampler { |
30 |
|
|
31 |
|
// all currently existing engine instances |
32 |
|
static std::set<LinuxSampler::Engine*> engines; |
33 |
|
|
34 |
LinuxSampler::Engine* EngineFactory::Create(String EngineType) throw (LinuxSamplerException) { |
LinuxSampler::Engine* EngineFactory::Create(String EngineType) throw (LinuxSamplerException) { |
35 |
if (!strcasecmp(EngineType.c_str(),"GigEngine") || !strcasecmp(EngineType.c_str(),"gig")) { |
if (!strcasecmp(EngineType.c_str(),"GigEngine") || !strcasecmp(EngineType.c_str(),"gig")) { |
36 |
return new gig::Engine; |
Engine* pEngine = new gig::Engine; |
37 |
|
engines.insert(pEngine); |
38 |
|
return pEngine; |
39 |
} |
} |
40 |
throw LinuxSamplerException("Unknown engine type"); |
throw LinuxSamplerException("Unknown engine type"); |
41 |
|
} |
42 |
|
|
43 |
|
void EngineFactory::Destroy(LinuxSampler::Engine* pEngine) { |
44 |
|
engines.erase(pEngine); |
45 |
|
} |
46 |
|
|
47 |
|
std::set<LinuxSampler::Engine*> EngineFactory::EngineInstances() { |
48 |
|
return engines; |
49 |
} |
} |
50 |
|
|
51 |
} // namepsace LinuxSampler |
} // namepsace LinuxSampler |