Gray C++ Libraries  0.0.2
A set of C++ libraries for MSVC, GNU on Windows, WinCE, Linux
GrayLib::cMP3Header Class Reference

#include <cMP3File.h>

Public Types

enum  MASK_TYPE {
  MASK_CHANNEL = 0x000000C0 , MASK_PADDING = 0x00000200 , MASK_SAMPLERATE = 0x00000C00 , MASK_BITRATE = 0x0000f000 ,
  MASK_PROTECTION = 0x00010000 , MASK_LAYER = 0x00060000 , MASK_VERSION = 0x00180000 , MASK_FRAME_SYNC = 0xFFE00000
}
 
enum  CHANNEL_TYPE { CHANNEL_STEREO = 0x00000000 , CHANNEL_JOINT = 0x00000040 , CHANNEL_DUAL = 0x00000080 , CHANNEL_MONO = 0x000000C0 }
 
enum  SAMPLERATE_IDX_TYPE { SAMPLERATE_IDX_QTY = 3 , SAMPLERATE_MASK = 0x03 }
 
enum  BITRATE_IDX_TYPE { BITRATE_IDX_UNK0 = 0 , BITRATE_IDX_UNK15 = 15 , BITRATE_MASK = 0x0f , BITRATE_IDX_QTY = 16 }
 
enum  LAYER_TYPE {
  LAYER_UNK = 0 , LAYER_3 = 1 , LAYER_2 = 2 , LAYER_1 = 3 ,
  LAYER_MASK = 0x03
}
 
enum  VERSION_TYPE {
  VERSION_25 = 0 , VERSION_INVALID = 1 , VERSION_2 = 2 , VERSION_1 = 3 ,
  VERSION_MASK = 0x03
}
 
enum  SHIFT_TYPE {
  SHIFT_CHANNEL = 0 , SHIFT_SAMPLERATE = 10 , SHIFT_BITRATE = 12 , SHIFT_LAYER = 17 ,
  SHIFT_VERSION = 19
}
 

Public Member Functions

 cMP3Header (UINT uCode) noexcept
 
void put_Code (UINT32 uCode)
 
UINT32 get_Code () const
 
bool isValidAudioCode () const
 
bool isAudioTag3v1 () const
 
CHANNEL_TYPE get_Channel () const
 
WORD get_ChannelQty () const
 
void put_Channel (CHANNEL_TYPE eChan)
 
BITRATE_IDX_TYPE get_BitRateIdx () const
 
void put_BitRateIdx (BITRATE_IDX_TYPE idx)
 
SAMPLERATE_IDX_TYPE get_SampleRateIdx () const
 
void put_SampleRateIdx (SAMPLERATE_IDX_TYPE idx)
 
VERSION_TYPE get_Version () const
 
void put_Version (VERSION_TYPE eVer)
 
bool hasProtectionCRC () const
 
UINT get_BitRate () const
 
HRESULT put_BitRate (UINT uBitRate)
 
UINT get_SampleRate () const
 
HRESULT put_SampleRate (UINT uSampleRate)
 
UINT get_Samples () const
 
size_t get_SizeBlock () const
 
HRESULT GetWaveFormat (cWaveFormat &form) const
 

Static Public Member Functions

static bool GRAYCALL IsValidAudioCode (UINT32 uCode)
 

Detailed Description

Member Enumeration Documentation

◆ BITRATE_IDX_TYPE

Enumerator
BITRATE_IDX_UNK0 
BITRATE_IDX_UNK15 
BITRATE_MASK 
BITRATE_IDX_QTY 

◆ CHANNEL_TYPE

Enumerator
CHANNEL_STEREO 
CHANNEL_JOINT 
CHANNEL_DUAL 
CHANNEL_MONO 

◆ LAYER_TYPE

Enumerator
LAYER_UNK 
LAYER_3 
LAYER_2 
LAYER_1 
LAYER_MASK 

◆ MASK_TYPE

Enumerator
MASK_CHANNEL 
MASK_PADDING 
MASK_SAMPLERATE 
MASK_BITRATE 
MASK_PROTECTION 
MASK_LAYER 
MASK_VERSION 
MASK_FRAME_SYNC 

◆ SAMPLERATE_IDX_TYPE

Enumerator
SAMPLERATE_IDX_QTY 
SAMPLERATE_MASK 

◆ SHIFT_TYPE

Enumerator
SHIFT_CHANNEL 
SHIFT_SAMPLERATE 
SHIFT_BITRATE 
SHIFT_LAYER 
SHIFT_VERSION 

◆ VERSION_TYPE

Enumerator
VERSION_25 
VERSION_INVALID 
VERSION_2 
VERSION_1 
VERSION_MASK 

Constructor & Destructor Documentation

◆ cMP3Header()

GrayLib::cMP3Header::cMP3Header ( UINT  uCode)
inlinenoexcept

Member Function Documentation

◆ get_BitRate()

UINT GrayLib::cMP3Header::get_BitRate ( ) const

◆ get_BitRateIdx()

BITRATE_IDX_TYPE GrayLib::cMP3Header::get_BitRateIdx ( ) const
inline

◆ get_Channel()

CHANNEL_TYPE GrayLib::cMP3Header::get_Channel ( ) const
inline

◆ get_ChannelQty()

WORD GrayLib::cMP3Header::get_ChannelQty ( ) const
inline

◆ get_Code()

UINT32 GrayLib::cMP3Header::get_Code ( ) const
inline

get the 32 bit code.

◆ get_SampleRate()

UINT GrayLib::cMP3Header::get_SampleRate ( ) const

◆ get_SampleRateIdx()

SAMPLERATE_IDX_TYPE GrayLib::cMP3Header::get_SampleRateIdx ( ) const
inline

◆ get_Samples()

UINT GrayLib::cMP3Header::get_Samples ( ) const
inline

◆ get_SizeBlock()

size_t GrayLib::cMP3Header::get_SizeBlock ( ) const

Data block size including 4 bytes for the header..

◆ get_Version()

VERSION_TYPE GrayLib::cMP3Header::get_Version ( ) const
inline

◆ GetWaveFormat()

HRESULT GrayLib::cMP3Header::GetWaveFormat ( cWaveFormat form) const

◆ hasProtectionCRC()

bool GrayLib::cMP3Header::hasProtectionCRC ( ) const
inline

◆ isAudioTag3v1()

bool GrayLib::cMP3Header::isAudioTag3v1 ( ) const
inline

◆ isValidAudioCode()

bool GrayLib::cMP3Header::isValidAudioCode ( ) const
inline

◆ IsValidAudioCode()

bool GRAYCALL GrayLib::cMP3Header::IsValidAudioCode ( UINT32  uCode)
static

is this a valid MP3 audio header code value?

◆ put_BitRate()

HRESULT GrayLib::cMP3Header::put_BitRate ( UINT  uBitRate)

Attempt to find a matching bit rate. k_BitRate

◆ put_BitRateIdx()

void GrayLib::cMP3Header::put_BitRateIdx ( BITRATE_IDX_TYPE  idx)
inline

◆ put_Channel()

void GrayLib::cMP3Header::put_Channel ( CHANNEL_TYPE  eChan)
inline

◆ put_Code()

void GrayLib::cMP3Header::put_Code ( UINT32  uCode)
inline

store the 32 bit code.

◆ put_SampleRate()

HRESULT GrayLib::cMP3Header::put_SampleRate ( UINT  uSampleRate)

Attempt to find a matching sample rate. k_SampleRate

◆ put_SampleRateIdx()

void GrayLib::cMP3Header::put_SampleRateIdx ( SAMPLERATE_IDX_TYPE  idx)
inline

◆ put_Version()

void GrayLib::cMP3Header::put_Version ( VERSION_TYPE  eVer)
inline

The documentation for this class was generated from the following files: