annotate win95kggui/dep/ft2play/snd_masm.c @ 127:fd2ea604dcf2 default tip

hg: clean up stupid subrepo crap
author Paper <paper@tflc.us>
date Tue, 25 Mar 2025 00:26:18 -0400
parents 8e4ee43d3b81
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
126
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
1 #include <stdint.h>
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
2 #include <stdbool.h>
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
3 #include "snd_masm.h"
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
4 #include "pmplay.h"
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
5
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
6 /* 8bb: This is done in a slightly different way, but the result
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
7 ** is the same (bit-accurate to FT2.08/FT2.09 w/ SB16, and WAV-writer).
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
8 **
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
9 ** Mixer macros are stored in snd_masm.h
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
10 */
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
11
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
12 void PMPMix32Proc(CIType *v, int32_t numSamples, int32_t bufferPos)
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
13 {
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
14 if (v->SType & SType_Off)
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
15 return; // voice is not active
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
16
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
17 uint32_t volStatus = v->SLVol1 | v->SRVol1;
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
18 if (volumeRampingFlag)
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
19 volStatus |= v->SLVol2 | v->SRVol2;
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
20
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
21 if (volStatus == 0) // silence mix
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
22 {
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
23 const uint64_t samplesToMix = (uint64_t)v->SFrq * (uint32_t)numSamples; // 16.16fp
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
24
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
25 const int32_t samples = (int32_t)(samplesToMix >> 16);
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
26 const int32_t samplesFrac = (samplesToMix & 0xFFFF) + (v->SPosDec >> 16);
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
27
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
28 int32_t realPos = v->SPos + samples + (samplesFrac >> 16);
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
29 int32_t posFrac = samplesFrac & 0xFFFF;
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
30
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
31 if (realPos >= v->SLen)
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
32 {
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
33 uint8_t SType = v->SType;
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
34 if (SType & (SType_Fwd+SType_Rev))
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
35 {
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
36 do
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
37 {
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
38 SType ^= SType_RevDir;
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
39 realPos -= v->SRepL;
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
40 }
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
41 while (realPos >= v->SLen);
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
42 v->SType = SType;
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
43 }
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
44 else
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
45 {
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
46 v->SType = SType_Off;
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
47 return;
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
48 }
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
49 }
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
50
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
51 v->SPosDec = posFrac << 16;
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
52 v->SPos = realPos;
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
53 }
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
54 else // normal mixing
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
55 {
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
56 bool mixInCenter;
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
57 if (volumeRampingFlag)
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
58 mixInCenter = (v->SLVol2 == v->SRVol2) && (v->SLVolIP == v->SRVolIP);
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
59 else
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
60 mixInCenter = v->SLVol1 == v->SRVol1;
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
61
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
62 mixRoutineTable[(mixInCenter * 8) + v->SMixType](v, numSamples, bufferPos);
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
63 }
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
64 }
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
65
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
66 static void mix8b(CIType *v, uint32_t numSamples, uint32_t bufferPos)
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
67 {
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
68 int32_t sample;
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
69
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
70 GET_VOL
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
71 GET_MIXER_VARS
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
72 SET_BASE8
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
73
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
74 int32_t CDA_BytesLeft = numSamples;
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
75 while (CDA_BytesLeft > 0)
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
76 {
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
77 LIMIT_MIX_NUM
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
78 CDA_BytesLeft -= samplesToMix;
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
79
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
80 HANDLE_POS_START
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
81 for (i = 0; i < (samplesToMix & 3); i++)
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
82 {
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
83 MIX_8BIT
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
84 }
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
85 samplesToMix >>= 2;
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
86 for (i = 0; i < samplesToMix; i++)
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
87 {
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
88 MIX_8BIT
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
89 MIX_8BIT
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
90 MIX_8BIT
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
91 MIX_8BIT
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
92 }
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
93 HANDLE_POS_END
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
94 }
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
95
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
96 SET_BACK_MIXER_POS
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
97 }
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
98
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
99 static void mix8bIntrp(CIType *v, uint32_t numSamples, uint32_t bufferPos)
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
100 {
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
101 int32_t sample, sample2;
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
102
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
103 GET_VOL
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
104 GET_MIXER_VARS
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
105 SET_BASE8
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
106
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
107 int32_t CDA_BytesLeft = numSamples;
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
108 while (CDA_BytesLeft > 0)
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
109 {
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
110 LIMIT_MIX_NUM
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
111 CDA_BytesLeft -= samplesToMix;
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
112
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
113 HANDLE_POS_START
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
114 for (i = 0; i < (samplesToMix & 3); i++)
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
115 {
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
116 MIX_8BIT_INTRP
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
117 }
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
118 samplesToMix >>= 2;
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
119 for (i = 0; i < samplesToMix; i++)
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
120 {
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
121 MIX_8BIT_INTRP
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
122 MIX_8BIT_INTRP
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
123 MIX_8BIT_INTRP
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
124 MIX_8BIT_INTRP
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
125 }
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
126 HANDLE_POS_END
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
127 }
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
128
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
129 SET_BACK_MIXER_POS
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
130 }
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
131
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
132 static void mix8bRamp(CIType *v, uint32_t numSamples, uint32_t bufferPos)
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
133 {
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
134 int32_t sample;
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
135
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
136 GET_MIXER_VARS
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
137 GET_RAMP_VARS
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
138 SET_BASE8
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
139
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
140 int32_t CDA_BytesLeft = numSamples;
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
141 while (CDA_BytesLeft > 0)
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
142 {
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
143 LIMIT_MIX_NUM
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
144 LIMIT_MIX_NUM_RAMP
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
145 CDA_BytesLeft -= samplesToMix;
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
146
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
147 GET_VOL_RAMP
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
148 HANDLE_POS_START
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
149 for (i = 0; i < (samplesToMix & 3); i++)
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
150 {
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
151 MIX_8BIT
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
152 VOL_RAMP
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
153 }
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
154 samplesToMix >>= 2;
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
155 for (i = 0; i < samplesToMix; i++)
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
156 {
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
157 MIX_8BIT
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
158 VOL_RAMP
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
159 MIX_8BIT
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
160 VOL_RAMP
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
161 MIX_8BIT
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
162 VOL_RAMP
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
163 MIX_8BIT
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
164 VOL_RAMP
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
165 }
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
166 HANDLE_POS_END
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
167 SET_VOL_BACK
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
168 }
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
169
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
170 SET_BACK_MIXER_POS
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
171 }
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
172
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
173 static void mix8bRampIntrp(CIType *v, uint32_t numSamples, uint32_t bufferPos)
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
174 {
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
175 int32_t sample, sample2;
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
176
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
177 GET_MIXER_VARS
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
178 GET_RAMP_VARS
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
179 SET_BASE8
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
180
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
181 int32_t CDA_BytesLeft = numSamples;
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
182 while (CDA_BytesLeft > 0)
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
183 {
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
184 LIMIT_MIX_NUM
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
185 LIMIT_MIX_NUM_RAMP
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
186 CDA_BytesLeft -= samplesToMix;
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
187
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
188 GET_VOL_RAMP
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
189 HANDLE_POS_START
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
190 for (i = 0; i < (samplesToMix & 3); i++)
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
191 {
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
192 MIX_8BIT_INTRP
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
193 VOL_RAMP
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
194 }
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
195 samplesToMix >>= 2;
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
196 for (i = 0; i < samplesToMix; i++)
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
197 {
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
198 MIX_8BIT_INTRP
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
199 VOL_RAMP
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
200 MIX_8BIT_INTRP
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
201 VOL_RAMP
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
202 MIX_8BIT_INTRP
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
203 VOL_RAMP
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
204 MIX_8BIT_INTRP
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
205 VOL_RAMP
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
206 }
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
207 HANDLE_POS_END
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
208 SET_VOL_BACK
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
209 }
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
210
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
211 SET_BACK_MIXER_POS
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
212 }
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
213
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
214 static void mix16b(CIType *v, uint32_t numSamples, uint32_t bufferPos)
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
215 {
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
216 int32_t sample;
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
217
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
218 GET_VOL
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
219 GET_MIXER_VARS
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
220 SET_BASE16
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
221
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
222 int32_t CDA_BytesLeft = numSamples;
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
223 while (CDA_BytesLeft > 0)
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
224 {
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
225 LIMIT_MIX_NUM
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
226 CDA_BytesLeft -= samplesToMix;
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
227
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
228 HANDLE_POS_START
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
229 for (i = 0; i < (samplesToMix & 3); i++)
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
230 {
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
231 MIX_16BIT
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
232 }
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
233 samplesToMix >>= 2;
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
234 for (i = 0; i < samplesToMix; i++)
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
235 {
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
236 MIX_16BIT
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
237 MIX_16BIT
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
238 MIX_16BIT
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
239 MIX_16BIT
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
240 }
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
241 HANDLE_POS_END
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
242 }
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
243
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
244 SET_BACK_MIXER_POS
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
245 }
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
246
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
247 static void mix16bIntrp(CIType *v, uint32_t numSamples, uint32_t bufferPos)
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
248 {
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
249 int32_t sample, sample2;
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
250
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
251 GET_VOL
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
252 GET_MIXER_VARS
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
253 SET_BASE16
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
254
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
255 int32_t CDA_BytesLeft = numSamples;
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
256 while (CDA_BytesLeft > 0)
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
257 {
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
258 LIMIT_MIX_NUM
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
259 CDA_BytesLeft -= samplesToMix;
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
260
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
261 HANDLE_POS_START
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
262 for (i = 0; i < (samplesToMix & 3); i++)
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
263 {
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
264 MIX_16BIT_INTRP
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
265 }
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
266 samplesToMix >>= 2;
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
267 for (i = 0; i < samplesToMix; i++)
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
268 {
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
269 MIX_16BIT_INTRP
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
270 MIX_16BIT_INTRP
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
271 MIX_16BIT_INTRP
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
272 MIX_16BIT_INTRP
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
273 }
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
274 HANDLE_POS_END
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
275 }
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
276
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
277 SET_BACK_MIXER_POS
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
278 }
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
279
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
280 static void mix16bRamp(CIType *v, uint32_t numSamples, uint32_t bufferPos)
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
281 {
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
282 int32_t sample;
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
283
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
284 GET_MIXER_VARS
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
285 GET_RAMP_VARS
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
286 SET_BASE16
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
287
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
288 int32_t CDA_BytesLeft = numSamples;
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
289 while (CDA_BytesLeft > 0)
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
290 {
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
291 LIMIT_MIX_NUM
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
292 LIMIT_MIX_NUM_RAMP
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
293 CDA_BytesLeft -= samplesToMix;
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
294
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
295 GET_VOL_RAMP
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
296 HANDLE_POS_START
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
297 for (i = 0; i < (samplesToMix & 3); i++)
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
298 {
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
299 MIX_16BIT
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
300 VOL_RAMP
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
301 }
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
302 samplesToMix >>= 2;
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
303 for (i = 0; i < samplesToMix; i++)
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
304 {
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
305 MIX_16BIT
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
306 VOL_RAMP
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
307 MIX_16BIT
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
308 VOL_RAMP
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
309 MIX_16BIT
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
310 VOL_RAMP
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
311 MIX_16BIT
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
312 VOL_RAMP
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
313 }
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
314 HANDLE_POS_END
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
315 SET_VOL_BACK
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
316 }
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
317
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
318 SET_BACK_MIXER_POS
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
319 }
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
320
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
321 static void mix16bRampIntrp(CIType *v, uint32_t numSamples, uint32_t bufferPos)
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
322 {
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
323 int32_t sample, sample2;
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
324
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
325 GET_MIXER_VARS
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
326 GET_RAMP_VARS
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
327 SET_BASE16
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
328
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
329 int32_t CDA_BytesLeft = numSamples;
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
330 while (CDA_BytesLeft > 0)
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
331 {
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
332 LIMIT_MIX_NUM
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
333 LIMIT_MIX_NUM_RAMP
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
334 CDA_BytesLeft -= samplesToMix;
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
335
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
336 GET_VOL_RAMP
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
337 HANDLE_POS_START
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
338 for (i = 0; i < (samplesToMix & 3); i++)
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
339 {
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
340 MIX_16BIT_INTRP
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
341 VOL_RAMP
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
342 }
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
343 samplesToMix >>= 2;
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
344 for (i = 0; i < samplesToMix; i++)
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
345 {
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
346 MIX_16BIT_INTRP
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
347 VOL_RAMP
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
348 MIX_16BIT_INTRP
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
349 VOL_RAMP
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
350 MIX_16BIT_INTRP
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
351 VOL_RAMP
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
352 MIX_16BIT_INTRP
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
353 VOL_RAMP
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
354 }
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
355 HANDLE_POS_END
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
356 SET_VOL_BACK
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
357 }
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
358
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
359 SET_BACK_MIXER_POS
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
360 }
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
361
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
362 static void mix8bCenter(CIType *v, uint32_t numSamples, uint32_t bufferPos)
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
363 {
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
364 int32_t sample;
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
365
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
366 GET_VOL_CENTER
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
367 GET_MIXER_VARS
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
368 SET_BASE8
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
369
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
370 int32_t CDA_BytesLeft = numSamples;
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
371 while (CDA_BytesLeft > 0)
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
372 {
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
373 LIMIT_MIX_NUM
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
374 CDA_BytesLeft -= samplesToMix;
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
375
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
376 HANDLE_POS_START
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
377 for (i = 0; i < (samplesToMix & 3); i++)
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
378 {
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
379 MIX_8BIT_M
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
380 }
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
381 samplesToMix >>= 2;
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
382 for (i = 0; i < samplesToMix; i++)
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
383 {
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
384 MIX_8BIT_M
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
385 MIX_8BIT_M
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
386 MIX_8BIT_M
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
387 MIX_8BIT_M
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
388 }
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
389 HANDLE_POS_END
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
390 }
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
391
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
392 SET_BACK_MIXER_POS
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
393 }
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
394
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
395 static void mix8bIntrpCenter(CIType *v, uint32_t numSamples, uint32_t bufferPos)
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
396 {
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
397 int32_t sample, sample2;
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
398
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
399 GET_VOL_CENTER
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
400 GET_MIXER_VARS
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
401 SET_BASE8
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
402
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
403 int32_t CDA_BytesLeft = numSamples;
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
404 while (CDA_BytesLeft > 0)
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
405 {
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
406 LIMIT_MIX_NUM
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
407 CDA_BytesLeft -= samplesToMix;
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
408
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
409 HANDLE_POS_START
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
410 for (i = 0; i < (samplesToMix & 3); i++)
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
411 {
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
412 MIX_8BIT_INTRP_M
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
413 }
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
414 samplesToMix >>= 2;
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
415 for (i = 0; i < samplesToMix; i++)
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
416 {
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
417 MIX_8BIT_INTRP_M
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
418 MIX_8BIT_INTRP_M
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
419 MIX_8BIT_INTRP_M
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
420 MIX_8BIT_INTRP_M
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
421 }
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
422 HANDLE_POS_END
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
423 }
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
424
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
425 SET_BACK_MIXER_POS
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
426 }
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
427
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
428 static void mix8bRampCenter(CIType *v, uint32_t numSamples, uint32_t bufferPos)
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
429 {
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
430 int32_t sample;
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
431
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
432 GET_MIXER_VARS
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
433 GET_RAMP_VARS
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
434 SET_BASE8
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
435
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
436 int32_t CDA_BytesLeft = numSamples;
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
437 while (CDA_BytesLeft > 0)
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
438 {
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
439 LIMIT_MIX_NUM
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
440 LIMIT_MIX_NUM_RAMP
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
441 CDA_BytesLeft -= samplesToMix;
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
442
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
443 GET_VOL_RAMP
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
444 HANDLE_POS_START
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
445 for (i = 0; i < (samplesToMix & 3); i++)
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
446 {
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
447 MIX_8BIT_M
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
448 VOL_RAMP
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
449 }
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
450 samplesToMix >>= 2;
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
451 for (i = 0; i < samplesToMix; i++)
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
452 {
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
453 MIX_8BIT_M
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
454 VOL_RAMP
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
455 MIX_8BIT_M
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
456 VOL_RAMP
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
457 MIX_8BIT_M
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
458 VOL_RAMP
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
459 MIX_8BIT_M
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
460 VOL_RAMP
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
461 }
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
462 HANDLE_POS_END
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
463 SET_VOL_BACK
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
464 }
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
465
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
466 SET_BACK_MIXER_POS
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
467 }
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
468
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
469 static void mix8bRampIntrpCenter(CIType *v, uint32_t numSamples, uint32_t bufferPos)
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
470 {
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
471 int32_t sample, sample2;
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
472
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
473 GET_MIXER_VARS
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
474 GET_RAMP_VARS
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
475 SET_BASE8
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
476
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
477 int32_t CDA_BytesLeft = numSamples;
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
478 while (CDA_BytesLeft > 0)
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
479 {
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
480 LIMIT_MIX_NUM
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
481 LIMIT_MIX_NUM_RAMP
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
482 CDA_BytesLeft -= samplesToMix;
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
483
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
484 GET_VOL_RAMP
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
485 HANDLE_POS_START
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
486 for (i = 0; i < (samplesToMix & 3); i++)
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
487 {
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
488 MIX_8BIT_INTRP_M
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
489 VOL_RAMP
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
490 }
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
491 samplesToMix >>= 2;
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
492 for (i = 0; i < samplesToMix; i++)
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
493 {
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
494 MIX_8BIT_INTRP_M
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
495 VOL_RAMP
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
496 MIX_8BIT_INTRP_M
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
497 VOL_RAMP
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
498 MIX_8BIT_INTRP_M
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
499 VOL_RAMP
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
500 MIX_8BIT_INTRP_M
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
501 VOL_RAMP
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
502 }
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
503 HANDLE_POS_END
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
504 SET_VOL_BACK
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
505 }
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
506
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
507 SET_BACK_MIXER_POS
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
508 }
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
509
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
510 static void mix16bCenter(CIType *v, uint32_t numSamples, uint32_t bufferPos)
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
511 {
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
512 int32_t sample;
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
513
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
514 GET_VOL_CENTER
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
515 GET_MIXER_VARS
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
516 SET_BASE16
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
517
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
518 int32_t CDA_BytesLeft = numSamples;
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
519 while (CDA_BytesLeft > 0)
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
520 {
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
521 LIMIT_MIX_NUM
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
522 CDA_BytesLeft -= samplesToMix;
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
523
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
524 HANDLE_POS_START
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
525 for (i = 0; i < (samplesToMix & 3); i++)
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
526 {
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
527 MIX_16BIT_M
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
528 }
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
529 samplesToMix >>= 2;
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
530 for (i = 0; i < samplesToMix; i++)
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
531 {
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
532 MIX_16BIT_M
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
533 MIX_16BIT_M
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
534 MIX_16BIT_M
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
535 MIX_16BIT_M
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
536 }
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
537 HANDLE_POS_END
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
538 }
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
539
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
540 SET_BACK_MIXER_POS
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
541 }
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
542
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
543 static void mix16bIntrpCenter(CIType *v, uint32_t numSamples, uint32_t bufferPos)
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
544 {
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
545 int32_t sample, sample2;
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
546
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
547 GET_VOL_CENTER
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
548 GET_MIXER_VARS
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
549 SET_BASE16
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
550
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
551 int32_t CDA_BytesLeft = numSamples;
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
552 while (CDA_BytesLeft > 0)
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
553 {
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
554 LIMIT_MIX_NUM
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
555 CDA_BytesLeft -= samplesToMix;
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
556
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
557 HANDLE_POS_START
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
558 for (i = 0; i < (samplesToMix & 3); i++)
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
559 {
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
560 MIX_16BIT_INTRP_M
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
561 }
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
562 samplesToMix >>= 2;
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
563 for (i = 0; i < samplesToMix; i++)
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
564 {
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
565 MIX_16BIT_INTRP_M
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
566 MIX_16BIT_INTRP_M
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
567 MIX_16BIT_INTRP_M
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
568 MIX_16BIT_INTRP_M
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
569 }
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
570 HANDLE_POS_END
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
571 }
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
572
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
573 SET_BACK_MIXER_POS
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
574 }
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
575
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
576 static void mix16bRampCenter(CIType *v, uint32_t numSamples, uint32_t bufferPos)
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
577 {
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
578 int32_t sample;
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
579
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
580 GET_MIXER_VARS
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
581 GET_RAMP_VARS
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
582 SET_BASE16
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
583
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
584 int32_t CDA_BytesLeft = numSamples;
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
585 while (CDA_BytesLeft > 0)
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
586 {
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
587 LIMIT_MIX_NUM
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
588 LIMIT_MIX_NUM_RAMP
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
589 CDA_BytesLeft -= samplesToMix;
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
590
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
591 GET_VOL_RAMP
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
592 HANDLE_POS_START
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
593 for (i = 0; i < (samplesToMix & 3); i++)
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
594 {
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
595 MIX_16BIT_M
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
596 VOL_RAMP
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
597 }
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
598 samplesToMix >>= 2;
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
599 for (i = 0; i < samplesToMix; i++)
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
600 {
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
601 MIX_16BIT_M
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
602 VOL_RAMP
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
603 MIX_16BIT_M
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
604 VOL_RAMP
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
605 MIX_16BIT_M
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
606 VOL_RAMP
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
607 MIX_16BIT_M
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
608 VOL_RAMP
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
609 }
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
610 HANDLE_POS_END
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
611 SET_VOL_BACK
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
612 }
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
613
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
614 SET_BACK_MIXER_POS
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
615 }
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
616
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
617 static void mix16bRampIntrpCenter(CIType *v, uint32_t numSamples, uint32_t bufferPos)
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
618 {
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
619 int32_t sample, sample2;
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
620
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
621 GET_MIXER_VARS
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
622 GET_RAMP_VARS
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
623 SET_BASE16
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
624
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
625 int32_t CDA_BytesLeft = numSamples;
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
626 while (CDA_BytesLeft > 0)
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
627 {
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
628 LIMIT_MIX_NUM
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
629 LIMIT_MIX_NUM_RAMP
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
630 CDA_BytesLeft -= samplesToMix;
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
631
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
632 GET_VOL_RAMP
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
633 HANDLE_POS_START
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
634 for (i = 0; i < (samplesToMix & 3); i++)
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
635 {
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
636 MIX_16BIT_INTRP_M
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
637 VOL_RAMP
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
638 }
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
639 samplesToMix >>= 2;
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
640 for (i = 0; i < samplesToMix; i++)
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
641 {
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
642 MIX_16BIT_INTRP_M
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
643 VOL_RAMP
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
644 MIX_16BIT_INTRP_M
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
645 VOL_RAMP
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
646 MIX_16BIT_INTRP_M
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
647 VOL_RAMP
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
648 MIX_16BIT_INTRP_M
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
649 VOL_RAMP
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
650 }
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
651 HANDLE_POS_END
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
652 SET_VOL_BACK
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
653 }
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
654
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
655 SET_BACK_MIXER_POS
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
656 }
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
657
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
658 mixRoutine mixRoutineTable[16] =
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
659 {
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
660 (mixRoutine)mix8b,
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
661 (mixRoutine)mix8bIntrp,
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
662 (mixRoutine)mix8bRamp,
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
663 (mixRoutine)mix8bRampIntrp,
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
664 (mixRoutine)mix16b,
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
665 (mixRoutine)mix16bIntrp,
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
666 (mixRoutine)mix16bRamp,
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
667 (mixRoutine)mix16bRampIntrp,
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
668 (mixRoutine)mix8bCenter,
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
669 (mixRoutine)mix8bIntrpCenter,
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
670 (mixRoutine)mix8bRampCenter,
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
671 (mixRoutine)mix8bRampIntrpCenter,
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
672 (mixRoutine)mix16bCenter,
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
673 (mixRoutine)mix16bIntrpCenter,
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
674 (mixRoutine)mix16bRampCenter,
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
675 (mixRoutine)mix16bRampIntrpCenter
8e4ee43d3b81 remove submodules
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
676 };