Skip to content

Class Ase::ClapAudioProcessor

ClassList > Ase > ClapAudioProcessor

Inherits the following classes: Ase::AudioProcessor

Public Types inherited from Ase::AudioProcessor

See Ase::AudioProcessor

Type Name
typedef std::function< DeviceP(const String &, StaticInfo, AudioProcessorP)> MakeDeviceP
typedef AudioProcessorP(*)(AudioEngine &) MakeProcessor
typedef AudioProcessorP(*)(CString, AudioEngine &) MakeProcessorP
typedef std::pair< ParamId, bool > MaybeParamId
typedef void(*)(AudioProcessorInfo &) StaticInfo

Public Attributes

Type Name
std::vector< ClapEventParamS * > enqueued_events_
std::vector< ClapEventUnion > input_events_
std::vector< ClapEventUnion > output_events_
const ClapParamInfoMap * param_info_map_ = = nullptr
const ClapParamInfoImpl * param_info_map_start_ = = nullptr
const clap_input_events_t plugin_input_events = = {
.ctx = (ClapAudioProcessor*) this,
.size = input_events_size,
.get = input_events_get,
}
const clap_output_events_t plugin_output_events = = {
.ctx = (ClapAudioProcessor*) this,
.try_push = output_events_try_push,
}
clap_process_t processinfo = = { 0, }
clap_event_transport_t transportinfo = = { { 0, }, }

Public Static Attributes inherited from Ase::AudioProcessor

See Ase::AudioProcessor

Type Name
const String GUIONLY = = ":G:r:w:"
":G:r:w:" - GUI READABLE WRITABLE
const String STANDARD = = ":G:S:r:w:"
":G:S:r:w:" - GUI STORAGE READABLE WRITABLE
const String STORAGEONLY = = ":S:r:w:"
":S:r:w:" - STORAGE READABLE WRITABLE

Public Functions

Type Name
ClapAudioProcessor (const ProcessorSetup & psetup)
bool apply_param_value_event (const clap_event_param_value & e)
void convert_clap_events (const clap_process_t & process, bool as_clapnotes)
bool dequeue_events (size_t nframes)
void enqueue_events (ClapEventParamS * pevents)
void initialize (SpeakerArrangement busses) override
void render (uint n_frames) override
void reset (uint64 target_stamp) override
bool start_processing (const ClapParamInfoMap * param_info_map, const ClapParamInfoImpl * map_start, size_t map_size)
void stop_processing ()
void update_transportinfo ()
~ClapAudioProcessor ()

Public Functions inherited from Ase::AudioProcessor

See Ase::AudioProcessor

Type Name
void adjust_all_params ()
AtomicBits::Iter atomic_bits_iter (size_t pos=0) const
Allow iterations over the atomic bits.
BusInfo bus_info (IBusId busid) const
Retrieve BusInfo for an input bus.
BusInfo bus_info (OBusId busid) const
Retrieve BusInfo for an output bus.
bool check_dirty (Id32 paramid) const
void connect_event_input (AudioProcessor & oproc)
Connect event input to event output of AudioProcessor __oproc .
bool connected (OBusId obusid) const
String debug_name () const
void disconnect_event_input ()
Disconnect event input if a connection is present.
void enable_engine_output (bool onoff)
Configure if the main output of this module is mixed into the engine output.
AudioEngine & engine () const
Retrieve AudioEngine handle for thisAudioProcessor .
IBusId find_ibus (const String & name) const
Return the IBusId for input bus uilabel or else 0.
OBusId find_obus (const String & name) const
Return the OBusId for output bus uilabel or else 0.
MaybeParamId find_param (const String & identifier) const
Return the ParamId for parameter identifier or else 0.
DeviceP get_device () const
Gain access to the Device handle ofthis __AudioProcessor .
double get_normalized (Id32 paramid)
Get param value normalized into 0…1.
double get_param (Id32 paramid)
Fetch value of parameterid .
bool has_event_input () const
Returns true if thisAudioProcessor has an event input stream.
bool has_event_output () const
Returns true if thisAudioProcessor has an event output stream.
const float * ifloats (IBusId b, uint c) const
Access readonly float buffer of input bus b , channelc , see alsoofloats() .
double inyquist () const
Inverse Nyquist frequency, i.e. 1.0 / nyquist() .
bool is_initialized () const
Check if AudioProcessor has been properly intiialized (so the parameter set is fixed).
uint n_ibuses () const
Number of input buses configured for this AudioProcessor .
uint n_ichannels (IBusId busid) const
Number of channels of input bus busid configured for thisAudioProcessor .
uint n_obuses () const
Number of output buses configured for this AudioProcessor .
uint n_ochannels (OBusId busid) const
Number of channels of output bus busid configured for thisAudioProcessor .
float note_to_freq (int note) const
Convert MIDI note to Hertz according to the current MusicalTuning.
double nyquist () const
Half the sample rate in Hz as double, used for render().
const float * ofloats (OBusId b, uint c) const
Access readonly float buffer of output bus b , channelc , see alsooblock() .
MinMax param_range (Id32 paramid) const
Retrieve the minimum / maximum values for a parameter.
virtual double param_value_from_text (uint32_t paramid, const String & text) const
virtual String param_value_to_text (uint32_t paramid, double value) const
ParameterC parameter (Id32 paramid) const
Retrieve supplemental information for parameters, usually to enhance the user interface.
uint sample_rate () const
bool send_param (Id32 paramid, double value)
Set parameter id tovalue withinParamInfo.get_minmax() .
bool set_normalized (Id32 paramid, double normalized)
Set param value normalized into 0…1.
String text_param_from_quark (uint32_t paramid, uint vint)
Helper for temporary uint<->string conversions.
uint text_param_to_quark (uint32_t paramid, const String & text)
Ase main-thread helper for temporary string<->uint conversions.
const AudioTransport & transport () const
Sample rate mixing frequency in Hz as unsigned, used for render().
virtual double value_from_normalized (Id32 paramid, double normalized) const
virtual double value_to_normalized (Id32 paramid, double value) const

Public Static Functions

Type Name
const clap_event_header_t * input_events_get (const clap_input_events * evlist, uint32_t index)
uint32_t input_events_size (const clap_input_events * evlist)
bool output_events_try_push (const clap_output_events * evlist, const clap_event_header_t * event)
void static_info (AudioProcessorInfo & info)

Public Static Functions inherited from Ase::AudioProcessor

See Ase::AudioProcessor

Type Name
std::shared_ptr< AudioProc > create_processor (AudioEngine & engine, const Args &... args)
double param_peek_mt (const AudioProcessorP proc, Id32 paramid)
void registry_add (CString aseid, StaticInfo static_info, MakeProcessorP makeproc)
DeviceP registry_create (CString aseid, AudioEngine & engine, const MakeDeviceP & makedevice)
void registry_foreach (const std::function< void(const String &aseid, StaticInfo)> & fun)
Iterate over the known AudioProcessor types.
uint64 timestamp ()
The current timestamp in sample frames.

Protected Types inherited from Ase::AudioProcessor

See Ase::AudioProcessor

Type Name
enum AudioProcessor
typedef MidiEventReader< 2 > MidiEventInput
typedef std::pair< double, double > MinMax

Protected Attributes inherited from Ase::AudioProcessor

See Ase::AudioProcessor

Type Name
CString aseid_
AudioEngine & engine_
std::atomic< uint32 > flags_ = = 0

Protected Functions inherited from Ase::AudioProcessor

See Ase::AudioProcessor

Type Name
AudioProcessor (const ProcessorSetup & psetup)
Constructor for AudioProcessor .
IBusId add_input_bus (CString uilabel, SpeakerArrangement speakerarrangement, const String & hints="", const String & blurb="")
Add an input bus with uilabel and channels configured viaspeakerarrangement .
OBusId add_output_bus (CString uilabel, SpeakerArrangement speakerarrangement, const String & hints="", const String & blurb="")
Add an output bus with uilabel and channels configured viaspeakerarrangement .
virtual void adjust_param (uint32_t paramid)
void apply_event (const MidiEvent & event)
Assign MidiEvent::PARAM_VALUE event values to parameters.
void apply_input_events ()
void assign_oblock (OBusId b, uint c, float val)
Fill the output buffer of bus b , channelc withv .
bool atomic_bit_notify (size_t nth)
Set the nth atomic notification bit, return if enotify_enqueue_mt() is needed.
void atomic_bits_resize (size_t count)
Prepare count bits for atomic notifications.
void connect (IBusId ibus, AudioProcessor & oproc, OBusId obus)
Connect input ibusid to outputobusid ofAudioProcessor __prev .
void disconnect (IBusId ibus)
Disconnect input ibusid .
void disconnect_ibuses ()
Reset input bus buffer data.
void disconnect_obuses ()
Disconnect inputs of all Processors that are connected to outputs of this .
void enotify_enqueue_mt (uint32 pushmask)
virtual void initialize (SpeakerArrangement busses) = 0
void install_params (const AudioParams::Map & params)
Reset list of parameters, enqueues parameter value initializaiton events.
IOBus & iobus (OBusId busid)
Get internal output bus handle.
IOBus & iobus (IBusId busid)
Get internal input bus handle.
const IOBus & iobus (OBusId busid) const
const IOBus & iobus (IBusId busid) const
MidiEventInput midi_event_input ()
Access the current MidiEvent inputs during render(), needsprepare_event_input() .
MidiEventOutput & midi_event_output ()
Access the current output EventStream during render(), needs prepare_event_output() .
float * oblock (OBusId b, uint c)
double peek_param_mt (Id32 paramid) const
void prepare_event_input ()
void prepare_event_output ()
void redirect_oblock (OBusId b, uint c, const float * block)
Redirect output buffer of bus b , channelc to point toblock , or zeros ifblock==nullptr .
void remove_all_buses ()
Remove existing bus configurations, useful at the start of configure().
void reschedule ()
Request recreation of the audio engine rendering schedule.
virtual uint schedule_children ()
uint schedule_processor ()
Schedule this node and its dependencies for engine rendering.
virtual ~AudioProcessor ()
The destructor is called when the last std::shared_ptr<> reference drops.

Protected Static Functions inherited from Ase::AudioProcessor

See Ase::AudioProcessor

Type Name
uint schedule_processor (AudioProcessor & p)

Public Attributes Documentation

variable enqueued_events_

std::vector<ClapEventParamS*> Ase::ClapAudioProcessor::enqueued_events_;

variable input_events_

std::vector<ClapEventUnion> Ase::ClapAudioProcessor::input_events_;

variable output_events_

std::vector<ClapEventUnion> Ase::ClapAudioProcessor::output_events_;

variable param_info_map_

const ClapParamInfoMap* Ase::ClapAudioProcessor::param_info_map_;

variable param_info_map_start_

const ClapParamInfoImpl* Ase::ClapAudioProcessor::param_info_map_start_;

variable plugin_input_events

const clap_input_events_t Ase::ClapAudioProcessor::plugin_input_events;

variable plugin_output_events

const clap_output_events_t Ase::ClapAudioProcessor::plugin_output_events;

variable processinfo

clap_process_t Ase::ClapAudioProcessor::processinfo;

variable transportinfo

clap_event_transport_t Ase::ClapAudioProcessor::transportinfo;

Public Functions Documentation

function ClapAudioProcessor

inline Ase::ClapAudioProcessor::ClapAudioProcessor (
    const ProcessorSetup & psetup
) 

function apply_param_value_event

inline bool Ase::ClapAudioProcessor::apply_param_value_event (
    const clap_event_param_value & e
) 

function convert_clap_events

void Ase::ClapAudioProcessor::convert_clap_events (
    const clap_process_t & process,
    bool as_clapnotes
) 

function dequeue_events

inline bool Ase::ClapAudioProcessor::dequeue_events (
    size_t nframes
) 

function enqueue_events

inline void Ase::ClapAudioProcessor::enqueue_events (
    ClapEventParamS * pevents
) 

function initialize

inline void Ase::ClapAudioProcessor::initialize (
    SpeakerArrangement busses
) override

function render

inline void Ase::ClapAudioProcessor::render (
    uint n_frames
) override

function reset

inline void Ase::ClapAudioProcessor::reset (
    uint64 target_stamp
) override

function start_processing

inline bool Ase::ClapAudioProcessor::start_processing (
    const ClapParamInfoMap * param_info_map,
    const ClapParamInfoImpl * map_start,
    size_t map_size
) 

function stop_processing

inline void Ase::ClapAudioProcessor::stop_processing () 

function update_transportinfo

inline void Ase::ClapAudioProcessor::update_transportinfo () 

function ~ClapAudioProcessor

inline Ase::ClapAudioProcessor::~ClapAudioProcessor () 

Public Static Functions Documentation

function input_events_get

static inline const clap_event_header_t * Ase::ClapAudioProcessor::input_events_get (
    const clap_input_events * evlist,
    uint32_t index
) 

function input_events_size

static inline uint32_t Ase::ClapAudioProcessor::input_events_size (
    const clap_input_events * evlist
) 

function output_events_try_push

static inline bool Ase::ClapAudioProcessor::output_events_try_push (
    const clap_output_events * evlist,
    const clap_event_header_t * event
) 

function static_info

static inline void Ase::ClapAudioProcessor::static_info (
    AudioProcessorInfo & info
) 


The documentation for this class was generated from the following file /__w/anklang/anklang/ase/clapplugin.cc