feat(mixer): control insert wet mix and chain output gain (phase 88)
This commit is contained in:
parent
b6d0771b4f
commit
a3858b1c82
6 changed files with 49 additions and 11 deletions
|
|
@ -30,13 +30,19 @@ static void rendering(void)
|
|||
c.slots[0].enabled=0;assert(xtc_project_set_chain(p,track,&c)==XTC_OK && xtc_audio_plan_create(p,8000,&audio)==XTC_OK);
|
||||
assert(xtc_audio_plan_set_fade_frames(audio,0)==XTC_OK && xtc_audio_plan_render(audio,0,out,32)==XTC_OK && out[0]==1 && out[8]==0);
|
||||
xtc_audio_plan_destroy(audio);audio=NULL;
|
||||
c.slots[0].enabled=1;c.slots[0].wet=.25f;
|
||||
assert(xtc_project_set_chain(p,track,&c)==XTC_OK && xtc_audio_plan_create(p,8000,&audio)==XTC_OK);
|
||||
assert(xtc_audio_plan_set_fade_frames(audio,0)==XTC_OK && xtc_audio_plan_render(audio,0,out,32)==XTC_OK);
|
||||
assert(fabsf(out[0]-.75f)<.00001f && fabsf(out[8]-.25f)<.00001f);xtc_audio_plan_destroy(audio);audio=NULL;
|
||||
c.slots[0].wet=0;assert(xtc_project_set_chain(p,track,&c)==XTC_OK && xtc_audio_plan_create(p,8000,&audio)==XTC_OK);
|
||||
assert(xtc_audio_plan_set_fade_frames(audio,0)==XTC_OK && xtc_audio_plan_render(audio,0,out,32)==XTC_OK && out[0]==1 && out[8]==0);xtc_audio_plan_destroy(audio);audio=NULL;
|
||||
/* Reject split ownership of a nonlinear chain on a hybrid track. */
|
||||
assert(xtc_project_add_midi_clip(p,track,0,960,&clip)==XTC_OK);
|
||||
assert(xtc_audio_plan_create(p,8000,&audio)==XTC_ERR_UNSUPPORTED && audio==NULL);
|
||||
xtc_project_destroy(p);p=NULL;
|
||||
assert(xtc_project_create(&p)==XTC_OK && xtc_project_add_track(p,"MIDI",&track)==XTC_OK && xtc_project_add_midi_clip(p,track,0,960,&clip)==XTC_OK);
|
||||
assert(xtc_project_add_note(p,clip,0,960,69,127,0,¬e)==XTC_OK);
|
||||
c.slots[0].enabled=1;assert(xtc_project_set_chain(p,track,&c)==XTC_OK && xtc_midi_plan_create(p,8000,&midi)==XTC_OK);
|
||||
c.slots[0].enabled=1;c.slots[0].wet=1;assert(xtc_project_set_chain(p,track,&c)==XTC_OK && xtc_midi_plan_create(p,8000,&midi)==XTC_OK);
|
||||
assert(xtc_midi_plan_set_fade_frames(midi,0)==XTC_OK && xtc_midi_plan_render(midi,0,NULL,0,out,32)==XTC_OK);
|
||||
for(size_t j=0;j<32;++j)assert(fabsf(out[j]-(j<8 ? 0.f : .05f*sinf(6.28318530718f*440.f*(float)(j-8)/8000.f)))<.00001f);
|
||||
xtc_midi_plan_destroy(midi);xtc_project_destroy(p);unlink(wave);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue