From: salsaman <sal...@xs...> - 2004-09-03 12:29:33
|
Hi, here is a first attempt at a libvisual wrapper. It is by no means complete yet, but I am showing you so you can all see the basic structure. Start by looking at the livido_setup function. Here we set the channels, no input channels, and one output channel for each plugin. In the livido_setup there will be a factory method to get the list of libvisual plugins and create the out_palettes array for each one. (Currently I have this fixed at BGR24, this is just so that it gets loaded in LiVES). Livido_setup will return the array fx[] with one entry for each plugin. The other functions will have the following uses: libvis_init : here is where a particular instance of a plugin will be loaded and the negotiation done. Host will have picked a palette from the allowed list for that plugin, and will have set a channel size (width and height). libvis_deinit : here the plugin instance will be unloaded libvis_process : here is where a frame will be requested from a plugin instance, and the result returned in the out channel. Note I am using a slightly old version of livido. In the current version the names of palettes have changed to e.g. RGB888, there are a few other changes, but nothing that really affects this particular wrapper. Regards, Salsaman. |