26 |
|
|
27 |
namespace LinuxSampler { |
namespace LinuxSampler { |
28 |
|
|
29 |
|
// all currently existing engine channel instances |
30 |
|
static std::set<LinuxSampler::EngineChannel*> engineChannels; |
31 |
|
|
32 |
LinuxSampler::EngineChannel* EngineChannelFactory::Create(String EngineType) throw (LinuxSamplerException) { |
LinuxSampler::EngineChannel* EngineChannelFactory::Create(String EngineType) throw (LinuxSamplerException) { |
33 |
if (!strcasecmp(EngineType.c_str(),"GigEngine") || !strcasecmp(EngineType.c_str(),"gig")) { |
if (!strcasecmp(EngineType.c_str(),"GigEngine") || !strcasecmp(EngineType.c_str(),"gig")) { |
34 |
return new gig::EngineChannel; |
LinuxSampler::EngineChannel* pEngineChannel = new gig::EngineChannel; |
35 |
|
engineChannels.insert(pEngineChannel); |
36 |
|
return pEngineChannel; |
37 |
} |
} |
38 |
throw LinuxSamplerException("Unknown engine type"); |
throw LinuxSamplerException("Unknown engine type"); |
39 |
} |
} |
40 |
|
|
41 |
|
void EngineChannelFactory::Destroy(LinuxSampler::EngineChannel* pEngineChannel) { |
42 |
|
engineChannels.erase(pEngineChannel); |
43 |
|
} |
44 |
|
|
45 |
|
std::set<LinuxSampler::EngineChannel*> EngineChannelFactory::EngineChannelInstances() { |
46 |
|
return engineChannels; |
47 |
|
} |
48 |
|
|
49 |
} // namepsace LinuxSampler |
} // namepsace LinuxSampler |