33static const UnitID kRootUnitId = 0;
34static const UnitID kNoParentUnitId = -1;
65static const int32 kAllProgramInvalid = -1;
93 static const FUID iid;
96DECLARE_CLASS_IID (
IUnitHandler, 0x4B5147F8, 0x4654486B, 0x8DAB30BA, 0x163A3C56)
123 static const FUID iid;
126DECLARE_CLASS_IID (
IUnitHandler2, 0xF89F8CDF, 0x699E4BA5, 0x96AAC9A4, 0x81452B01)
186 int32 channel,
UnitID& unitId ) = 0;
196 static const FUID iid;
199DECLARE_CLASS_IID (
IUnitInfo, 0x3D4BD6B5, 0x913A4FD2, 0xA886E768, 0xA5EB92C1)
228 static const FUID iid;
231DECLARE_CLASS_IID (
IProgramListData, 0x8683B01F, 0x7B354F70, 0xA2651DEC, 0x353AF4FF)
260 static const FUID iid;
263DECLARE_CLASS_IID (
IUnitData, 0x6C389611, 0xD391455D, 0xB870B833, 0x94A0EFDD)
Handling 16 Byte Globally Unique Identifiers.
The basic interface of all interfaces.
Component extension to access program list data: Vst::IProgramListData.
virtual tresult PLUGIN_API getProgramData(ProgramListID listId, int32 programIndex, IBStream *data)=0
Gets for a given program list ID and program index the program Data.
virtual tresult PLUGIN_API setProgramData(ProgramListID listId, int32 programIndex, IBStream *data)=0
Sets for a given program list ID and program index a program Data.
virtual tresult PLUGIN_API programDataSupported(ProgramListID listId)=0
Returns kResultTrue if the given Program List ID supports Program Data.
Component extension to access unit data: Vst::IUnitData.
virtual tresult PLUGIN_API getUnitData(UnitID unitId, IBStream *data)=0
Gets the preset data for the specified unit.
virtual tresult PLUGIN_API unitDataSupported(UnitID unitID)=0
Returns kResultTrue if the specified unit supports export and import of preset data.
virtual tresult PLUGIN_API setUnitData(UnitID unitId, IBStream *data)=0
Sets the preset data for the specified unit.
Host callback for extended unit support: Vst::IUnitHandler2.
virtual tresult PLUGIN_API notifyUnitByBusChange()=0
Tell host that assignment Unit-Bus defined by IUnitInfo::getUnitByBus has changed.
Host callback for unit support: Vst::IUnitHandler.
virtual tresult PLUGIN_API notifyUnitSelection(UnitID unitId)=0
Notify host when a module is selected in plug-in GUI.
virtual tresult PLUGIN_API notifyProgramListChange(ProgramListID listId, int32 programIndex)=0
Tell host that the plug-in controller changed a program list (rename, load, PitchName changes).
Edit controller extension to describe the plug-in structure: Vst::IUnitInfo.
virtual tresult PLUGIN_API getProgramInfo(ProgramListID listId, int32 programIndex, CString attributeId, String128 attributeValue)=0
Gets for a given program list ID, program index and attributeId the associated attribute value.
virtual tresult PLUGIN_API getUnitByBus(MediaType type, BusDirection dir, int32 busIndex, int32 channel, UnitID &unitId)=0
Gets the according unit if there is an unambiguous relation between a channel or a bus and a unit.
virtual int32 PLUGIN_API getUnitCount()=0
Returns the flat count of units.
virtual tresult PLUGIN_API getProgramListInfo(int32 listIndex, ProgramListInfo &info)=0
Gets for a given index the Program List Info.
virtual tresult PLUGIN_API getUnitInfo(int32 unitIndex, UnitInfo &info)=0
Gets UnitInfo for a given index in the flat list of unit.
virtual UnitID PLUGIN_API getSelectedUnit()=0
Gets the current selected unit.
virtual tresult PLUGIN_API setUnitProgramData(int32 listOrUnitId, int32 programIndex, IBStream *data)=0
Receives a preset data stream.
virtual tresult PLUGIN_API selectUnit(UnitID unitId)=0
Sets a new selected unit.
virtual int32 PLUGIN_API getProgramListCount()=0
Component intern program structure.
virtual tresult PLUGIN_API getProgramPitchName(ProgramListID listId, int32 programIndex, int16 midiPitch, String128 name)=0
Gets the PitchName for a given program list ID, program index and pitch.
virtual tresult PLUGIN_API getProgramName(ProgramListID listId, int32 programIndex, String128 name)=0
Gets for a given program list ID and program index its program name.
virtual tresult PLUGIN_API hasProgramPitchNames(ProgramListID listId, int32 programIndex)=0
Returns kResultTrue if the given program index of a given program list ID supports PitchNames.
ProgramListID programListId
id of program list used in unit (kNoProgramListId = no programs used in this unit)
String128 name
name of program list
TChar String128[128]
128 character UTF-16 string
UnitID parentUnitId
identifier of parent unit (kNoParentUnitId: does not apply, this unit is the root)
int32 programCount
number of programs in this list
String128 name
name, optional for the root component, required otherwise
int32 ProgramListID
program list identifier
int32 BusDirection
bus direction (in/out)
int32 UnitID
unit identifier
const char8 * CString
C-String.
int32 MediaType
media type (audio/event)
ProgramListID id
program list identifier
Basic Program List Description.