2#ifndef __ASE_COMBO_HH__
3#define __ASE_COMBO_HH__
11 AudioProcessorS processors_;
12 AudioProcessorP eproc_;
13 virtual void reconnect (
size_t index,
bool insertion) = 0;
17 void insert (AudioProcessorP proc,
ssize_t pos = ~
size_t (0));
19 AudioProcessorP
at (
uint nth);
27 ASE_CLASS_DECLS (
Inlet);
36 uint schedule_children ()
override;
37 void reconnect (
size_t index,
bool insertion)
override;
42 struct Probe {
float dbspl = -192; };
48 bool probes_enabled_ =
false;
void render(uint n_frames) override
void initialize(SpeakerArrangement busses) override
uint chain_up(AudioProcessor &pfirst, AudioProcessor &psecond)
Connect the main audio input of next to audio output of prev.
void reconnect(size_t index, bool insertion) override
Reconnect AudioChain child processors at start and after.
void reset(uint64 target_stamp) override
Reset all state variables.
bool remove(AudioProcessor &proc)
Remove a previously added AudioProcessor proc from the AudioCombo.
AudioProcessorS list_processors() const
Retrieve list of AudioProcessorS contained in this AudioCombo.
void insert(AudioProcessorP proc, ssize_t pos=~size_t(0))
AudioProcessorP at(uint nth)
Return the AudioProcessor at position nth in the AudioCombo.
void set_event_source(AudioProcessorP eproc)
Assign event source for future auto-connections of chld processors.
size_t size()
Return the number of AudioProcessor instances in the AudioCombo.
ssize_t find_pos(AudioProcessor &proc)
Return the index of AudioProcessor proc in the AudioCombo.
Audio signal AudioProcessor base class, implemented by all effects and instruments.
Interface for management, connecting and processing of AudioProcessor instances.
The Anklang C++ API namespace.
uint64_t uint64
A 64-bit unsigned integer, use PRI*64 in format strings.
uint32_t uint
Provide 'uint' as convenience type.
Detailed information and common properties of AudioProcessor subclasses.
Reference for an allocated memory block.