LMMS
Loading...
Searching...
No Matches
ad_plugin.h
Go to the documentation of this file.
1
20
21#ifndef __AD_PLUGIN_H__
22#define __AD_PLUGIN_H__
23
24#include "ad.h"
25
26#define dbg(A, B, ...) ad_debug_printf(__func__, A, B, ##__VA_ARGS__)
27
28#ifndef __PRI64_PREFIX
29#if (defined __X86_64__ || defined __LP64__)
30# define __PRI64_PREFIX "l"
31#else
32# define __PRI64_PREFIX "ll"
33#endif
34#endif
35
36#ifndef PRIu64
37# define PRIu64 __PRI64_PREFIX "u"
38#endif
39#ifndef PRIi64
40# define PRIi64 __PRI64_PREFIX "i"
41#endif
42
43extern int ad_debug_level;
44
45void ad_debug_printf(const char* func, int level, const char* format, ...);
46
47typedef struct {
48 int (*eval)(const char *);
49 void * (*open)(const char *, struct adinfo *);
50 int (*close)(void *);
51 int (*info)(void *, struct adinfo *);
52 int64_t (*seek)(void *, int64_t);
53 ssize_t (*read)(void *, float *, size_t);
54 int (*bitrate)(void *);
55} ad_plugin;
56
57int ad_eval_null(const char *);
58void * ad_open_null(const char *, struct adinfo *);
59int ad_close_null(void *);
60int ad_info_null(void *, struct adinfo *);
61int64_t ad_seek_null(void *, int64_t);
62ssize_t ad_read_null(void *, float*, size_t);
63int ad_bitrate_null(void *);
64
65/* hardcoded backends */
70#endif
audio-decoder - wrapper around libsndfile and libav*
int ad_debug_level
Definition ad_plugin.c:29
void * ad_open_null(const char *, struct adinfo *)
Definition ad_plugin.c:34
void ad_debug_printf(const char *func, int level, const char *format,...)
Definition ad_plugin.c:175
int64_t ad_seek_null(void *, int64_t)
Definition ad_plugin.c:37
int ad_bitrate_null(void *)
Definition ad_plugin.c:39
const ad_plugin * adp_get_minimp3()
Definition ad_minimp3.c:168
int ad_info_null(void *, struct adinfo *)
Definition ad_plugin.c:36
int ad_eval_null(const char *)
Definition ad_plugin.c:33
ssize_t ad_read_null(void *, float *, size_t)
Definition ad_plugin.c:38
const ad_plugin * adp_get_sndfile()
Definition ad_soundfile.c:171
const ad_plugin * adp_get_ffmpeg()
Definition ad_ffmpeg.c:375
int ad_close_null(void *)
Definition ad_plugin.c:35
const ad_plugin * adp_get_dr_mp3()
Definition ad_dr_mp3.c:139
Definition ad_plugin.h:47
ssize_t(* read)(void *, float *, size_t)
Definition ad_plugin.h:53
int(* bitrate)(void *)
Definition ad_plugin.h:54
int(* info)(void *, struct adinfo *)
Definition ad_plugin.h:51
int(* eval)(const char *)
Definition ad_plugin.h:48
int64_t(* seek)(void *, int64_t)
Definition ad_plugin.h:52
int(* close)(void *)
Definition ad_plugin.h:50
Definition ad.h:37
typedef int(UZ_EXP MsgFn)()
_WDL_CSTRING_PREFIX void INT_PTR const char * format
Definition wdlcstring.h:263