void growl_destroy(growl_d **form) { int i; growl_d *fd = *form; for(i = 0; i < 4; i++) { sp_reson_destroy(&fd->filt[i]); } sp_bal_destroy(&fd->bal); sp_dcblock_destroy(&fd->dcblk); free(*form); }
int main() { udata ud; sp_data *sp; sp_create(&sp); sp_srand(sp, 12345); sp_noise_create(&ud.ns); sp_reson_create(&ud.reson); sp_noise_init(sp, ud.ns); ud.ns->amp = 1.0; sp_reson_init(sp, ud.reson); sp->len = 44100 * 5; sp_process(sp, &ud, write_noise); sp_noise_destroy(&ud.ns); sp_reson_destroy(&ud.reson); sp_destroy(&sp); return 0; }