struct delay {
  float* buffer;
  int length;
  int pointer;
};

void delay_init(struct delay* d, int length);
void delay_clear(struct delay* d);
float delay_read(struct delay* d);
void delay_write(struct delay* d, float in);
float delay_tick(struct delay* d, float in);
void delay_finalize(struct delay* d);
