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
13#ifdef GF_EXPOSE_AUDIO
14typedef struct gf_audio_t gf_audio_t;
16
17/* External library */
18#include <miniaudio.h>
19#include <jar_xm.h>
20#include <jar_mod.h>
21
22/* Engine */
23#include <gf_type/core.h>
24
25/* Standard */
26
31#define GF_AUDIO_MAX_DECODERS 64
32
56GF_DECLARE_TYPE(audio_decoder, {
57 ma_decoder_config decoder_config;
58 ma_decoder* decoder;
59 jar_xm_context_t* xm;
60 jar_mod_context_t* mod;
61 int samples;
62 int used;
63});
64
82GF_DECLARE_TYPE(audio, {
83 gf_engine_t* engine;
84 ma_device_config device_config;
85 ma_device* device;
87});
88#else
89typedef void gf_audio_decoder_t;
90typedef void gf_audio_t;
91#endif
92
93#endif
#define GF_AUDIO_MAX_DECODERS
Max decoders audio interface can handle.
Definition audio.h:31
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:63
jar_xm_context_t * xm
XM context.
Definition audio.h:63
ma_decoder_config decoder_config
miniaudio decoder config
Definition audio.h:63
int used
1 if used, otherwise 0
Definition audio.h:63
int samples
Remaining samples.
Definition audio.h:63
jar_mod_context_t * mod
MOD context.
Definition audio.h:63
ma_decoder * decoder
miniaudio decoder
Definition audio.h:63
Audio interface.
Definition audio.h:87
Engine instance.
Definition core.h:46