See README for general informations. See COMPILE for building informations. See TODO for packages' ideas. _______________________________________________________________________ EXTEND VETLib EXTEND VETLib Extending library means to develop a standard VETLib component, it is NOT required to build library on your platform, you may use static binaries but you should already know how to use VETLib, first read ./USE. Requirements -============ You will need following items to code a VETLib component: ./lib/{..} Static library binary for your platform (ex. VETLib.lib or VETLib.a) ./packages/*.* Templates, sample and empty components and VETLib Package Studio software. ./source/*.h Headers are required by source code. Package Starter Kit -=================== Package Starter Kit is an archive designed for extending VETLib, it comes with a great tool: Package Studio, the simpler (and best) way is to download last updated version of VETLib SDK (FULL) and PSK archives. Conventions -=========== o Name header and source files as classname (Java like). Class Name must be formatted as follow: , where prefix is the name of base interface, examples: vetFilter -> vetFilterGeometric vetCodec -> vetCodec_BMP o Check ./packages/NAMESPACE and choose a valid classname o Develope your module in directory ./packages/ o Most functions that return a state value, such as extractTo(..) or importFrom(..), must use the type VETRESULT, defined as an integer in vetDefs.h, return codes convention is 0<->OK, error else. o Filters should implement a parameters class (vetParameters) that serialize filter in XML format. Package Development -=================== A standard VETLib package contains following files: vet.h Class Header vet.cpp Class Source test_vet.cpp Test source [int main()] Makefile Make configuration file test_vet.bpr Borland C++ Builder 6.0 project file test_common.bpf Borland C++ Builder 6.0 project file test_vet.dsp Microsoft Visual Studio 6.0 project file test_vet.dsw Microsoft Visual Studio 6.0 Workspace file vet.Readme Readme of the component vet.License License of the component Please keep all source code in ONE file (vet.cpp) and all classes useful for users in header vet.h (for example a filter includes also the vetParameters class). Notes -===== If you plan to extend library you should be able to built it, read COMPILE for more informations, anyway default configuration uses static library binaries. Then respect following conventions and tips: o If you are going to (re)implement streaming operators, remember that you need to redefine all (streaming) operators, also the old ones. Example: To add >> vetFrameRGB96 support you have to define void operator << (vetFrameRGB& img) { importFrom(img); }; and related VETRESULT importFrom(vetFrameRGB96& img); but you must also REdefine: void operator << (vetFrameRGB24& img) { importFrom(img); }; void operator << (vetFrameYUV420& img) { importFrom(img); }; void operator << (vetFrameT& img) { importFrom(img); }; o Implement testing code as a simple application, located in your package's folder and named 'test_.cpp', create Makefile, Borland and Microsoft project files. I Wish include my Package in distribution -========================================= Great, please send your package to vetlib@ewgate.net: Note: when a package is released, files are moved and integrated into VETLib Builts, Authors' credits will be added to ./AUTHORS. _________________________________________________________________________________________ Last file update: 18/01/2006 Updated EXTEND: http://lnx.ewgate.net/vetlib/distr/EXTEND