feat(settings): persist application defaults and workspace on exit (phase 100)
This commit is contained in:
parent
bd0a63c06d
commit
2a86d766ca
8 changed files with 150 additions and 4 deletions
|
|
@ -346,8 +346,27 @@ int track_insert_tests()
|
|||
CHECK(xtc_project_get_chain(s->project(),track,&chain)==XTC_OK && chain.count==1);unlink("/tmp/xtc-inserts-gui.xtc");
|
||||
window.do_callback();puts("Track inserts GUI adoption/undo/rollback/reload passed.");return failures ? 1 : 0;
|
||||
}
|
||||
int midi_workflow_tests()
|
||||
{
|
||||
char dir[]="/tmp/xtc-midi-settings-XXXXXX";CHECK(mkdtemp(dir));std::string config=std::string(dir)+"/.xtc.conf";
|
||||
reset();{
|
||||
MainWindow window(false,config.c_str());window.show();auto *s=timeline(&window);
|
||||
s->grid(480);window.show_track_inspector(true);window.resize(20,30,1300,820);
|
||||
CHECK(window.set_loop(960,3840,true)==XTC_OK);window.do_callback();CHECK(!window.shown());
|
||||
}
|
||||
xtc_settings saved{};CHECK(xtc_settings_load(&saved,config.c_str())==XTC_OK && saved.sequencer_snap==480 && saved.inspector_visible && saved.loop_start==960 && saved.width==1300);
|
||||
reset();{
|
||||
MainWindow window(false,config.c_str());CHECK(window.settings().sequencer_snap==480 && window.settings().inspector_visible && window.settings().loop_enabled);
|
||||
window.do_callback();
|
||||
}
|
||||
{FILE *f=fopen(config.c_str(),"wb");CHECK(f);if(f){fputs("[invalid]\n",f);fclose(f);}}
|
||||
reset();{MainWindow window(false,config.c_str());CHECK(window.save_preferences()==XTC_ERR_INVALID_STATE);window.do_callback();}
|
||||
CHECK(xtc_settings_load(&saved,config.c_str())==XTC_ERR_FORMAT);
|
||||
unlink(config.c_str());rmdir(dir);puts("MIDI workflow/configuration GUI checks passed.");return failures ? 1 : 0;
|
||||
}
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
if(std::getenv("XTC_TEST_MIDI_WORKFLOWS_ONLY"))return midi_workflow_tests();
|
||||
if(std::getenv("XTC_TEST_CREATIVE_ONLY"))return creative_workflow_tests();
|
||||
if(std::getenv("XTC_TEST_TRACK_FX_ONLY"))return track_insert_tests();
|
||||
if(std::getenv("XTC_TEST_SAMPLE_EDITOR_ONLY"))return sample_editor_tests();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue