Options
All
  • Public
  • Public/Protected
  • All
Menu

Hierarchy

Index

Constructors

constructor

Properties

Readonly automation

automation: Automation = {}

isSynth

isSynth: boolean = false

Is this plugin a synth or an effect (does it accept midi input)?

Readonly makeAutomation

makeAutomation: { decaySeconds: any; diffusePercent: any; dryLevelPercent: any; earlyDampHz: any; earlyLevelPercent: any; earlySendPercent: any; highCutHz: any; lateDampHz: any; lateLevelPercent: any; lowBoostHz: any; lowBoostPercent: any; lowCutHz: any; predelayMs: any; sizeMeters: any; spinHz: any; wanderPercent: any; widthPercent: any } = ...

Type declaration

numAudioInputChannels

numAudioInputChannels: number = 2

numAudioOutputChannels

numAudioOutputChannels: number = 2

Readonly parameterLibrary

parameterLibrary: { decaySeconds: { index: number; isLinear: boolean; name: string; range: [number, number]; units: string }; diffusePercent: { index: number; isLinear: boolean; name: string; range: [number, number]; units: string }; dryLevelPercent: { index: number; isLinear: boolean; name: string; range: [number, number]; units: string }; earlyDampHz: { index: number; isLinear: boolean; name: string; range: [number, number]; units: string }; earlyLevelPercent: { index: number; isLinear: boolean; name: string; range: [number, number]; units: string }; earlySendPercent: { index: number; isLinear: boolean; name: string; range: [number, number]; units: string }; highCutHz: { index: number; isLinear: boolean; name: string; range: [number, number]; units: string }; lateDampHz: { index: number; isLinear: boolean; name: string; range: [number, number]; units: string }; lateLevelPercent: { index: number; isLinear: boolean; name: string; range: [number, number]; units: string }; lowBoostHz: { index: number; isLinear: boolean; name: string; range: [number, number]; units: string }; lowBoostPercent: { index: number; isLinear: boolean; name: string; range: [number, number]; units: string }; lowCutHz: { index: number; isLinear: boolean; name: string; range: [number, number]; units: string }; predelayMs: { index: number; isLinear: boolean; name: string; range: [number, number]; units: string }; sizeMeters: { index: number; isLinear: boolean; name: string; range: [number, number]; units: string }; spinHz: { index: number; isLinear: boolean; name: string; range: [number, number]; units: string }; wanderPercent: { index: number; isLinear: boolean; name: string; range: [number, number]; units: string }; widthPercent: { index: number; isLinear: boolean; name: string; range: [number, number]; units: string } } = ...

Type declaration

  • decaySeconds: { index: number; isLinear: boolean; name: string; range: [number, number]; units: string }
    • index: number
    • isLinear: boolean
    • name: string
    • range: [number, number]
    • units: string
  • diffusePercent: { index: number; isLinear: boolean; name: string; range: [number, number]; units: string }
    • index: number
    • isLinear: boolean
    • name: string
    • range: [number, number]
    • units: string
  • dryLevelPercent: { index: number; isLinear: boolean; name: string; range: [number, number]; units: string }
    • index: number
    • isLinear: boolean
    • name: string
    • range: [number, number]
    • units: string
  • earlyDampHz: { index: number; isLinear: boolean; name: string; range: [number, number]; units: string }
    • index: number
    • isLinear: boolean
    • name: string
    • range: [number, number]
    • units: string
  • earlyLevelPercent: { index: number; isLinear: boolean; name: string; range: [number, number]; units: string }
    • index: number
    • isLinear: boolean
    • name: string
    • range: [number, number]
    • units: string
  • earlySendPercent: { index: number; isLinear: boolean; name: string; range: [number, number]; units: string }
    • index: number
    • isLinear: boolean
    • name: string
    • range: [number, number]
    • units: string
  • highCutHz: { index: number; isLinear: boolean; name: string; range: [number, number]; units: string }
    • index: number
    • isLinear: boolean
    • name: string
    • range: [number, number]
    • units: string
  • lateDampHz: { index: number; isLinear: boolean; name: string; range: [number, number]; units: string }
    • index: number
    • isLinear: boolean
    • name: string
    • range: [number, number]
    • units: string
  • lateLevelPercent: { index: number; isLinear: boolean; name: string; range: [number, number]; units: string }
    • index: number
    • isLinear: boolean
    • name: string
    • range: [number, number]
    • units: string
  • lowBoostHz: { index: number; isLinear: boolean; name: string; range: [number, number]; units: string }
    • index: number
    • isLinear: boolean
    • name: string
    • range: [number, number]
    • units: string
  • lowBoostPercent: { index: number; isLinear: boolean; name: string; range: [number, number]; units: string }
    • index: number
    • isLinear: boolean
    • name: string
    • range: [number, number]
    • units: string
  • lowCutHz: { index: number; isLinear: boolean; name: string; range: [number, number]; units: string }
    • index: number
    • isLinear: boolean
    • name: string
    • range: [number, number]
    • units: string
  • predelayMs: { index: number; isLinear: boolean; name: string; range: [number, number]; units: string }
    • index: number
    • isLinear: boolean
    • name: string
    • range: [number, number]
    • units: string
  • sizeMeters: { index: number; isLinear: boolean; name: string; range: [number, number]; units: string }
    • index: number
    • isLinear: boolean
    • name: string
    • range: [number, number]
    • units: string
  • spinHz: { index: number; isLinear: boolean; name: string; range: [number, number]; units: string }
    • index: number
    • isLinear: boolean
    • name: string
    • range: [number, number]
    • units: string
  • wanderPercent: { index: number; isLinear: boolean; name: string; range: [number, number]; units: string }
    • index: number
    • isLinear: boolean
    • name: string
    • range: [number, number]
    • units: string
  • widthPercent: { index: number; isLinear: boolean; name: string; range: [number, number]; units: string }
    • index: number
    • isLinear: boolean
    • name: string
    • range: [number, number]
    • units: string

Readonly parameters

Readonly pluginName

pluginName: string

Readonly pluginType

pluginType: PluginType

Optional sidechainReceive

sidechainReceive: FluidReceive

Optional unresolvedSidechainReceive

unresolvedSidechainReceive: UnresolvedReceive

vst2

vst2: { presetBase64?: string; uid?: number; vendor?: string } = {}

VST2 plugins may specify a some additional parameters in this property. It will be empty for non-vst2 plugins.

Type declaration

  • Optional presetBase64?: string

    A .fxp vst2 preset preset file, base64 encoded. This is the initial state of the plugin will be applied before any additional configuration specified within the plugin's FluidPlugin.parameters property.

  • Optional uid?: number

    The 32-bit plugin VST2 plugin UID (if known)

  • Optional vendor?: string

    VST2 plugins report a vendor name

Static Readonly PluginType

PluginType: typeof PluginType = ...

Static Readonly makeAutomation

makeAutomation: { decaySeconds: any; diffusePercent: any; dryLevelPercent: any; earlyDampHz: any; earlyLevelPercent: any; earlySendPercent: any; highCutHz: any; lateDampHz: any; lateLevelPercent: any; lowBoostHz: any; lowBoostPercent: any; lowCutHz: any; predelayMs: any; sizeMeters: any; spinHz: any; wanderPercent: any; widthPercent: any } = ...

Type declaration

Static Readonly parameterLibrary

parameterLibrary: { decaySeconds: { index: number; isLinear: boolean; name: string; range: [number, number]; units: string }; diffusePercent: { index: number; isLinear: boolean; name: string; range: [number, number]; units: string }; dryLevelPercent: { index: number; isLinear: boolean; name: string; range: [number, number]; units: string }; earlyDampHz: { index: number; isLinear: boolean; name: string; range: [number, number]; units: string }; earlyLevelPercent: { index: number; isLinear: boolean; name: string; range: [number, number]; units: string }; earlySendPercent: { index: number; isLinear: boolean; name: string; range: [number, number]; units: string }; highCutHz: { index: number; isLinear: boolean; name: string; range: [number, number]; units: string }; lateDampHz: { index: number; isLinear: boolean; name: string; range: [number, number]; units: string }; lateLevelPercent: { index: number; isLinear: boolean; name: string; range: [number, number]; units: string }; lowBoostHz: { index: number; isLinear: boolean; name: string; range: [number, number]; units: string }; lowBoostPercent: { index: number; isLinear: boolean; name: string; range: [number, number]; units: string }; lowCutHz: { index: number; isLinear: boolean; name: string; range: [number, number]; units: string }; predelayMs: { index: number; isLinear: boolean; name: string; range: [number, number]; units: string }; sizeMeters: { index: number; isLinear: boolean; name: string; range: [number, number]; units: string }; spinHz: { index: number; isLinear: boolean; name: string; range: [number, number]; units: string }; wanderPercent: { index: number; isLinear: boolean; name: string; range: [number, number]; units: string }; widthPercent: { index: number; isLinear: boolean; name: string; range: [number, number]; units: string } } = ...

Type declaration

  • decaySeconds: { index: number; isLinear: boolean; name: string; range: [number, number]; units: string }
    • index: number
    • isLinear: boolean
    • name: string
    • range: [number, number]
    • units: string
  • diffusePercent: { index: number; isLinear: boolean; name: string; range: [number, number]; units: string }
    • index: number
    • isLinear: boolean
    • name: string
    • range: [number, number]
    • units: string
  • dryLevelPercent: { index: number; isLinear: boolean; name: string; range: [number, number]; units: string }
    • index: number
    • isLinear: boolean
    • name: string
    • range: [number, number]
    • units: string
  • earlyDampHz: { index: number; isLinear: boolean; name: string; range: [number, number]; units: string }
    • index: number
    • isLinear: boolean
    • name: string
    • range: [number, number]
    • units: string
  • earlyLevelPercent: { index: number; isLinear: boolean; name: string; range: [number, number]; units: string }
    • index: number
    • isLinear: boolean
    • name: string
    • range: [number, number]
    • units: string
  • earlySendPercent: { index: number; isLinear: boolean; name: string; range: [number, number]; units: string }
    • index: number
    • isLinear: boolean
    • name: string
    • range: [number, number]
    • units: string
  • highCutHz: { index: number; isLinear: boolean; name: string; range: [number, number]; units: string }
    • index: number
    • isLinear: boolean
    • name: string
    • range: [number, number]
    • units: string
  • lateDampHz: { index: number; isLinear: boolean; name: string; range: [number, number]; units: string }
    • index: number
    • isLinear: boolean
    • name: string
    • range: [number, number]
    • units: string
  • lateLevelPercent: { index: number; isLinear: boolean; name: string; range: [number, number]; units: string }
    • index: number
    • isLinear: boolean
    • name: string
    • range: [number, number]
    • units: string
  • lowBoostHz: { index: number; isLinear: boolean; name: string; range: [number, number]; units: string }
    • index: number
    • isLinear: boolean
    • name: string
    • range: [number, number]
    • units: string
  • lowBoostPercent: { index: number; isLinear: boolean; name: string; range: [number, number]; units: string }
    • index: number
    • isLinear: boolean
    • name: string
    • range: [number, number]
    • units: string
  • lowCutHz: { index: number; isLinear: boolean; name: string; range: [number, number]; units: string }
    • index: number
    • isLinear: boolean
    • name: string
    • range: [number, number]
    • units: string
  • predelayMs: { index: number; isLinear: boolean; name: string; range: [number, number]; units: string }
    • index: number
    • isLinear: boolean
    • name: string
    • range: [number, number]
    • units: string
  • sizeMeters: { index: number; isLinear: boolean; name: string; range: [number, number]; units: string }
    • index: number
    • isLinear: boolean
    • name: string
    • range: [number, number]
    • units: string
  • spinHz: { index: number; isLinear: boolean; name: string; range: [number, number]; units: string }
    • index: number
    • isLinear: boolean
    • name: string
    • range: [number, number]
    • units: string
  • wanderPercent: { index: number; isLinear: boolean; name: string; range: [number, number]; units: string }
    • index: number
    • isLinear: boolean
    • name: string
    • range: [number, number]
    • units: string
  • widthPercent: { index: number; isLinear: boolean; name: string; range: [number, number]; units: string }
    • index: number
    • isLinear: boolean
    • name: string
    • range: [number, number]
    • units: string

Methods

getAutomationLane

getNormalizedValue

  • getNormalizedValue(paramKey: string, value: number): null | number
  • If paramKey identifies a plugin parameter, and that parameter has a normalizer, return the normalized value. Otherwise return null.

    Parameters

    • paramKey: string
    • value: number

    Returns null | number

getParameterIndex

  • getParameterIndex(paramKey: string): null | number
  • VST2 parameters can also be identified by an index. This method returns the index, or returns null if the index is not available.

    Parameters

    • paramKey: string

      the JavaScript friendly parameter identifier

    Returns null | number

getParameterName

  • getParameterName(paramKey: string): string
  • fluid-music has two ways of identifying a parameter with a string:

    1. The javascript friendly "key" (ex: lfo1Speed)
    2. JUCE's parameter name (ex: LFO 1: Speed)

    This function attempts to get JUCE's name from the key. If the key is not registered on the plugin, just return the key argument directly. This behavior is designed to make it possible to use and configure plugins with the FluidPlugin base class even when there is no adapter available.

    When there is no adapter available, you can just set a parameter directly: `pluginInstance.parameters["Wet Level"] = 0.8;

    Parameters

    • paramKey: string

      the JavaScript friendly parameter identifier

    Returns string

sidechainWith

  • Specify a sidechain input to the plugin.

    If the first argument is a name string (not a Track Object), the sidechain routing will be unresolved. To resolve the routing, insert the plugin into a track, and call .resolveSidechainReceives on the parent session.

    sidechainWith returns the plugin itself, so you can setup a sidechain compressor like this:

    const session = new FluidSession({}, [
     { name: 'kick' },
     { name: 'bass', plugins: [compressor.sidechainFrom('kick')]}
    ])
    

    Note that sidechains are resolved by the FluidSession constructor, so in the example above, a call to session.resolveSidechainReceives() is not necessary.

    chainable

    Parameters

    • track: string | FluidTrack

      name of the track that will feed the sidechain

    Returns DragonflyRoomVst2