11#ifndef _IPLUG_HYBRID_DSP_
12#define _IPLUG_HYBRID_DSP_
37 IPlugWasmDSP(
const InstanceInfo& info,
const Config& config);
49 void Init(
int sampleRate,
int blockSize);
55 void ProcessBlock(sample** inputs, sample** outputs,
int nFrames)
override;
58 void OnParamMessage(
int paramIdx,
double value);
59 void OnMidiMessage(
int status,
int data1,
int data2);
60 void OnSysexMessage(
const uint8_t* pData,
int size);
61 void OnArbitraryMessage(
int msgTag,
int ctrlTag,
int dataSize,
const void* pData);
72 void SendControlValueFromDelegate(
int ctrlTag,
double normalizedValue)
override;
73 void SendControlMsgFromDelegate(
int ctrlTag,
int msgTag,
int dataSize,
const void* pData)
override;
74 void SendParameterValueFromDelegate(
int paramIdx,
double value,
bool normalized)
override;
75 void SendArbitraryMsgFromDelegate(
int msgTag,
int dataSize = 0,
const void* pData =
nullptr)
override;
76 void SendMidiMsgFromDelegate(
const IMidiMsg& msg)
override;
The base class of an IPlug plug-in, which interacts with the different plug-in APIs.
The base class for IPlug Audio Processing.
bool IsInstrument() const
int MaxNChannels(ERoute direction) const
Hybrid DSP class - AudioWorklet processor for split DSP/UI builds.
void Init(int sampleRate, int blockSize)
Initialize the DSP processor.
bool SendSysEx(const ISysEx &msg) override
Send a single MIDI System Exclusive (SysEx) message // TODO: info about what thread should this be ca...
void SetInstanceId(int instanceId)
Set the instance ID (called after construction by createInstance binding)
int GetNumOutputChannels() const
Get the number of output channels.
void OnIdleTick()
Called on idle tick to flush queued messages to UI.
int GetInstanceId() const
Get the instance ID.
bool SendMidiMsg(const IMidiMsg &msg) override
Send a single MIDI message // TODO: info about what thread should this be called on or not called on!
int GetNumInputChannels() const
Get the number of input channels.
bool IsPlugInstrument() const
Check if plugin is an instrument (synth)
void SetLatency(int samples) override
Call this if the latency of your plug-in changes after initialization (perhaps from OnReset() ) This ...
void ProcessBlock(sample **inputs, sample **outputs, int nFrames) override
Process a block of audio.
Encapsulates a MIDI message and provides helper functions.
A struct for dealing with SysEx messages.