VST 3 Interfaces VST 3.7
SDK for developing VST plug-in
IUnitInfo Class Referenceabstract

Edit controller extension to describe the plug-in structure: Vst::IUnitInfo. More...

#include <ivstunits.h>

+ Inheritance diagram for IUnitInfo:

Public Member Functions

virtual int32 getUnitCount ()=0
 Returns the flat count of units. More...
 
virtual tresult getUnitInfo (int32 unitIndex, UnitInfo &info)=0
 Gets UnitInfo for a given index in the flat list of unit. More...
 
virtual int32 getProgramListCount ()=0
 Component intern program structure. More...
 
virtual tresult getProgramListInfo (int32 listIndex, ProgramListInfo &info)=0
 Gets for a given index the Program List Info. More...
 
virtual tresult getProgramName (ProgramListID listId, int32 programIndex, String128 name)=0
 Gets for a given program list ID and program index its program name. More...
 
virtual tresult 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. More...
 
virtual tresult hasProgramPitchNames (ProgramListID listId, int32 programIndex)=0
 Returns kResultTrue if the given program index of a given program list ID supports PitchNames. More...
 
virtual tresult getProgramPitchName (ProgramListID listId, int32 programIndex, int16 midiPitch, String128 name)=0
 Gets the PitchName for a given program list ID, program index and pitch. More...
 
virtual UnitID getSelectedUnit ()=0
 Gets the current selected unit. More...
 
virtual tresult selectUnit (UnitID unitId)=0
 Sets a new selected unit. More...
 
virtual tresult 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. More...
 
virtual tresult setUnitProgramData (int32 listOrUnitId, int32 programIndex, IBStream *data)=0
 Receives a preset data stream. More...
 
- Public Member Functions inherited from FUnknown
virtual tresult queryInterface (const TUID _iid, void **obj)=0
 
virtual uint32 addRef ()=0
 
virtual uint32 release ()=0
 

Static Public Attributes

static const FUID iid
 
- Static Public Attributes inherited from FUnknown
static const FUID iid
 

Detailed Description

Edit controller extension to describe the plug-in structure: Vst::IUnitInfo.

IUnitInfo describes the internal structure of the plug-in.

  • The root unit is the component itself, so getUnitCount must return 1 at least.
  • The root unit id has to be 0 (kRootUnitId).
  • Each unit can reference one program list - this reference must not change.
  • Each unit, using a program list, references one program of the list.
See also
vst3Units, IUnitHandler

Member Function Documentation

◆ getUnitCount()

virtual int32 getUnitCount ( )
pure virtual

Returns the flat count of units.

Implemented in EditControllerEx1.

◆ getUnitInfo()

virtual tresult getUnitInfo ( int32  unitIndex,
UnitInfo info 
)
pure virtual

Gets UnitInfo for a given index in the flat list of unit.

Implemented in EditControllerEx1.

◆ getProgramListCount()

virtual int32 getProgramListCount ( )
pure virtual

Component intern program structure.

Gets the count of Program List.

Implemented in EditControllerEx1.

◆ getProgramListInfo()

virtual tresult getProgramListInfo ( int32  listIndex,
ProgramListInfo info 
)
pure virtual

Gets for a given index the Program List Info.

Implemented in EditControllerEx1.

◆ getProgramName()

virtual tresult getProgramName ( ProgramListID  listId,
int32  programIndex,
String128  name 
)
pure virtual

Gets for a given program list ID and program index its program name.

Implemented in EditControllerEx1.

◆ getProgramInfo()

virtual tresult getProgramInfo ( ProgramListID  listId,
int32  programIndex,
CString  attributeId,
String128  attributeValue 
)
pure virtual

Gets for a given program list ID, program index and attributeId the associated attribute value.

Implemented in EditControllerEx1.

◆ hasProgramPitchNames()

virtual tresult hasProgramPitchNames ( ProgramListID  listId,
int32  programIndex 
)
pure virtual

Returns kResultTrue if the given program index of a given program list ID supports PitchNames.

Implemented in EditControllerEx1.

◆ getProgramPitchName()

virtual tresult getProgramPitchName ( ProgramListID  listId,
int32  programIndex,
int16  midiPitch,
String128  name 
)
pure virtual

Gets the PitchName for a given program list ID, program index and pitch.

If PitchNames are changed the plug-in should inform the host with IUnitHandler::notifyProgramListChange.

Implemented in EditControllerEx1.

◆ getSelectedUnit()

virtual UnitID getSelectedUnit ( )
pure virtual

Gets the current selected unit.

Implemented in EditControllerEx1.

◆ selectUnit()

virtual tresult selectUnit ( UnitID  unitId)
pure virtual

Sets a new selected unit.

Implemented in EditControllerEx1.

◆ getUnitByBus()

virtual tresult getUnitByBus ( MediaType  type,
BusDirection  dir,
int32  busIndex,
int32  channel,
UnitID unitId 
)
pure virtual

Gets the according unit if there is an unambiguous relation between a channel or a bus and a unit.

This method mainly is intended to find out which unit is related to a given MIDI input channel.

Implemented in EditControllerEx1.

◆ setUnitProgramData()

virtual tresult setUnitProgramData ( int32  listOrUnitId,
int32  programIndex,
IBStream data 
)
pure virtual

Receives a preset data stream.

  • If the component supports program list data (IProgramListData), the destination of the data stream is the program specified by list-Id and program index (first and second parameter)
  • If the component supports unit data (IUnitData), the destination is the unit specified by the first parameter - in this case parameter programIndex is < 0).

Implemented in EditControllerEx1.

Member Data Documentation

◆ iid

const FUID iid
static
Empty

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