]> Shamusworld >> Repos - wozmaker/blob - src/dsp.h
Flesh out the disk settings dialog.
[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 * pMean = NULL);
8 double StdDeviationWave(uint32_t * sync, uint32_t num, double * pMean = NULL);
9 double Largest(double *, uint32_t);
10 uint32_t Largest(uint32_t *, uint32_t);
11 uint32_t LargestIndex(double *, uint32_t);
12 uint32_t LargestIndex(uint32_t *, uint32_t);
13 double Smallest(double *, uint32_t);
14 uint32_t Smallest(uint32_t *, uint32_t);
15 uint32_t SmallestIndex(double *, uint32_t);
16 uint32_t SmallestIndex(uint32_t *, uint32_t);
17 bool Equal(uint32_t * a1, uint32_t * a2, uint32_t num);
18 uint32_t IndexForTime(uint32_t trackNum, uint32_t time);
19
20 uint32_t LookaheadWave(uint32_t * passedInSync, uint32_t num, int8_t dir = 1, bool * perfect = NULL);
21 uint32_t FindSyncBetweenFirstTwo(uint32_t * sync);
22 void FindInitialSyncForStreams2(uint32_t * sync, uint32_t num);
23 uint32_t Synthesize2(uint32_t * sync, uint32_t num, uint32_t * wave, float * amp);
24 bool ResyncWave(uint32_t * sync, uint32_t num, int8_t dir = 1);
25 bool AttemptToFindStart(uint32_t * sync, uint32_t num);
26 bool InitialSync(uint32_t * sync, uint32_t num);
27 uint32_t LoopLookahead(uint32_t trackNum, uint32_t start, uint32_t loopPoint, bool * test = NULL);
28 void SynthesizeTrack(uint32_t trackNum);
29 //void MakeLoop(uint32_t trackNum);
30 //uint32_t FindLoopPoint(uint32_t trackNum);
31 bool FindLoopPoint(uint32_t trackNum, uint32_t & start, uint32_t & end);
32
33
34 // Exported variables
35 extern uint32_t sNum[];
36 extern double initSyncTime[];
37
38 #endif  // __DSP_H__
39