Anklang-0.3.0-1416-gfa8ce8d2 anklang-0.3.0-1416-gfa8ce8d2
ASE — Anklang Sound Engine (C++)

« « « Anklang Documentation
Loading...
Searching...
No Matches
transport.hh
Go to the documentation of this file.
1 // This Source Code Form is licensed MPL-2.0: http://mozilla.org/MPL/2.0
2#pragma once
3
4#include <ase/defs.hh>
5
6namespace Ase {
7
11 NONE = 0,
12 FRONT_LEFT = 0x1,
13 FRONT_RIGHT = 0x2,
14 FRONT_CENTER = 0x4,
15 LOW_FREQUENCY = 0x8,
16 BACK_LEFT = 0x10,
17 BACK_RIGHT = 0x20,
18 // WAV reserved = 0xyyy00000,
19 AUX = uint64_t (1) << 63,
21 STEREO = FRONT_LEFT | FRONT_RIGHT,
22 STEREO_21 = STEREO | LOW_FREQUENCY,
23 STEREO_30 = STEREO | FRONT_CENTER,
24 STEREO_31 = STEREO_30 | LOW_FREQUENCY,
25 SURROUND_50 = STEREO_30 | BACK_LEFT | BACK_RIGHT,
26 SURROUND_51 = SURROUND_50 | LOW_FREQUENCY,
27#if 0 // TODO: dynamic multichannel support
28 FRONT_LEFT_OF_CENTER = 0x40,
29 FRONT_RIGHT_OF_CENTER = 0x80,
30 BACK_CENTER = 0x100,
31 SIDE_LEFT = 0x200,
32 SIDE_RIGHT = 0x400,
33 TOP_CENTER = 0x800,
34 TOP_FRONT_LEFT = 0x1000,
35 TOP_FRONT_CENTER = 0x2000,
36 TOP_FRONT_RIGHT = 0x4000,
37 TOP_BACK_LEFT = 0x8000,
38 TOP_BACK_CENTER = 0x10000,
39 TOP_BACK_RIGHT = 0x20000,
40 SIDE_SURROUND_50 = STEREO_30 | SIDE_LEFT | SIDE_RIGHT,
41 SIDE_SURROUND_51 = SIDE_SURROUND_50 | LOW_FREQUENCY,
42#endif
43};
44constexpr SpeakerArrangement speaker_arrangement_channels_mask { ~size_t (SpeakerArrangement::AUX) };
45uint8 speaker_arrangement_count_channels (SpeakerArrangement spa);
46SpeakerArrangement speaker_arrangement_channels (SpeakerArrangement spa);
47bool speaker_arrangement_is_aux (SpeakerArrangement spa);
48const char* speaker_arrangement_bit_name (SpeakerArrangement spa);
49std::string speaker_arrangement_desc (SpeakerArrangement spa);
50
51constexpr const int64 TRANSPORT_PPQN = 4838400; // Ticks per quarter note
52
53} // Ase
The Anklang C++ API namespace.
Definition api.hh:8
SpeakerArrangement
Flags to indicate channel arrangements of a bus.
Definition transport.hh:10
@ FRONT_LEFT
Stereo Left (FL)
@ FRONT_RIGHT
Stereo Right (FR)
@ AUX
Flag for side chain uses.
@ LOW_FREQUENCY
Low Frequency Effects (LFE)
@ MONO
Single Channel (M)
uint8_t uint8
An 8-bit unsigned integer.
Definition cxxaux.hh:21
int64_t int64
A 64-bit unsigned integer, use PRI*64 in format strings.
Definition cxxaux.hh:28
typedef uint64_t