feat(engine): render prepared per-track insert graphs (phase 82)
This commit is contained in:
parent
7489f86351
commit
62cee7a7b0
10 changed files with 215 additions and 5 deletions
|
|
@ -294,8 +294,37 @@ static void sample_failures(void)
|
|||
}
|
||||
xtc_sample_destroy(source);xtc_project_destroy(p);assert(rmdir(root)==0);
|
||||
}
|
||||
static void track_insert_failures(void)
|
||||
{
|
||||
xtc_project *p=NULL;xtc_track_chain c={0};uint64_t t,clip;int mode,failure;
|
||||
assert(xtc_project_create(&p)==XTC_OK && xtc_project_add_track(p,"Track",&t)==XTC_OK);
|
||||
assert(xtc_plugin_probe_format(XTC_PLUGIN_BUILTIN,XTC_BUILTIN_PATH,2,48000,&c.slots[0].plugin)==XTC_OK);
|
||||
c.count=1;c.output_gain=1;c.slots[0].wet=.5f;c.slots[0].enabled=1;
|
||||
assert(xtc_project_set_chain(p,t,&c)==XTC_OK);
|
||||
for(mode=0;mode<2;++mode) {
|
||||
int succeeded=0;
|
||||
if(mode)assert(xtc_project_add_midi_clip(p,t,0,960,&clip)==XTC_OK);
|
||||
for(failure=0;failure<128;++failure) {
|
||||
xtc_audio_plan *a=NULL;xtc_midi_plan *m=NULL;float out[512];xtc_result r;
|
||||
fail_after=failure;
|
||||
r=mode ? xtc_midi_plan_create(p,48000,&m) : xtc_audio_plan_create(p,48000,&a);
|
||||
fail_after=-1;
|
||||
if(r==XTC_OK) {
|
||||
processing=1;
|
||||
if(mode)assert(xtc_midi_plan_render(m,0,NULL,0,out,512)==XTC_OK);
|
||||
else assert(xtc_audio_plan_render(a,0,out,512)==XTC_OK);
|
||||
processing=0;succeeded=1;
|
||||
}else assert(r==XTC_ERR_OUT_OF_MEMORY && !a && !m);
|
||||
xtc_audio_plan_destroy(a);xtc_midi_plan_destroy(m);
|
||||
if(succeeded)break;
|
||||
}
|
||||
assert(succeeded);
|
||||
}
|
||||
xtc_project_destroy(p);
|
||||
}
|
||||
int main(void)
|
||||
{
|
||||
track_insert_failures();
|
||||
sample_failures();
|
||||
composition_failures();
|
||||
modern_edit_failures();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue