Helper for XML Representation creation. More...
#include <vstrepresentation.h>
Public Member Functions | |
XmlRepresentationHelper (RepresentationInfo &info, FIDString companyName, FIDString pluginName, TUID &pluginUID, IBStream *stream) | |
virtual | ~XmlRepresentationHelper () |
bool | startPage (FIDString name, int32 unitID=-1) |
Starts a Page before adding a Cell. | |
bool | endPage () |
Ends a Page before opening a new one. | |
bool | startCell () |
Starts a Cell before adding a Layer. | |
bool | endCell () |
Ends a Cell when no more layer needed. | |
bool | startEndCell () |
Creates an empty cell (alignment for example). | |
bool | startLayer (int32 type, int32 id, FIDString _function=0, FIDString style=0) |
Starts a layer for a given type (Vst::LayerType), a parameter id, optionally a function (Vst::AttributesFunction) and a style (Vst::AttributesStyle). | |
bool | endLayer () |
Ends a layer before adding new one. | |
bool | startEndLayer (int32 type, int32 id, FIDString _function=0, FIDString style=0) |
Same than startLayer except that the layer will be ended automatically (no need to call endLayer). | |
bool | startEndCellOneLayer (int32 type, int32 id, FIDString _function=0, FIDString style=0) |
Creates a Cell with 1 Layer and end it, could be only call after a call to startPage. | |
bool | startLayer (Vst::ParameterInfo &info, FIDString _function=0) |
Starts a layer for a given parameter info and an optional function (Vst::AttributesFunction). | |
bool | startEndLayer (Vst::ParameterInfo &info, FIDString _function=0) |
Same than startLayer with end created automatically. | |
bool | startEndCellOneLayer (Vst::ParameterInfo &info, FIDString _function=0) |
Creates a Cell with 1 Layer and end it, could be only call after a call to startPage. | |
bool | startEndCellOneLayerWithParamName (Vst::ParameterInfo &info, FIDString _function=0) |
Creates a Cell with 1 Layer (with name) and end it, could be only call after a call to startPage. | |
Protected Types | |
enum | { kInRepresentation = 0, kInPage, kInCell, kInLayer, kInTitleDisplay, kInName } |
Protected Member Functions | |
bool | startLayer (int32 type, int32 id, FIDString _function, FIDString style, bool ended) |
bool | startLayer (Vst::ParameterInfo &info, FIDString _function, bool ended) |
bool | startEndTitleDisplay (Vst::ParameterInfo &info) |
bool | checkState (int32 newState) |
Protected Attributes | |
IBStreamer * | streamer |
int32 | state |
Helper for XML Representation creation.
Here an example of how to use this helper:
// here the parameter ids used by this example enum { kGain = 129, kSize, kCutoff, kResonance, kMaster, kEnable1, kEnable2, kFrequency1, kFrequency2, kGain1, kGain2, }; //------------------------------------------------------------------------ tresult PLUGIN_API MyPlugInController::getXmlRepresentationStream (Vst::RepresentationInfo& info, IBStream* stream) { String name (info.name); if (name == GENERIC_8_CELLS) { Vst::XmlRepresentationHelper helper (info, "My Company Name", "My Product Name", gPlugProcessorClassID, stream); helper.startPage ("Main Page"); helper.startEndCellOneLayer (Vst::LayerType::kKnob, kGain); helper.startEndCellOneLayer (Vst::LayerType::kKnob, kSize); helper.startEndCellOneLayer (Vst::LayerType::kKnob, kMaster); helper.startEndCell (); // empty cell helper.startEndCellOneLayer (Vst::LayerType::kKnob, kCutoff); helper.startEndCellOneLayer (Vst::LayerType::kKnob, kResonance); helper.startEndCell (); // empty cell helper.startEndCell (); // empty cell helper.endPage (); helper.startPage ("Page 2"); helper.startEndCellOneLayer (Vst::LayerType::kSwitch, kEnable1); helper.startEndCellOneLayer (Vst::LayerType::kKnob, kFrequency1); helper.startEndCellOneLayer (Vst::LayerType::kKnob, kGain1); helper.startEndCell (); // empty helper.startEndCellOneLayer (Vst::LayerType::kSwitch, kEnable2); helper.startEndCellOneLayer (Vst::LayerType::kKnob, kFrequency2); helper.startEndCellOneLayer (Vst::LayerType::kKnob, kGain2); helper.startEndCell (); // empty helper.endPage (); return kResultTrue; } return kResultFalse; }
anonymous enum [protected] |
XmlRepresentationHelper | ( | Vst::RepresentationInfo & | info, | |
FIDString | companyName, | |||
FIDString | pluginName, | |||
TUID & | pluginUID, | |||
IBStream * | stream | |||
) |
~XmlRepresentationHelper | ( | ) | [virtual] |
bool endPage | ( | ) |
Ends a Page before opening a new one.
bool startCell | ( | ) |
Starts a Cell before adding a Layer.
bool endCell | ( | ) |
Ends a Cell when no more layer needed.
bool startEndCell | ( | ) |
Creates an empty cell (alignment for example).
Starts a layer for a given type (Vst::LayerType), a parameter id, optionally a function (Vst::AttributesFunction) and a style (Vst::AttributesStyle).
bool endLayer | ( | ) |
Ends a layer before adding new one.
Same than startLayer except that the layer will be ended automatically (no need to call endLayer).
Creates a Cell with 1 Layer and end it, could be only call after a call to startPage.
bool startLayer | ( | Vst::ParameterInfo & | info, | |
FIDString | _function = 0 | |||
) |
Starts a layer for a given parameter info and an optional function (Vst::AttributesFunction).
bool startEndLayer | ( | Vst::ParameterInfo & | info, | |
FIDString | _function = 0 | |||
) |
Same than startLayer with end created automatically.
bool startEndCellOneLayer | ( | Vst::ParameterInfo & | info, | |
FIDString | _function = 0 | |||
) |
Creates a Cell with 1 Layer and end it, could be only call after a call to startPage.
bool startEndCellOneLayerWithParamName | ( | Vst::ParameterInfo & | info, | |
FIDString | _function = 0 | |||
) |
Creates a Cell with 1 Layer (with name) and end it, could be only call after a call to startPage.
bool startLayer | ( | int32 | type, | |
int32 | id, | |||
FIDString | _function, | |||
FIDString | style, | |||
bool | ended | |||
) | [protected] |
bool startLayer | ( | Vst::ParameterInfo & | info, | |
FIDString | _function, | |||
bool | ended | |||
) | [protected] |
bool startEndTitleDisplay | ( | Vst::ParameterInfo & | info | ) | [protected] |
bool checkState | ( | int32 | newState | ) | [protected] |
IBStreamer* streamer [protected] |