# Class TVstPlugIn

Description | Hierarchy | Fields | Methods | Properties

## Unit

DVSTHost

## Declaration

`type TVstPlugIn = class(TCollectionItem)`

## Description

## Hierarchy

- TCollectionItem
- TVstPlugIn

## Overview

### Fields

| `PVstEffect: PVSTEffect;`
| `GUIForm: TForm;`

### Methods

| `constructor Create(Collection: TCollection); override;`
| `destructor Destroy; override;`
| `function GetDisplayName: string; override;`
| `function GetVendorString: string;`
| `function GetProductString: string;`
| `function GetVendorVersion: Integer;`
| `function GetProgram: Integer;`
| `procedure SetProgram(lValue: Integer);`
| `function GetProgramName: string;`
| `procedure SetProgramName(newName: string);`
| `procedure SetSampleRate(fSR: double);`
| `procedure Open;`
| `procedure Close;`
| `function Load(PluginDll: TFilename): Boolean;`
| `procedure UnLoad;`
| `procedure ShowEdit(Form: TForm); overload;`
| `procedure ShowEdit; overload;`
| `function EditGetRect: ERect;`
| `function EditOpen(Handle: THandle): Integer;`
| `procedure EditClose;`
| `procedure CloseEdit;`
| `procedure MainsChanged(bOn: boolean);`
| `procedure SetParameter(index: Integer; parameter: Single); virtual;`
| `function GetParameter(index: Integer): Single; virtual;`
| `function GetParamLabel(index: Integer): string;`
| `function GetParamDisplay(index: Integer): string;`
| `function GetParamName(index: Integer): string;`
| `function GetVu: Single;`
| `function Identify: Integer;`
| `procedure Process(inputs, outputs: ppSingle; Sampleframes: Integer); virtual;`
| `procedure ProcessReplacing(inputs, outputs: ppSingle; Sampleframes: Integer); virtual;`
| `procedure ProcessDoubleReplacing(inputs, outputs: ppDouble; Sampleframes: Integer); virtual;`
| `procedure ProcessAudio(inputs, outputs: ppSingle; Sampleframes: Integer);`
| `function GetChunk(pntr: pointer; isPreset: boolean = false): Integer;`
| `function SetChunk(data: pointer; byteSize: Integer; isPreset: boolean = false): Integer;`
| `function ProcessEvents(pntr: PVstEvents): Integer;`
| `function CanBeAutomated(index: Integer): Integer;`
| `function String2Parameter(ParameterName: string): Integer;`
| `function GetNumProgramCategories: Integer;`
| `function GetProgramNameIndexed(category, index: Integer; ProgramName: PChar): Integer;`
| `function CopyCurrentProgramTo(Destination: Integer): Boolean;`
| `function ConnectInput(InputNr: Integer; state: boolean): Integer;`
| `function ConnectOutput(OutputNr: Integer; state: boolean): Integer;`
| `function GetInputProperties(InputNr: Integer): TVstPinProperties;`
| `function GetOutputProperties(OutputNr: Integer): TVstPinProperties;`
| `function GetPlugCategory: TVstPluginCategory;`
| `function GetCurrentPosition: Integer;`
| `function GetDestinationBuffer: Integer;`
| `function OfflineNotify(pntr: PVstAudioFile; numAudioFiles: Integer; start: boolean): Integer;`
| `function OfflinePrepare(pntr: PVstOfflineTask; count: Integer): Integer;`
| `function OfflineRun(pntr: PVstOfflineTask; count :Integer): Integer;`
| `function ProcessVarIo(varIo: PVstVariableIo): Integer;`
| `function SetSpeakerArrangement(pluginInput: PVstSpeakerArrangement; pluginOutput: PVstSpeakerArrangement): Boolean;`
| `function SetBlockSizeAndSampleRate(blockSize: Integer; sampleRate: Single): Integer;`
| `function SetBypass(onOff: Boolean): Integer;`
| `function GetEffectName: string;`
| `function GetErrorText: string;`
| `function GetTailSize: Integer;`
| `function GetIcon: Integer;`
| `function GetVstVersion: Integer;`
| `function GetSpeakerArrangement(SpeakerIn, SpeakerOut:PVstSpeakerArrangement): Integer;`
| `function ShellGetNextPlugin(var PluginName:String): Integer;`
| `function EditKeyDown(Key : Char; VirtualKeycode : Integer; Modifier :Double): Boolean;`
| `function EditKeyUp(Key : Char; VirtualKeycode : Integer; Modifier :Double): Boolean;`
| `procedure SetEditKnobMode(Mode : TKnobMode);`
| `procedure StartProcess;`
| `procedure StopProcess;`
| `procedure SetTotalSampleToProcess;`
| `procedure BeginSetProgram;`
| `procedure EndSetProgram;`
| `procedure SetPanLaw(PanLaw: TVstPanLawType; Gain: Single);`
| `function GetMidiProgramName(MidiProgramNamePointer : PMidiProgramName): Integer;`
| `function GetCurrentMidiProgram(MidiProgramNamePointer : PMidiProgramName): Integer;`
| `function GetMidiProgramCategory(MidiProgramCategoryPointer : PMidiProgramCategory): Integer;`
| `function HasMidiProgramsChanged: Integer;`
| `function GetMidiKeyName(MidiKeyNamePointer: PMidiKeyName): Integer;`
| `function BeginLoadBank(PatchChunkInfo : PVstPatchChunkInfo): integer;`
| `procedure BeginLoadProgram(PatchChunkInfo : PVstPatchChunkInfo);`
| `function GetRect: TRect;`
| `function GetParameterProperties(Parameter: Integer): TVstParameterProperties;`
| `function VendorSpecific(index, value:Integer; pntr: pointer; opt: single): Integer;`
| `function CanDo(pntr: pchar): Integer;`
| `function Idle: Integer;`
| `function EditIdle: Integer;`
| `procedure EditActivate;`
| `procedure EditDeactivate;`
| `procedure SetViewPosition(x, y: Integer);`
| `function KeysRequired: Integer;`
| `procedure SavePreset(FileName: TFileName); overload;`
| `procedure SavePreset(Stream: TStream); overload;`
| `procedure LoadPreset(FileName: TFileName); overload;`
| `procedure LoadPreset(Stream: TStream); overload;`
| `procedure SaveBank(FileName: TFileName); overload;`
| `procedure SaveBank(Stream: TStream); overload;`
| `procedure LoadBank(FileName: TFileName); overload;`
| `procedure LoadBank(Stream: TStream); overload;`

### Properties

| `property Parameters[Index: Integer]: Single read GetParameter write SetParameter;`
| `property VstOfflineTask : TVstOfflineTask read FVstOfflineTask;`
| `property Active: boolean read FActive write Activate default false;`
| `property DisplayName: string read GetDisplayName write FDisplayName;`
| `property numInputs: Integer read GetnumInputs stored False default -1 ;`
| `property numOutputs: Integer read GetnumOutputs stored False default -1 ;`
| `property numPrograms: Integer read GetnumPrograms stored False default -1 ;`
| `property numParams: Integer read GetnumParams stored False default -1;`
| `property Version: Integer read Fversion stored False default -1;`
| `property InitialDelay: Integer read GetInitialDelay stored False;`
| `property ReplaceOrAccumulate: TReplaceOrAccumulate read FReplaceOrAccumulate write FReplaceOrAccumulate default roa0NotSupported;`
| `property CurrentProcessLevel: TCurrentProcessLevel read FProcessLevel write FProcessLevel default cpl0NotSupported;`
| `property AutomationState: TAutomationState read FAutomationState Write FAutomationState default as0NotSupported;`
| `property uID: string read FuID stored False;`
| `property PluginVstVersion: Integer read FVstVersion stored False default -1;`
| `property EditVisible: Boolean read FEditOpen;`
| `property EffectOptions: TEffFlags read GetEffOptions stored False;`
| `property PlugCategory: TVstPluginCategory read FPlugCategory stored False;`
| `property ProgramNr: Integer read GetProgram write SetProgram default -1;`
| `property ProgramName: string read GetProgramName write SetProgramName;`
| `property VendorString: string read GetVendorString stored False;`
| `property VendorVersion: Integer read GetVendorVersion stored False default -1;`
| `property ProductString: string read GetProductString stored False;`
| `property OnAudioMasterAutomate: TVstAutomateEvent read FOnAMAutomate write FOnAMAutomate;`
| `property OnAudioMasterIdle: TNotifyEvent read FOnAMIdle write FOnAMIdle;`
| `property OnAudioMasterNeedIdle: TNotifyEvent read FOnAMNeedIdle write FOnAMNeedIdle;`
| `property OnAudioMasterIOChanged: TNotifyEvent read FOnAMIOChanged write FOnAMIOChanged;`
| `property OnAudioMasterWantMidi: TNotifyEvent read FOnAMWantMidi write FOnAMWantMidi;`
| `property OnAudioMasterOfflineStart: TNotifyEvent read FOnAMOfflineStart write FOnAMOfflineStart;`
| `property OnAudioMasterOfflineRead: TVstOfflineEvent read FOnAMOfflineRead write FOnAMOfflineRead;`
| `property OnAudioMasterOfflineWrite: TVstOfflineEvent read FOnAMOfflineWrite write FOnAMOfflineWrite;`
| `property OnAudioMasterOfflineGetCurrentPass: TNotifyEvent read FOnAMOfflineGetCurrentPass write FOnAMOfflineGetCurrentPass;`
| `property OnAudioMasterOfflineGetCurrentMetaPass: TNotifyEvent read FOnAMOfflineGetCurrentMetaPass write FOnAMOfflineGetCurrentMetaPass;`
| `property OnAudioMasterSetOutputSampleRate: TVstSampleRateChangedEvent read FOnAMSetOutputSampleRate write FOnAMSetOutputSampleRate;`
| `property OnAudioMasterUpdateDisplay: TNotifyEvent read FOnAMUpdateDisplay write FOnAMUpdateDisplay;`
| `property OnAudioMasterBeginEdit: TVstAutomationNotifyEvent read FOnAMBeginEdit write FOnAMBeginEdit;`
| `property OnAudioMasterEndEdit: TVstAutomationNotifyEvent read FOnAMEndEdit write FOnAMEndEdit;`
| `property OnAudioMasterPinConnected: TVstPinConnectedEvent read FOnAMPinConnected write FOnAMPinConnected;`
| `property OnVendorSpecific: TVendorSpecificEvent read FOnVendorSpecific write FOnVendorSpecific;`
| `property OnShowEdit: TVstShowEditEvent read FOnShowEdit write FOnShowEdit;`
| `property OnCloseEdit: TNotifyEvent read FOnCloseEdit write FOnCloseEdit;`
| `property OnAfterLoad: TNotifyEvent read FOnAfterLoad write FOnAfterLoad;`
| `property OnProcessEvents: TVstProcessEventsEvent read FOnProcessEvents write FOnProcessEvents;`
| `property DLLFileName: TFileName read FDLLFileName write SetDLLFileName;`
| `property GUIStyle : TGUIStyle read fGUIStyle write SetGUIStyle default gsDefault;`

## Description

### Fields

| `PVstEffect: PVSTEffect;`

| `GUIForm: TForm;`

### Methods

| `constructor Create(Collection: TCollection); override;`

| `destructor Destroy; override;`

| `function GetDisplayName: string; override;`

| `function GetVendorString: string;`

| `function GetProductString: string;`

| `function GetVendorVersion: Integer;`

| `function GetProgram: Integer;`

| `procedure SetProgram(lValue: Integer);`

| `function GetProgramName: string;`

| `procedure SetProgramName(newName: string);`

| `procedure SetSampleRate(fSR: double);`

| `procedure Open;`

| `procedure Close;`

| `function Load(PluginDll: TFilename): Boolean;`

| `procedure UnLoad;`

| `procedure ShowEdit(Form: TForm); overload;`

| `procedure ShowEdit; overload;`

| `function EditGetRect: ERect;`

| `function EditOpen(Handle: THandle): Integer;`

| `procedure EditClose;`

| `procedure CloseEdit;`

| `procedure MainsChanged(bOn: boolean);`

| `procedure SetParameter(index: Integer; parameter: Single); virtual;`

| `function GetParameter(index: Integer): Single; virtual;`

| `function GetParamLabel(index: Integer): string;`

| `function GetParamDisplay(index: Integer): string;`

| `function GetParamName(index: Integer): string;`

| `function GetVu: Single;`

| `function Identify: Integer;`

| `procedure Process(inputs, outputs: ppSingle; Sampleframes: Integer); virtual;`

| `procedure ProcessReplacing(inputs, outputs: ppSingle; Sampleframes: Integer); virtual;`

| `procedure ProcessDoubleReplacing(inputs, outputs: ppDouble; Sampleframes: Integer); virtual;`

| `procedure ProcessAudio(inputs, outputs: ppSingle; Sampleframes: Integer);`

| `function GetChunk(pntr: pointer; isPreset: boolean = false): Integer;`

| `function SetChunk(data: pointer; byteSize: Integer; isPreset: boolean = false): Integer;`

| `function ProcessEvents(pntr: PVstEvents): Integer;`

| `function CanBeAutomated(index: Integer): Integer;`

| `function String2Parameter(ParameterName: string): Integer;`

| `function GetNumProgramCategories: Integer;`

| `function GetProgramNameIndexed(category, index: Integer; ProgramName: PChar): Integer;`

| `function CopyCurrentProgramTo(Destination: Integer): Boolean;`

| `function ConnectInput(InputNr: Integer; state: boolean): Integer;`

| `function ConnectOutput(OutputNr: Integer; state: boolean): Integer;`

| `function GetInputProperties(InputNr: Integer): TVstPinProperties;`

| `function GetOutputProperties(OutputNr: Integer): TVstPinProperties;`

| `function GetPlugCategory: TVstPluginCategory;`

| `function GetCurrentPosition: Integer;`

| `function GetDestinationBuffer: Integer;`

| `function OfflineNotify(pntr: PVstAudioFile; numAudioFiles: Integer; start: boolean): Integer;`

| `function OfflinePrepare(pntr: PVstOfflineTask; count: Integer): Integer;`

| `function OfflineRun(pntr: PVstOfflineTask; count :Integer): Integer;`

| `function ProcessVarIo(varIo: PVstVariableIo): Integer;`

| `function SetSpeakerArrangement(pluginInput: PVstSpeakerArrangement; pluginOutput: PVstSpeakerArrangement): Boolean;`

| `function SetBlockSizeAndSampleRate(blockSize: Integer; sampleRate: Single): Integer;`

| `function SetBypass(onOff: Boolean): Integer;`

| `function GetEffectName: string;`

| `function GetErrorText: string;`

| `function GetTailSize: Integer;`

| `function GetIcon: Integer;`

| `function GetVstVersion: Integer;`

| `function GetSpeakerArrangement(SpeakerIn, SpeakerOut:PVstSpeakerArrangement): Integer;`

| `function ShellGetNextPlugin(var PluginName:String): Integer;`

| `function EditKeyDown(Key : Char; VirtualKeycode : Integer; Modifier :Double): Boolean;`

| `function EditKeyUp(Key : Char; VirtualKeycode : Integer; Modifier :Double): Boolean;`

| `procedure SetEditKnobMode(Mode : TKnobMode);`

| `procedure StartProcess;`

| `procedure StopProcess;`

| `procedure SetTotalSampleToProcess;`

| `procedure BeginSetProgram;`

| `procedure EndSetProgram;`

| `procedure SetPanLaw(PanLaw: TVstPanLawType; Gain: Single);`

| `function GetMidiProgramName(MidiProgramNamePointer : PMidiProgramName): Integer;`

| `function GetCurrentMidiProgram(MidiProgramNamePointer : PMidiProgramName): Integer;`

| `function GetMidiProgramCategory(MidiProgramCategoryPointer : PMidiProgramCategory): Integer;`

| `function HasMidiProgramsChanged: Integer;`

| `function GetMidiKeyName(MidiKeyNamePointer: PMidiKeyName): Integer;`

| `function BeginLoadBank(PatchChunkInfo : PVstPatchChunkInfo): integer;`

| `procedure BeginLoadProgram(PatchChunkInfo : PVstPatchChunkInfo);`

| `function GetRect: TRect;`

| `function GetParameterProperties(Parameter: Integer): TVstParameterProperties;`

| `function VendorSpecific(index, value:Integer; pntr: pointer; opt: single): Integer;`

| `function CanDo(pntr: pchar): Integer;`

| `function Idle: Integer;`

| `function EditIdle: Integer;`

| `procedure EditActivate;`

| `procedure EditDeactivate;`

| `procedure SetViewPosition(x, y: Integer);`

| `function KeysRequired: Integer;`

| `procedure SavePreset(FileName: TFileName); overload;`

| `procedure SavePreset(Stream: TStream); overload;`

| `procedure LoadPreset(FileName: TFileName); overload;`

| `procedure LoadPreset(Stream: TStream); overload;`

| `procedure SaveBank(FileName: TFileName); overload;`

| `procedure SaveBank(Stream: TStream); overload;`

| `procedure LoadBank(FileName: TFileName); overload;`

| `procedure LoadBank(Stream: TStream); overload;`

### Properties

| `property Parameters[Index: Integer]: Single read GetParameter write SetParameter;`

| `property VstOfflineTask : TVstOfflineTask read FVstOfflineTask;`

| `property Active: boolean read FActive write Activate default false;`

| `property DisplayName: string read GetDisplayName write FDisplayName;`

| `property numInputs: Integer read GetnumInputs stored False default -1 ;`

| `property numOutputs: Integer read GetnumOutputs stored False default -1 ;`

| `property numPrograms: Integer read GetnumPrograms stored False default -1 ;`

| `property numParams: Integer read GetnumParams stored False default -1;`

| `property Version: Integer read Fversion stored False default -1;`

| `property InitialDelay: Integer read GetInitialDelay stored False;`

| `property ReplaceOrAccumulate: TReplaceOrAccumulate read FReplaceOrAccumulate write FReplaceOrAccumulate default roa0NotSupported;`

| `property CurrentProcessLevel: TCurrentProcessLevel read FProcessLevel write FProcessLevel default cpl0NotSupported;`

| `property AutomationState: TAutomationState read FAutomationState Write FAutomationState default as0NotSupported;`

| `property uID: string read FuID stored False;`

| `property PluginVstVersion: Integer read FVstVersion stored False default -1;`

| `property EditVisible: Boolean read FEditOpen;`

| `property EffectOptions: TEffFlags read GetEffOptions stored False;`

| `property PlugCategory: TVstPluginCategory read FPlugCategory stored False;`

| `property ProgramNr: Integer read GetProgram write SetProgram default -1;`

| `property ProgramName: string read GetProgramName write SetProgramName;`

| `property VendorString: string read GetVendorString stored False;`

| `property VendorVersion: Integer read GetVendorVersion stored False default -1;`

| `property ProductString: string read GetProductString stored False;`

| `property OnAudioMasterAutomate: TVstAutomateEvent read FOnAMAutomate write FOnAMAutomate;`

| `property OnAudioMasterIdle: TNotifyEvent read FOnAMIdle write FOnAMIdle;`

| `property OnAudioMasterNeedIdle: TNotifyEvent read FOnAMNeedIdle write FOnAMNeedIdle;`

| `property OnAudioMasterIOChanged: TNotifyEvent read FOnAMIOChanged write FOnAMIOChanged;`

| `property OnAudioMasterWantMidi: TNotifyEvent read FOnAMWantMidi write FOnAMWantMidi;`

| `property OnAudioMasterOfflineStart: TNotifyEvent read FOnAMOfflineStart write FOnAMOfflineStart;`

| `property OnAudioMasterOfflineRead: TVstOfflineEvent read FOnAMOfflineRead write FOnAMOfflineRead;`

| `property OnAudioMasterOfflineWrite: TVstOfflineEvent read FOnAMOfflineWrite write FOnAMOfflineWrite;`

| `property OnAudioMasterOfflineGetCurrentPass: TNotifyEvent read FOnAMOfflineGetCurrentPass write FOnAMOfflineGetCurrentPass;`

| `property OnAudioMasterOfflineGetCurrentMetaPass: TNotifyEvent read FOnAMOfflineGetCurrentMetaPass write FOnAMOfflineGetCurrentMetaPass;`

| `property OnAudioMasterSetOutputSampleRate: TVstSampleRateChangedEvent read FOnAMSetOutputSampleRate write FOnAMSetOutputSampleRate;`

| `property OnAudioMasterUpdateDisplay: TNotifyEvent read FOnAMUpdateDisplay write FOnAMUpdateDisplay;`

| `property OnAudioMasterBeginEdit: TVstAutomationNotifyEvent read FOnAMBeginEdit write FOnAMBeginEdit;`

| `property OnAudioMasterEndEdit: TVstAutomationNotifyEvent read FOnAMEndEdit write FOnAMEndEdit;`

| `property OnAudioMasterPinConnected: TVstPinConnectedEvent read FOnAMPinConnected write FOnAMPinConnected;`

| `property OnVendorSpecific: TVendorSpecificEvent read FOnVendorSpecific write FOnVendorSpecific;`

| `property OnShowEdit: TVstShowEditEvent read FOnShowEdit write FOnShowEdit;`

| `property OnCloseEdit: TNotifyEvent read FOnCloseEdit write FOnCloseEdit;`

| `property OnAfterLoad: TNotifyEvent read FOnAfterLoad write FOnAfterLoad;`

| `property OnProcessEvents: TVstProcessEventsEvent read FOnProcessEvents write FOnProcessEvents;`

| `property DLLFileName: TFileName read FDLLFileName write SetDLLFileName;`

| `property GUIStyle : TGUIStyle read fGUIStyle write SetGUIStyle default gsDefault;`

Generated by PasDoc 0.10.0 on 2007-11-13 13:04:20