vc::effects Class Reference

#include <effects.h>

Collaboration diagram for vc::effects:

Collaboration graph
[legend]

List of all members.


Detailed Description

The effects class manages and applies plugin effects.

Public Member Functions

int populateRegistry ()
 This method searches the default plugin path for effects and loads them.
void registerEffect (std::string)
 This method attempts to register a given effect.
std::vector
< std::string > 
getEffectNames ()
 Gets a listing of all registered effects by name.
std::string getEffectDescription (std::string)
 Attempts to get an effects description.
double getEffectVersion (std::string)
 Attempts to get an effects version.
std::string getEffectAuthor (std::string)
 Attempts to get an effects author.
std::string getEffectWebsite (std::string)
 Attempts to get an effects website.
std::string getEffectContact (std::string)
 Attempts to get an effects contact address.
std::vector
< effectArgument
getArguments (std::string)
 Get's a listing of arguments for an effect.
void applyEffect (std::string, vc::vdFrame &)
 Applys an effect to a frame without arguments.
void applyEffect (std::string, vc::vdFrame &, std::vector< effectArgument >)
 Applys an effect to a frame.

Static Public Member Functions

static effectsinstance ()
 Because the effects class is a singleton, it must be accessed with a pointer and not a "real" object.

Protected Member Functions

 effects ()
 effects (const effects &)
effectsoperator= (const effects &)

Private Attributes

std::map
< std::string,
effect
registeredEffects

Static Private Attributes

static effectspinstance = NULL

Constructor & Destructor Documentation

vc::effects::effects (  )  [protected]

vc::effects::effects ( const effects  )  [protected]


Member Function Documentation

effects * vc::effects::instance (  )  [static]

Because the effects class is a singleton, it must be accessed with a pointer and not a "real" object.

Use this class to get a reference to the object.

int vc::effects::populateRegistry (  ) 

This method searches the default plugin path for effects and loads them.

Todo:
Recursive search.
Todo:
Better test of file?
Returns:
The number of effects added to the registry.

Todo:
Real install path!

Todo:
Do anything with that error?

void vc::effects::registerEffect ( std::string  filename  ) 

This method attempts to register a given effect.

Exceptions:
string On any failure to load the effect.
Parameters:
filename The path to the plugin.

std::vector< std::string > vc::effects::getEffectNames (  ) 

Gets a listing of all registered effects by name.

Returns:
An std::vector of std::strings with the effect names in them.

std::string vc::effects::getEffectDescription ( std::string  _name  ) 

Attempts to get an effects description.

Exceptions:
string If effect not registered.
Parameters:
_name The name of the effect.
Returns:
The description of the effect.

double vc::effects::getEffectVersion ( std::string  _name  ) 

Attempts to get an effects version.

Exceptions:
string If effect not registered.
Parameters:
_name The name of the effect.
Returns:
The version of the effect.

std::string vc::effects::getEffectAuthor ( std::string  _name  ) 

Attempts to get an effects author.

Exceptions:
string If effect not registered.
Parameters:
_name The name of the effect.
Returns:
The author of the effect.

std::string vc::effects::getEffectWebsite ( std::string  _name  ) 

Attempts to get an effects website.

Exceptions:
string If effect not registered.
Parameters:
_name The name of the effect.
Returns:
The website of the effect.

std::string vc::effects::getEffectContact ( std::string  _name  ) 

Attempts to get an effects contact address.

Exceptions:
string If effect not registered.
Parameters:
_name The name of the effect.
Returns:
The contact address of the effect.

std::vector< effectArgument > vc::effects::getArguments ( std::string  _name  ) 

Get's a listing of arguments for an effect.

Exceptions:
string If effect not registered.
Parameters:
_name The name of the effect.
Returns:
A std::vector of effectArgument structs. The name, description and type fields will be filled.

void vc::effects::applyEffect ( std::string  _name,
vc::vdFrame _frame 
)

Applys an effect to a frame without arguments.

Exceptions:
string Pass through from fully specified version.
Parameters:
_name The name of the effect.
_frame The frame to work on.

void vc::effects::applyEffect ( std::string  _name,
vc::vdFrame _frame,
std::vector< effectArgument args 
)

Applys an effect to a frame.

Exceptions:
string If effect not registered.
Parameters:
_name The name of the effect.
_frame The frame to work on.
args The argument list to use.

effects& vc::effects::operator= ( const effects  )  [protected]


Member Data Documentation

effects * vc::effects::pinstance = NULL [static, private]

std::map<std::string, effect> vc::effects::registeredEffects [private]


The documentation for this class was generated from the following files:
Generated on Mon Jul 28 16:14:11 2008 for libvcvideo by  doxygen 1.5.3