Sigrid Solveig Haflínudóttircompile stuff50243ce5 years agoHistory
89 lines · 1.9 KB · C
RawDownload
#include <stdint.h>#include <stdio.h> #define SP_BUFSIZE 4096#ifndef SPFLOAT#define SPFLOAT float#endif#define SP_OK 1#define SP_NOT_OK 0 #define SP_RANDMAX 2147483648U typedef unsigned long sp_frame; typedef struct sp_data {    SPFLOAT *out;    int sr;    int nchan;    unsigned long len;    unsigned long pos;    char filename[200];    uint32_t rand;} sp_data; typedef struct {    char state;    SPFLOAT val;} sp_param; int sp_create(sp_data **spp);int sp_createn(sp_data **spp, int nchan); int sp_destroy(sp_data **spp);int sp_process(sp_data *sp, void *ud, void (*callback)(sp_data *, void *));int sp_process_raw(sp_data *sp, void *ud, void (*callback)(sp_data *, void *));int sp_process_plot(sp_data *sp, void *ud, void (*callback)(sp_data *, void *));int sp_process_spa(sp_data *sp, void *ud, void (*callback)(sp_data *, void *)); SPFLOAT sp_midi2cps(SPFLOAT nn); int sp_set(sp_param *p, SPFLOAT val); int sp_out(sp_data *sp, uint32_t chan, SPFLOAT val); uint32_t sp_rand(sp_data *sp);void sp_srand(sp_data *sp, uint32_t val);  typedef struct {    SPFLOAT *utbl;    int16_t *BRLow;    int16_t *BRLowCpx;} sp_fft; void sp_fft_create(sp_fft **fft);void sp_fft_init(sp_fft *fft, int M);void sp_fftr(sp_fft *fft, SPFLOAT *buf, int FFTsize);void sp_fft_cpx(sp_fft *fft, SPFLOAT *buf, int FFTsize);void sp_ifftr(sp_fft *fft, SPFLOAT *buf, int FFTsize);void sp_fft_destroy(sp_fft *fft);#ifndef kiss_fft_scalar#define kiss_fft_scalar SPFLOAT#endiftypedef struct {    kiss_fft_scalar r;    kiss_fft_scalar i;}kiss_fft_cpx; typedef struct kiss_fft_state* kiss_fft_cfg;typedef struct kiss_fftr_state* kiss_fftr_cfg; /* SPA: Soundpipe Audio */ enum { SPA_READ, SPA_WRITE, SPA_NULL }; typedef struct {    char magic;    char nchan;    uint16_t sr;    uint32_t len;} spa_header; typedef struct {    spa_header header;    size_t offset;    int mode;    FILE *fp;    uint32_t pos;} sp_audio;

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t