7#include "speaker_mapping.hpp"
8#include "../macros.hpp"
10hi_export_module(hikogui.audio.speaker_mapping_win32);
12namespace hi {
inline namespace v1 {
15 auto r = speaker_mapping{0};
26 r |= speaker_mapping::front_left;
29 r |= speaker_mapping::front_right;
32 r |= speaker_mapping::front_center;
35 r |= speaker_mapping::low_frequency;
38 r |= speaker_mapping::back_left;
41 r |= speaker_mapping::back_right;
44 r |= speaker_mapping::front_left_of_center;
47 r |= speaker_mapping::front_right_of_center;
50 r |= speaker_mapping::back_center;
53 r |= speaker_mapping::side_left;
56 r |= speaker_mapping::side_right;
59 r |= speaker_mapping::top_center;
62 r |= speaker_mapping::top_front_left;
65 r |= speaker_mapping::top_front_center;
68 r |= speaker_mapping::top_front_right;
71 r |= speaker_mapping::top_back_left;
74 r |= speaker_mapping::top_back_center;
77 r |= speaker_mapping::top_back_right;
83hi_export [[
nodiscard]]
inline DWORD speaker_mapping_to_win32(speaker_mapping
from)
noexcept{
86 if (to_bool(
from & speaker_mapping::front_left)) {
89 if (to_bool(
from & speaker_mapping::front_right)) {
92 if (to_bool(
from & speaker_mapping::front_center)) {
95 if (to_bool(
from & speaker_mapping::low_frequency)) {
98 if (to_bool(
from & speaker_mapping::back_left)) {
101 if (to_bool(
from & speaker_mapping::back_right)) {
104 if (to_bool(
from & speaker_mapping::front_left_of_center)) {
107 if (to_bool(
from & speaker_mapping::front_right_of_center)) {
110 if (to_bool(
from & speaker_mapping::back_center)) {
113 if (to_bool(
from & speaker_mapping::side_left)) {
116 if (to_bool(
from & speaker_mapping::side_right)) {
119 if (to_bool(
from & speaker_mapping::top_center)) {
122 if (to_bool(
from & speaker_mapping::top_front_left)) {
125 if (to_bool(
from & speaker_mapping::top_front_center)) {
128 if (to_bool(
from & speaker_mapping::top_front_right)) {
131 if (to_bool(
from & speaker_mapping::top_back_left)) {
134 if (to_bool(
from & speaker_mapping::top_back_center)) {
137 if (to_bool(
from & speaker_mapping::top_back_right)) {
DOXYGEN BUG.
Definition algorithm.hpp:16
geometry/margins.hpp
Definition lookahead_iterator.hpp:5
constexpr Out narrow_cast(In const &rhs) noexcept
Cast numeric values without loss of precision.
Definition cast.hpp:377