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