Delphi ASIO & VST Package: DVSTHost: Class TVstPlugIn

Delphi ASIO & VST

Class TVstPlugIn

DescriptionHierarchyFieldsMethodsProperties

Unit

DVSTHost

Declaration

type TVstPlugIn = class(TCollectionItem)

Description

Hierarchy

  • TCollectionItem
  • TVstPlugIn

Overview

Fields

Public PVstEffect: PVSTEffect;
Public GUIForm: TForm;

Methods

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

Properties

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

Description

Fields

Public PVstEffect: PVSTEffect;
 
Public GUIForm: TForm;
 

Methods

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

Properties

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

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