LMMS
Loading...
Searching...
No Matches
Steinberg::Vst::IUnitInfo Class Referenceabstract

#include <ivstunits.h>

Inheritance diagram for Steinberg::Vst::IUnitInfo:
Steinberg::FUnknown Steinberg::Vst::EditControllerEx1

Public Member Functions

virtual int32 PLUGIN_API getUnitCount ()=0
virtual tresult PLUGIN_API getUnitInfo (int32 unitIndex, UnitInfo &info)=0
virtual int32 PLUGIN_API getProgramListCount ()=0
virtual tresult PLUGIN_API getProgramListInfo (int32 listIndex, ProgramListInfo &info)=0
virtual tresult PLUGIN_API getProgramName (ProgramListID listId, int32 programIndex, String128 name)=0
virtual tresult PLUGIN_API getProgramInfo (ProgramListID listId, int32 programIndex, CString attributeId, String128 attributeValue)=0
virtual tresult PLUGIN_API hasProgramPitchNames (ProgramListID listId, int32 programIndex)=0
virtual tresult PLUGIN_API getProgramPitchName (ProgramListID listId, int32 programIndex, int16 midiPitch, String128 name)=0
virtual UnitID PLUGIN_API getSelectedUnit ()=0
virtual tresult PLUGIN_API selectUnit (UnitID unitId)=0
virtual tresult PLUGIN_API getUnitByBus (MediaType type, BusDirection dir, int32 busIndex, int32 channel, UnitID &unitId)=0
virtual tresult PLUGIN_API setUnitProgramData (int32 listOrUnitId, int32 programIndex, IBStream *data)=0
Public Member Functions inherited from Steinberg::FUnknown
virtual tresult PLUGIN_API queryInterface (const TUID _iid, void **obj)=0
virtual uint32 PLUGIN_API addRef ()=0
virtual uint32 PLUGIN_API release ()=0

Static Public Attributes

static const FUID iid
Static Public Attributes inherited from Steinberg::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

◆ getProgramInfo()

virtual tresult PLUGIN_API Steinberg::Vst::IUnitInfo::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 Steinberg::Vst::EditControllerEx1.

◆ getProgramListCount()

virtual int32 PLUGIN_API Steinberg::Vst::IUnitInfo::getProgramListCount ( )
pure virtual

Component intern program structure. Gets the count of Program List.

Implemented in Steinberg::Vst::EditControllerEx1.

◆ getProgramListInfo()

virtual tresult PLUGIN_API Steinberg::Vst::IUnitInfo::getProgramListInfo ( int32 listIndex,
ProgramListInfo & info )
pure virtual

Gets for a given index the Program List Info.

Implemented in Steinberg::Vst::EditControllerEx1.

◆ getProgramName()

virtual tresult PLUGIN_API Steinberg::Vst::IUnitInfo::getProgramName ( ProgramListID listId,
int32 programIndex,
String128 name )
pure virtual

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

Implemented in Steinberg::Vst::EditControllerEx1.

◆ getProgramPitchName()

virtual tresult PLUGIN_API Steinberg::Vst::IUnitInfo::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 Steinberg::Vst::EditControllerEx1.

◆ getSelectedUnit()

virtual UnitID PLUGIN_API Steinberg::Vst::IUnitInfo::getSelectedUnit ( )
pure virtual

Gets the current selected unit.

Implemented in Steinberg::Vst::EditControllerEx1.

◆ getUnitByBus()

virtual tresult PLUGIN_API Steinberg::Vst::IUnitInfo::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 Steinberg::Vst::EditControllerEx1.

◆ getUnitCount()

virtual int32 PLUGIN_API Steinberg::Vst::IUnitInfo::getUnitCount ( )
pure virtual

Returns the flat count of units.

Implemented in Steinberg::Vst::EditControllerEx1.

◆ getUnitInfo()

virtual tresult PLUGIN_API Steinberg::Vst::IUnitInfo::getUnitInfo ( int32 unitIndex,
UnitInfo & info )
pure virtual

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

Implemented in Steinberg::Vst::EditControllerEx1.

◆ hasProgramPitchNames()

virtual tresult PLUGIN_API Steinberg::Vst::IUnitInfo::hasProgramPitchNames ( ProgramListID listId,
int32 programIndex )
pure virtual

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

Implemented in Steinberg::Vst::EditControllerEx1.

◆ selectUnit()

virtual tresult PLUGIN_API Steinberg::Vst::IUnitInfo::selectUnit ( UnitID unitId)
pure virtual

Sets a new selected unit.

Implemented in Steinberg::Vst::EditControllerEx1.

◆ setUnitProgramData()

virtual tresult PLUGIN_API Steinberg::Vst::IUnitInfo::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 Steinberg::Vst::EditControllerEx1.

Member Data Documentation

◆ iid

const FUID Steinberg::Vst::IUnitInfo::iid
static

The documentation for this class was generated from the following file: