VST 3 SDK  VST 3.7
SDK for developing VST plug-in
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Macros Groups Pages
XmlRepresentationHelper Class Reference

Helper for XML Representation creation. More...

#include <vstrepresentation.h>

Public Member Functions

 XmlRepresentationHelper (const RepresentationInfo &info, const FIDString companyName, const FIDString pluginName, const 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=nullptr, FIDString style=nullptr)
 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=nullptr, FIDString style=nullptr)
 Same than startLayer except that the layer will be ended automatically (no need to call endLayer).
 
bool startEndCellOneLayer (int32 type, int32 id, FIDString _function=nullptr, FIDString style=nullptr)
 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=nullptr)
 Starts a layer for a given parameter info and an optional function (Vst::AttributesFunction).
 
bool startEndLayer (Vst::ParameterInfo &info, FIDString _function=nullptr)
 Same than startLayer with end created automatically.
 
bool startEndCellOneLayer (Vst::ParameterInfo &info, FIDString _function=nullptr)
 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=nullptr)
 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

IPtr< IBStreamstream
 
int32 state
 

Detailed Description

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;
}

Member Enumeration Documentation

anonymous enum
protected
Enumerator
kInRepresentation 
kInPage 
kInCell 
kInLayer 
kInTitleDisplay 
kInName 

Constructor & Destructor Documentation

XmlRepresentationHelper ( const RepresentationInfo info,
const FIDString  companyName,
const FIDString  pluginName,
const TUID pluginUID,
IBStream stream 
)

Member Function Documentation

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 = nullptr,
FIDString  style = nullptr 
)

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 = nullptr,
FIDString  style = nullptr 
)

Same than startLayer except that the layer will be ended automatically (no need to call endLayer).

bool startEndCellOneLayer ( int32  type,
int32  id,
FIDString  _function = nullptr,
FIDString  style = nullptr 
)

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 = nullptr 
)

Starts a layer for a given parameter info and an optional function (Vst::AttributesFunction).

bool startEndLayer ( Vst::ParameterInfo info,
FIDString  _function = nullptr 
)

Same than startLayer with end created automatically.

bool startEndCellOneLayer ( Vst::ParameterInfo info,
FIDString  _function = nullptr 
)

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 = nullptr 
)

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

Member Data Documentation

IPtr<IBStream> stream
protected
int32 state
protected
Empty

Copyright ©2024 Steinberg Media Technologies GmbH. All Rights Reserved. This documentation is under this license.