0

I want to detect events from the VST3 host (DAW) such as "user clicked record while this track was armed" or, inversely, "user stopped recording."

For a more concrete example, in processor.cpp in a newly created VST3 plugin, I want to do the following:

tresult PLUGIN_API OBS_BridgeProcessor::setActive(TBool state)
{
    // Call the parent's setActive() method
    tresult result = OBS_BridgeProcessor::setActive(state);

    if (state)
    {
        // Plugin is activated
        OBS_BridgeProcessor::checkTrackRecordingState();  // see below
    }
    else
    {
        // Plugin is deactivated
        // Perform any necessary cleanup or reset
    }

    return result;
}


void OBS_BridgeProcessor::checkTrackRecordingState()
{
  // to-do:  Check if DAW is recording or not

}

Searching for "record" in the VST3 interfaces documentation yields no results: https://steinbergmedia.github.io/vst3_doc/vstinterfaces/index.html

It seems that "recording" as a concept might be very DAW specific, and therefore not supported by VST3. If so, I'd greatly appreciate clarification on the scope of VST's capability. If the answer is simply "that is not possible with VST3", then that would be the correct answer to my question.

It might be possible that I have to use some kind of MIDI or other automation event to send a parameter control message to my VST device. If so, that's what I'll do. For reference, I'm using Ableton Live 11.

1 Answer 1

0

You can get a hint from process. Steinberg::Vst::ProcessContext

https://steinbergmedia.github.io/vst3_doc/vstinterfaces/structSteinberg_1_1Vst_1_1ProcessContext.html#a7ac64bdb8f6c1e2d67da949940d46d03

The kRecording flag.

Note that the host may not set it, but do try it. I set it in my sequencer.

Not the answer you're looking for? Browse other questions tagged or ask your own question.