2#ifndef __ASE_ENGINE_HH__
3#define __ASE_ENGINE_HH__
11class AudioEngineThread;
30 void schedule_queue_update ();
34 void start_threads ();
36 void wakeup_thread_mt ();
39 AudioProcessorP get_event_source ();
43 uint64_t frame_counter ()
const {
return render_stamp_; }
46 uint sample_rate ()
const ASE_CONST {
return transport().
samplerate; }
47 uint nyquist ()
const ASE_CONST {
return transport().
nyquist; }
48 double inyquist ()
const ASE_CONST {
return transport().
inyquist; }
50 void set_autostop (
uint64_t nsamples);
51 void queue_capture_start (
CallbackS&,
const String &filename,
bool needsrunning);
77 Mutable (
const T &v) : value (v) {}
78 operator T& () {
return value; }
JobQueue async_jobs
Executed asynchronously, may modify AudioProcessor objects.
JobQueue const_jobs
Blocks during execution, must treat AudioProcessor objects read-only.
Audio signal AudioProcessor base class, implemented by all effects and instruments.
The Anklang C++ API namespace.
uint32_t uint
Provide 'uint' as convenience type.
Transport information for AudioSignal processing.
const uint nyquist
Half the samplerate.
const uint samplerate
Sample rate (mixing frequency) in Hz used for rendering.
const double inyquist
Precalculated 1.0 / nyquist.
const SpeakerArrangement speaker_arrangement
Audio output configuration.
Helper to modify const struct contents, e.g. asyn job lambda members.
Common base type to allow casting between polymorphic classes.