//------------------------------------------------------------------------ ::AudioEffect* createEffectInstance (::audioMasterCallback audioMaster) { return Steinberg::Vst::Vst2Wrapper::create (GetPluginFactory (), UIDescriptionTestProcessor::cid, 0, audioMaster); }
bool ComponentPluginManager::StartEntitySystem(EntityManager& em, ComponentType ctype) { if(em.HasEntitySystem(ctype)) { return true; } LOG_DEBUG("Starting entity system " << GetStringFromSID(ctype)); ComponentPluginFactory* factory = GetPluginFactory(ctype); if(factory == NULL) { LOG_DEBUG("Cannot start entity system " << dtEntity::GetStringFromSID(ctype) << ": no factory found"); return false; } // start all plugins this plugin depends on std::list<ComponentType> deps; factory->GetDependencies(deps); while(!deps.empty()) { ComponentType dependency = deps.front(); deps.pop_front(); if(em.HasEntitySystem(dependency)) { continue; } // check if dependency can be fulfilled if(!FactoryExists(dependency)) { LOG_ERROR("Cannot start plugin " << dtEntity::GetStringFromSID(ctype) << ": It depends on plugin " << GetStringFromSID(dependency) << " which was not found."); return false; } // only start dependency if it is not running now if(!em.HasEntitySystem(dependency)) { StartEntitySystem(em, dependency); } } // use factory to create the plugin EntitySystem* es; bool success = factory->Create(&em, es); if(success) { // call, although no properties were set yet es->Finished(); LOG_DEBUG("Created entity system of type " << GetStringFromSID(ctype)); em.AddEntitySystem(*es); return true; } else { LOG_ERROR("Error starting entity system " << dtEntity::GetStringFromSID(ctype)); return false; } }
//------------------------------------------------------------------------ ::AudioEffect* createEffectInstance (audioMasterCallback audioMaster) { return Steinberg::Vst::Vst2Wrapper::create (GetPluginFactory (), Steinberg::Vst::AGainProcessorUID, 'GnV2', audioMaster); }