libdragon
Loading...
Searching...
No Matches
wav64.h
Go to the documentation of this file.
1
7#ifndef __LIBDRAGON_WAV64_H
8#define __LIBDRAGON_WAV64_H
9
10#include "mixer.h"
11
12#ifdef __cplusplus
13extern "C" {
14#endif
15
17extern void __wav64_init_compression_lvl3(void);
19
32typedef struct wav64_s {
38
42 int format;
43 void *ext;
44} wav64_t;
45
69#define wav64_init_compression(level) ({ \
70 switch (level) { \
71 case 0: break; \
72 case 1: break; \
73 case 3: __wav64_init_compression_lvl3(); break; \
74 default: assertf(0, "Unsupported compression level: %d", level); \
75 } \
76})
77
87void wav64_open(wav64_t *wav, const char *fn);
88
90void wav64_set_loop(wav64_t *wav, bool loop);
91
106void wav64_play(wav64_t *wav, int ch);
107
114int wav64_get_bitrate(wav64_t *wav);
115
124void wav64_close(wav64_t *wav);
125
126#ifdef __cplusplus
127}
128#endif
129
130#endif
RSP Audio mixer.
A waveform that can be played back through the mixer.
Definition mixer.h:439
void __wav64_init_compression_lvl3(void)
Initialize wav64 compression level 3.
Definition wav64.c:187
int base_offset
Start of Wav64 data.
Definition wav64.h:41
waveform_t wave
waveform_t for this WAV64.
Definition wav64.h:37
int format
Internal format of the file.
Definition wav64.h:42
void wav64_set_loop(wav64_t *wav, bool loop)
Configure a WAV64 file for looping playback.
Definition wav64.c:155
int current_fd
File descriptor to read WAV64.
Definition wav64.h:40
void wav64_open(wav64_t *wav, const char *fn)
Open a WAV64 file for playback.
Definition wav64.c:102
void wav64_close(wav64_t *wav)
Close a WAV64 file.
Definition wav64.c:172
void * ext
Pointer to extended data (internal use)
Definition wav64.h:43
int wav64_get_bitrate(wav64_t *wav)
Get the (possibly compressed) bitrate of the WAV64 file.
Definition wav64.c:166
void wav64_play(wav64_t *wav, int ch)
Start playing a WAV64 file.
Definition wav64.c:147
WAV64 structure.
Definition wav64.h:32