sc68fordevelopers  2.2.1
mixer68.h
Go to the documentation of this file.
1 
12 #ifndef _MIXER68_H_
13 #define _MIXER68_H_
14 
15 #include "emu68/type68.h"
16 
17 #ifdef __cplusplus
18 extern "C" {
19 #endif
20 
41 #define MIXER68_SAME_SIGN 0x00000000
42 #define MIXER68_CHANGE_LEFT_CHANNEL_SIGN 0x00008000
43 #define MIXER68_CHANGE_RIGHT_CHANNEL_SIGN 0x80000000
44 #define MIXER68_CHANGE_SIGN 0x80008000
54 void SC68mixer_stereo_16_LR(u32 *dest, u32 *src, int nb,
55  const u32 sign);
56 
66 void SC68mixer_stereo_16_RL(u32 *dest, u32 *src, int nb,
67  const u32 sign);
68 
82 void SC68mixer_stereo_FL_LR(float *dest, u32 *src, int nb,
83  const u32 sign, const float norm);
84 
93 void SC68mixer_dup_L_to_R(u32 *dest, u32 *src, int nb, const u32 sign);
94 
103 void SC68mixer_dup_R_to_L(u32 *dest, u32 *src, int nb, const u32 sign);
104 
127 void SC68mixer_blend_LR(u32 *dest, u32 *src, int nb,
128  int factor,
129  const u32 sign_r, const u32 sign_w);
130 
154 void SC68mixer_mult_LR(u32 * dest, u32 * src, int nb,
155  const int ml, const int mr,
156  const u32 sign_r, const u32 sign_w);
157 
164 void SC68mixer_fill(u32 *dest, int nb,
165  const u32 sign);
166 
171 #ifdef __cplusplus
172 }
173 #endif
174 
175 #endif /* #ifndef _MIXER68_H_ */
unsigned int u32
Must be an unsigned 32 bit integer.
Definition: type68.h:37
void SC68mixer_stereo_FL_LR(float *dest, u32 *src, int nb, const u32 sign, const float norm)
Copy 16-bit-stereo PCM into normalized float-stereo (-norm..+norm).
void SC68mixer_dup_R_to_L(u32 *dest, u32 *src, int nb, const u32 sign)
Copy right channel of 16-bit stereo PCM into L/R channels with optionnal sign change.
void SC68mixer_stereo_16_RL(u32 *dest, u32 *src, int nb, const u32 sign)
Copy 16-bit-stereo PCM with channel swapping and optionnal sign change.
void SC68mixer_mult_LR(u32 *dest, u32 *src, int nb, const int ml, const int mr, const u32 sign_r, const u32 sign_w)
Copy 16-bit-stereo PCM with L/R amplitude factor and optionnal sign change.
Type definitions.
void SC68mixer_dup_L_to_R(u32 *dest, u32 *src, int nb, const u32 sign)
Copy left channel of 16-bit stereo PCM into L/R channels with optionnal sign change.
void SC68mixer_fill(u32 *dest, int nb, const u32 sign)
Fill 16-bit-stereo buffer with sign value (RRRRLLLL).
void SC68mixer_blend_LR(u32 *dest, u32 *src, int nb, int factor, const u32 sign_r, const u32 sign_w)
Copy 16-bit-stereo PCM with L/R blending and optionnal sign change.