--- linuxsampler/trunk/src/engines/EngineChannelFactory.cpp 2005/02/26 02:01:14 411 +++ linuxsampler/trunk/src/engines/EngineChannelFactory.cpp 2005/06/17 19:49:30 660 @@ -26,11 +26,24 @@ namespace LinuxSampler { + // all currently existing engine channel instances + static std::set engineChannels; + LinuxSampler::EngineChannel* EngineChannelFactory::Create(String EngineType) throw (LinuxSamplerException) { if (!strcasecmp(EngineType.c_str(),"GigEngine") || !strcasecmp(EngineType.c_str(),"gig")) { - return new gig::EngineChannel; + LinuxSampler::EngineChannel* pEngineChannel = new gig::EngineChannel; + engineChannels.insert(pEngineChannel); + return pEngineChannel; } throw LinuxSamplerException("Unknown engine type"); } + void EngineChannelFactory::Destroy(LinuxSampler::EngineChannel* pEngineChannel) { + engineChannels.erase(pEngineChannel); + } + + std::set EngineChannelFactory::EngineChannelInstances() { + return engineChannels; + } + } // namepsace LinuxSampler