VST 3 Interfaces: IProcessContextRequirements Class Reference
Author: Steinberg

VST 3 Interfaces VST 3.7 SDK for developing VST plug-in

Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Attributes | List of all members
IProcessContextRequirements Class Referenceabstract

Extended IAudioProcessor interface for a component: Vst::IProcessContextRequirements. More...

`#include <ivstaudioprocessor.h>`

Inheritance diagram for IProcessContextRequirements:

## Public Types
enum | Flags { kNeedSystemTime = 1 << 0 , kNeedContinousTimeSamples = 1 << 1 , kNeedProjectTimeMusic = 1 << 2 , kNeedBarPositionMusic = 1 << 3 , kNeedCycleMusic = 1 << 4 , kNeedSamplesToNextClock = 1 << 5 , kNeedTempo = 1 << 6 , kNeedTimeSignature = 1 << 7 , kNeedChord = 1 << 8 , kNeedFrameRate = 1 << 9 , kNeedTransportState = 1 << 10 }

## Public Member Functions
virtual uint32 | getProcessContextRequirements ()=0
| Allows the host to ask the plug-in what is really needed for the process context information (Vst::ProcessContext).
Public Member Functions inherited from FUnknown
virtual tresult | queryInterface (const TUID _iid, void **obj)=0
virtual uint32 | addRef ()=0
virtual uint32 | release ()=0

## Static Public Attributes
static const FUID | iid
Static Public Attributes inherited from FUnknown
static const FUID | iid

## Detailed Description

Extended IAudioProcessor interface for a component: Vst::IProcessContextRequirements.

- [plug imp]
- [extends IAudioProcessor]
- [released: 3.7.0]
- [mandatory]

To get accurate process context information (Vst::ProcessContext), it is now required to implement this interface and return the desired bit mask of flags which your audio effect needs. If you do not implement this interface, you may not get any information at all of the process function!

The host asks for this information once between initialize and setActive (in Setup Done). It cannot be changed afterwards.

This gives the host the opportunity to better optimize the audio process graph when it knows which plug-ins need which information.

Plug-ins built with an earlier SDK version (< 3.7) will still get the old information, but the information may not be as accurate as when using this interface.

## Member Enumeration Documentation

## ◆ Flags

enum Flags

Enumerator
kNeedSystemTime |
kNeedContinousTimeSamples |
kNeedProjectTimeMusic |
kNeedBarPositionMusic |
kNeedCycleMusic |
kNeedSamplesToNextClock |
kNeedTempo |
kNeedTimeSignature |
kNeedChord |
kNeedFrameRate |
kNeedTransportState |

## Member Function Documentation

## ◆ getProcessContextRequirements()

virtual uint32 getProcessContextRequirements | ( |  | ) |
| pure virtual

Allows the host to ask the plug-in what is really needed for the process context information (Vst::ProcessContext).

Note
  [UI-thread & Setup Done]

Implemented in AudioEffect, and SingleComponentEffect.

## Member Data Documentation

## ◆ iid

const FUID iid
| static

Empty

Copyright © Steinberg Media Technologies GmbH. All Rights Reserved. This documentation is under this license.