XenevaOS
Loading...
Searching...
No Matches
audio.h
Go to the documentation of this file.
1
30#ifndef __DEODHAI_AUDIO__
31#define __DEODHAI_AUDIO__
32
33#include <_xeneva.h>
34
35#ifdef __cplusplus
37#endif
38
39
40
41#include <stdint.h>
42
43#include <stdio.h>
44#include <sys\_keproc.h>
45#include <sys\_kefile.h>
46#include <sys/mman.h>>
47#include <sys\iocodes.h>
48#include <string.h>
49#include <stdlib.h>
50#include <sys\socket.h>
51#include <sys\_keipcpostbox.h>
52
53
54
55 /* Standard Deodhai Request message defined*/
56 #define DEODHAI_GET_AUDIO_CONNECTION "DeodhaiGetAudioConnection"
57 #define DEODHAI_AUDIO_GET_GLOBAL_CONNECTION "DeodhaiAudioGetGlobalConnection"
58
59 #define DEODHAI_AUDIO_MONO 1
60 #define DEODHAI_AUDIO_STEREO 2
61
62#define DEODHAI_CONNECTION_TYPE_NORMAL 0
63#define DEODHAI_CONNECTION_TYPE_GLOBAL 1
64
65 #pragma pack(push,1)
71 #pragma pack(pop)
72
73/*
74 * AudioControlPanel is the main way to
75 * control each individual stream, feautres
76 * like attack, release, Eq, compression,
77 * reverb to be added in future
78 */
79#pragma pack(push,1)
91#pragma pack(pop)
92
93
102
103
104/*
105 * DeodhaiAudioOpenConnection -- Creates a new connection with Deodhai
106 * audio server
107 * @param postbox -- postbox file descriptor
108 * @param numChannel -- number of channel -- 1 for MONO, 2 for STEREO
109 * @param connType -- 0 - NORMAL connection, 1 -- GLOBAL connection
110 */
112
113/*
114 * DeodhaiAudioWrite -- write audio samples to
115 * audio box
116 * @param box -- Pointer to audio box
117 * @param buffer -- sample buffer
118 */
119XE_LIB void DeodhaiAudioWrite(DeodhaiAudioBox* box, void* buffer);
120/*
121 * DeodhaiAudioCloseConnection -- close an opened audio connection
122 * @param box -- Pointer to Deodhai Audio box
123 */
125
126#ifdef __cplusplus
127}
128#endif
129
130#endif
#define XE_LIB
Definition _xeneva.h:55
#define XE_EXTERN
Definition _xeneva.h:50
unsigned char uint8_t
Definition acefiex.h:161
unsigned short int uint16_t
Definition acefiex.h:162
XE_LIB void DeodhaiAudioWrite(DeodhaiAudioBox *box, void *buffer)
Definition audio.cpp:104
struct _audio_control_panel_ DeodhaiAudioControlPanel
struct _deodhai_audio_msg_ DeodhaiAudioMessage
struct _deodhai_audio_box_ DeodhaiAudioBox
XE_LIB void DeodhaiAudioCloseConnection(DeodhaiAudioBox *box)
Definition audio.cpp:113
XE_LIB DeodhaiAudioBox * DeodhaiAudioOpenConnection(int postbox, uint8_t numChannel, uint8_t connType)
Definition audio.cpp:39
int postbox
Definition audmain.cpp:64
Definition audio.h:80
float rightSpeakerScale
Definition audio.h:84
bool close
Definition audio.h:87
uint8_t numChannel
Definition audio.h:81
bool Samplefull
Definition audio.h:85
bool ready
Definition audio.h:86
bool global
Definition audio.h:88
float gain
Definition audio.h:82
bool dirty
Definition audio.h:89
float leftSpeakerScale
Definition audio.h:83
Definition audio.h:94
int pipe
Definition audio.h:100
DeodhaiAudioControlPanel * ctlPanel
Definition audio.h:95
uint16_t controlPanelKey
Definition audio.h:96
void * sampleBuffer
Definition audio.h:98
uint16_t sampleBufferKey
Definition audio.h:97
void * ctlPanelBuffer
Definition audio.h:99
Definition audio.h:66
uint16_t toProcessId
Definition audio.h:69
char message[60]
Definition audio.h:67
uint16_t fromProcessId
Definition audio.h:68