Esempio n. 1
0
int sp_tenv_destroy(sp_tenv **p)
{
    sp_tenv *pp = *p;
    sp_tevent_destroy(&pp->te);
    free(*p);
    return SP_OK;
}
Esempio n. 2
0
int main() {
    srand(time(NULL));
    udata ud;
    SPFLOAT *freqp = &ud.freq;
    ud.counter = 0;
    ud.freq = 400;
    sp_data *sp;
    sp_create(&sp);
    sp_tevent_create(&ud.te);
    sp_ftbl_create(sp, &ud.ft, 2048);
    sp_osc_create(&ud.osc);

    sp_tevent_init(sp, ud.te, freq_reinit, freq_compute, freqp);
    sp_gen_sine(sp, ud.ft);
    sp_osc_init(sp, ud.osc, ud.ft);
    ud.osc->freq = *freqp;
    sp->len = 44100 * 5;
    sp_process(sp, &ud, write_osc);

    sp_ftbl_destroy(&ud.ft);
    sp_osc_destroy(&ud.osc);
    sp_tevent_destroy(&ud.te);
    sp_destroy(&sp);
    return 0;
}
Esempio n. 3
0
int main() {
    srand(time(NULL));
    udata ud;
    SPFLOAT *freqp = &ud.freq;
    ud.freq = 400;
    sp_data *sp;
    sp_create(&sp);

    sp_tenv_create(&ud.tenv);
    sp_metro_create(&ud.met);
    sp_tevent_create(&ud.te);
    sp_ftbl_create(sp, &ud.ft, 2048);
    sp_osc_create(&ud.osc);

    sp_tenv_init(sp, ud.tenv);
    ud.tenv->atk = 0.03;
    ud.tenv->hold = 0.01;
    ud.tenv->rel = 0.1;
    sp_metro_init(sp, ud.met);
    ud.met->freq = 3;
    sp_tevent_init(sp, ud.te, freq_reinit, freq_compute, freqp);
    sp_gen_sine(sp, ud.ft);
    sp_osc_init(sp, ud.osc, ud.ft, 0);
    ud.osc->freq = *freqp;
    sp->len = 44100 * 5;
    sp_process(sp, &ud, write_osc);

    sp_tenv_destroy(&ud.tenv);
    sp_metro_destroy(&ud.met);
    sp_ftbl_destroy(&ud.ft);
    sp_osc_destroy(&ud.osc);
    sp_tevent_destroy(&ud.te);
    sp_destroy(&sp);
    return 0;
}
Esempio n. 4
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;
}
Esempio n. 5
0
void samp_destroy(samp_data *sd) {
    sp_tevent_destroy(&sd->te);
    sp_ftbl_destroy(&sd->ft);
    sp_ftbl_destroy(&sd->delta);
    sp_dtrig_destroy(&sd->dt);
}