| 
    Anklang-0.3.0.dev502+ga23511a1 anklang-0.3.0.dev502+ga23511a1
    
   ASE — Anklang Sound Engine (C++) 
   « « « Anklang Documentation  | 
 
#include "engine.hh"
Classes | |
| class | JobQueue | 
Public Member Functions | |
| void | start_threads () | 
| void | stop_threads () | 
| void | wakeup_thread_mt () | 
| bool | ipc_pending () | 
| void | ipc_dispatch () | 
| AudioProcessorP | get_event_source () | 
| void | set_project (ProjectImplP project) | 
| ProjectImplP | get_project () | 
| uint64_t | frame_counter () const | 
| uint64_t | block_size () const | 
| const AudioTransport & | transport () const | 
| uint | sample_rate () const | 
| uint | nyquist () const | 
| double | inyquist () const | 
| SpeakerArrangement | speaker_arrangement () const | 
| void | set_autostop (uint64_t nsamples) | 
| void | queue_capture_start (CallbackS &, const String &filename, bool needsrunning) | 
| void | queue_capture_stop (CallbackS &) | 
| bool | update_drivers (const String &pcm, uint latency_ms, const StringS &midis) | 
| String | engine_stats (uint64_t stats) const | 
Static Public Member Functions | |
| static bool | thread_is_engine () | 
Public Attributes | |
| JobQueue | async_jobs | 
| Executed asynchronously, may modify AudioProcessor objects.   | |
| JobQueue | const_jobs | 
| Blocks during execution, must treat AudioProcessor objects read-only.   | |
Static Public Attributes | |
| static const ThreadId & | thread_id | 
Protected Member Functions | |
| AudioEngine (AudioEngineThread &, AudioTransport &) | |
| void | enable_output (AudioProcessor &aproc, bool onoff) | 
| void | schedule_queue_update () | 
| void | schedule_add (AudioProcessor &aproc, uint level) | 
Protected Attributes | |
| std::atomic< size_t > | processor_count_ | 
| std::atomic< uint64_t > | render_stamp_ | 
| AudioTransport & | transport_ | 
| JobQueue | synchronized_jobs | 
Friends | |
| class | AudioProcessor | 
Main handle for AudioProcessor administration and audio rendering. Use make_audio_engine() to create a new engine and start_threads() to run its synthesis threads. AudioEngine objects cannot be deleted, because other ref-counted objects may hold AudioEngine& members until after main(). Use async_jobs to have the engine execute arbitrary code. Use const_jobs for synchronous read-only data gathering, this may take quite long. Use main_rt_jobs (see main.hh) for obstruction free enqueueing of main_loop callbacks. 
      
  | 
  explicitprotected | 
      
  | 
  protected | 
| ProjectImplP Ase::AudioEngine::get_project | ( | ) | 
| void Ase::AudioEngine::queue_capture_stop | ( | CallbackS & | callbacks | ) | 
      
  | 
  protected | 
      
  | 
  protected | 
| void Ase::AudioEngine::set_project | ( | ProjectImplP | project | ) | 
| SpeakerArrangement Ase::AudioEngine::speaker_arrangement | ( | ) | const | 
| const AudioTransport & Ase::AudioEngine::transport | ( | ) | const | 
      
  | 
  friend | 
| JobQueue Ase::AudioEngine::async_jobs | 
Executed asynchronously, may modify AudioProcessor objects.
Definition at line 65 of file engine.hh.
Referenced by Ase::DeviceImpl::_disconnect_remove(), and Ase::NativeDeviceImpl::_disconnect_remove().
| JobQueue Ase::AudioEngine::const_jobs | 
Blocks during execution, must treat AudioProcessor objects read-only.
      
  | 
  protected | 
      
  | 
  protected | 
      
  | 
  protected |