LMMS
Loading...
Searching...
No Matches
dr_wav.h File Reference
#include <stddef.h>

Go to the source code of this file.

Classes

struct  drwav_chunk_header
struct  drwav_fmt
struct  drwav_allocation_callbacks
struct  drwav__memory_stream
struct  drwav__memory_stream_write
struct  drwav_data_format
struct  drwav_smpl_loop
struct  drwav_smpl
struct  drwav_inst
struct  drwav_cue_point
struct  drwav_cue
struct  drwav_acid
struct  drwav_list_label_or_note
struct  drwav_bext
struct  drwav_list_info_text
struct  drwav_list_labelled_cue_region
struct  drwav

Macros

#define DRWAV_STRINGIFY(x)
#define DRWAV_XSTRINGIFY(x)
#define DRWAV_VERSION_MAJOR   0
#define DRWAV_VERSION_MINOR   13
#define DRWAV_VERSION_REVISION   2
#define DRWAV_VERSION_STRING   DRWAV_XSTRINGIFY(DRWAV_VERSION_MAJOR) "." DRWAV_XSTRINGIFY(DRWAV_VERSION_MINOR) "." DRWAV_XSTRINGIFY(DRWAV_VERSION_REVISION)
#define DRWAV_TRUE   1
#define DRWAV_FALSE   0
#define DRWAV_API   extern
#define DRWAV_PRIVATE   static
#define DRWAV_SUCCESS   0
#define DRWAV_ERROR   -1 /* A generic error. */
#define DRWAV_INVALID_ARGS   -2
#define DRWAV_INVALID_OPERATION   -3
#define DRWAV_OUT_OF_MEMORY   -4
#define DRWAV_OUT_OF_RANGE   -5
#define DRWAV_ACCESS_DENIED   -6
#define DRWAV_DOES_NOT_EXIST   -7
#define DRWAV_ALREADY_EXISTS   -8
#define DRWAV_TOO_MANY_OPEN_FILES   -9
#define DRWAV_INVALID_FILE   -10
#define DRWAV_TOO_BIG   -11
#define DRWAV_PATH_TOO_LONG   -12
#define DRWAV_NAME_TOO_LONG   -13
#define DRWAV_NOT_DIRECTORY   -14
#define DRWAV_IS_DIRECTORY   -15
#define DRWAV_DIRECTORY_NOT_EMPTY   -16
#define DRWAV_END_OF_FILE   -17
#define DRWAV_NO_SPACE   -18
#define DRWAV_BUSY   -19
#define DRWAV_IO_ERROR   -20
#define DRWAV_INTERRUPT   -21
#define DRWAV_UNAVAILABLE   -22
#define DRWAV_ALREADY_IN_USE   -23
#define DRWAV_BAD_ADDRESS   -24
#define DRWAV_BAD_SEEK   -25
#define DRWAV_BAD_PIPE   -26
#define DRWAV_DEADLOCK   -27
#define DRWAV_TOO_MANY_LINKS   -28
#define DRWAV_NOT_IMPLEMENTED   -29
#define DRWAV_NO_MESSAGE   -30
#define DRWAV_BAD_MESSAGE   -31
#define DRWAV_NO_DATA_AVAILABLE   -32
#define DRWAV_INVALID_DATA   -33
#define DRWAV_TIMEOUT   -34
#define DRWAV_NO_NETWORK   -35
#define DRWAV_NOT_UNIQUE   -36
#define DRWAV_NOT_SOCKET   -37
#define DRWAV_NO_ADDRESS   -38
#define DRWAV_BAD_PROTOCOL   -39
#define DRWAV_PROTOCOL_UNAVAILABLE   -40
#define DRWAV_PROTOCOL_NOT_SUPPORTED   -41
#define DRWAV_PROTOCOL_FAMILY_NOT_SUPPORTED   -42
#define DRWAV_ADDRESS_FAMILY_NOT_SUPPORTED   -43
#define DRWAV_SOCKET_NOT_SUPPORTED   -44
#define DRWAV_CONNECTION_RESET   -45
#define DRWAV_ALREADY_CONNECTED   -46
#define DRWAV_NOT_CONNECTED   -47
#define DRWAV_CONNECTION_REFUSED   -48
#define DRWAV_NO_HOST   -49
#define DRWAV_IN_PROGRESS   -50
#define DRWAV_CANCELLED   -51
#define DRWAV_MEMORY_ALREADY_MAPPED   -52
#define DRWAV_AT_END   -53
#define DR_WAVE_FORMAT_PCM   0x1
#define DR_WAVE_FORMAT_ADPCM   0x2
#define DR_WAVE_FORMAT_IEEE_FLOAT   0x3
#define DR_WAVE_FORMAT_ALAW   0x6
#define DR_WAVE_FORMAT_MULAW   0x7
#define DR_WAVE_FORMAT_DVI_ADPCM   0x11
#define DR_WAVE_FORMAT_EXTENSIBLE   0xFFFE
#define DRWAV_SEQUENTIAL   0x00000001

Typedefs

typedef signed char drwav_int8
typedef unsigned char drwav_uint8
typedef signed short drwav_int16
typedef unsigned short drwav_uint16
typedef signed int drwav_int32
typedef unsigned int drwav_uint32
typedef signed long long drwav_int64
typedef unsigned long long drwav_uint64
typedef drwav_uint32 drwav_uintptr
typedef drwav_uint8 drwav_bool8
typedef drwav_uint32 drwav_bool32
typedef drwav_int32 drwav_result
typedef size_t(* drwav_read_proc) (void *pUserData, void *pBufferOut, size_t bytesToRead)
typedef size_t(* drwav_write_proc) (void *pUserData, const void *pData, size_t bytesToWrite)
typedef drwav_bool32(* drwav_seek_proc) (void *pUserData, int offset, drwav_seek_origin origin)
typedef drwav_uint64(* drwav_chunk_proc) (void *pChunkUserData, drwav_read_proc onRead, drwav_seek_proc onSeek, void *pReadSeekUserData, const drwav_chunk_header *pChunkHeader, drwav_container container, const drwav_fmt *pFMT)

Enumerations

enum  drwav_seek_origin { drwav_seek_origin_start , drwav_seek_origin_current }
enum  drwav_container { drwav_container_riff , drwav_container_w64 , drwav_container_rf64 }
enum  drwav_metadata_type {
  drwav_metadata_type_none = 0 , drwav_metadata_type_unknown = 1 << 0 , drwav_metadata_type_smpl = 1 << 1 , drwav_metadata_type_inst = 1 << 2 ,
  drwav_metadata_type_cue = 1 << 3 , drwav_metadata_type_acid = 1 << 4 , drwav_metadata_type_bext = 1 << 5 , drwav_metadata_type_list_label = 1 << 6 ,
  drwav_metadata_type_list_note = 1 << 7 , drwav_metadata_type_list_labelled_cue_region = 1 << 8 , drwav_metadata_type_list_info_software = 1 << 9 , drwav_metadata_type_list_info_copyright = 1 << 10 ,
  drwav_metadata_type_list_info_title = 1 << 11 , drwav_metadata_type_list_info_artist = 1 << 12 , drwav_metadata_type_list_info_comment = 1 << 13 , drwav_metadata_type_list_info_date = 1 << 14 ,
  drwav_metadata_type_list_info_genre = 1 << 15 , drwav_metadata_type_list_info_album = 1 << 16 , drwav_metadata_type_list_info_tracknumber = 1 << 17 , drwav_metadata_type_list_all_info_strings ,
  drwav_metadata_type_list_all_adtl , drwav_metadata_type_all = -2 , drwav_metadata_type_all_including_unknown = -1
}
enum  drwav_smpl_loop_type { drwav_smpl_loop_type_forward = 0 , drwav_smpl_loop_type_pingpong = 1 , drwav_smpl_loop_type_backward = 2 }
enum  drwav_acid_flag {
  drwav_acid_flag_one_shot = 1 , drwav_acid_flag_root_note_set = 2 , drwav_acid_flag_stretch = 4 , drwav_acid_flag_disk_based = 8 ,
  drwav_acid_flag_acidizer = 16
}
enum  drwav_metadata_location { drwav_metadata_location_invalid , drwav_metadata_location_top_level , drwav_metadata_location_inside_info_list , drwav_metadata_location_inside_adtl_list }

Functions

DRWAV_API void drwav_version (drwav_uint32 *pMajor, drwav_uint32 *pMinor, drwav_uint32 *pRevision)
DRWAV_API const char * drwav_version_string (void)
DRWAV_API drwav_uint16 drwav_fmt_get_format (const drwav_fmt *pFMT)
DRWAV_API drwav_bool32 drwav_init (drwav *pWav, drwav_read_proc onRead, drwav_seek_proc onSeek, void *pUserData, const drwav_allocation_callbacks *pAllocationCallbacks)
DRWAV_API drwav_bool32 drwav_init_ex (drwav *pWav, drwav_read_proc onRead, drwav_seek_proc onSeek, drwav_chunk_proc onChunk, void *pReadSeekUserData, void *pChunkUserData, drwav_uint32 flags, const drwav_allocation_callbacks *pAllocationCallbacks)
DRWAV_API drwav_bool32 drwav_init_with_metadata (drwav *pWav, drwav_read_proc onRead, drwav_seek_proc onSeek, void *pUserData, drwav_uint32 flags, const drwav_allocation_callbacks *pAllocationCallbacks)
DRWAV_API drwav_bool32 drwav_init_write (drwav *pWav, const drwav_data_format *pFormat, drwav_write_proc onWrite, drwav_seek_proc onSeek, void *pUserData, const drwav_allocation_callbacks *pAllocationCallbacks)
DRWAV_API drwav_bool32 drwav_init_write_sequential (drwav *pWav, const drwav_data_format *pFormat, drwav_uint64 totalSampleCount, drwav_write_proc onWrite, void *pUserData, const drwav_allocation_callbacks *pAllocationCallbacks)
DRWAV_API drwav_bool32 drwav_init_write_sequential_pcm_frames (drwav *pWav, const drwav_data_format *pFormat, drwav_uint64 totalPCMFrameCount, drwav_write_proc onWrite, void *pUserData, const drwav_allocation_callbacks *pAllocationCallbacks)
DRWAV_API drwav_bool32 drwav_init_write_with_metadata (drwav *pWav, const drwav_data_format *pFormat, drwav_write_proc onWrite, drwav_seek_proc onSeek, void *pUserData, const drwav_allocation_callbacks *pAllocationCallbacks, drwav_metadata *pMetadata, drwav_uint32 metadataCount)
DRWAV_API drwav_uint64 drwav_target_write_size_bytes (const drwav_data_format *pFormat, drwav_uint64 totalFrameCount, drwav_metadata *pMetadata, drwav_uint32 metadataCount)
DRWAV_API drwav_metadatadrwav_take_ownership_of_metadata (drwav *pWav)
DRWAV_API drwav_result drwav_uninit (drwav *pWav)
DRWAV_API size_t drwav_read_raw (drwav *pWav, size_t bytesToRead, void *pBufferOut)
DRWAV_API drwav_uint64 drwav_read_pcm_frames (drwav *pWav, drwav_uint64 framesToRead, void *pBufferOut)
DRWAV_API drwav_uint64 drwav_read_pcm_frames_le (drwav *pWav, drwav_uint64 framesToRead, void *pBufferOut)
DRWAV_API drwav_uint64 drwav_read_pcm_frames_be (drwav *pWav, drwav_uint64 framesToRead, void *pBufferOut)
DRWAV_API drwav_bool32 drwav_seek_to_pcm_frame (drwav *pWav, drwav_uint64 targetFrameIndex)
DRWAV_API drwav_result drwav_get_cursor_in_pcm_frames (drwav *pWav, drwav_uint64 *pCursor)
DRWAV_API drwav_result drwav_get_length_in_pcm_frames (drwav *pWav, drwav_uint64 *pLength)
DRWAV_API size_t drwav_write_raw (drwav *pWav, size_t bytesToWrite, const void *pData)
DRWAV_API drwav_uint64 drwav_write_pcm_frames (drwav *pWav, drwav_uint64 framesToWrite, const void *pData)
DRWAV_API drwav_uint64 drwav_write_pcm_frames_le (drwav *pWav, drwav_uint64 framesToWrite, const void *pData)
DRWAV_API drwav_uint64 drwav_write_pcm_frames_be (drwav *pWav, drwav_uint64 framesToWrite, const void *pData)
DRWAV_API drwav_uint64 drwav_read_pcm_frames_s16 (drwav *pWav, drwav_uint64 framesToRead, drwav_int16 *pBufferOut)
DRWAV_API drwav_uint64 drwav_read_pcm_frames_s16le (drwav *pWav, drwav_uint64 framesToRead, drwav_int16 *pBufferOut)
DRWAV_API drwav_uint64 drwav_read_pcm_frames_s16be (drwav *pWav, drwav_uint64 framesToRead, drwav_int16 *pBufferOut)
DRWAV_API void drwav_u8_to_s16 (drwav_int16 *pOut, const drwav_uint8 *pIn, size_t sampleCount)
DRWAV_API void drwav_s24_to_s16 (drwav_int16 *pOut, const drwav_uint8 *pIn, size_t sampleCount)
DRWAV_API void drwav_s32_to_s16 (drwav_int16 *pOut, const drwav_int32 *pIn, size_t sampleCount)
DRWAV_API void drwav_f32_to_s16 (drwav_int16 *pOut, const float *pIn, size_t sampleCount)
DRWAV_API void drwav_f64_to_s16 (drwav_int16 *pOut, const double *pIn, size_t sampleCount)
DRWAV_API void drwav_alaw_to_s16 (drwav_int16 *pOut, const drwav_uint8 *pIn, size_t sampleCount)
DRWAV_API void drwav_mulaw_to_s16 (drwav_int16 *pOut, const drwav_uint8 *pIn, size_t sampleCount)
DRWAV_API drwav_uint64 drwav_read_pcm_frames_f32 (drwav *pWav, drwav_uint64 framesToRead, float *pBufferOut)
DRWAV_API drwav_uint64 drwav_read_pcm_frames_f32le (drwav *pWav, drwav_uint64 framesToRead, float *pBufferOut)
DRWAV_API drwav_uint64 drwav_read_pcm_frames_f32be (drwav *pWav, drwav_uint64 framesToRead, float *pBufferOut)
DRWAV_API void drwav_u8_to_f32 (float *pOut, const drwav_uint8 *pIn, size_t sampleCount)
DRWAV_API void drwav_s16_to_f32 (float *pOut, const drwav_int16 *pIn, size_t sampleCount)
DRWAV_API void drwav_s24_to_f32 (float *pOut, const drwav_uint8 *pIn, size_t sampleCount)
DRWAV_API void drwav_s32_to_f32 (float *pOut, const drwav_int32 *pIn, size_t sampleCount)
DRWAV_API void drwav_f64_to_f32 (float *pOut, const double *pIn, size_t sampleCount)
DRWAV_API void drwav_alaw_to_f32 (float *pOut, const drwav_uint8 *pIn, size_t sampleCount)
DRWAV_API void drwav_mulaw_to_f32 (float *pOut, const drwav_uint8 *pIn, size_t sampleCount)
DRWAV_API drwav_uint64 drwav_read_pcm_frames_s32 (drwav *pWav, drwav_uint64 framesToRead, drwav_int32 *pBufferOut)
DRWAV_API drwav_uint64 drwav_read_pcm_frames_s32le (drwav *pWav, drwav_uint64 framesToRead, drwav_int32 *pBufferOut)
DRWAV_API drwav_uint64 drwav_read_pcm_frames_s32be (drwav *pWav, drwav_uint64 framesToRead, drwav_int32 *pBufferOut)
DRWAV_API void drwav_u8_to_s32 (drwav_int32 *pOut, const drwav_uint8 *pIn, size_t sampleCount)
DRWAV_API void drwav_s16_to_s32 (drwav_int32 *pOut, const drwav_int16 *pIn, size_t sampleCount)
DRWAV_API void drwav_s24_to_s32 (drwav_int32 *pOut, const drwav_uint8 *pIn, size_t sampleCount)
DRWAV_API void drwav_f32_to_s32 (drwav_int32 *pOut, const float *pIn, size_t sampleCount)
DRWAV_API void drwav_f64_to_s32 (drwav_int32 *pOut, const double *pIn, size_t sampleCount)
DRWAV_API void drwav_alaw_to_s32 (drwav_int32 *pOut, const drwav_uint8 *pIn, size_t sampleCount)
DRWAV_API void drwav_mulaw_to_s32 (drwav_int32 *pOut, const drwav_uint8 *pIn, size_t sampleCount)
DRWAV_API drwav_bool32 drwav_init_file (drwav *pWav, const char *filename, const drwav_allocation_callbacks *pAllocationCallbacks)
DRWAV_API drwav_bool32 drwav_init_file_ex (drwav *pWav, const char *filename, drwav_chunk_proc onChunk, void *pChunkUserData, drwav_uint32 flags, const drwav_allocation_callbacks *pAllocationCallbacks)
DRWAV_API drwav_bool32 drwav_init_file_w (drwav *pWav, const wchar_t *filename, const drwav_allocation_callbacks *pAllocationCallbacks)
DRWAV_API drwav_bool32 drwav_init_file_ex_w (drwav *pWav, const wchar_t *filename, drwav_chunk_proc onChunk, void *pChunkUserData, drwav_uint32 flags, const drwav_allocation_callbacks *pAllocationCallbacks)
DRWAV_API drwav_bool32 drwav_init_file_with_metadata (drwav *pWav, const char *filename, drwav_uint32 flags, const drwav_allocation_callbacks *pAllocationCallbacks)
DRWAV_API drwav_bool32 drwav_init_file_with_metadata_w (drwav *pWav, const wchar_t *filename, drwav_uint32 flags, const drwav_allocation_callbacks *pAllocationCallbacks)
DRWAV_API drwav_bool32 drwav_init_file_write (drwav *pWav, const char *filename, const drwav_data_format *pFormat, const drwav_allocation_callbacks *pAllocationCallbacks)
DRWAV_API drwav_bool32 drwav_init_file_write_sequential (drwav *pWav, const char *filename, const drwav_data_format *pFormat, drwav_uint64 totalSampleCount, const drwav_allocation_callbacks *pAllocationCallbacks)
DRWAV_API drwav_bool32 drwav_init_file_write_sequential_pcm_frames (drwav *pWav, const char *filename, const drwav_data_format *pFormat, drwav_uint64 totalPCMFrameCount, const drwav_allocation_callbacks *pAllocationCallbacks)
DRWAV_API drwav_bool32 drwav_init_file_write_w (drwav *pWav, const wchar_t *filename, const drwav_data_format *pFormat, const drwav_allocation_callbacks *pAllocationCallbacks)
DRWAV_API drwav_bool32 drwav_init_file_write_sequential_w (drwav *pWav, const wchar_t *filename, const drwav_data_format *pFormat, drwav_uint64 totalSampleCount, const drwav_allocation_callbacks *pAllocationCallbacks)
DRWAV_API drwav_bool32 drwav_init_file_write_sequential_pcm_frames_w (drwav *pWav, const wchar_t *filename, const drwav_data_format *pFormat, drwav_uint64 totalPCMFrameCount, const drwav_allocation_callbacks *pAllocationCallbacks)
DRWAV_API drwav_bool32 drwav_init_memory (drwav *pWav, const void *data, size_t dataSize, const drwav_allocation_callbacks *pAllocationCallbacks)
DRWAV_API drwav_bool32 drwav_init_memory_ex (drwav *pWav, const void *data, size_t dataSize, drwav_chunk_proc onChunk, void *pChunkUserData, drwav_uint32 flags, const drwav_allocation_callbacks *pAllocationCallbacks)
DRWAV_API drwav_bool32 drwav_init_memory_with_metadata (drwav *pWav, const void *data, size_t dataSize, drwav_uint32 flags, const drwav_allocation_callbacks *pAllocationCallbacks)
DRWAV_API drwav_bool32 drwav_init_memory_write (drwav *pWav, void **ppData, size_t *pDataSize, const drwav_data_format *pFormat, const drwav_allocation_callbacks *pAllocationCallbacks)
DRWAV_API drwav_bool32 drwav_init_memory_write_sequential (drwav *pWav, void **ppData, size_t *pDataSize, const drwav_data_format *pFormat, drwav_uint64 totalSampleCount, const drwav_allocation_callbacks *pAllocationCallbacks)
DRWAV_API drwav_bool32 drwav_init_memory_write_sequential_pcm_frames (drwav *pWav, void **ppData, size_t *pDataSize, const drwav_data_format *pFormat, drwav_uint64 totalPCMFrameCount, const drwav_allocation_callbacks *pAllocationCallbacks)
DRWAV_API drwav_int16drwav_open_and_read_pcm_frames_s16 (drwav_read_proc onRead, drwav_seek_proc onSeek, void *pUserData, unsigned int *channelsOut, unsigned int *sampleRateOut, drwav_uint64 *totalFrameCountOut, const drwav_allocation_callbacks *pAllocationCallbacks)
DRWAV_API float * drwav_open_and_read_pcm_frames_f32 (drwav_read_proc onRead, drwav_seek_proc onSeek, void *pUserData, unsigned int *channelsOut, unsigned int *sampleRateOut, drwav_uint64 *totalFrameCountOut, const drwav_allocation_callbacks *pAllocationCallbacks)
DRWAV_API drwav_int32drwav_open_and_read_pcm_frames_s32 (drwav_read_proc onRead, drwav_seek_proc onSeek, void *pUserData, unsigned int *channelsOut, unsigned int *sampleRateOut, drwav_uint64 *totalFrameCountOut, const drwav_allocation_callbacks *pAllocationCallbacks)
DRWAV_API drwav_int16drwav_open_file_and_read_pcm_frames_s16 (const char *filename, unsigned int *channelsOut, unsigned int *sampleRateOut, drwav_uint64 *totalFrameCountOut, const drwav_allocation_callbacks *pAllocationCallbacks)
DRWAV_API float * drwav_open_file_and_read_pcm_frames_f32 (const char *filename, unsigned int *channelsOut, unsigned int *sampleRateOut, drwav_uint64 *totalFrameCountOut, const drwav_allocation_callbacks *pAllocationCallbacks)
DRWAV_API drwav_int32drwav_open_file_and_read_pcm_frames_s32 (const char *filename, unsigned int *channelsOut, unsigned int *sampleRateOut, drwav_uint64 *totalFrameCountOut, const drwav_allocation_callbacks *pAllocationCallbacks)
DRWAV_API drwav_int16drwav_open_file_and_read_pcm_frames_s16_w (const wchar_t *filename, unsigned int *channelsOut, unsigned int *sampleRateOut, drwav_uint64 *totalFrameCountOut, const drwav_allocation_callbacks *pAllocationCallbacks)
DRWAV_API float * drwav_open_file_and_read_pcm_frames_f32_w (const wchar_t *filename, unsigned int *channelsOut, unsigned int *sampleRateOut, drwav_uint64 *totalFrameCountOut, const drwav_allocation_callbacks *pAllocationCallbacks)
DRWAV_API drwav_int32drwav_open_file_and_read_pcm_frames_s32_w (const wchar_t *filename, unsigned int *channelsOut, unsigned int *sampleRateOut, drwav_uint64 *totalFrameCountOut, const drwav_allocation_callbacks *pAllocationCallbacks)
DRWAV_API drwav_int16drwav_open_memory_and_read_pcm_frames_s16 (const void *data, size_t dataSize, unsigned int *channelsOut, unsigned int *sampleRateOut, drwav_uint64 *totalFrameCountOut, const drwav_allocation_callbacks *pAllocationCallbacks)
DRWAV_API float * drwav_open_memory_and_read_pcm_frames_f32 (const void *data, size_t dataSize, unsigned int *channelsOut, unsigned int *sampleRateOut, drwav_uint64 *totalFrameCountOut, const drwav_allocation_callbacks *pAllocationCallbacks)
DRWAV_API drwav_int32drwav_open_memory_and_read_pcm_frames_s32 (const void *data, size_t dataSize, unsigned int *channelsOut, unsigned int *sampleRateOut, drwav_uint64 *totalFrameCountOut, const drwav_allocation_callbacks *pAllocationCallbacks)
DRWAV_API void drwav_free (void *p, const drwav_allocation_callbacks *pAllocationCallbacks)
DRWAV_API drwav_uint16 drwav_bytes_to_u16 (const drwav_uint8 *data)
DRWAV_API drwav_int16 drwav_bytes_to_s16 (const drwav_uint8 *data)
DRWAV_API drwav_uint32 drwav_bytes_to_u32 (const drwav_uint8 *data)
DRWAV_API drwav_int32 drwav_bytes_to_s32 (const drwav_uint8 *data)
DRWAV_API drwav_uint64 drwav_bytes_to_u64 (const drwav_uint8 *data)
DRWAV_API drwav_int64 drwav_bytes_to_s64 (const drwav_uint8 *data)
DRWAV_API float drwav_bytes_to_f32 (const drwav_uint8 *data)
DRWAV_API drwav_bool32 drwav_guid_equal (const drwav_uint8 a[16], const drwav_uint8 b[16])
DRWAV_API drwav_bool32 drwav_fourcc_equal (const drwav_uint8 *a, const char *b)

Macro Definition Documentation

◆ DR_WAVE_FORMAT_ADPCM

#define DR_WAVE_FORMAT_ADPCM   0x2

◆ DR_WAVE_FORMAT_ALAW

#define DR_WAVE_FORMAT_ALAW   0x6

◆ DR_WAVE_FORMAT_DVI_ADPCM

#define DR_WAVE_FORMAT_DVI_ADPCM   0x11

◆ DR_WAVE_FORMAT_EXTENSIBLE

#define DR_WAVE_FORMAT_EXTENSIBLE   0xFFFE

◆ DR_WAVE_FORMAT_IEEE_FLOAT

#define DR_WAVE_FORMAT_IEEE_FLOAT   0x3

◆ DR_WAVE_FORMAT_MULAW

#define DR_WAVE_FORMAT_MULAW   0x7

◆ DR_WAVE_FORMAT_PCM

#define DR_WAVE_FORMAT_PCM   0x1

◆ DRWAV_ACCESS_DENIED

#define DRWAV_ACCESS_DENIED   -6

◆ DRWAV_ADDRESS_FAMILY_NOT_SUPPORTED

#define DRWAV_ADDRESS_FAMILY_NOT_SUPPORTED   -43

◆ DRWAV_ALREADY_CONNECTED

#define DRWAV_ALREADY_CONNECTED   -46

◆ DRWAV_ALREADY_EXISTS

#define DRWAV_ALREADY_EXISTS   -8

◆ DRWAV_ALREADY_IN_USE

#define DRWAV_ALREADY_IN_USE   -23

◆ DRWAV_API

#define DRWAV_API   extern

◆ DRWAV_AT_END

#define DRWAV_AT_END   -53

◆ DRWAV_BAD_ADDRESS

#define DRWAV_BAD_ADDRESS   -24

◆ DRWAV_BAD_MESSAGE

#define DRWAV_BAD_MESSAGE   -31

◆ DRWAV_BAD_PIPE

#define DRWAV_BAD_PIPE   -26

◆ DRWAV_BAD_PROTOCOL

#define DRWAV_BAD_PROTOCOL   -39

◆ DRWAV_BAD_SEEK

#define DRWAV_BAD_SEEK   -25

◆ DRWAV_BUSY

#define DRWAV_BUSY   -19

◆ DRWAV_CANCELLED

#define DRWAV_CANCELLED   -51

◆ DRWAV_CONNECTION_REFUSED

#define DRWAV_CONNECTION_REFUSED   -48

◆ DRWAV_CONNECTION_RESET

#define DRWAV_CONNECTION_RESET   -45

◆ DRWAV_DEADLOCK

#define DRWAV_DEADLOCK   -27

◆ DRWAV_DIRECTORY_NOT_EMPTY

#define DRWAV_DIRECTORY_NOT_EMPTY   -16

◆ DRWAV_DOES_NOT_EXIST

#define DRWAV_DOES_NOT_EXIST   -7

◆ DRWAV_END_OF_FILE

#define DRWAV_END_OF_FILE   -17

◆ DRWAV_ERROR

#define DRWAV_ERROR   -1 /* A generic error. */

◆ DRWAV_FALSE

#define DRWAV_FALSE   0

◆ DRWAV_IN_PROGRESS

#define DRWAV_IN_PROGRESS   -50

◆ DRWAV_INTERRUPT

#define DRWAV_INTERRUPT   -21

◆ DRWAV_INVALID_ARGS

#define DRWAV_INVALID_ARGS   -2

◆ DRWAV_INVALID_DATA

#define DRWAV_INVALID_DATA   -33

◆ DRWAV_INVALID_FILE

#define DRWAV_INVALID_FILE   -10

◆ DRWAV_INVALID_OPERATION

#define DRWAV_INVALID_OPERATION   -3

◆ DRWAV_IO_ERROR

#define DRWAV_IO_ERROR   -20

◆ DRWAV_IS_DIRECTORY

#define DRWAV_IS_DIRECTORY   -15

◆ DRWAV_MEMORY_ALREADY_MAPPED

#define DRWAV_MEMORY_ALREADY_MAPPED   -52

◆ DRWAV_NAME_TOO_LONG

#define DRWAV_NAME_TOO_LONG   -13

◆ DRWAV_NO_ADDRESS

#define DRWAV_NO_ADDRESS   -38

◆ DRWAV_NO_DATA_AVAILABLE

#define DRWAV_NO_DATA_AVAILABLE   -32

◆ DRWAV_NO_HOST

#define DRWAV_NO_HOST   -49

◆ DRWAV_NO_MESSAGE

#define DRWAV_NO_MESSAGE   -30

◆ DRWAV_NO_NETWORK

#define DRWAV_NO_NETWORK   -35

◆ DRWAV_NO_SPACE

#define DRWAV_NO_SPACE   -18

◆ DRWAV_NOT_CONNECTED

#define DRWAV_NOT_CONNECTED   -47

◆ DRWAV_NOT_DIRECTORY

#define DRWAV_NOT_DIRECTORY   -14

◆ DRWAV_NOT_IMPLEMENTED

#define DRWAV_NOT_IMPLEMENTED   -29

◆ DRWAV_NOT_SOCKET

#define DRWAV_NOT_SOCKET   -37

◆ DRWAV_NOT_UNIQUE

#define DRWAV_NOT_UNIQUE   -36

◆ DRWAV_OUT_OF_MEMORY

#define DRWAV_OUT_OF_MEMORY   -4

◆ DRWAV_OUT_OF_RANGE

#define DRWAV_OUT_OF_RANGE   -5

◆ DRWAV_PATH_TOO_LONG

#define DRWAV_PATH_TOO_LONG   -12

◆ DRWAV_PRIVATE

#define DRWAV_PRIVATE   static

◆ DRWAV_PROTOCOL_FAMILY_NOT_SUPPORTED

#define DRWAV_PROTOCOL_FAMILY_NOT_SUPPORTED   -42

◆ DRWAV_PROTOCOL_NOT_SUPPORTED

#define DRWAV_PROTOCOL_NOT_SUPPORTED   -41

◆ DRWAV_PROTOCOL_UNAVAILABLE

#define DRWAV_PROTOCOL_UNAVAILABLE   -40

◆ DRWAV_SEQUENTIAL

#define DRWAV_SEQUENTIAL   0x00000001

◆ DRWAV_SOCKET_NOT_SUPPORTED

#define DRWAV_SOCKET_NOT_SUPPORTED   -44

◆ DRWAV_STRINGIFY

#define DRWAV_STRINGIFY ( x)
Value:
#x

◆ DRWAV_SUCCESS

#define DRWAV_SUCCESS   0

◆ DRWAV_TIMEOUT

#define DRWAV_TIMEOUT   -34

◆ DRWAV_TOO_BIG

#define DRWAV_TOO_BIG   -11

◆ DRWAV_TOO_MANY_LINKS

#define DRWAV_TOO_MANY_LINKS   -28

◆ DRWAV_TOO_MANY_OPEN_FILES

#define DRWAV_TOO_MANY_OPEN_FILES   -9

◆ DRWAV_TRUE

#define DRWAV_TRUE   1

◆ DRWAV_UNAVAILABLE

#define DRWAV_UNAVAILABLE   -22

◆ DRWAV_VERSION_MAJOR

#define DRWAV_VERSION_MAJOR   0

◆ DRWAV_VERSION_MINOR

#define DRWAV_VERSION_MINOR   13

◆ DRWAV_VERSION_REVISION

#define DRWAV_VERSION_REVISION   2

◆ DRWAV_VERSION_STRING

◆ DRWAV_XSTRINGIFY

#define DRWAV_XSTRINGIFY ( x)
Value:
unsigned x[BMAX+1]
Definition inflate.c:1586
#define DRWAV_STRINGIFY(x)
Definition dr_wav.h:123

Typedef Documentation

◆ drwav_bool32

◆ drwav_bool8

◆ drwav_chunk_proc

typedef drwav_uint64(* drwav_chunk_proc) (void *pChunkUserData, drwav_read_proc onRead, drwav_seek_proc onSeek, void *pReadSeekUserData, const drwav_chunk_header *pChunkHeader, drwav_container container, const drwav_fmt *pFMT)

◆ drwav_int16

typedef signed short drwav_int16

◆ drwav_int32

typedef signed int drwav_int32

◆ drwav_int64

typedef signed long long drwav_int64

◆ drwav_int8

typedef signed char drwav_int8

◆ drwav_read_proc

typedef size_t(* drwav_read_proc) (void *pUserData, void *pBufferOut, size_t bytesToRead)

◆ drwav_result

◆ drwav_seek_proc

typedef drwav_bool32(* drwav_seek_proc) (void *pUserData, int offset, drwav_seek_origin origin)

◆ drwav_uint16

typedef unsigned short drwav_uint16

◆ drwav_uint32

typedef unsigned int drwav_uint32

◆ drwav_uint64

typedef unsigned long long drwav_uint64

◆ drwav_uint8

typedef unsigned char drwav_uint8

◆ drwav_uintptr

◆ drwav_write_proc

typedef size_t(* drwav_write_proc) (void *pUserData, const void *pData, size_t bytesToWrite)

Enumeration Type Documentation

◆ drwav_acid_flag

Enumerator
drwav_acid_flag_one_shot 
drwav_acid_flag_root_note_set 
drwav_acid_flag_stretch 
drwav_acid_flag_disk_based 
drwav_acid_flag_acidizer 

◆ drwav_container

Enumerator
drwav_container_riff 
drwav_container_w64 
drwav_container_rf64 

◆ drwav_metadata_location

Enumerator
drwav_metadata_location_invalid 
drwav_metadata_location_top_level 
drwav_metadata_location_inside_info_list 
drwav_metadata_location_inside_adtl_list 

◆ drwav_metadata_type

Enumerator
drwav_metadata_type_none 
drwav_metadata_type_unknown 
drwav_metadata_type_smpl 
drwav_metadata_type_inst 
drwav_metadata_type_cue 
drwav_metadata_type_acid 
drwav_metadata_type_bext 
drwav_metadata_type_list_label 
drwav_metadata_type_list_note 
drwav_metadata_type_list_labelled_cue_region 
drwav_metadata_type_list_info_software 
drwav_metadata_type_list_info_copyright 
drwav_metadata_type_list_info_title 
drwav_metadata_type_list_info_artist 
drwav_metadata_type_list_info_comment 
drwav_metadata_type_list_info_date 
drwav_metadata_type_list_info_genre 
drwav_metadata_type_list_info_album 
drwav_metadata_type_list_info_tracknumber 
drwav_metadata_type_list_all_info_strings 
drwav_metadata_type_list_all_adtl 
drwav_metadata_type_all 
drwav_metadata_type_all_including_unknown 

◆ drwav_seek_origin

Enumerator
drwav_seek_origin_start 
drwav_seek_origin_current 

◆ drwav_smpl_loop_type

Enumerator
drwav_smpl_loop_type_forward 
drwav_smpl_loop_type_pingpong 
drwav_smpl_loop_type_backward 

Function Documentation

◆ drwav_alaw_to_f32()

DRWAV_API void drwav_alaw_to_f32 ( float * pOut,
const drwav_uint8 * pIn,
size_t sampleCount )

◆ drwav_alaw_to_s16()

DRWAV_API void drwav_alaw_to_s16 ( drwav_int16 * pOut,
const drwav_uint8 * pIn,
size_t sampleCount )

◆ drwav_alaw_to_s32()

DRWAV_API void drwav_alaw_to_s32 ( drwav_int32 * pOut,
const drwav_uint8 * pIn,
size_t sampleCount )

◆ drwav_bytes_to_f32()

DRWAV_API float drwav_bytes_to_f32 ( const drwav_uint8 * data)

◆ drwav_bytes_to_s16()

DRWAV_API drwav_int16 drwav_bytes_to_s16 ( const drwav_uint8 * data)

◆ drwav_bytes_to_s32()

DRWAV_API drwav_int32 drwav_bytes_to_s32 ( const drwav_uint8 * data)

◆ drwav_bytes_to_s64()

DRWAV_API drwav_int64 drwav_bytes_to_s64 ( const drwav_uint8 * data)

◆ drwav_bytes_to_u16()

DRWAV_API drwav_uint16 drwav_bytes_to_u16 ( const drwav_uint8 * data)

◆ drwav_bytes_to_u32()

DRWAV_API drwav_uint32 drwav_bytes_to_u32 ( const drwav_uint8 * data)

◆ drwav_bytes_to_u64()

DRWAV_API drwav_uint64 drwav_bytes_to_u64 ( const drwav_uint8 * data)

◆ drwav_f32_to_s16()

DRWAV_API void drwav_f32_to_s16 ( drwav_int16 * pOut,
const float * pIn,
size_t sampleCount )

◆ drwav_f32_to_s32()

DRWAV_API void drwav_f32_to_s32 ( drwav_int32 * pOut,
const float * pIn,
size_t sampleCount )

◆ drwav_f64_to_f32()

DRWAV_API void drwav_f64_to_f32 ( float * pOut,
const double * pIn,
size_t sampleCount )

◆ drwav_f64_to_s16()

DRWAV_API void drwav_f64_to_s16 ( drwav_int16 * pOut,
const double * pIn,
size_t sampleCount )

◆ drwav_f64_to_s32()

DRWAV_API void drwav_f64_to_s32 ( drwav_int32 * pOut,
const double * pIn,
size_t sampleCount )

◆ drwav_fmt_get_format()

DRWAV_API drwav_uint16 drwav_fmt_get_format ( const drwav_fmt * pFMT)

◆ drwav_fourcc_equal()

DRWAV_API drwav_bool32 drwav_fourcc_equal ( const drwav_uint8 * a,
const char * b )

◆ drwav_free()

DRWAV_API void drwav_free ( void * p,
const drwav_allocation_callbacks * pAllocationCallbacks )

◆ drwav_get_cursor_in_pcm_frames()

DRWAV_API drwav_result drwav_get_cursor_in_pcm_frames ( drwav * pWav,
drwav_uint64 * pCursor )

◆ drwav_get_length_in_pcm_frames()

DRWAV_API drwav_result drwav_get_length_in_pcm_frames ( drwav * pWav,
drwav_uint64 * pLength )

◆ drwav_guid_equal()

DRWAV_API drwav_bool32 drwav_guid_equal ( const drwav_uint8 a[16],
const drwav_uint8 b[16] )

◆ drwav_init()

DRWAV_API drwav_bool32 drwav_init ( drwav * pWav,
drwav_read_proc onRead,
drwav_seek_proc onSeek,
void * pUserData,
const drwav_allocation_callbacks * pAllocationCallbacks )

◆ drwav_init_ex()

DRWAV_API drwav_bool32 drwav_init_ex ( drwav * pWav,
drwav_read_proc onRead,
drwav_seek_proc onSeek,
drwav_chunk_proc onChunk,
void * pReadSeekUserData,
void * pChunkUserData,
drwav_uint32 flags,
const drwav_allocation_callbacks * pAllocationCallbacks )

◆ drwav_init_file()

DRWAV_API drwav_bool32 drwav_init_file ( drwav * pWav,
const char * filename,
const drwav_allocation_callbacks * pAllocationCallbacks )

◆ drwav_init_file_ex()

DRWAV_API drwav_bool32 drwav_init_file_ex ( drwav * pWav,
const char * filename,
drwav_chunk_proc onChunk,
void * pChunkUserData,
drwav_uint32 flags,
const drwav_allocation_callbacks * pAllocationCallbacks )

◆ drwav_init_file_ex_w()

DRWAV_API drwav_bool32 drwav_init_file_ex_w ( drwav * pWav,
const wchar_t * filename,
drwav_chunk_proc onChunk,
void * pChunkUserData,
drwav_uint32 flags,
const drwav_allocation_callbacks * pAllocationCallbacks )

◆ drwav_init_file_w()

DRWAV_API drwav_bool32 drwav_init_file_w ( drwav * pWav,
const wchar_t * filename,
const drwav_allocation_callbacks * pAllocationCallbacks )

◆ drwav_init_file_with_metadata()

DRWAV_API drwav_bool32 drwav_init_file_with_metadata ( drwav * pWav,
const char * filename,
drwav_uint32 flags,
const drwav_allocation_callbacks * pAllocationCallbacks )

◆ drwav_init_file_with_metadata_w()

DRWAV_API drwav_bool32 drwav_init_file_with_metadata_w ( drwav * pWav,
const wchar_t * filename,
drwav_uint32 flags,
const drwav_allocation_callbacks * pAllocationCallbacks )

◆ drwav_init_file_write()

DRWAV_API drwav_bool32 drwav_init_file_write ( drwav * pWav,
const char * filename,
const drwav_data_format * pFormat,
const drwav_allocation_callbacks * pAllocationCallbacks )

◆ drwav_init_file_write_sequential()

DRWAV_API drwav_bool32 drwav_init_file_write_sequential ( drwav * pWav,
const char * filename,
const drwav_data_format * pFormat,
drwav_uint64 totalSampleCount,
const drwav_allocation_callbacks * pAllocationCallbacks )

◆ drwav_init_file_write_sequential_pcm_frames()

DRWAV_API drwav_bool32 drwav_init_file_write_sequential_pcm_frames ( drwav * pWav,
const char * filename,
const drwav_data_format * pFormat,
drwav_uint64 totalPCMFrameCount,
const drwav_allocation_callbacks * pAllocationCallbacks )

◆ drwav_init_file_write_sequential_pcm_frames_w()

DRWAV_API drwav_bool32 drwav_init_file_write_sequential_pcm_frames_w ( drwav * pWav,
const wchar_t * filename,
const drwav_data_format * pFormat,
drwav_uint64 totalPCMFrameCount,
const drwav_allocation_callbacks * pAllocationCallbacks )

◆ drwav_init_file_write_sequential_w()

DRWAV_API drwav_bool32 drwav_init_file_write_sequential_w ( drwav * pWav,
const wchar_t * filename,
const drwav_data_format * pFormat,
drwav_uint64 totalSampleCount,
const drwav_allocation_callbacks * pAllocationCallbacks )

◆ drwav_init_file_write_w()

DRWAV_API drwav_bool32 drwav_init_file_write_w ( drwav * pWav,
const wchar_t * filename,
const drwav_data_format * pFormat,
const drwav_allocation_callbacks * pAllocationCallbacks )

◆ drwav_init_memory()

DRWAV_API drwav_bool32 drwav_init_memory ( drwav * pWav,
const void * data,
size_t dataSize,
const drwav_allocation_callbacks * pAllocationCallbacks )

◆ drwav_init_memory_ex()

DRWAV_API drwav_bool32 drwav_init_memory_ex ( drwav * pWav,
const void * data,
size_t dataSize,
drwav_chunk_proc onChunk,
void * pChunkUserData,
drwav_uint32 flags,
const drwav_allocation_callbacks * pAllocationCallbacks )

◆ drwav_init_memory_with_metadata()

DRWAV_API drwav_bool32 drwav_init_memory_with_metadata ( drwav * pWav,
const void * data,
size_t dataSize,
drwav_uint32 flags,
const drwav_allocation_callbacks * pAllocationCallbacks )

◆ drwav_init_memory_write()

DRWAV_API drwav_bool32 drwav_init_memory_write ( drwav * pWav,
void ** ppData,
size_t * pDataSize,
const drwav_data_format * pFormat,
const drwav_allocation_callbacks * pAllocationCallbacks )

◆ drwav_init_memory_write_sequential()

DRWAV_API drwav_bool32 drwav_init_memory_write_sequential ( drwav * pWav,
void ** ppData,
size_t * pDataSize,
const drwav_data_format * pFormat,
drwav_uint64 totalSampleCount,
const drwav_allocation_callbacks * pAllocationCallbacks )

◆ drwav_init_memory_write_sequential_pcm_frames()

DRWAV_API drwav_bool32 drwav_init_memory_write_sequential_pcm_frames ( drwav * pWav,
void ** ppData,
size_t * pDataSize,
const drwav_data_format * pFormat,
drwav_uint64 totalPCMFrameCount,
const drwav_allocation_callbacks * pAllocationCallbacks )

◆ drwav_init_with_metadata()

DRWAV_API drwav_bool32 drwav_init_with_metadata ( drwav * pWav,
drwav_read_proc onRead,
drwav_seek_proc onSeek,
void * pUserData,
drwav_uint32 flags,
const drwav_allocation_callbacks * pAllocationCallbacks )

◆ drwav_init_write()

DRWAV_API drwav_bool32 drwav_init_write ( drwav * pWav,
const drwav_data_format * pFormat,
drwav_write_proc onWrite,
drwav_seek_proc onSeek,
void * pUserData,
const drwav_allocation_callbacks * pAllocationCallbacks )

◆ drwav_init_write_sequential()

DRWAV_API drwav_bool32 drwav_init_write_sequential ( drwav * pWav,
const drwav_data_format * pFormat,
drwav_uint64 totalSampleCount,
drwav_write_proc onWrite,
void * pUserData,
const drwav_allocation_callbacks * pAllocationCallbacks )

◆ drwav_init_write_sequential_pcm_frames()

DRWAV_API drwav_bool32 drwav_init_write_sequential_pcm_frames ( drwav * pWav,
const drwav_data_format * pFormat,
drwav_uint64 totalPCMFrameCount,
drwav_write_proc onWrite,
void * pUserData,
const drwav_allocation_callbacks * pAllocationCallbacks )

◆ drwav_init_write_with_metadata()

DRWAV_API drwav_bool32 drwav_init_write_with_metadata ( drwav * pWav,
const drwav_data_format * pFormat,
drwav_write_proc onWrite,
drwav_seek_proc onSeek,
void * pUserData,
const drwav_allocation_callbacks * pAllocationCallbacks,
drwav_metadata * pMetadata,
drwav_uint32 metadataCount )

◆ drwav_mulaw_to_f32()

DRWAV_API void drwav_mulaw_to_f32 ( float * pOut,
const drwav_uint8 * pIn,
size_t sampleCount )

◆ drwav_mulaw_to_s16()

DRWAV_API void drwav_mulaw_to_s16 ( drwav_int16 * pOut,
const drwav_uint8 * pIn,
size_t sampleCount )

◆ drwav_mulaw_to_s32()

DRWAV_API void drwav_mulaw_to_s32 ( drwav_int32 * pOut,
const drwav_uint8 * pIn,
size_t sampleCount )

◆ drwav_open_and_read_pcm_frames_f32()

DRWAV_API float * drwav_open_and_read_pcm_frames_f32 ( drwav_read_proc onRead,
drwav_seek_proc onSeek,
void * pUserData,
unsigned int * channelsOut,
unsigned int * sampleRateOut,
drwav_uint64 * totalFrameCountOut,
const drwav_allocation_callbacks * pAllocationCallbacks )

◆ drwav_open_and_read_pcm_frames_s16()

DRWAV_API drwav_int16 * drwav_open_and_read_pcm_frames_s16 ( drwav_read_proc onRead,
drwav_seek_proc onSeek,
void * pUserData,
unsigned int * channelsOut,
unsigned int * sampleRateOut,
drwav_uint64 * totalFrameCountOut,
const drwav_allocation_callbacks * pAllocationCallbacks )

◆ drwav_open_and_read_pcm_frames_s32()

DRWAV_API drwav_int32 * drwav_open_and_read_pcm_frames_s32 ( drwav_read_proc onRead,
drwav_seek_proc onSeek,
void * pUserData,
unsigned int * channelsOut,
unsigned int * sampleRateOut,
drwav_uint64 * totalFrameCountOut,
const drwav_allocation_callbacks * pAllocationCallbacks )

◆ drwav_open_file_and_read_pcm_frames_f32()

DRWAV_API float * drwav_open_file_and_read_pcm_frames_f32 ( const char * filename,
unsigned int * channelsOut,
unsigned int * sampleRateOut,
drwav_uint64 * totalFrameCountOut,
const drwav_allocation_callbacks * pAllocationCallbacks )

◆ drwav_open_file_and_read_pcm_frames_f32_w()

DRWAV_API float * drwav_open_file_and_read_pcm_frames_f32_w ( const wchar_t * filename,
unsigned int * channelsOut,
unsigned int * sampleRateOut,
drwav_uint64 * totalFrameCountOut,
const drwav_allocation_callbacks * pAllocationCallbacks )

◆ drwav_open_file_and_read_pcm_frames_s16()

DRWAV_API drwav_int16 * drwav_open_file_and_read_pcm_frames_s16 ( const char * filename,
unsigned int * channelsOut,
unsigned int * sampleRateOut,
drwav_uint64 * totalFrameCountOut,
const drwav_allocation_callbacks * pAllocationCallbacks )

◆ drwav_open_file_and_read_pcm_frames_s16_w()

DRWAV_API drwav_int16 * drwav_open_file_and_read_pcm_frames_s16_w ( const wchar_t * filename,
unsigned int * channelsOut,
unsigned int * sampleRateOut,
drwav_uint64 * totalFrameCountOut,
const drwav_allocation_callbacks * pAllocationCallbacks )

◆ drwav_open_file_and_read_pcm_frames_s32()

DRWAV_API drwav_int32 * drwav_open_file_and_read_pcm_frames_s32 ( const char * filename,
unsigned int * channelsOut,
unsigned int * sampleRateOut,
drwav_uint64 * totalFrameCountOut,
const drwav_allocation_callbacks * pAllocationCallbacks )

◆ drwav_open_file_and_read_pcm_frames_s32_w()

DRWAV_API drwav_int32 * drwav_open_file_and_read_pcm_frames_s32_w ( const wchar_t * filename,
unsigned int * channelsOut,
unsigned int * sampleRateOut,
drwav_uint64 * totalFrameCountOut,
const drwav_allocation_callbacks * pAllocationCallbacks )

◆ drwav_open_memory_and_read_pcm_frames_f32()

DRWAV_API float * drwav_open_memory_and_read_pcm_frames_f32 ( const void * data,
size_t dataSize,
unsigned int * channelsOut,
unsigned int * sampleRateOut,
drwav_uint64 * totalFrameCountOut,
const drwav_allocation_callbacks * pAllocationCallbacks )

◆ drwav_open_memory_and_read_pcm_frames_s16()

DRWAV_API drwav_int16 * drwav_open_memory_and_read_pcm_frames_s16 ( const void * data,
size_t dataSize,
unsigned int * channelsOut,
unsigned int * sampleRateOut,
drwav_uint64 * totalFrameCountOut,
const drwav_allocation_callbacks * pAllocationCallbacks )

◆ drwav_open_memory_and_read_pcm_frames_s32()

DRWAV_API drwav_int32 * drwav_open_memory_and_read_pcm_frames_s32 ( const void * data,
size_t dataSize,
unsigned int * channelsOut,
unsigned int * sampleRateOut,
drwav_uint64 * totalFrameCountOut,
const drwav_allocation_callbacks * pAllocationCallbacks )

◆ drwav_read_pcm_frames()

DRWAV_API drwav_uint64 drwav_read_pcm_frames ( drwav * pWav,
drwav_uint64 framesToRead,
void * pBufferOut )

◆ drwav_read_pcm_frames_be()

DRWAV_API drwav_uint64 drwav_read_pcm_frames_be ( drwav * pWav,
drwav_uint64 framesToRead,
void * pBufferOut )

◆ drwav_read_pcm_frames_f32()

DRWAV_API drwav_uint64 drwav_read_pcm_frames_f32 ( drwav * pWav,
drwav_uint64 framesToRead,
float * pBufferOut )

◆ drwav_read_pcm_frames_f32be()

DRWAV_API drwav_uint64 drwav_read_pcm_frames_f32be ( drwav * pWav,
drwav_uint64 framesToRead,
float * pBufferOut )

◆ drwav_read_pcm_frames_f32le()

DRWAV_API drwav_uint64 drwav_read_pcm_frames_f32le ( drwav * pWav,
drwav_uint64 framesToRead,
float * pBufferOut )

◆ drwav_read_pcm_frames_le()

DRWAV_API drwav_uint64 drwav_read_pcm_frames_le ( drwav * pWav,
drwav_uint64 framesToRead,
void * pBufferOut )

◆ drwav_read_pcm_frames_s16()

DRWAV_API drwav_uint64 drwav_read_pcm_frames_s16 ( drwav * pWav,
drwav_uint64 framesToRead,
drwav_int16 * pBufferOut )

◆ drwav_read_pcm_frames_s16be()

DRWAV_API drwav_uint64 drwav_read_pcm_frames_s16be ( drwav * pWav,
drwav_uint64 framesToRead,
drwav_int16 * pBufferOut )

◆ drwav_read_pcm_frames_s16le()

DRWAV_API drwav_uint64 drwav_read_pcm_frames_s16le ( drwav * pWav,
drwav_uint64 framesToRead,
drwav_int16 * pBufferOut )

◆ drwav_read_pcm_frames_s32()

DRWAV_API drwav_uint64 drwav_read_pcm_frames_s32 ( drwav * pWav,
drwav_uint64 framesToRead,
drwav_int32 * pBufferOut )

◆ drwav_read_pcm_frames_s32be()

DRWAV_API drwav_uint64 drwav_read_pcm_frames_s32be ( drwav * pWav,
drwav_uint64 framesToRead,
drwav_int32 * pBufferOut )

◆ drwav_read_pcm_frames_s32le()

DRWAV_API drwav_uint64 drwav_read_pcm_frames_s32le ( drwav * pWav,
drwav_uint64 framesToRead,
drwav_int32 * pBufferOut )

◆ drwav_read_raw()

DRWAV_API size_t drwav_read_raw ( drwav * pWav,
size_t bytesToRead,
void * pBufferOut )

◆ drwav_s16_to_f32()

DRWAV_API void drwav_s16_to_f32 ( float * pOut,
const drwav_int16 * pIn,
size_t sampleCount )

◆ drwav_s16_to_s32()

DRWAV_API void drwav_s16_to_s32 ( drwav_int32 * pOut,
const drwav_int16 * pIn,
size_t sampleCount )

◆ drwav_s24_to_f32()

DRWAV_API void drwav_s24_to_f32 ( float * pOut,
const drwav_uint8 * pIn,
size_t sampleCount )

◆ drwav_s24_to_s16()

DRWAV_API void drwav_s24_to_s16 ( drwav_int16 * pOut,
const drwav_uint8 * pIn,
size_t sampleCount )

◆ drwav_s24_to_s32()

DRWAV_API void drwav_s24_to_s32 ( drwav_int32 * pOut,
const drwav_uint8 * pIn,
size_t sampleCount )

◆ drwav_s32_to_f32()

DRWAV_API void drwav_s32_to_f32 ( float * pOut,
const drwav_int32 * pIn,
size_t sampleCount )

◆ drwav_s32_to_s16()

DRWAV_API void drwav_s32_to_s16 ( drwav_int16 * pOut,
const drwav_int32 * pIn,
size_t sampleCount )

◆ drwav_seek_to_pcm_frame()

DRWAV_API drwav_bool32 drwav_seek_to_pcm_frame ( drwav * pWav,
drwav_uint64 targetFrameIndex )

◆ drwav_take_ownership_of_metadata()

DRWAV_API drwav_metadata * drwav_take_ownership_of_metadata ( drwav * pWav)

◆ drwav_target_write_size_bytes()

DRWAV_API drwav_uint64 drwav_target_write_size_bytes ( const drwav_data_format * pFormat,
drwav_uint64 totalFrameCount,
drwav_metadata * pMetadata,
drwav_uint32 metadataCount )

◆ drwav_u8_to_f32()

DRWAV_API void drwav_u8_to_f32 ( float * pOut,
const drwav_uint8 * pIn,
size_t sampleCount )

◆ drwav_u8_to_s16()

DRWAV_API void drwav_u8_to_s16 ( drwav_int16 * pOut,
const drwav_uint8 * pIn,
size_t sampleCount )

◆ drwav_u8_to_s32()

DRWAV_API void drwav_u8_to_s32 ( drwav_int32 * pOut,
const drwav_uint8 * pIn,
size_t sampleCount )

◆ drwav_uninit()

DRWAV_API drwav_result drwav_uninit ( drwav * pWav)

◆ drwav_version()

DRWAV_API void drwav_version ( drwav_uint32 * pMajor,
drwav_uint32 * pMinor,
drwav_uint32 * pRevision )

◆ drwav_version_string()

DRWAV_API const char * drwav_version_string ( void )

◆ drwav_write_pcm_frames()

DRWAV_API drwav_uint64 drwav_write_pcm_frames ( drwav * pWav,
drwav_uint64 framesToWrite,
const void * pData )

◆ drwav_write_pcm_frames_be()

DRWAV_API drwav_uint64 drwav_write_pcm_frames_be ( drwav * pWav,
drwav_uint64 framesToWrite,
const void * pData )

◆ drwav_write_pcm_frames_le()

DRWAV_API drwav_uint64 drwav_write_pcm_frames_le ( drwav * pWav,
drwav_uint64 framesToWrite,
const void * pData )

◆ drwav_write_raw()

DRWAV_API size_t drwav_write_raw ( drwav * pWav,
size_t bytesToWrite,
const void * pData )