# Unit DVSTCustomModule

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

## Description

## Overview

### Classes, Interfaces, Objects and Records

Name | Description
--- | ---
Class `TCustomVSTModule` |

### Types

`TVstCanDo = (...);`
`TVstCanDos = set of TVstCanDo;`
`TChannelPropertyFlags = set of (cpfIsActive, cpfIsStereo, cpfUseSpeaker);`
`TProcessAudioEvent = procedure(const Inputs, Outputs: TAVDArrayOfSingleDynArray; const SampleFrames: Integer) of object;`
`TProcessDoubleEvent = procedure(const Inputs, Outputs: TAVDArrayOfDoubleDynArray; const SampleFrames: Integer) of object;`
`TGetVUEvent = procedure(var VU:Single) of object;`
`TBlockSizeChangeEvent = procedure(Sender: TObject; const BlockSize: Integer) of object;`
`TSampleRateChangeEvent = procedure(Sender: TObject; const SampleRate: Single) of object;`
`TOnDispatcherEvent = procedure(Sender: TObject; opCode: TDispatcherOpcode) of object;`
`TOfflineNotifyEvent = procedure(Sender: TObject; AudioFile: TVstAudioFile; numAudioFiles: Integer; start: Boolean) of object;`
`TOfflinePrepareEvent = procedure(Sender: TObject; OfflineTask: TVstOfflineTask; count: Integer) of object;`
`TOfflineRunEvent = procedure(Sender: TObject; OfflineTask: TVstOfflineTask; count: Integer) of object;`
`TVSTKeyEvent = procedure(Sender: TObject; var keyCode : TVstKeyCode) of object;`
`TProcessVarIOEvent = procedure(Sender: TObject; varIo: TVstVariableIo) of object;`
`TInOutConnectedEvent = procedure(Sender: TObject; Index: Integer; State: Boolean) of object;`
`TSetKnobModeEvent = procedure(Sender: TObject; val: Integer) of object;`
`TSoftBypassEvent = procedure(Sender: TObject; isBypass: Boolean) of object;`
`TOnSetPanLawEvent = procedure(Sender: TObject; var vType: Integer; var val: single) of object;`
`TGetEditorEvent = procedure(Sender: TObject; var GUI: TForm; ParentWindow : THandle) of object;`
`TOnVendorSpecificEvent = function(Sender: TObject; lArg1, lArg2: Integer; ptrArg: pointer; floatArg: Single): Integer of object;`
`TOnCanDoEvent = function(Sender: TObject; CanDoText: String): Integer of object;`
`TOnCheckKey = function(Sender: TObject; Key: Char): Boolean of object;`
`TOnGetChannelPropertiesEvent = function(Sender: TObject; var vLabel: ShortString; var shortLabel: ShortString; var SpeakerArrangement: TVstSpeakerArrangementType; var Flags:TChannelPropertyFlags): Integer of object;`

## Description

### Types

`TVstCanDo = (...);`
-$DEFINE Debug ###### Values vcdSendVstEvents: vcdSendVstMidiEvent: vcdSendVstTimeInfo: vcdReceiveVstEvents: vcdReceiveVstMidiEvent: vcdReceiveVstTimeInfo: vcdOffline: vcdPlugAsChannelInsert: vcdPlugAsSend: vcdMixDryWet: vcdNoRealTime: vcdMultipass: vcdMetapass: vcd1in1out: vcd1in2out: vcd2in1out: vcd2in2out: vcd2in4out: vcd4in2out: vcd4in4out: vcd4in8out: vcd8in4out: vcd8in8out: vcdMidiProgramNames: vcdLiveWithoutToolbar: vcdConformsToWindowRules: vcdBypass:

`TVstCanDos = set of TVstCanDo;`

`TChannelPropertyFlags = set of (cpfIsActive, cpfIsStereo, cpfUseSpeaker);`

`TProcessAudioEvent = procedure(const Inputs, Outputs: TAVDArrayOfSingleDynArray; const SampleFrames: Integer) of object;`

`TProcessDoubleEvent = procedure(const Inputs, Outputs: TAVDArrayOfDoubleDynArray; const SampleFrames: Integer) of object;`

`TGetVUEvent = procedure(var VU:Single) of object;`

`TBlockSizeChangeEvent = procedure(Sender: TObject; const BlockSize: Integer) of object;`

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

`TOnDispatcherEvent = procedure(Sender: TObject; opCode: TDispatcherOpcode) of object;`

`TOfflineNotifyEvent = procedure(Sender: TObject; AudioFile: TVstAudioFile; numAudioFiles: Integer; start: Boolean) of object;`

`TOfflinePrepareEvent = procedure(Sender: TObject; OfflineTask: TVstOfflineTask; count: Integer) of object;`

`TOfflineRunEvent = procedure(Sender: TObject; OfflineTask: TVstOfflineTask; count: Integer) of object;`

`TVSTKeyEvent = procedure(Sender: TObject; var keyCode : TVstKeyCode) of object;`

`TProcessVarIOEvent = procedure(Sender: TObject; varIo: TVstVariableIo) of object;`

`TInOutConnectedEvent = procedure(Sender: TObject; Index: Integer; State: Boolean) of object;`

`TSetKnobModeEvent = procedure(Sender: TObject; val: Integer) of object;`

`TSoftBypassEvent = procedure(Sender: TObject; isBypass: Boolean) of object;`

`TOnSetPanLawEvent = procedure(Sender: TObject; var vType: Integer; var val: single) of object;`

`TGetEditorEvent = procedure(Sender: TObject; var GUI: TForm; ParentWindow : THandle) of object;`

`TOnVendorSpecificEvent = function(Sender: TObject; lArg1, lArg2: Integer; ptrArg: pointer; floatArg: Single): Integer of object;`

`TOnCanDoEvent = function(Sender: TObject; CanDoText: String): Integer of object;`

`TOnCheckKey = function(Sender: TObject; Key: Char): Boolean of object;`

`TOnGetChannelPropertiesEvent = function(Sender: TObject; var vLabel: ShortString; var shortLabel: ShortString; var SpeakerArrangement: TVstSpeakerArrangementType; var Flags:TChannelPropertyFlags): Integer of object;`

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