VST 3 Interfaces: IProcessContextRequirements Class Reference
Author: Steinberg

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

- Main Page
- Modules
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Macros Groups Pages
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
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. 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

enum Flags

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

## Member Function Documentation

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

Implemented in AudioEffect, and SingleComponentEffect.

## Member Data Documentation

const FUID iid
| static

Empty

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