feat(presets): save and adopt reusable effect chains (phase 87)

This commit is contained in:
Johannes Findeisen 2026-11-06 01:40:13 +01:00
commit b6d0771b4f
8 changed files with 67 additions and 5 deletions

View file

@ -59,5 +59,9 @@ int main(void)
assert(xtc_project_get_chain(q,a,&got)==XTC_OK && got.output_gain==.75f);
c.output_gain=1;c.slots[0].wet=2;assert(xtc_project_set_chain(q,a,&c)==XTC_ERR_INVALID_ARGUMENT);
c.slots[0].wet=1;c.count=XTC_TRACK_INSERTS+1;assert(xtc_track_chain_validate(&c)==XTC_ERR_INVALID_ARGUMENT);
assert(xtc_track_chain_preset_save(&got,file)==XTC_OK);
memset(&c,0,sizeof(c));assert(xtc_track_chain_preset_load(file,&c)==XTC_OK && c.count==1 && c.output_gain==.75f);
{FILE *broken=fopen(file,"w");assert(broken);fputs("bad preset\n",broken);fclose(broken);}
assert(xtc_track_chain_preset_load(file,&c)==XTC_ERR_FORMAT && c.count==1 && c.output_gain==.75f);
xtc_project_destroy(p);xtc_project_destroy(q);unlink(file);puts("Track insert metadata/persistence passed.");return 0;
}