neoGFX
Cross-platform C++ app/game engine
Loading...
Searching...
No Matches
audio.hpp
Go to the documentation of this file.
1
// audio.hpp
2
/*
3
neogfx C++ App/Game Engine
4
Copyright (c) 2021 Leigh Johnston. All Rights Reserved.
5
6
This program is free software: you can redistribute it and / or modify
7
it under the terms of the GNU General Public License as published by
8
the Free Software Foundation, either version 3 of the License, or
9
(at your option) any later version.
10
11
This program is distributed in the hope that it will be useful,
12
but WITHOUT ANY WARRANTY; without even the implied warranty of
13
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
GNU General Public License for more details.
15
16
You should have received a copy of the GNU General Public License
17
along with this program. If not, see <http://www.gnu.org/licenses/>.
18
*/
19
20
#include <
neogfx/neogfx.hpp
>
21
#include <
neogfx/audio/i_audio.hpp
>
22
#include <
neogfx/audio/audio_device.hpp
>
23
#include <
neogfx/audio/audio_instrument_atlas.hpp
>
24
25
#pragma once
26
27
namespace
neogfx
28
{
29
class
audio
:
public
i_audio
30
{
31
public
:
32
audio
();
33
~audio
()
override
;
34
public
:
35
i_vector<i_audio_device_info>
const
&
available_devices
()
override
;
36
i_audio_device
&
create_device
(
i_audio_device_info
const
& aDeviceInfo,
audio_data_format
const
& aDataFormat)
override
;
37
i_audio_device
&
create_playback_device
(
audio_data_format
const
& aDataFormat)
override
;
38
i_audio_device
&
create_capture_device
(
audio_data_format
const
& aDataFormat)
override
;
39
void
destroy_device
(
i_audio_device
& aDevice)
override
;
40
public
:
41
i_audio_instrument_atlas
&
instrument_atlas
()
override
;
42
private
:
43
i_audio_device_info
const
* find_device(
audio_device_type
aType,
audio_data_format
const
& aDataFormat);
44
private
:
45
audio_context
iContext;
46
vector<audio_device_info>
iDeviceInfos;
47
vector<ref_ptr<i_audio_device>
> iDevices;
48
audio_instrument_atlas
iInstrumentAtlas;
49
};
50
}
audio_device.hpp
audio_instrument_atlas.hpp
neogfx::audio_instrument_atlas
Definition
audio_instrument_atlas.hpp:29
neogfx::audio
Definition
audio.hpp:30
neogfx::audio::create_playback_device
i_audio_device & create_playback_device(audio_data_format const &aDataFormat) override
neogfx::audio::create_capture_device
i_audio_device & create_capture_device(audio_data_format const &aDataFormat) override
neogfx::audio::available_devices
i_vector< i_audio_device_info > const & available_devices() override
neogfx::audio::destroy_device
void destroy_device(i_audio_device &aDevice) override
neogfx::audio::instrument_atlas
i_audio_instrument_atlas & instrument_atlas() override
neogfx::audio::create_device
i_audio_device & create_device(i_audio_device_info const &aDeviceInfo, audio_data_format const &aDataFormat) override
neogfx::audio::~audio
~audio() override
neogfx::audio::audio
audio()
neogfx::i_audio_device_info
Definition
i_audio_device.hpp:41
neogfx::i_audio_device
Definition
i_audio_device.hpp:58
neogfx::i_audio_instrument_atlas
Definition
i_audio_instrument_atlas.hpp:34
neogfx::i_audio
Definition
i_audio.hpp:32
neolib::i_vector
Definition
i_vector.hpp:45
neolib::vector
Definition
vector.hpp:48
i_audio.hpp
neogfx
Definition
action.hpp:28
neogfx::audio_device_type
audio_device_type
Definition
i_audio_device.hpp:33
neogfx::audio_context
std::any audio_context
Definition
i_audio.hpp:27
neogfx.hpp
neogfx::audio_data_format
Definition
audio_primitives.hpp:981
include
neogfx
audio
audio.hpp
Generated by
1.9.8