HikoGUI
A low latency retained GUI
Loading...
Searching...
No Matches
src
ttauri
audio
audio_system.hpp
1
// Copyright Take Vos 2020.
2
// Distributed under the Boost Software License, Version 1.0.
3
// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
4
5
#pragma once
6
7
#include "audio_system_delegate.hpp"
8
#include "audio_device.hpp"
9
#include <vector>
10
#include <memory>
11
12
namespace
tt {
13
17
class
audio_system
{
18
public
:
19
audio_system
(
std::weak_ptr<audio_system_delegate>
const
&delegate);
20
virtual
~audio_system
();
21
audio_system
(
audio_system
const
&) =
delete
;
22
audio_system
(
audio_system
&&) =
delete
;
23
audio_system
&operator=(
audio_system
const
&) =
delete
;
24
audio_system
&operator=(
audio_system
&&) =
delete
;
25
26
[[nodiscard]]
virtual
std::vector<std::shared_ptr<audio_device>
> devices()
noexcept
= 0;
27
28
virtual
void
init()
noexcept
;
29
30
protected
:
31
std::weak_ptr<audio_system_delegate>
_delegate;
32
33
public
:
34
static
inline
unfair_recursive_mutex
mutex;
35
static
inline
std::shared_ptr<audio_system>
global;
36
};
37
38
}
tt::audio_system
Definition
audio_system.hpp:17
tt::unfair_recursive_mutex
An unfair recursive-mutex This is a fast implementation of a recursive-mutex which does not fairly ar...
Definition
unfair_recursive_mutex.hpp:32
std::shared_ptr
std::vector
std::weak_ptr
Generated on Mon Apr 22 2024 12:53:45 for HikoGUI by
1.10.0