Beispiel #1
0
int main() {
    srand(time(NULL));
    udata ud;
    sp_data *sp;
    sp_create(&sp);
    sp_dust_create(&ud.dst);
    sp_dust_init(sp, ud.dst, 0.3, 10);
    sp->len = 44100 * 5;
    ud.dst->bipolar = 1.0;
    sp_process(sp, &ud, write_dust);
    sp_dust_destroy(&ud.dst);
    sp_destroy(&sp);
    return 0;
}
Beispiel #2
0
int chord_cloud_destroy(chord_cloud **cc)
{
    int i;
    chord_cloud *ccp = *cc;
    sp_dust **tmpdust;
    sp_ftbl_destroy(&ccp->sine);

    for(i = 0; i < ccp->notes->size; i++ ) {
        sp_dust_destroy(&ccp->grains[i].dust);
        sp_osc_destroy(&ccp->grains[i].osc);
        sp_tenv_destroy(&ccp->grains[i].env);
        sp_tevent_destroy(&ccp->grains[i].retrig);
    }
    free(ccp->grains);
    sp_ftbl_destroy(&ccp->notes);
    free(*cc);
    return SP_OK;
}
Beispiel #3
0
int main() {
    srand(time(NULL));
    UserData ud;
    sp_data *sp;
    sp_create(&sp);
    sp_revsc_create(&ud.rev);
    sp_drip_create(&ud.drip);
    sp_dust_create(&ud.trig);
    
    sp_dust_init(sp, ud.trig, 1, 1);
    sp_drip_init(sp, ud.drip, 0.09);
    ud.drip->amp = 0.3;
    sp_revsc_init(sp, ud.rev);
    ud.rev->feedback = 0.9;
    
    sp->len = 44100 * 30;
    sp_process(sp, &ud, write_osc);
    sp_drip_destroy(&ud.drip);
    sp_dust_destroy(&ud.trig);
    sp_revsc_destroy(&ud.rev);
    sp_destroy(&sp);
    return 0;
}