1 #pragma once
2 #include <stdint.h>
3 #include "../minimp3_ex.h"
4 #ifdef __cplusplus
5 extern "C" {
6 #endif
7 
8 typedef int (*PARSE_GET_FILE_CB)(void *user, char **file_name);
9 typedef int (*PARSE_INFO_CB)(void *user, char *file_name, int rate, int mp3_channels, float duration);
10 
11 typedef struct decoder
12 {
13     mp3dec_ex_t mp3d;
14     float mp3_duration;
15     float spectrum[32][2]; // for visualization
16 } decoder;
17 
18 extern decoder _dec;
19 
20 int open_dec(decoder *dec, const char *file_name);
21 int close_dec(decoder *dec);
22 void decode_samples(decoder *dec, uint8_t *buf, int bytes);
23 
24 #ifdef __cplusplus
25 }
26 #endif
27