-
Notifications
You must be signed in to change notification settings - Fork 3
/
zlox_audio.h
83 lines (74 loc) · 1.99 KB
/
zlox_audio.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
/*zlox_audio.h the audio header*/
#ifndef _ZLOX_AUDIO_H_
#define _ZLOX_AUDIO_H_
#include "zlox_common.h"
typedef enum _ZLOX_AUD_CTRL_TYPE
{
ZLOX_ACT_PAUSE,
ZLOX_ACT_CONTINUE,
ZLOX_ACT_EXIT,
ZLOX_ACT_GET_PLAY_SIZE,
ZLOX_ACT_DETECT_AUD_EXIST,
ZLOX_ACT_SET_FILL_DATA,
ZLOX_ACT_MIXER_INIT,
ZLOX_ACT_MIXER_GET_VOLUME,
ZLOX_ACT_MIXER_GET_MASTER,
ZLOX_ACT_MIXER_GET_VOICE,
ZLOX_ACT_MIXER_SET_MASTER,
ZLOX_ACT_MIXER_SET_VOICE,
ZLOX_ACT_MIXER_SET_MIDI,
ZLOX_ACT_MIXER_SET_CD,
ZLOX_ACT_MIXER_SET_LINE,
ZLOX_ACT_MIXER_SET_MIC,
ZLOX_ACT_MIXER_SET_PC,
ZLOX_ACT_MIXER_SET_TREBLE,
ZLOX_ACT_MIXER_SET_BASS,
ZLOX_ACT_MIXER_SET_OUT_GAIN,
ZLOX_ACT_MIXER_SET_OUT_CTRL,
}ZLOX_AUD_CTRL_TYPE;
typedef struct _ZLOX_AUD_MIXER
{
ZLOX_SINT32 master_left;
ZLOX_SINT32 master_right;
ZLOX_SINT32 voice_left;
ZLOX_SINT32 voice_right;
ZLOX_SINT32 midi_left;
ZLOX_SINT32 midi_right;
ZLOX_SINT32 cd_left;
ZLOX_SINT32 cd_right;
ZLOX_SINT32 line_left;
ZLOX_SINT32 line_right;
ZLOX_SINT32 mic_volume;
ZLOX_SINT32 pc_volume;
ZLOX_SINT32 treble_left;
ZLOX_SINT32 treble_right;
ZLOX_SINT32 bass_left;
ZLOX_SINT32 bass_right;
ZLOX_SINT32 output_gain_left;
ZLOX_SINT32 output_gain_right;
ZLOX_SINT32 output_ctrl;
}ZLOX_AUD_MIXER;
typedef struct _ZLOX_AUD_AUDIO
{
ZLOX_UINT32 FillData;
ZLOX_BOOL exist;
}ZLOX_AUD_AUDIO;
typedef struct _ZLOX_AUD_EXTRA_DATA
{
ZLOX_AUD_MIXER mixer;
ZLOX_AUD_AUDIO audio;
}ZLOX_AUD_EXTRA_DATA;
ZLOX_SINT32 zlox_audio_init();
ZLOX_SINT32 zlox_audio_reset();
// alloc resource before init
ZLOX_SINT32 zlox_audio_alloc_res_before_init();
ZLOX_SINT32 zlox_audio_set_databuf(ZLOX_UINT8 * userdata, ZLOX_SINT32 size);
ZLOX_SINT32 zlox_audio_set_args(ZLOX_UINT32 bits, ZLOX_UINT32 sign, ZLOX_UINT32 stereo, ZLOX_UINT32 speed,
ZLOX_TASK * task);
ZLOX_SINT32 zlox_audio_play();
ZLOX_VOID * zlox_audio_get_task();
ZLOX_SINT32 zlox_audio_ctrl(ZLOX_AUD_CTRL_TYPE ctrl_type,
ZLOX_AUD_EXTRA_DATA * extra_data);
ZLOX_BOOL zlox_audio_get_data();
ZLOX_SINT32 zlox_audio_end();
#endif // _ZLOX_AUDIO_H_