VST 3 Interfaces: ITransportControl Class Reference
Author: Steinberg

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

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

Vst::ITransportControl Interface. More...

`#include <ivsttransportcontrol.h>`

Inheritance diagram for ITransportControl:

## Public Types
enum | Action : int32 { Locate = 0 , PlaybackStart , PlaybackStop , LocateAndPlaybackStart , PlaybackStopAndLocate , RecordOnPlaybackStart , LocateAndRecordOnPlaybackStart , RecordOff , RecordOffPlaybackStop , RecordOffPlaybackStopAndLocate , SetCycleStart , SetCycleEnd , CycleOn , CycleOff }
| Transport action requested by the plug-in. More...

## Public Member Functions
virtual tresult | requestAction (int32 action, TransportPosition *position=nullptr)=0
| Request a transport action from the host.
virtual tresult | isActionSupported (int32 action)=0
| Query whether the host supports the given action.
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

Vst::ITransportControl Interface.

- [host imp]
- [extends IComponentHandler]
- [released: 3.8.1]
- [optional]

This interface allows a plug-in to request transport-related actions from the host. Typical use cases include:

- Jumping (locating) to a position
- Starting or stopping playback or recording
- Adjusting loop/cycle regions
- Enabling or disabling cycle playback

All calls must be made from the UI thread. Hosts may accept or deny requests depending on their internal policies or the current editing mode (e.g., offline rendering, write-protected state, etc.).

## Member Enumeration Documentation

## ◆ Action

enum Action : int32

Transport action requested by the plug-in.

Enumerator
Locate | Locate transport to a new position. Requires a valid TransportPosition.
PlaybackStart | Playback control. Start playback at current position
PlaybackStop | Stop playback, keep current position.
LocateAndPlaybackStart | Locate and start playback (position required)
PlaybackStopAndLocate | Stop and locate (position required)
RecordOnPlaybackStart | Recording control. Start recording and playback at current position
LocateAndRecordOnPlaybackStart | Locate and start recording and playback (position required)
RecordOff | Stop recording and continue playback.
RecordOffPlaybackStop | Stop recording and playback, keep current position.
RecordOffPlaybackStopAndLocate | Stop recording and playback and locate (position required)
SetCycleStart | Cycle / Loop control. Set start of cycle/loop region (position required)
SetCycleEnd | Set end of cycle/loop region (position required)
CycleOn | Enable looping/cycle mode.
CycleOff | Disable looping/cycle mode.

## Member Function Documentation

## ◆ requestAction()

virtual tresult requestAction | ( | int32 | action,
|  | TransportPosition * | position = nullptr )
| pure virtual

Request a transport action from the host.

The host may accept the request or refuse it based on its current state (editing mode, user preferences, restricted transport control policies).

Parameters

  action | The action to perform.
  position | Optional pointer to a TransportPosition. Required for locate or cycle-related actions.

Returns
  kResultOk The request is accepted (not necessarily completed synchronously). kNotImplemented Host does not implement this function. kInvalidArgument Position missing or invalid for the supplied action. kResultFalse Host refuses the action due to state/policy constraints.

Note
  Must be called from the UI/main thread.
  [UI-thread & (Initialized | Connected)]

## ◆ isActionSupported()

virtual tresult isActionSupported | ( | int32 | action | ) |
| pure virtual

Query whether the host supports the given action.

This is useful for updating plug-in UI elements (enabling or disabling buttons).

Parameters

  action | The action to test.

Returns
  kResultOk The action is supported. kResultFalse The action is not supported. kNotImplemented Host does not implement this function. kInvalidArgument Unknown action.

Note
  Must be called from the UI/main thread.
  [UI-thread & (Initialized | Connected)]

## Member Data Documentation

## ◆ iid

const FUID iid
| static

Empty

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