4coder-non-source/test_data/lots_of_files/jam_audio.h

77 lines
1.1 KiB
C

/*
* Overreact - Mr. 4th Dimention
* Allen Webster
* 03.21.2015 (mm.dd.yyyy)
*
* Audio Layer.
*/
struct Sound{
i16 *samples;
i32 channels;
i32 samples_per_second;
i32 bytes_per_sample;
i32 memory_size;
i32 sample_count;
real32 scan_speed;
};
#pragma pack(push, 1)
struct Wav_Chunk{
i32 id;
i32 size;
};
struct Wav_Header{
Wav_Chunk chunk;
i32 wav_id;
};
struct Wav_Format_Chunk_16{
Wav_Chunk chunk;
i16 format_code;
i16 channels;
i32 samples_per_second;
i32 avg_bytes_per_second;
i16 block_align;
i16 bits_per_sample;
};
struct Wav_Format_Chunk_18{
Wav_Format_Chunk_16 s;
i16 extension_size;
};
struct Wav_Format_Chunk_40{
Wav_Format_Chunk_16 s;
i16 extension_size;
i16 valid_bits_per_sample;
i32 channel_mask;
u8 guid[16];
};
struct Wav_Fact_Chunk{
Wav_Chunk chunk;
i32 samples_per_channel;
};
struct Wav_Data_Chunk{
Wav_Chunk chunk;
};
#define WAV_CHUNK_RIFF 0x46464952
#define WAV_CHUNK_WAVE 0x45564157
#define WAV_CHUNK_fmt 0x20746D66
#define WAV_CHUNK_fact 0x74666163
#define WAV_CHUNK_data 0x61746164
#define WAV_FORMAT_PCM 0x0001
#pragma pack(pop)
struct Wav_File{
File file;
Wav_Header header;
};