From: Vitaly V. B. <vit...@us...> - 2004-07-30 11:36:19
|
> ____ > union { > struct { > int (*x)(); > } actor; > > struct { > int (*x)(); > } input; > > struct { > int (*x)(); > } morph; > } preferences; > what are these preferences for ? These will contain some plugin's requirements, like depth. Probably placing function pointers here could be nice idea. > /* > // count defaults to 1 > > const VisPluginInfo *get_plugin_info(int *count) > { > const VisPluginInfo info[] = { > / * blah-blah-blah * / > }; > *count = sizeof(info)/sizeof(*info); > return info; > } > What is count for ? It will make possible to create one library for multiple plugins. For example, morph plugins can be separated to a simplier ones by depth or make actor plugins with common codebase but very different appearance, or all-in-one :) These not plugins anymore, they are plugin libraries! :) > Besides these questions, it looks good, if you can create a patch for this > and put > it on the list, it would be great! OK, here's a first patch. Sorry, it's againts old cvs tree. Sorry, it's a dirty patch. But it works. At least it's capable to run two ported plugins -- alsa and lv_dna. No morph stuff is ported, but it's easy to do: 1. s/VisMorphPlugin/VisPluginData/ in lv_plugin.h 2. fix lv_morph.[ch] 3. port plugin[s]. Looks like that's all for now. I'm going on vacation for a week or two starting monday or so. I won't be available. Anyway, everybody is welcome to try this patch, fix something ;) and send a report! -- Thanks, Vitaly GPG Key ID: F95A23B9 |