feat(inserts): copy and paste chains between tracks (phase 92)

This commit is contained in:
Johannes Findeisen 2026-11-06 02:04:38 +01:00
commit 58f0dc51c5
5 changed files with 40 additions and 4 deletions

View file

@ -232,6 +232,14 @@ int creative_workflow_tests()
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);
CHECK(!panel->clipboard_ready() && panel->paste_chain()==XTC_ERR_NOT_FOUND);
CHECK(panel->copy_chain()==XTC_OK && panel->clipboard_ready());
CHECK(panel->set_mix(.2,.6)==XTC_OK);
panel->select_track(second_track);CHECK(panel->paste_chain()==XTC_OK);
CHECK(xtc_project_get_chain(s->project(),second_track,&chain)==XTC_OK && chain.count==1 && chain.output_gain==1 && chain.slots[0].wet==1);
CHECK(window.undo()==XTC_OK);panel->refresh(true);CHECK(xtc_project_get_chain(s->project(),second_track,&chain)==XTC_OK && chain.count==0);
submit_result=XTC_ERR_INVALID_STATE;auto *unchanged=s->project();CHECK(panel->paste_chain()==XTC_ERR_INVALID_STATE && s->project()==unchanged);submit_result=XTC_OK;
CHECK(window.new_project()==XTC_OK && !panel->clipboard_ready() && panel->paste_chain()==XTC_ERR_NOT_FOUND);
window.do_callback();puts("Creative workflow GUI checks passed.");return failures ? 1 : 0;
}
int track_insert_tests()