Anklang C++ API 0.0.0
Loading...
Searching...
No Matches
AudioChain

#include "combo.hh"

Inheritance diagram for AudioChain:
[legend]

Classes

class Inlet
struct Probe

Public Types

usingProbeArray = std::array< Probe, 2 >
- Public Types inherited from AudioProcessor
usingMakeDeviceP = std::function< DeviceP(const String &, StaticInfo, AudioProcessorP)>
usingMakeProcessor = AudioProcessorP(*)(AudioEngine &)
usingMakeProcessorP = AudioProcessorP(*)(CString, AudioEngine &)
usingMaybeParamId = std::pair< ParamId, bool >
usingStaticInfo = void(*)(AudioProcessorInfo &)

Public Member Functions

AudioChain (const ProcessorSetup &, SpeakerArrangement iobuses=SpeakerArrangement::STEREO)
ProbeArray *run_probes (bool enable)
virtual~AudioChain ()
- Public Member Functions inherited from AudioCombo
AudioProcessorPat (uint nth)
ssize_tfind_pos (AudioProcessor &proc)
voidinsert (AudioProcessorP proc, ssize_t pos=~size_t(0))
AudioProcessorSlist_processors () const
boolremove (AudioProcessor &proc)
voidset_event_source (AudioProcessorP eproc)
size_tsize ()
- Public Member Functions inherited from AudioProcessor
voidadjust_all_params ()
AtomicBits::Iteratomic_bits_iter (size_t pos=0) const
BusInfobus_info (IBusId busid) const
BusInfobus_info (OBusId busid) const
boolcheck_dirty (Id32 paramid) const
voidconnect_event_input (AudioProcessor &oproc)
boolconnected (OBusId obusid) const
Stringdebug_name () const
voiddisconnect_event_input ()
voidenable_engine_output (bool onoff)
AudioEngine &engine () const
IBusIdfind_ibus (const String &name) const
OBusIdfind_obus (const String &name) const
MaybeParamIdfind_param (const String &identifier) const
DevicePget_device () const
doubleget_normalized (Id32 paramid)
doubleget_param (Id32 paramid)
boolhas_event_input () const
boolhas_event_output () const
const float *ifloats (IBusId b, uint c) const
doubleinyquist () const
boolis_initialized () const
uintn_ibuses () const
uintn_ichannels (IBusId busid) const
uintn_obuses () const
uintn_ochannels (OBusId busid) const
floatnote_to_freq (int note) const
doublenyquist () const
const float *ofloats (OBusId b, uint c) const
MinMaxparam_range (Id32 paramid) const
virtual doubleparam_value_from_text (uint32_t paramid, const String &text) const
virtual Stringparam_value_to_text (uint32_t paramid, double value) const
ParameterCparameter (Id32 paramid) const
uintsample_rate () const
boolsend_param (Id32 paramid, double value)
boolset_normalized (Id32 paramid, double normalized)
Stringtext_param_from_quark (uint32_t paramid, uint vint)
uinttext_param_to_quark (uint32_t paramid, const String &text)
const AudioTransport &transport () const
virtual doublevalue_from_normalized (Id32 paramid, double normalized) const
virtual doublevalue_to_normalized (Id32 paramid, double value) const
- Public Member Functions inherited from NewDeleteBase
voidoperator delete (void *ptr, std::size_t sz)
voidoperator delete (void *ptr, std::size_t sz, std::align_val_t al)
voidoperator delete[] (void *ptr, std::size_t sz)
voidoperator delete[] (void *ptr, std::size_t sz, std::align_val_t al)
void *operator new (std::size_t sz)
void *operator new (std::size_t sz, std::align_val_t al)
void *operator new[] (std::size_t sz)
void *operator new[] (std::size_t sz, std::align_val_t al)

Static Public Member Functions

static voidstatic_info (AudioProcessorInfo &info)
- Static Public Member Functions inherited from AudioProcessor
template<class AudioProc , class ... Args>
static std::shared_ptr< AudioProc >create_processor (AudioEngine &engine, const Args &...args)
static doubleparam_peek_mt (const AudioProcessorP proc, Id32 paramid)
static voidregistry_add (CString aseid, StaticInfo, MakeProcessorP)
static DevicePregistry_create (CString aseid, AudioEngine &engine, const MakeDeviceP &)
static voidregistry_foreach (const std::function< void(const String &aseid, StaticInfo)> &fun)
static uint64timestamp ()

Protected Member Functions

uintchain_up (AudioProcessor &pfirst, AudioProcessor &psecond)
voidinitialize (SpeakerArrangement busses) override
voidreconnect (size_t index, bool insertion) override
voidrender (uint n_frames) override
voidreset (uint64 target_stamp) override
uintschedule_children () override
- Protected Member Functions inherited from AudioCombo
AudioCombo (const ProcessorSetup &)
virtual~AudioCombo ()
- Protected Member Functions inherited from AudioProcessor
IBusIdadd_input_bus (CString uilabel, SpeakerArrangement speakerarrangement, const String &hints="", const String &blurb="")
OBusIdadd_output_bus (CString uilabel, SpeakerArrangement speakerarrangement, const String &hints="", const String &blurb="")
virtual voidadjust_param (uint32_t paramid)
voidapply_event (const MidiEvent &event)
voidapply_input_events ()
voidassign_oblock (OBusId b, uint c, float val)
boolatomic_bit_notify (size_t nth)
voidatomic_bits_resize (size_t count)
AudioProcessor (const ProcessorSetup &)
voidconnect (IBusId ibus, AudioProcessor &oproc, OBusId obus)
voiddisconnect (IBusId ibus)
voiddisconnect_ibuses ()
voiddisconnect_obuses ()
voidenotify_enqueue_mt (uint32 pushmask)
voidinstall_params (const AudioParams::Map &params)
IOBus &iobus (IBusId busid)
const IOBus &iobus (IBusId busid) const
IOBus &iobus (OBusId busid)
const IOBus &iobus (OBusId busid) const
MidiEventInputmidi_event_input ()
MidiEventOutput &midi_event_output ()
float *oblock (OBusId b, uint c)
doublepeek_param_mt (Id32 paramid) const
voidprepare_event_input ()
voidprepare_event_output ()
voidredirect_oblock (OBusId b, uint c, const float *block)
voidremove_all_buses ()
voidreschedule ()
uintschedule_processor ()
virtual~AudioProcessor ()

Additional Inherited Members

- Static Public Attributes inherited from AudioProcessor
static const StringGUIONLY
static const StringSTANDARD
static const StringSTORAGEONLY
- Protected Types inherited from AudioProcessor
enum {
  INITIALIZED , SCHEDULED , PARAMCHANGE , BUSCONNECT ,
  BUSDISCONNECT , INSERTION , REMOVAL , ENGINE_OUTPUT
}
usingMidiEventInput = MidiEventReader< 2 >
usingMinMax = std::pair< double, double >
- Static Protected Member Functions inherited from AudioProcessor
static uintschedule_processor (AudioProcessor &p)
- Static Protected Member Functions inherited from ProcessorManager
static autopm_connect (AudioProcessor &p, IBusId i, AudioProcessor &d, OBusId o)
static autopm_connect_event_input (AudioProcessor &oproc, AudioProcessor &iproc)
static autopm_disconnect_ibuses (AudioProcessor &p)
static autopm_disconnect_obuses (AudioProcessor &p)
static autopm_remove_all_buses (AudioProcessor &p)
- Protected Attributes inherited from AudioCombo
AudioProcessorPeproc_
AudioProcessorSprocessors_
- Protected Attributes inherited from AudioProcessor
CStringaseid_
AudioEngine &engine_
std::atomic< uint32 >flags_

Member Typedef Documentation

ProbeArray

using ProbeArray = std::array<Probe,2>

Constructor & Destructor Documentation

AudioChain()

~AudioChain()

~AudioChain ( )
virtual

Member Function Documentation

initialize()

void initialize ( SpeakerArrangement busses)
overrideprotectedvirtual

Mandatory method to setup parameters and I/O busses. See add_param(), add_input_bus() / add_output_bus(). This method will be called once per instance after construction.

Implements AudioProcessor.

reset()

void reset ( uint64 target_stamp)
overrideprotectedvirtual

Reset all state variables.

Implements AudioProcessor.

render()

void render ( uint n_frames)
overrideprotectedvirtual

Method called for every audio buffer to be processed. Each connected output bus needs to be filled with `n_frames`, i.e. `n_frames` many floating point samples per channel. Using the AudioSignal::OBusId (see add_output_bus()), the floating point sample buffers can be addressed via the BusConfig structure as: `bus[obusid].channel[nth].buffer`, see FloatBuffer for further details. The AudioSignal::IBusId (see add_input_bus()) can be used correspondingly to retrieve input channel values.

Implements AudioProcessor.

schedule_children()

uint schedule_children ( )
overrideprotectedvirtual

Reimplemented from AudioProcessor.

reconnect()

void reconnect ( size_t index,
bool insertion
)
overrideprotectedvirtual

Reconnect AudioChain child processors at start and after.

Implements AudioCombo.

chain_up()

uint chain_up ( AudioProcessor & pfirst,
AudioProcessor & psecond
)
protected

Connect the main audio input of `next` to audio output of `prev`.

run_probes()

AudioChain::ProbeArray * run_probes ( bool enable)

static_info()

void static_info ( AudioProcessorInfo & info)
static