XenevaOS
Loading...
Searching...
No Matches
XenevaOS
Libs
Chitralekha
audio
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
36
XE_EXTERN
{
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)
66
typedef
struct
_deodhai_audio_msg_
{
67
char
message
[60];
68
uint16_t
fromProcessId
;
69
uint16_t
toProcessId
;
70
}
DeodhaiAudioMessage
;
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)
80
typedef
struct
_audio_control_panel_
{
81
uint8_t
numChannel
;
82
float
gain
;
83
float
leftSpeakerScale
;
84
float
rightSpeakerScale
;
85
bool
Samplefull
;
86
bool
ready
;
87
bool
close
;
88
bool
global
;
89
bool
dirty
;
90
}
DeodhaiAudioControlPanel
;
91
#pragma pack(pop)
92
93
94
typedef
struct
_deodhai_audio_box_
{
95
DeodhaiAudioControlPanel
*
ctlPanel
;
96
uint16_t
controlPanelKey
;
97
uint16_t
sampleBufferKey
;
98
void
*
sampleBuffer
;
99
void
*
ctlPanelBuffer
;
100
int
pipe
;
101
}
DeodhaiAudioBox
;
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
*/
111
XE_LIB
DeodhaiAudioBox
*
DeodhaiAudioOpenConnection
(
int
postbox
,
uint8_t
numChannel,
uint8_t
connType);
112
113
/*
114
* DeodhaiAudioWrite -- write audio samples to
115
* audio box
116
* @param box -- Pointer to audio box
117
* @param buffer -- sample buffer
118
*/
119
XE_LIB
void
DeodhaiAudioWrite
(
DeodhaiAudioBox
* box,
void
* buffer);
120
/*
121
* DeodhaiAudioCloseConnection -- close an opened audio connection
122
* @param box -- Pointer to Deodhai Audio box
123
*/
124
XE_LIB
void
DeodhaiAudioCloseConnection
(
DeodhaiAudioBox
* box);
125
126
#ifdef __cplusplus
127
}
128
#endif
129
130
#endif
socket.h
_kefile.h
_keipcpostbox.h
_keproc.h
_xeneva.h
XE_LIB
#define XE_LIB
Definition
_xeneva.h:55
XE_EXTERN
#define XE_EXTERN
Definition
_xeneva.h:50
uint8_t
unsigned char uint8_t
Definition
acefiex.h:161
uint16_t
unsigned short int uint16_t
Definition
acefiex.h:162
DeodhaiAudioWrite
XE_LIB void DeodhaiAudioWrite(DeodhaiAudioBox *box, void *buffer)
Definition
audio.cpp:104
DeodhaiAudioControlPanel
struct _audio_control_panel_ DeodhaiAudioControlPanel
DeodhaiAudioMessage
struct _deodhai_audio_msg_ DeodhaiAudioMessage
DeodhaiAudioBox
struct _deodhai_audio_box_ DeodhaiAudioBox
DeodhaiAudioCloseConnection
XE_LIB void DeodhaiAudioCloseConnection(DeodhaiAudioBox *box)
Definition
audio.cpp:113
DeodhaiAudioOpenConnection
XE_LIB DeodhaiAudioBox * DeodhaiAudioOpenConnection(int postbox, uint8_t numChannel, uint8_t connType)
Definition
audio.cpp:39
postbox
int postbox
Definition
audmain.cpp:64
iocodes.h
mman.h
stdlib.h
_audio_control_panel_
Definition
audio.h:80
_audio_control_panel_::rightSpeakerScale
float rightSpeakerScale
Definition
audio.h:84
_audio_control_panel_::close
bool close
Definition
audio.h:87
_audio_control_panel_::numChannel
uint8_t numChannel
Definition
audio.h:81
_audio_control_panel_::Samplefull
bool Samplefull
Definition
audio.h:85
_audio_control_panel_::ready
bool ready
Definition
audio.h:86
_audio_control_panel_::global
bool global
Definition
audio.h:88
_audio_control_panel_::gain
float gain
Definition
audio.h:82
_audio_control_panel_::dirty
bool dirty
Definition
audio.h:89
_audio_control_panel_::leftSpeakerScale
float leftSpeakerScale
Definition
audio.h:83
_deodhai_audio_box_
Definition
audio.h:94
_deodhai_audio_box_::pipe
int pipe
Definition
audio.h:100
_deodhai_audio_box_::ctlPanel
DeodhaiAudioControlPanel * ctlPanel
Definition
audio.h:95
_deodhai_audio_box_::controlPanelKey
uint16_t controlPanelKey
Definition
audio.h:96
_deodhai_audio_box_::sampleBuffer
void * sampleBuffer
Definition
audio.h:98
_deodhai_audio_box_::sampleBufferKey
uint16_t sampleBufferKey
Definition
audio.h:97
_deodhai_audio_box_::ctlPanelBuffer
void * ctlPanelBuffer
Definition
audio.h:99
_deodhai_audio_msg_
Definition
audio.h:66
_deodhai_audio_msg_::toProcessId
uint16_t toProcessId
Definition
audio.h:69
_deodhai_audio_msg_::message
char message[60]
Definition
audio.h:67
_deodhai_audio_msg_::fromProcessId
uint16_t fromProcessId
Definition
audio.h:68
Generated by
1.9.8