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
|
|
@ -228,6 +228,10 @@ int creative_workflow_tests()
|
|||
CHECK(bar->find_item("View/Piano roll")->shortcut()==FL_CTRL+'4');
|
||||
window.mixer()->select_track(first_track);bar->picked(bar->find_item("View/Mixer"));
|
||||
CHECK(window.open_track_inserts()==XTC_OK && panel->selected_track()==first_track);
|
||||
CHECK(window.add_track_effect(first_track,XTC_BUILTIN_PATH,2)==XTC_OK);
|
||||
CHECK(panel->duplicate_slot()==XTC_OK && panel->selected_slot()==1);
|
||||
xtc_track_chain chain{};CHECK(xtc_project_get_chain(s->project(),first_track,&chain)==XTC_OK && chain.count==2);
|
||||
CHECK(window.undo()==XTC_OK);panel->refresh(true);CHECK(xtc_project_get_chain(s->project(),first_track,&chain)==XTC_OK && chain.count==1);
|
||||
window.do_callback();puts("Creative workflow GUI checks passed.");return failures ? 1 : 0;
|
||||
}
|
||||
int track_insert_tests()
|
||||
|
|
|
|||
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