feat(inserts): duplicate effect slots with independent state (phase 91)
This commit is contained in:
parent
e6cf7023fb
commit
062b33f55f
8 changed files with 69 additions and 5 deletions
19
tests/unit/test_creative.c
Normal file
19
tests/unit/test_creative.c
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
#include "xtc/xtc_plugin.h"
|
||||
#include <assert.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
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<XTC_TRACK_INSERTS;++i)out.slots[i]=out.slots[0];
|
||||
out.count=XTC_TRACK_INSERTS;c=out;
|
||||
assert(xtc_track_chain_duplicate(&out,0,&out)==XTC_ERR_CAPACITY && !memcmp(&c,&out,sizeof(c)));
|
||||
puts("Creative editing core checks passed.");return 0;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue