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
#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)
62
typedef
struct
_deodhai_audio_msg_
{
63
char
message
[60];
64
uint16_t
fromProcessId
;
65
uint16_t
toProcessId
;
66
}
DeodhaiAudioMessage
;
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)
76
typedef
struct
_audio_control_panel_
{
77
uint8_t
numChannel
;
78
float
gain
;
79
float
leftSpeakerScale
;
80
float
rightSpeakerScale
;
81
bool
Samplefull
;
82
bool
ready
;
83
bool
close
;
84
bool
global
;
85
bool
dirty
;
86
}
DeodhaiAudioControlPanel
;
87
#pragma pack(pop)
88
89
typedef
struct
_deodhai_audio_box_
{
90
DeodhaiAudioControlPanel
*
ctlPanel
;
91
uint16_t
controlPanelKey
;
92
uint16_t
sampleBufferKey
;
93
void
*
sampleBuffer
;
94
void
*
ctlPanelBuffer
;
95
int
pipe
;
96
}
DeodhaiAudioBox
;
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
*/
105
XE_LIB
DeodhaiAudioBox
*
DeodhaiAudioOpenConnection
(
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
*/
119
XE_LIB
void
DeodhaiAudioCloseConnection
(
DeodhaiAudioBox
* box);
120
121
#ifdef __cplusplus
122
}
123
#endif
124
125
#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:40
postbox
int postbox
Definition
audmain.cpp:64
iocodes.h
mman.h
stdlib.h
_audio_control_panel_
Definition
audio.h:76
_audio_control_panel_::rightSpeakerScale
float rightSpeakerScale
Definition
audio.h:80
_audio_control_panel_::close
bool close
Definition
audio.h:83
_audio_control_panel_::numChannel
uint8_t numChannel
Definition
audio.h:77
_audio_control_panel_::Samplefull
bool Samplefull
Definition
audio.h:81
_audio_control_panel_::ready
bool ready
Definition
audio.h:82
_audio_control_panel_::global
bool global
Definition
audio.h:84
_audio_control_panel_::gain
float gain
Definition
audio.h:78
_audio_control_panel_::dirty
bool dirty
Definition
audio.h:85
_audio_control_panel_::leftSpeakerScale
float leftSpeakerScale
Definition
audio.h:79
_deodhai_audio_box_
Definition
audio.h:89
_deodhai_audio_box_::pipe
int pipe
Definition
audio.h:95
_deodhai_audio_box_::ctlPanel
DeodhaiAudioControlPanel * ctlPanel
Definition
audio.h:90
_deodhai_audio_box_::controlPanelKey
uint16_t controlPanelKey
Definition
audio.h:91
_deodhai_audio_box_::sampleBuffer
void * sampleBuffer
Definition
audio.h:93
_deodhai_audio_box_::sampleBufferKey
uint16_t sampleBufferKey
Definition
audio.h:92
_deodhai_audio_box_::ctlPanelBuffer
void * ctlPanelBuffer
Definition
audio.h:94
_deodhai_audio_msg_
Definition
audio.h:62
_deodhai_audio_msg_::toProcessId
uint16_t toProcessId
Definition
audio.h:65
_deodhai_audio_msg_::message
char message[60]
Definition
audio.h:63
_deodhai_audio_msg_::fromProcessId
uint16_t fromProcessId
Definition
audio.h:64
Generated by
1.9.8