HephAudio v3.0.6
A cross-platform C++ library for recording, playing, and processing audio on Windows, Android, Linux, iOS, and macOS.
Loading...
Searching...
No Matches
AudioChannelLayout.h File Reference
#include "HephAudioShared.h"
#include <cstdint>
#include <vector>

Go to the source code of this file.

Classes

struct  HephAudio::AudioChannelLayout
 stores information about the channel layout. More...
 

Macros

#define HEPHAUDIO_CH_MASK_MONO   (HephAudio::AudioChannelMask::FrontCenter)
 
#define HEPHAUDIO_CH_MASK_STEREO   (HephAudio::AudioChannelMask::FrontLeft | HephAudio::AudioChannelMask::FrontRight)
 
#define HEPHAUDIO_CH_MASK_2_POINT_1   (HEPHAUDIO_CH_MASK_STEREO | HephAudio::AudioChannelMask::LowFrequency)
 
#define HEPHAUDIO_CH_MASK_2_1   (HEPHAUDIO_CH_MASK_STEREO | HephAudio::AudioChannelMask::BackCenter)
 
#define HEPHAUDIO_CH_MASK_SURROUND   (HEPHAUDIO_CH_MASK_STEREO | HephAudio::AudioChannelMask::FrontCenter)
 
#define HEPHAUDIO_CH_MASK_3_POINT_1   (HEPHAUDIO_CH_MASK_SURROUND | HephAudio::AudioChannelMask::LowFrequency)
 
#define HEPHAUDIO_CH_MASK_4_POINT_0   (HEPHAUDIO_CH_MASK_SURROUND | HephAudio::AudioChannelMask::BackCenter)
 
#define HEPHAUDIO_CH_MASK_2_2   (HEPHAUDIO_CH_MASK_STEREO | HephAudio::AudioChannelMask::SideLeft | HephAudio::AudioChannelMask::SideRight)
 
#define HEPHAUDIO_CH_MASK_QUAD   (HEPHAUDIO_CH_MASK_STEREO | HephAudio::AudioChannelMask::BackLeft | HephAudio::AudioChannelMask::BackRight)
 
#define HEPHAUDIO_CH_MASK_4_POINT_1   (HEPHAUDIO_CH_MASK_4_POINT_0 | HephAudio::AudioChannelMask::LowFrequency)
 
#define HEPHAUDIO_CH_MASK_5_POINT_0   (HEPHAUDIO_CH_MASK_SURROUND | HephAudio::AudioChannelMask::SideLeft | HephAudio::AudioChannelMask::SideRight)
 
#define HEPHAUDIO_CH_MASK_5_POINT_0_BACK   (HEPHAUDIO_CH_MASK_SURROUND | HephAudio::AudioChannelMask::BackLeft | HephAudio::AudioChannelMask::BackRight)
 
#define HEPHAUDIO_CH_MASK_5_POINT_1   (HEPHAUDIO_CH_MASK_5_POINT_0 | HephAudio::AudioChannelMask::LowFrequency)
 
#define HEPHAUDIO_CH_MASK_5_POINT_1_BACK   (HEPHAUDIO_CH_MASK_5_POINT_0_BACK | HephAudio::AudioChannelMask::LowFrequency)
 
#define HEPHAUDIO_CH_MASK_6_POINT_0   (HEPHAUDIO_CH_MASK_5_POINT_0 | HephAudio::AudioChannelMask::BackCenter)
 
#define HEPHAUDIO_CH_MASK_6_POINT_0_FRONT   (HEPHAUDIO_CH_MASK_2_2 | HephAudio::AudioChannelMask::FrontLeftOfCenter | HephAudio::AudioChannelMask::FrontRightOfCenter)
 
#define HEPHAUDIO_CH_MASK_HEXAGONAL   (HEPHAUDIO_CH_MASK_5_POINT_0_BACK | HephAudio::AudioChannelMask::BackCenter)
 
#define HEPHAUDIO_CH_MASK_6_POINT_1   (HEPHAUDIO_CH_MASK_5_POINT_1 | HephAudio::AudioChannelMask::BackCenter)
 
#define HEPHAUDIO_CH_MASK_6_POINT_1_BACK   (HEPHAUDIO_CH_MASK_5_POINT_1_BACK | HephAudio::AudioChannelMask::BackCenter)
 
#define HEPHAUDIO_CH_MASK_6_POINT_1_FRONT   (HEPHAUDIO_CH_MASK_6_POINT_0_FRONT | HephAudio::AudioChannelMask::LowFrequency)
 
#define HEPHAUDIO_CH_MASK_7_POINT_0   (HEPHAUDIO_CH_MASK_5_POINT_0 | HephAudio::AudioChannelMask::BackLeft | HephAudio::AudioChannelMask::BackRight)
 
#define HEPHAUDIO_CH_MASK_7_POINT_0_FRONT   (HEPHAUDIO_CH_MASK_5_POINT_0 | HephAudio::AudioChannelMask::FrontLeftOfCenter | HephAudio::AudioChannelMask::FrontRightOfCenter)
 
#define HEPHAUDIO_CH_MASK_7_POINT_1   (HEPHAUDIO_CH_MASK_5_POINT_1 | HephAudio::AudioChannelMask::BackLeft | HephAudio::AudioChannelMask::BackRight)
 
#define HEPHAUDIO_CH_MASK_7_POINT_1_WIDE   (HEPHAUDIO_CH_MASK_5_POINT_1 | HephAudio::AudioChannelMask::FrontLeftOfCenter | HephAudio::AudioChannelMask::FrontRightOfCenter)
 
#define HEPHAUDIO_CH_MASK_7_POINT_1_WIDE_BACK   (HEPHAUDIO_CH_MASK_5_POINT_1_BACK | HephAudio::AudioChannelMask::FrontLeftOfCenter | HephAudio::AudioChannelMask::FrontRightOfCenter)
 
#define HEPHAUDIO_CH_MASK_OCTAGONAL   (HEPHAUDIO_CH_MASK_5_POINT_0 | HephAudio::AudioChannelMask::BackLeft | HephAudio::AudioChannelMask::BackCenter | HephAudio::AudioChannelMask::BackRight)
 
#define HEPHAUDIO_CH_LAYOUT_MONO   HephAudio::AudioChannelLayout(1, HEPHAUDIO_CH_MASK_MONO)
 
#define HEPHAUDIO_CH_LAYOUT_STEREO   HephAudio::AudioChannelLayout(2, HEPHAUDIO_CH_MASK_STEREO)
 
#define HEPHAUDIO_CH_LAYOUT_2_POINT_1   HephAudio::AudioChannelLayout(3, HEPHAUDIO_CH_MASK_2_POINT_1)
 
#define HEPHAUDIO_CH_LAYOUT_2_1   HephAudio::AudioChannelLayout(3, HEPHAUDIO_CH_MASK_2_1)
 
#define HEPHAUDIO_CH_LAYOUT_SURROUND   HephAudio::AudioChannelLayout(3, HEPHAUDIO_CH_MASK_SURROUND)
 
#define HEPHAUDIO_CH_LAYOUT_3_POINT_1   HephAudio::AudioChannelLayout(4, HEPHAUDIO_CH_MASK_3_POINT_1)
 
#define HEPHAUDIO_CH_LAYOUT_4_POINT_0   HephAudio::AudioChannelLayout(4, HEPHAUDIO_CH_MASK_4_POINT_0)
 
#define HEPHAUDIO_CH_LAYOUT_2_2   HephAudio::AudioChannelLayout(4, HEPHAUDIO_CH_MASK_2_2)
 
#define HEPHAUDIO_CH_LAYOUT_QUAD   HephAudio::AudioChannelLayout(4, HEPHAUDIO_CH_MASK_QUAD)
 
#define HEPHAUDIO_CH_LAYOUT_4_POINT_1   HephAudio::AudioChannelLayout(5, HEPHAUDIO_CH_MASK_4_POINT_1)
 
#define HEPHAUDIO_CH_LAYOUT_5_POINT_0   HephAudio::AudioChannelLayout(5, HEPHAUDIO_CH_MASK_5_POINT_0)
 
#define HEPHAUDIO_CH_LAYOUT_5_POINT_0_BACK   HephAudio::AudioChannelLayout(5, HEPHAUDIO_CH_MASK_5_POINT_0_BACK)
 
#define HEPHAUDIO_CH_LAYOUT_5_POINT_1   HephAudio::AudioChannelLayout(6, HEPHAUDIO_CH_MASK_5_POINT_1)
 
#define HEPHAUDIO_CH_LAYOUT_5_POINT_1_BACK   HephAudio::AudioChannelLayout(6, HEPHAUDIO_CH_MASK_5_POINT_1_BACK)
 
#define HEPHAUDIO_CH_LAYOUT_6_POINT_0   HephAudio::AudioChannelLayout(6, HEPHAUDIO_CH_MASK_6_POINT_0)
 
#define HEPHAUDIO_CH_LAYOUT_6_POINT_0_FRONT   HephAudio::AudioChannelLayout(6, HEPHAUDIO_CH_MASK_6_POINT_0_FRONT)
 
#define HEPHAUDIO_CH_LAYOUT_HEXAGONAL   HephAudio::AudioChannelLayout(6, HEPHAUDIO_CH_MASK_HEXAGONAL)
 
#define HEPHAUDIO_CH_LAYOUT_6_POINT_1   HephAudio::AudioChannelLayout(7, HEPHAUDIO_CH_MASK_6_POINT_1)
 
#define HEPHAUDIO_CH_LAYOUT_6_POINT_1_BACK   HephAudio::AudioChannelLayout(7, HEPHAUDIO_CH_MASK_6_POINT_1_BACK)
 
#define HEPHAUDIO_CH_LAYOUT_6_POINT_1_FRONT   HephAudio::AudioChannelLayout(7, HEPHAUDIO_CH_MASK_6_POINT_1_FRONT)
 
#define HEPHAUDIO_CH_LAYOUT_7_POINT_0   HephAudio::AudioChannelLayout(7, HEPHAUDIO_CH_MASK_7_POINT_0)
 
#define HEPHAUDIO_CH_LAYOUT_7_POINT_0_FRONT   HephAudio::AudioChannelLayout(7, HEPHAUDIO_CH_MASK_7_POINT_0_FRONT)
 
#define HEPHAUDIO_CH_LAYOUT_7_POINT_1   HephAudio::AudioChannelLayout(8, HEPHAUDIO_CH_MASK_7_POINT_1)
 
#define HEPHAUDIO_CH_LAYOUT_7_POINT_1_WIDE   HephAudio::AudioChannelLayout(8, HEPHAUDIO_CH_MASK_7_POINT_1_WIDE)
 
#define HEPHAUDIO_CH_LAYOUT_7_POINT_1_WIDE_BACK   HephAudio::AudioChannelLayout(8, HEPHAUDIO_CH_MASK_7_POINT_1_WIDE_BACK)
 
#define HEPHAUDIO_CH_LAYOUT_OCTAGONAL   HephAudio::AudioChannelLayout(8, HEPHAUDIO_CH_MASK_OCTAGONAL)
 

Enumerations

enum  HephAudio::AudioChannelMask {
  Unknown = 0 , FrontLeft = 0x1 , FrontRight = 0x2 , FrontCenter = 0x4 ,
  LowFrequency = 0x8 , BackLeft = 0x10 , BackRight = 0x20 , FrontLeftOfCenter = 0x40 ,
  FrontRightOfCenter = 0x80 , BackCenter = 0x100 , SideLeft = 0x200 , SideRight = 0x400 ,
  TopCenter = 0x800 , TopFrontLeft = 0x1000 , TopFrontCenter = 0x2000 , TopFrontRight = 0x4000 ,
  TopBackLeft = 0x8000 , TopBackCenter = 0x10000 , TopBackRight = 0x20000
}
 

Functions

constexpr AudioChannelMask HephAudio::operator| (const AudioChannelMask &lhs, const AudioChannelMask &rhs)
 
constexpr AudioChannelMaskHephAudio::operator|= (AudioChannelMask &lhs, const AudioChannelMask &rhs)
 
constexpr AudioChannelMask HephAudio::operator& (const AudioChannelMask &lhs, const AudioChannelMask &rhs)
 
constexpr AudioChannelMaskHephAudio::operator&= (AudioChannelMask &lhs, const AudioChannelMask &rhs)
 
constexpr AudioChannelMask HephAudio::operator^ (const AudioChannelMask &lhs, const AudioChannelMask &rhs)
 
constexpr AudioChannelMaskHephAudio::operator^= (AudioChannelMask &lhs, const AudioChannelMask &rhs)
 
constexpr AudioChannelMask HephAudio::operator~ (const AudioChannelMask &lhs)
 

Enumeration Type Documentation

◆ AudioChannelMask

bit field that indicates which channels are used.