TracktionEngine
Loading...
Searching...
No Matches
Static Public Member Functions | Public Attributes | List of all members
engine::Plugin::BusLayout Struct Reference

Describes the full input/output bus topology of a plugin. More...

#include <tracktion_Plugin.h>

Static Public Member Functions

static BusLayout singleInOut (ChannelConfiguration mainInput, ChannelConfiguration mainOutput)
 Returns a layout with one main input bus and one main output bus.
 
static BusLayout singleStereoInOut ()
 Shorthand for singleInOut (ChannelConfiguration::stereo(), ChannelConfiguration::stereo()).
 
static BusLayout singlePassThrough ()
 Shorthand for singleInOut (ChannelConfiguration::none(), ChannelConfiguration::none()).
 

Public Attributes

choc::SmallVector< ChannelConfiguration, 4 > inputs
 
choc::SmallVector< ChannelConfiguration, 4 > outputs
 

Detailed Description

Describes the full input/output bus topology of a plugin.

The first entry in each list (if present) is the main bus; additional entries represent sidechain, aux, or multi-out buses.

Empty inputs/outputs means the plugin has no audio bus in that direction (a MIDI-only plugin, or a pure synth with no audio input, etc.). A bus that exists but imposes no channel-count requirement — i.e. pass-through — uses ChannelConfiguration::none().

return {};                                                                       // MIDI plugin (no audio buses either side)
return BusLayout::singleStereoInOut();  // typical stereo effect
return BusLayout::singleInOut (ChannelConfiguration::stereo(), ChannelConfiguration::none());    // stereo in, pass-through out

Member Function Documentation

◆ singleInOut()

static BusLayout engine::Plugin::BusLayout::singleInOut ( ChannelConfiguration  mainInput,
ChannelConfiguration  mainOutput 
)
static

Returns a layout with one main input bus and one main output bus.

Use this for the common single-in-single-out case. Multi-bus plugins (sidechain, aux, multi-out) should construct a BusLayout and populate inputs/outputs directly.

◆ singleStereoInOut()

static BusLayout engine::Plugin::BusLayout::singleStereoInOut ( )
static

Shorthand for singleInOut (ChannelConfiguration::stereo(), ChannelConfiguration::stereo()).

Use for plugins that always work in stereo (the vast majority of stereo effects).

◆ singlePassThrough()

static BusLayout engine::Plugin::BusLayout::singlePassThrough ( )
static

Shorthand for singleInOut (ChannelConfiguration::none(), ChannelConfiguration::none()).

Use for plugins that have one audio bus each side but impose no channel-count requirement — e.g. VCA, LevelMeter, ChannelMapper, AuxSend/AuxReturn, Insert.

Member Data Documentation

◆ inputs

choc::SmallVector<ChannelConfiguration, 4> engine::Plugin::BusLayout::inputs

◆ outputs

choc::SmallVector<ChannelConfiguration, 4> engine::Plugin::BusLayout::outputs

The documentation for this struct was generated from the following file: