61 DWORD dw = GetLastError();
62 sprintf(szBuf,
"%s failed: GetLastError returned %i\n",
63 (
char*)plugin_file, (
int)dw);
71 farp = GetProcAddress(handle,
"DestroyMasterEffectFactory");
79 if(this->CreateMasterEffectFactory!=NULL)
80 m_factory = this->CreateMasterEffectFactory();
86 this->DestroyMasterEffectFactory();
88 CreateMasterEffectFactory = NULL;
89 DestroyMasterEffectFactory = NULL;
102 if(pfx==NULL)
return NULL;
108 for(
int i=0;i<n;i++) narray[i] = array[i];
125 if(m_factory!=NULL) {
128 if(array[j]==EfectoMaestro) {
130 m_factory->Destroy(EfectoMaestro);
136 for(i=0;i<j;i++) narray[i] = array[i];
137 for(i=j;i<(n-1);i++) narray[i] = array[i+1];
194 if(!stricmp(effect_name,
"nil"))
return NULL;
199 complete_name+=
moText(
"_d");
201 complete_name +=
moText(
".dll");
205 complete_name+=
moText(
"_d");
207 complete_name += moPluginExtension;
214 for(
MOuint i = 0; i < plugins.Count(); i++)
215 if(!stricmp(plugins[i]->GetName(), complete_name))
225 plg_index = plugins.Count();
227 plugins.Add( pplugin );
231 if(plugins[plg_index]->m_factory!=NULL)
232 return plugins[plg_index]->Create();
243 if( mastereffect->
GetName() ==
"" )
return false;
248 complete_name+=
moText(
"_d");
250 complete_name +=
moText(
".dll");
254 complete_name+=
moText(
"_d");
256 complete_name += moPluginExtension;
263 for(
MOuint i = 0; i < plugins.Count(); i++)
264 if(!stricmp(plugins[i]->GetName(), complete_name))
275 bool res = plugins[plg_index]->Destroy(mastereffect);
278 if (res && plugins[plg_index]->n == 0) {
279 plugins[plg_index]->Unload();
280 plugins.Remove(plg_index);
LIBMOLDEO_API moMasterEffect * moNewMasterEffect(moText effect_name, moMasterPluginsArray &plugins)
static void Error(moText p_text)
Anuncia un error.
moDefineDynamicArray(moMasterPluginsArray) using namespace std
const moText & GetName() const
bool Destroy(moMasterEffect *mastereffect)
LIBMOLDEO_API bool moDeleteMasterEffect(moMasterEffect *mastereffect, moMasterPluginsArray &plugins)
clase de para manejar textos
void moUnloadPlugin(MOpluginHandle &handle)
static const moText & GetModulesDir()
moMasterEffectFactory *(MO_PLG_ENTRY * CreateMasterEffectFactoryFunction)()
void Load(moText plugin_file)
void(MO_PLG_ENTRY * DestroyMasterEffectFactoryFunction)()
virtual ~moMasterEffectFactory()
moMasterEffect * Create()
MOpluginHandle moLoadPlugin(moText fn)