Plugins are created by using the Interface specified in interface.h ( Note: createdvd.h is temporary and will be removed )

menuslide was the first simple iteration of the plug-in system which in fact was statically linked into the application.

Integration of the OneClickDVD - system ( a wizard type interface to create a simple DVD from multiple input sources ) forced the overhaul of the plug in system such to accomodate the possible selection of multiple ways to create the resulting DVD from the input specified.

How it works : 
The DVD wizard will collect all required information from the user such as DV/image/avi's, Project name, type (NTSC/PAL) etc.

This information is passed through the specified Interface to the plugin which in turn can obtain further information from the user through the config widget.

Once all the information is obtained the plugin emits signals to create menu and source structures for the DVD

    // This signal will create the DVDMenu
    void signalNewMenuResponse ( enType theType, QString qsName, QString qsXML );
    // This signal will create a new SourceFileEntry
    void signalNewSourceFile   ( SourceFileEntry * );

After the structure was created the application will go ahead and 
a) store the project file.
b) create all required slideshows according to the settings provided.

After all slideshows have been created QDVDAuthor will go ahead and create the DVD to the point specified ( could be file structure, ISO image, ISO + ECC, Burn to DVD )


interface.h
sourcegroups.h

menuslide	- PlugIn to create an animated menu
simpledvd	- PlugIn to craete a DVD structure from user provided input.

plugins  	- PlugIn directory. All plugins go here ( and will be copied to the system folder at make install )
testplugs	- PlugIn test application. This app will load all PlugIns and display their config widget.



