Etterna 0.74.4
Loading...
Searching...
No Matches
ALSA9Dynamic.h
1#ifndef ALSA9_DYNAMIC_H
2
3#include <alsa/asoundlib.h>
4
5/* typedef int (*foo_f)(char c) */
6#define FUNC(ret, name, proto) typedef ret(*name##_f) proto
7#include "ALSA9Functions.h"
8#undef FUNC
9
10/* extern foo_f dfoo */
11#define FUNC(ret, name, proto) extern name##_f d##name
12#include "ALSA9Functions.h"
13#undef FUNC
14
15#define dsnd_pcm_hw_params_alloca(ptr) \
16 { \
17 assert(ptr); \
18 *ptr = (snd_pcm_hw_params_t*)alloca(dsnd_pcm_hw_params_sizeof()); \
19 memset(*ptr, 0, dsnd_pcm_hw_params_sizeof()); \
20 }
21#define dsnd_pcm_sw_params_alloca(ptr) \
22 { \
23 assert(ptr); \
24 *ptr = (snd_pcm_sw_params_t*)alloca(dsnd_pcm_sw_params_sizeof()); \
25 memset(*ptr, 0, dsnd_pcm_sw_params_sizeof()); \
26 }
27#define dsnd_pcm_info_alloca(ptr) \
28 { \
29 assert(ptr); \
30 *ptr = (snd_pcm_info_t*)alloca(dsnd_pcm_info_sizeof()); \
31 memset(*ptr, 0, dsnd_pcm_info_sizeof()); \
32 }
33#define dsnd_ctl_card_info_alloca(ptr) \
34 { \
35 assert(ptr); \
36 *ptr = (snd_ctl_card_info_t*)alloca(dsnd_ctl_card_info_sizeof()); \
37 memset(*ptr, 0, dsnd_ctl_card_info_sizeof()); \
38 }
39#define dsnd_pcm_status_alloca(ptr) \
40 do { \
41 assert(ptr); \
42 *ptr = (snd_pcm_status_t*)alloca(dsnd_pcm_status_sizeof()); \
43 memset(*ptr, 0, dsnd_pcm_status_sizeof()); \
44 } while (0)
45
46std::string
47LoadALSA();
48void
49UnloadALSA();
50
51#endif