59 DWORD dw = GetLastError();
60 sprintf(szBuf,
"%s failed: GetLastError returned %u\n",
61 (
char*)plugin_file, (
int)dw);
69 farp = GetProcAddress(handle,
"DestroyPreEffectFactory");
100 if(pfx==NULL)
return NULL;
106 for(
int i=0;i<
n;i++) narray[i] =
array[i];
126 if(
array[j]==preeffect) {
135 for(i=0;i<j;i++) narray[i] =
array[i];
136 for(i=j;i<(n-1);i++) narray[i] =
array[i+1];
155 if(!stricmp(effect_name,
"nil"))
return NULL;
160 complete_name+=
moText(
"_d");
162 complete_name +=
moText(
".dll");
166 complete_name+=
moText(
"_d");
168 complete_name += moPluginExtension;
175 for(
MOuint i = 0; i < plugins.Count(); i++)
176 if(!stricmp(plugins[i]->GetName(), complete_name))
186 plg_index = plugins.Count();
188 plugins.Add( pplugin );
192 if(plugins[plg_index]->m_factory!=NULL)
193 return plugins[plg_index]->Create();
204 if(!stricmp(preeffect->
GetName(),
""))
return false;
209 complete_name+=
moText(
"_d");
211 complete_name +=
moText(
".dll");
215 complete_name+=
moText(
"_d");
217 complete_name += moPluginExtension;
224 for(
MOuint i = 0; i < plugins.Count(); i++)
225 if(!stricmp(plugins[i]->GetName(), complete_name))
236 bool res = plugins[plg_index]->Destroy(preeffect);
239 if (res && plugins[plg_index]->n == 0) {
240 plugins[plg_index]->Unload();
241 plugins.Remove(plg_index);
void Load(moText plugin_file)
virtual moPreEffect * Create(void)=0
void(MO_PLG_ENTRY * DestroyPreEffectFactoryFunction)()
CreatePreEffectFactoryFunction CreatePreEffectFactory
static void Error(moText p_text)
Anuncia un error.
const moText & GetName() const
clase base para definir Pre-Efectos.
moPreEffectFactory *(MO_PLG_ENTRY * CreatePreEffectFactoryFunction)()
LIBMOLDEO_API moPreEffect * moNewPreEffect(moText effect_name, moPrePluginsArray &plugins)
clase de para manejar textos
void moUnloadPlugin(MOpluginHandle &handle)
static const moText & GetModulesDir()
moPreEffectFactory * m_factory
bool Destroy(moPreEffect *preeffect)
virtual void Destroy(moPreEffect *fx)=0
moDefineDynamicArray(moPrePluginsArray) moPreEffectFactory
LIBMOLDEO_API bool moDeletePreEffect(moPreEffect *preeffect, moPrePluginsArray &plugins)
MOpluginHandle moLoadPlugin(moText fn)
DestroyPreEffectFactoryFunction DestroyPreEffectFactory