# Unit DVSTHost

Description | uses | Classes, Interfaces, Objects and Records | Functions and Procedures | Types | Constants | Variables

## Description

This is a component to load a VST plugin and make its properties and methods accessible, ie. show the interface, fill the buffers and call the processing routines.

All host and plugin loading code was written by: Tobias Fleischer (http://www.tobybear.de) Christan W. Budde (http://www.savioursofsoul.de/Christian)

Delphi VST SDK tranlsation by: Frederic Vanmol (http://www.axiworld.be)

VST is a trademark of: Steinberg Media GmbH (http://www.steinberg.net)

## Overview

### Classes, Interfaces, Objects and Records

Name | Description
--- | ---
Class `TVstPlugIn` |
Class `TVstPlugIns` |
Class `TVstTimeInformation` |
Class `TVstHost` |

### Functions and Procedures

`procedure Register;`
`function string2Language(LanguageString : string): TVstHostLanguage;`
`function PlugCategory2String(Category:TVstPluginCategory):string;`
`function EffOptions2String(EffOpts: TEffFlags):string;`

### Types

`TVendorSpecificEvent = function(opcode : TAudioMasterOpcode; index, value: longint; ptr: pointer; opt: Single): integer of object;`
`TVstShowEditEvent = procedure(Sender: TObject; Form: TForm) of object;`
`TVstAutomateEvent = procedure(Sender: TObject; ParamIndex, ParamValue: LongInt) of object;`
`TVstProcessEventsEvent = procedure(Sender: TObject; p: PVstEvents) of object;`
`TVstAutomationNotifyEvent = procedure(Sender: TObject; ParameterIndex: Integer) of object;`
`TVstSampleRateChangedEvent = procedure(Sender: TObject; SampleRate: Single) of object;`
`TVstPinConnectedEvent = function(Sender: TObject; PinNr: Integer; isInput: Boolean):Boolean of object;`
`TVstOfflineEvent = procedure(Sender: TObject; VstOfflineTaskPointer: PVstOfflineTask) of object;`
`TGUIStyle = (...);`
`THostCanDo = (...);`
`TKnobMode = (...);`
`TReplaceOrAccumulate = (...);`
`TCurrentProcessLevel = (...);`
`TAutomationState = (...);`
`THostCanDos = set of THostCanDo;`

### Variables

`audioMaster: TAudioMasterCallbackFunc;`

## Description

### Functions and Procedures

`procedure Register;`

`function string2Language(LanguageString : string): TVstHostLanguage;`

`function PlugCategory2String(Category:TVstPluginCategory):string;`

`function EffOptions2String(EffOpts: TEffFlags):string;`

### Types

`TVendorSpecificEvent = function(opcode : TAudioMasterOpcode; index, value: longint; ptr: pointer; opt: Single): integer of object;`
-$DEFINE SB

`TVstShowEditEvent = procedure(Sender: TObject; Form: TForm) of object;`

`TVstAutomateEvent = procedure(Sender: TObject; ParamIndex, ParamValue: LongInt) of object;`

`TVstProcessEventsEvent = procedure(Sender: TObject; p: PVstEvents) of object;`

`TVstAutomationNotifyEvent = procedure(Sender: TObject; ParameterIndex: Integer) of object;`

`TVstSampleRateChangedEvent = procedure(Sender: TObject; SampleRate: Single) of object;`

`TVstPinConnectedEvent = function(Sender: TObject; PinNr: Integer; isInput: Boolean):Boolean of object;`

`TVstOfflineEvent = procedure(Sender: TObject; VstOfflineTaskPointer: PVstOfflineTask) of object;`

`TGUIStyle = (...);`
###### Values gsDefault: gsOld: gsList:

`THostCanDo = (...);`
###### Values hcdSendVstEvents: hcdSendVstMidiEvent: hcdSendVstTimeInfo: hcdReceiveVstEvents: hcdReceiveVstMidiEvent: hcdReceiveVstTimeInfo: hcdReportConnectionChanges: hcdAcceptIOChanges: hcdSizeWindow: hcdAsyncProcessing: hcdOffline: hcdSupplyIdle: hcdSupportShell: hcdOpenFileSelector: 'shell' handling via uniqueID as suggested by Waves hcdCloseFileSelector: hcdEditFile: hcdShellCategory: hcdStartStopProcess:

`TKnobMode = (...);`
###### Values knCircular: knCircularRelativ: knLinear:

`TReplaceOrAccumulate = (...);`
###### Values roa0NotSupported: roa1Replace: roa2Accumulate:

`TCurrentProcessLevel = (...);`
###### Values cpl0NotSupported: cpl1UserThread: cpl2AudioThread: cpl3Sequencer: cpl4OfflineProcessing:

`TAutomationState = (...);`
###### Values as0NotSupported: as1Off: as2Read: as3Write: as4ReadWrite:

`THostCanDos = set of THostCanDo;`

### Variables

`audioMaster: TAudioMasterCallbackFunc;`

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