]> Shamusworld >> Repos - wozmaker/blob - src/dsp.h
030446f76a51daaeba03b4298c9d76abb9c6fadd
[wozmaker] / src / dsp.h
1 #ifndef __DSP_H__
2 #define __DSP_H__
3
4 #include <stdint.h>
5 #include <stdlib.h>
6
7 double StdDeviation(double *, uint32_t, double * mean = NULL);
8 double Largest(double *, uint32_t);
9 uint32_t Largest(uint32_t *, uint32_t);
10 uint32_t LargestIndex(double *, uint32_t);
11 uint32_t LargestIndex(uint32_t *, uint32_t);
12 double Smallest(double *, uint32_t);
13 uint32_t Smallest(uint32_t *, uint32_t);
14 uint32_t SmallestIndex(double *, uint32_t);
15 uint32_t SmallestIndex(uint32_t *, uint32_t);
16
17 #if 0
18 uint32_t Synthesize(uint32_t * sync, uint32_t num, uint32_t * wave, float * amp);
19 bool FindSync(uint32_t, uint32_t, uint32_t &, uint32_t &);
20 void FindSyncForStreams(uint32_t * sync, uint32_t num);
21 void FindInitialSyncForStreams(uint32_t * sync, uint32_t num);
22 void BacktrackInitialSync(uint32_t * sync, uint32_t num);
23 void BacktrackInitialSync2(uint32_t * sync, uint32_t num);
24 void BacktrackInitialSync3(uint32_t * sync, uint32_t num);
25 void BacktrackInitialSync4(uint32_t * sync, uint32_t num);
26 void StepBackUntilBad(uint32_t * sync, double * a, uint32_t num);
27 bool StepBackThruBad(uint32_t * sync, double * a, uint32_t num);
28 void StepBack(uint32_t * sync, double * a, uint32_t num);
29 void StepAndAddBack(uint32_t * sync, double * a, uint32_t num);
30 void StepAndAddBack(uint32_t & sync, double & a, uint32_t i);
31 void StepForward(uint32_t * sync, double * a, uint32_t num);
32 void StepAndAddForward(uint32_t * sync, double * a, uint32_t num);
33 void StepAndAddForward(uint32_t & sync, double & a, uint32_t i);
34 uint32_t Lookahead(uint32_t * sync, uint32_t num, int32_t dir = 1);
35 int Resync(uint32_t * sync, double * a, uint32_t num, int32_t dir = 1);
36 #endif
37 void FindInitialSyncForStreams2(uint32_t * sync, uint32_t num);
38 uint32_t Synthesize2(uint32_t * sync, uint32_t num, uint32_t * wave, float * amp);
39
40 bool AttemptToFindStart(uint32_t * sync, uint32_t num);
41 bool InitialSync(uint32_t * sync, uint32_t num);
42 void SynthesizeTrack(uint32_t trackNum);
43
44 // Exported variables
45 extern uint32_t sNum[];
46 //extern double ratio[];
47 extern double initSyncTime[];
48
49 #endif  // __DSP_H__
50