GoldFish Engine
Quite simple and lightweight game engine
Loading...
Searching...
No Matches
audio.h
Go to the documentation of this file.
1
7#ifndef __GF_TYPE_AUDIO_H__
8#define __GF_TYPE_AUDIO_H__
9
10#include <gf_pre.h>
11#include <gf_macro.h>
12
13typedef int gf_audio_id_t;
14
15#ifdef GF_EXPOSE_AUDIO
16typedef struct gf_audio_t gf_audio_t;
18
19/* External library */
20#include <miniaudio.h>
21#include <jar_xm.h>
22#include <jar_mod.h>
23
24/* Engine */
25#include <gf_type/core.h>
26
27/* Standard */
28
33#define GF_AUDIO_MAX_DECODERS 64
34
61GF_DECLARE_TYPE(audio_decoder, {
63 ma_decoder_config decoder_config;
64 ma_decoder* decoder;
65 jar_xm_context_t* xm;
66 jar_mod_context_t* mod;
67 int samples;
68 int used;
69});
70
92 gf_engine_t* engine;
93 ma_device_config device_config;
94 ma_device* device;
96 ma_mutex* mutex;
97});
98#else
99typedef void gf_audio_decoder_t;
100typedef void gf_audio_t;
101#endif
102
103#endif
#define GF_AUDIO_MAX_DECODERS
Max decoders audio interface can handle.
Definition audio.h:33
Type definitions related to core.
#define GF_DECLARE_TYPE(n, b)
Macro to define engine type shorter.
Definition gf_macro.h:180
Required headers before anything.
Audio decoder.
Definition audio.h:69
jar_xm_context_t * xm
XM context.
Definition audio.h:69
ma_decoder_config decoder_config
miniaudio decoder config
Definition audio.h:69
int used
1 if used, -1 if used but paused, otherwise 0
Definition audio.h:69
int samples
Remaining samples.
Definition audio.h:69
jar_mod_context_t * mod
MOD context.
Definition audio.h:69
gf_audio_t * audio
Audio interface.
Definition audio.h:69
ma_decoder * decoder
miniaudio decoder
Definition audio.h:69
Audio interface.
Definition audio.h:97
Engine instance.
Definition core.h:46