Table of Contents

Interface IParameterEditSink

Namespace
PluginUI.NPlug
Assembly
PluginUI.NPlug.dll

Bridge between the editor and the controller: VST3 edit protocol, MIDI learn and notes played on the editor (PluginUIController<TModel> implements it for you).

public interface IParameterEditSink

Properties

ControllerHandler

Host services (context menus...), null before the host connected the controller.

IAudioControllerHandler? ControllerHandler { get; }

Property Value

IAudioControllerHandler

MidiLearn

MIDI learn service offered by the editor's context menus, or null (default) for none.

IMidiLearnService? MidiLearn { get; }

Property Value

IMidiLearnService

Model

Controller-side model: its events drive the repaints of bound controls.

AudioProcessorModel Model { get; }

Property Value

AudioProcessorModel

Methods

BeginEdit(AudioParameter)

Starts a gesture (the host records automation from here).

void BeginEdit(AudioParameter parameter)

Parameters

parameter AudioParameter

EndEdit(AudioParameter)

Ends the gesture.

void EndEdit(AudioParameter parameter)

Parameters

parameter AudioParameter

IsEditing(AudioParameter)

true while a gesture is open on parameter.

bool IsEditing(AudioParameter parameter)

Parameters

parameter AudioParameter

Returns

bool

PerformEdit(AudioParameter, double)

Changes the value during a gesture (forwarded to the host, then to the processor).

void PerformEdit(AudioParameter parameter, double normalizedValue)

Parameters

parameter AudioParameter
normalizedValue double

TrySendNote(UINoteEvent)

Sends a note played on the editor to the processor; the default does nothing and returns false.

bool TrySendNote(UINoteEvent note)

Parameters

note UINoteEvent

The note event.

Returns

bool

true if the note was sent.