コード例 #1
0
ファイル: patch_data.c プロジェクト: jwm-art-net/Petri-Foo
void patch_copy(Patch* dest, Patch* src)
{
    int i;

    sample_deep_copy(dest->sample, src->sample);

    strcpy(dest->name, src->name);

    dest->channel =         src->channel;
    dest->root_note =       src->root_note;
    dest->lower_note =      src->lower_note;
    dest->upper_note =      src->upper_note;
    dest->cut =             src->cut;
    dest->cut_by =          src->cut_by;
    dest->cut =             src->cut;
    dest->play_start =      src->play_start;
    dest->play_stop =       src->play_stop;
    dest->loop_start =      src->loop_start;
    dest->loop_stop =       src->loop_stop;
    dest->sample_stop =     src->sample_stop;
    dest->fade_samples =    src->fade_samples;
    dest->xfade_samples =   src->xfade_samples;
    dest->porta =           src->porta;
    dest->porta_secs =      src->porta_secs;
    dest->pitch_steps =     src->pitch_steps;
    dest->pitch_bend =      src->pitch_bend;
    dest->mono =            src->mono;
    dest->legato =          src->legato;
    dest->play_mode =       src->play_mode;

    dest->amp =             src->amp;
    dest->pan =             src->pan;
    dest->ffreq =           src->ffreq;
    dest->freso =           src->freso;
    dest->pitch =           src->pitch;

    for (i = 0; i < MAX_MOD_SLOTS; ++i)
    {
        dest->mod_pitch_min[i] = src->mod_pitch_min[i];
        dest->mod_pitch_max[i] = src->mod_pitch_max[i];
    }

    for (i = 0; i < PATCH_MAX_LFOS; ++i)
    {
        dest->glfo_params[i] = src->glfo_params[i];
        lfo_update_params(dest->glfo[i], &dest->glfo_params[i]);
    }

    for (i = 0; i < VOICE_MAX_LFOS; ++i)
        dest->vlfo_params[i] = src->vlfo_params[i];
        /* VLFO updated when voice triggered */

    for (i = 0; i < VOICE_MAX_ENVS; ++i)
        dest->env_params[i] = src->env_params[i];

    debug("copied patch src %p to patch dest %p\n", src, dest);
}
コード例 #2
0
ファイル: patch_data.c プロジェクト: licnep/Petri-Foo
void patch_copy(Patch* dest, Patch* src)
{
    int i;

    dest->active = false;

    sample_deep_copy(dest->sample, src->sample);

    strcpy(dest->name, src->name);

    dest->channel =         src->channel;
    dest->root_note =       src->root_note;
    dest->lower_note =      src->lower_note;
    dest->upper_note =      src->upper_note;
    dest->cut =             src->cut;
    dest->cut_by =          src->cut_by;
    dest->cut =             src->cut;
    dest->play_start =      src->play_start;
    dest->play_stop =       src->play_stop;
    dest->loop_start =      src->loop_start;
    dest->loop_stop =       src->loop_stop;
    dest->sample_stop =     src->sample_stop;
    dest->fade_samples =    src->fade_samples;
    dest->xfade_samples =   src->xfade_samples;
    dest->porta =           src->porta;
    dest->porta_secs =      src->porta_secs;
    dest->pitch_steps =     src->pitch_steps;
    dest->pitch_bend =      src->pitch_bend;
    dest->mono =            src->mono;
    dest->legato =          src->legato;
    dest->play_mode =       src->play_mode;

    dest->amp =             src->amp;
    dest->pan =             src->pan;
    dest->ffreq =           src->ffreq;
    dest->freso =           src->freso;
    dest->pitch =           src->pitch;

    for (i = 0; i < MAX_MOD_SLOTS; ++i)
    {
        dest->mod_pitch_min[i] = src->mod_pitch_min[i];
        dest->mod_pitch_max[i] = src->mod_pitch_max[i];
    }

    for (i = 0; i < PATCH_MAX_LFOS; ++i)
        dest->glfo_params[i] = src->glfo_params[i];

    for (i = 0; i < VOICE_MAX_LFOS; ++i)
        dest->vlfo_params[i] = src->vlfo_params[i];

    for (i = 0; i < VOICE_MAX_ENVS; ++i)
        dest->env_params[i] = src->env_params[i];


}