libdragon
Loading...
Searching...
No Matches
wav64.h
Go to the documentation of this file.
1
8#ifndef __LIBDRAGON_WAV64_H
9#define __LIBDRAGON_WAV64_H
10
11#include "mixer.h"
12
13#ifdef __cplusplus
14extern "C" {
15#endif
16
18extern void __wav64_init_compression_lvl3(void);
20
33typedef struct wav64_s {
39
43 int format;
44 void *ext;
45} wav64_t;
46
70#define wav64_init_compression(level) ({ \
71 switch (level) { \
72 case 0: break; \
73 case 1: break; \
74 case 3: __wav64_init_compression_lvl3(); break; \
75 default: assertf(0, "Unsupported compression level: %d", level); \
76 } \
77})
78
88void wav64_open(wav64_t *wav, const char *fn);
89
91void wav64_set_loop(wav64_t *wav, bool loop);
92
107void wav64_play(wav64_t *wav, int ch);
108
115int wav64_get_bitrate(wav64_t *wav);
116
125void wav64_close(wav64_t *wav);
126
127#ifdef __cplusplus
128}
129#endif
130
131#endif
RSP Audio mixer.
A waveform that can be played back through the mixer.
Definition mixer.h:440
void __wav64_init_compression_lvl3(void)
Initialize wav64 compression level 3.
Definition wav64.c:188
int base_offset
Start of Wav64 data.
Definition wav64.h:42
waveform_t wave
waveform_t for this WAV64.
Definition wav64.h:38
int format
Internal format of the file.
Definition wav64.h:43
void wav64_set_loop(wav64_t *wav, bool loop)
Configure a WAV64 file for looping playback.
Definition wav64.c:156
int current_fd
File descriptor to read WAV64.
Definition wav64.h:41
void wav64_open(wav64_t *wav, const char *fn)
Open a WAV64 file for playback.
Definition wav64.c:103
void wav64_close(wav64_t *wav)
Close a WAV64 file.
Definition wav64.c:173
void * ext
Pointer to extended data (internal use)
Definition wav64.h:44
int wav64_get_bitrate(wav64_t *wav)
Get the (possibly compressed) bitrate of the WAV64 file.
Definition wav64.c:167
void wav64_play(wav64_t *wav, int ch)
Start playing a WAV64 file.
Definition wav64.c:148
WAV64 structure.
Definition wav64.h:33