feat: compare mixer A/B snapshots with undo and qualify modern editing workflows

This commit is contained in:
Johannes Findeisen 2026-11-06 00:25:23 +01:00
commit 1b668068de
14 changed files with 261 additions and 34 deletions

View file

@ -1348,6 +1348,15 @@ int main(int argc, char **argv)
CHECK(s->transform_selection(XTC_CLIPS_FADE,10)==XTC_OK);
CHECK(xtc_project_find_clip(s->project(),s->selected_clip(),&moved)==XTC_OK && moved.fade_in_tick==10 && moved.fade_out_tick==10);
CHECK(s->transform_selection(XTC_CLIPS_FADE,0)==XTC_OK);
uint64_t mix_track=s->selected_track();CHECK(s->toggle_clip(first) && s->toggle_clip(first));
CHECK(s->selected_track()==mix_track);
CHECK(window.mix_snapshot(0,true)==XTC_OK);
CHECK(xtc_project_set_mix(s->project(),mix_track,.5f,-.5f,0,0)==XTC_OK);
CHECK(window.mix_snapshot(1,true)==XTC_OK && window.mix_snapshot(0,false)==XTC_OK);
xtc_track_info mix{};xtc_project_get_track(s->project(),1,&mix);CHECK(mix.gain==1);
CHECK(window.mix_snapshot(1,false)==XTC_OK);xtc_project_get_track(s->project(),1,&mix);CHECK(mix.gain==.5f);
CHECK(window.undo()==XTC_OK);xtc_project_get_track(s->project(),1,&mix);CHECK(mix.gain==1);
CHECK(window.new_project()==XTC_OK && window.mix_snapshot(0,false)==XTC_ERR_NOT_FOUND);
window.do_callback();
}
if (failures != 0) return 1;