ft2-clone

Fasttracker 2 clone
Log | Files | Refs | README | LICENSE

ft2_cubic_spline.h (580B)


      1 #pragma once
      2 
      3 #include <stdint.h>
      4 #include <stdbool.h>
      5 #include "ft2_mix.h" // MIXER_FRAC_BITS
      6 
      7 #define CUBIC_SPLINE_WIDTH 4
      8 #define CUBIC_SPLINE_WIDTH_BITS 2 /* log2(CUBIC_SPLINE_WIDTH) */
      9 #define CUBIC_SPLINE_PHASES 8192
     10 #define CUBIC_SPLINE_PHASES_BITS 13 // log2(CUBIC_SPLINE_PHASES)
     11 #define CUBIC_SPLINE_FRACSHIFT (MIXER_FRAC_BITS-(CUBIC_SPLINE_PHASES_BITS+CUBIC_SPLINE_WIDTH_BITS))
     12 #define CUBIC_SPLINE_FRACMASK ((CUBIC_SPLINE_WIDTH*CUBIC_SPLINE_PHASES)-CUBIC_SPLINE_WIDTH)
     13 
     14 extern float *fCubicSplineLUT;
     15 
     16 bool setupCubicSplineTable(void);
     17 void freeCubicSplineTable(void);