Anklang C++ API 0.0.0
Loading...
Searching...
No Matches
ClapAudioProcessor
Inheritance diagram for ClapAudioProcessor:
[legend]

Public Member Functions

boolapply_param_value_event (const clap_event_param_value &e)
ClapAudioProcessor (const ProcessorSetup &psetup)
voidconvert_clap_events (const clap_process_t &process, bool as_clapnotes)
booldequeue_events (size_t nframes)
voidenqueue_events (ClapEventParamS *pevents)
voidinitialize (SpeakerArrangement busses) override
voidrender (uint n_frames) override
voidreset (uint64 target_stamp) override
boolstart_processing (const ClapParamInfoMap *param_info_map, const ClapParamInfoImpl *map_start, size_t map_size)
voidstop_processing ()
voidupdate_transportinfo ()
~ClapAudioProcessor ()
- 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 const clap_event_header_t *input_events_get (const clap_input_events *evlist, uint32_t index)
static uint32_tinput_events_size (const clap_input_events *evlist)
static booloutput_events_try_push (const clap_output_events *evlist, const clap_event_header_t *event)
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 ()

Public Attributes

std::vector< ClapEventParamS * >enqueued_events_
std::vector< ClapEventUnion >input_events_
std::vector< ClapEventUnion >output_events_
const ClapParamInfoMap *param_info_map_
const ClapParamInfoImpl *param_info_map_start_
const clap_input_events_tplugin_input_events
const clap_output_events_tplugin_output_events
clap_process_tprocessinfo
clap_event_transport_ttransportinfo

Additional Inherited Members

- 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 &)
- 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 >
- 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 ()
virtual uintschedule_children ()
uintschedule_processor ()
virtual~AudioProcessor ()
- Static Protected Member Functions inherited from AudioProcessor
static uintschedule_processor (AudioProcessor &p)
- Protected Attributes inherited from AudioProcessor
CStringaseid_
AudioEngine &engine_
std::atomic< uint32 >flags_

Constructor & Destructor Documentation

ClapAudioProcessor()

~ClapAudioProcessor()

Member Function Documentation

static_info()

static void static_info ( AudioProcessorInfo & info)
static

initialize()

void initialize ( SpeakerArrangement busses)
overridevirtual

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)
overridevirtual

Reset all state variables.

Implements AudioProcessor.

convert_clap_events()

void convert_clap_events ( const clap_process_t & process,
bool as_clapnotes
)

input_events_size()

static uint32_t input_events_size ( const clap_input_events * evlist)
static

input_events_get()

static const clap_event_header_t * input_events_get ( const clap_input_events * evlist,
uint32_t index
)
static

output_events_try_push()

static bool output_events_try_push ( const clap_output_events * evlist,
const clap_event_header_t * event
)
static

enqueue_events()

void enqueue_events ( ClapEventParamS * pevents)

start_processing()

bool start_processing ( const ClapParamInfoMap * param_info_map,
const ClapParamInfoImpl * map_start,
size_t map_size
)

stop_processing()

void stop_processing ( )

update_transportinfo()

void update_transportinfo ( )

render()

void render ( uint n_frames)
overridevirtual

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.

apply_param_value_event()

bool apply_param_value_event ( const clap_event_param_value & e)

dequeue_events()

bool dequeue_events ( size_t nframes)

Member Data Documentation

input_events_

std::vector<ClapEventUnion> input_events_

output_events_

std::vector<ClapEventUnion> output_events_

plugin_input_events

const clap_input_events_t plugin_input_events

plugin_output_events

const clap_output_events_t plugin_output_events

param_info_map_

const ClapParamInfoMap* param_info_map_

param_info_map_start_

const ClapParamInfoImpl* param_info_map_start_

processinfo

clap_process_t processinfo

transportinfo

clap_event_transport_t transportinfo

enqueued_events_

std::vector<ClapEventParamS*> enqueued_events_