Anklang 0.3.0-460-gc4ef46ba
ASE — Anklang Sound Engine (C++)
« « « Anklang Documentation |
Public Member Functions | |
void | insert (AudioProcessorP proc, ssize_t pos=~size_t(0)) |
bool | remove (AudioProcessor &proc) |
Remove a previously added AudioProcessor proc from the AudioCombo. | |
AudioProcessorP | at (uint nth) |
Return the AudioProcessor at position nth in the AudioCombo. | |
ssize_t | find_pos (AudioProcessor &proc) |
Return the index of AudioProcessor proc in the AudioCombo. | |
size_t | size () |
Return the number of AudioProcessor instances in the AudioCombo. | |
void | set_event_source (AudioProcessorP eproc) |
Assign event source for future auto-connections of chld processors. | |
AudioProcessorS | list_processors () const |
Retrieve list of AudioProcessorS contained in this AudioCombo. | |
![]() | |
AtomicBits::Iter | atomic_bits_iter (size_t pos=0) const |
Allow iterations over the atomic bits. | |
float | note_to_freq (int note) const |
Convert MIDI note to Hertz according to the current MusicalTuning. | |
String | debug_name () const |
AudioEngine & | engine () const |
Retrieve AudioEngine handle for this AudioProcessor. | |
const AudioTransport & | transport () const |
Sample rate mixing frequency in Hz as unsigned, used for render(). | |
uint | sample_rate () const |
double | nyquist () const |
Half the sample rate in Hz as double, used for render(). | |
double | inyquist () const |
Inverse Nyquist frequency, i.e. 1.0 / nyquist(). | |
double | get_param (Id32 paramid) |
Fetch value of parameter id . | |
bool | send_param (Id32 paramid, double value) |
Set parameter id to value within ParamInfo.get_minmax() . | |
ParameterC | parameter (Id32 paramid) const |
Retrieve supplemental information for parameters, usually to enhance the user interface. | |
MaybeParamId | find_param (const String &identifier) const |
Return the ParamId for parameter identifier or else 0. | |
MinMax | param_range (Id32 paramid) const |
Retrieve the minimum / maximum values for a parameter. | |
bool | check_dirty (Id32 paramid) const |
void | adjust_all_params () |
virtual String | param_value_to_text (uint32_t paramid, double value) const |
virtual double | param_value_from_text (uint32_t paramid, const String &text) const |
virtual double | value_to_normalized (Id32 paramid, double value) const |
virtual double | value_from_normalized (Id32 paramid, double normalized) const |
double | get_normalized (Id32 paramid) |
Get param value normalized into 0…1. | |
bool | set_normalized (Id32 paramid, double normalized) |
Set param value normalized into 0…1. | |
bool | is_initialized () const |
Check if AudioProcessor has been properly intiialized (so the parameter set is fixed). | |
uint | text_param_to_quark (uint32_t paramid, const String &text) |
Ase main-thread helper for temporary string<->uint conversions. | |
String | text_param_from_quark (uint32_t paramid, uint vint) |
Helper for temporary uint<->string conversions. | |
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. | |
uint | n_ibuses () const |
Number of input buses configured for this AudioProcessor. | |
uint | n_obuses () const |
Number of output buses configured for this AudioProcessor. | |
uint | n_ichannels (IBusId busid) const |
Number of channels of input bus busid configured for this AudioProcessor. | |
uint | n_ochannels (OBusId busid) const |
Number of channels of output bus busid configured for this AudioProcessor. | |
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 | connected (OBusId obusid) const |
const float * | ifloats (IBusId b, uint c) const |
Access readonly float buffer of input bus b , channel c , see also ofloats(). | |
const float * | ofloats (OBusId b, uint c) const |
Access readonly float buffer of output bus b , channel c , see also oblock(). | |
DeviceP | get_device () const |
Gain access to the Device handle of this AudioProcessor. | |
bool | has_event_input () const |
Returns true if this AudioProcessor has an event input stream. | |
bool | has_event_output () const |
Returns true if this AudioProcessor has an event output stream. | |
void | connect_event_input (AudioProcessor &oproc) |
Connect event input to event output of AudioProcessor oproc . | |
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. | |
![]() | |
T | enable_shared_from_this (T... args) |
T | operator= (T... args) |
T | shared_from_this (T... args) |
T | weak_from_this (T... args) |
T | ~enable_shared_from_this (T... args) |
![]() | |
void * | operator new (std::size_t sz) |
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, std::align_val_t al) |
void | operator delete (void *ptr, std::size_t sz) |
void | operator delete[] (void *ptr, std::size_t sz) |
void | operator delete (void *ptr, std::size_t sz, std::align_val_t al) |
void | operator delete[] (void *ptr, std::size_t sz, std::align_val_t al) |
Protected Member Functions | |
virtual void | reconnect (size_t index, bool insertion)=0 |
AudioCombo (const ProcessorSetup &) | |
![]() | |
AudioProcessor (const ProcessorSetup &) | |
Constructor for AudioProcessor. | |
virtual | ~AudioProcessor () |
The destructor is called when the last std::shared_ptr<> reference drops. | |
virtual void | initialize (SpeakerArrangement busses)=0 |
void | enotify_enqueue_mt (uint32 pushmask) |
uint | schedule_processor () |
Schedule this node and its dependencies for engine rendering. | |
void | reschedule () |
Request recreation of the audio engine rendering schedule. | |
virtual uint | schedule_children () |
void | install_params (const AudioParams::Map ¶ms) |
Reset list of parameters, enqueues parameter value initializaiton events. | |
void | apply_event (const MidiEvent &event) |
Assign MidiEvent::PARAM_VALUE event values to parameters. | |
void | apply_input_events () |
virtual void | adjust_param (uint32_t paramid) |
double | peek_param_mt (Id32 paramid) const |
IBusId | add_input_bus (CString uilabel, SpeakerArrangement speakerarrangement, const String &hints="", const String &blurb="") |
Add an input bus with uilabel and channels configured via speakerarrangement . | |
OBusId | add_output_bus (CString uilabel, SpeakerArrangement speakerarrangement, const String &hints="", const String &blurb="") |
Add an output bus with uilabel and channels configured via speakerarrangement . | |
void | remove_all_buses () |
Remove existing bus configurations, useful at the start of configure(). | |
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 |
void | disconnect_ibuses () |
Reset input bus buffer data. | |
void | disconnect_obuses () |
Disconnect inputs of all Processors that are connected to outputs of this . | |
void | disconnect (IBusId ibus) |
Disconnect input ibusid . | |
void | connect (IBusId ibus, AudioProcessor &oproc, OBusId obus) |
Connect input ibusid to output obusid of AudioProcessor prev . | |
float * | oblock (OBusId b, uint c) |
void | assign_oblock (OBusId b, uint c, float val) |
Fill the output buffer of bus b , channel c with v . | |
void | redirect_oblock (OBusId b, uint c, const float *block) |
Redirect output buffer of bus b , channel c to point to block , or zeros if block==nullptr . | |
void | prepare_event_input () |
void | prepare_event_output () |
MidiEventInput | midi_event_input () |
Access the current MidiEvent inputs during render(), needs prepare_event_input(). | |
MidiEventOutput & | midi_event_output () |
Access the current output EventStream during render(), needs prepare_event_output(). | |
void | atomic_bits_resize (size_t count) |
Prepare count bits for atomic notifications. | |
bool | atomic_bit_notify (size_t nth) |
Set the nth atomic notification bit, return if enotify_enqueue_mt() is needed. | |
Protected Attributes | |
AudioProcessorS | processors_ |
AudioProcessorP | eproc_ |
![]() | |
std::atomic< uint32 > | flags_ |
AudioEngine & | engine_ |
CString | aseid_ |
Additional Inherited Members | |
![]() | |
using | MakeProcessor = AudioProcessorP(*)(AudioEngine &) |
using | MaybeParamId = std::pair< ParamId, bool > |
using | StaticInfo = void(*)(AudioProcessorInfo &) |
using | MakeDeviceP = std::function< DeviceP(const String &, StaticInfo, AudioProcessorP)> |
using | MakeProcessorP = AudioProcessorP(*)(CString, AudioEngine &) |
![]() | |
static uint64 | timestamp () |
The current timestamp in sample frames. | |
static double | param_peek_mt (const AudioProcessorP proc, Id32 paramid) |
static void | registry_add (CString aseid, StaticInfo, MakeProcessorP) |
static DeviceP | registry_create (CString aseid, AudioEngine &engine, const MakeDeviceP &) |
static void | registry_foreach (const std::function< void(const String &aseid, StaticInfo)> &fun) |
Iterate over the known AudioProcessor types. | |
template<class AudioProc , class ... Args> | |
static std::shared_ptr< AudioProc > | create_processor (AudioEngine &engine, const Args &...args) |
![]() | |
static const String | GUIONLY |
":G:r:w:" - GUI READABLE WRITABLE | |
static const String | STANDARD |
":G:S:r:w:" - GUI STORAGE READABLE WRITABLE | |
static const String | STORAGEONLY |
":S:r:w:" - STORAGE READABLE WRITABLE | |
![]() | |
enum | { INITIALIZED , SCHEDULED , PARAMCHANGE , BUSCONNECT , BUSDISCONNECT , INSERTION , REMOVAL , ENGINE_OUTPUT } |
using | MinMax = std::pair< double, double > |
using | MidiEventInput = MidiEventReader< 2 > |
![]() | |
static uint | schedule_processor (AudioProcessor &p) |
![]() | |
static auto | pm_remove_all_buses (AudioProcessor &p) |
static auto | pm_disconnect_ibuses (AudioProcessor &p) |
static auto | pm_disconnect_obuses (AudioProcessor &p) |
static auto | pm_connect (AudioProcessor &p, IBusId i, AudioProcessor &d, OBusId o) |
static auto | pm_connect_event_input (AudioProcessor &oproc, AudioProcessor &iproc) |
|
explicitprotected |
AudioProcessorP Ase::AudioCombo::at | ( | uint | nth | ) |
Return the AudioProcessor at position nth
in the AudioCombo.
Definition at line 97 of file combo.cc.
References return_unless, and size().
ssize_t Ase::AudioCombo::find_pos | ( | AudioProcessor & | proc | ) |
Return the index of AudioProcessor proc
in the AudioCombo.
Add a new AudioProcessor proc
at position pos
to the AudioCombo. The processor proc
must not be previously contained by another AudioCombo.
Definition at line 56 of file combo.cc.
References assert_return, CLAMP, Ase::AudioProcessor::enotify_enqueue_mt(), Ase::AudioChain::reconnect(), and Ase::AudioProcessor::reschedule().
AudioProcessorS Ase::AudioCombo::list_processors | ( | ) | const |
Retrieve list of AudioProcessorS contained in this
AudioCombo.
Implemented in Ase::AudioChain.
bool Ase::AudioCombo::remove | ( | AudioProcessor & | proc | ) |
Remove a previously added AudioProcessor proc
from the AudioCombo.
Definition at line 71 of file combo.cc.
References Ase::AudioProcessor::enotify_enqueue_mt(), Ase::AudioChain::reconnect(), and Ase::AudioProcessor::reschedule().
void Ase::AudioCombo::set_event_source | ( | AudioProcessorP | eproc | ) |
Assign event source for future auto-connections of chld processors.
Definition at line 129 of file combo.cc.
References assert_return.
size_t Ase::AudioCombo::size | ( | ) |
Return the number of AudioProcessor instances in the AudioCombo.
Definition at line 115 of file combo.cc.
Referenced by at().