#include "xtc/xtc_plugin.h" #include #include #include int main(void) { xtc_track_chain c={0},out={0}; c.output_gain=.8f;c.count=1;c.slots[0].enabled=1;c.slots[0].wet=.4f; assert(xtc_plugin_probe_format(XTC_PLUGIN_BUILTIN,XTC_BUILTIN_PATH,2,48000,&c.slots[0].plugin)==XTC_OK); assert(xtc_track_chain_duplicate(&c,0,&out)==XTC_OK && out.count==2 && out.output_gain==.8f); assert(!memcmp(out.slots,out.slots+1,sizeof(out.slots[0]))); out.slots[1].plugin.values[0]=10;assert(c.slots[0].plugin.values[0]!=10 && out.slots[0].plugin.values[0]!=10); assert(xtc_track_chain_duplicate(&out,1,&out)==XTC_OK && out.count==3 && out.slots[2].plugin.values[0]==10); c=out;assert(xtc_track_chain_duplicate(&out,3,&out)==XTC_ERR_INVALID_ARGUMENT && !memcmp(&c,&out,sizeof(c))); for(size_t i=3;i