Sigrid Solveig Haflínudóttircompile stuff50243ce5 years agoHistory
43 lines · 866 B · C
RawDownload
/* This code is placed in the public domain. */ #include <stdlib.h>#include <math.h>#include "soundpipe.h" int sp_delay_create(sp_delay **p){    *p = malloc(sizeof(sp_delay));    return SP_OK;} int sp_delay_destroy(sp_delay **p){    free((*p)->buf);    free(*p);    return SP_OK;} int sp_delay_init(sp_data *sp, sp_delay *p, SPFLOAT time){    p->time = time;    p->bufsize = round(time * sp->sr);    p->buf = calloc(1, p->bufsize * sizeof(SPFLOAT));    p->bufpos = 0;    p->feedback = 0;    p->last = 0;    return SP_OK;} int sp_delay_compute(sp_data *sp, sp_delay *p, SPFLOAT *in, SPFLOAT *out){    USED(sp);     SPFLOAT delay, sig;    SPFLOAT *buf = p->buf;    delay = buf[p->bufpos];    sig = (delay * p->feedback) + *in;    buf[p->bufpos] = sig;    p->bufpos = (p->bufpos + 1) % p->bufsize;    *out = delay;    return SP_OK;}

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