Commit Graph

19 Commits

Author SHA1 Message Date
Robin Gareus 0a72c1317f
Initial GUI support to load AAF sessions 2024-02-15 01:44:35 +01:00
Paul Davis 729eb60de3 startupFSM: move definition of ::set_complete into source file
and also disconnect from Keyboard signal when called.
2023-11-14 11:02:08 -07:00
Paul Davis 8e583f4c4c startup FSM: save connection to Keyboard::HideMightMeanQuit signal 2023-11-14 11:01:39 -07:00
Robin Gareus c0d91362cf Fix duplicate close-session dialog on macOS
Previously [GtkApplicationDelegate applicationShouldTerminate:]
triggered both StartupFSM::queue_finish and ArdourUI::queue_finish.
Both of which registered an idle-callback to call ArdourUI::finish.
2023-10-09 17:19:17 +02:00
Paul Davis 5122036054 startup: fix use-after free of startup FSM object
In some startup flows, the entire loading process happens inside
StartupFSM::start(). In others, that call gets things moving but
we return from it and loading is not complete until later.

Deleting the StartupFSM while still inside the ::start() call
led to a use-after-free error. This new code will leak the StartupFSM
in some startup flows.
2023-09-18 16:27:11 -06:00
Ben Loftis 4bed642d71
Allow user to choose the session time-domain 2023-09-14 23:13:05 +02:00
Paul Davis 21c6c723c4 differentiate between StartupFSM::{Exit,Quit}Program
QuitProgram is a user choice, ExitProgram is an error condition
2022-11-29 10:09:39 -07:00
Robin Gareus 33c596e149
Warn user if the engine device changed
This prevents accidentally auto-starting the engine (most recently
used device) with a session that recently used different hardware.
2021-02-23 19:32:03 +01:00
Paul Davis 5d4ad01b58 introduce the idea of an "unnamed" session (GUI edition) 2020-03-24 14:10:39 -06:00
Paul Davis c8d449f356 fix startupFSM handling of a ShouldLoad signal
This currently only handles initial session load by dbl-click on
a session file. It also does not work if the user or new or
subject to a pre-release warning. These last two restrictions
may remain in place, although if a person's first exposure to
the program is "copy my session, download program, dbl-click
on the session file", then that's not so nice
2020-03-06 15:54:00 -07:00
Paul Davis 86045fe526 move more or less all responsibility for ShouldLoad (macOS, NSM) back into ARDOUR_UI 2020-03-05 17:34:41 -07:00
Paul Davis 8d6f6266d2 unfinished fix for handling desktop/NSM specifying session to load
More work needed to fix requirement in StartupFSM that ::load_from_application_api()
is called before ::start()
2020-03-01 21:36:07 -07:00
Paul Davis 1b91615b2c fix startup FSM handling when pre-release dialog is shown AND cmdline session info is given 2019-12-12 13:33:11 -07:00
Paul Davis d7b6d6e2c4 if user uses Ctrl/Cmd-w to close a dialog during startup, treat that as a request to exit 2019-11-06 16:32:46 -07:00
Paul Davis 48161d7f51 somewhat substantial changes to StartupFSM to try to get relationships betweem various dialogs, plugin scanning and splash screen correct
Added extensive comments to try to explain the nightmare of plugin discovery
2019-10-24 21:32:46 -06:00
Paul Davis b490115d5f reintroduce code that can automatically connect to JACK under the right conditions 2019-10-12 12:10:10 -06:00
Paul Davis aaecba2116 move pre-release dialog into StartupFSM (and enlarge font sizing) 2019-10-10 21:24:52 -06:00
Paul Davis 85d81cb6b8 add StartupFSM::end() (empty for now) and remove unused states 2019-10-10 16:52:00 -06:00
Paul Davis 18b4a4213f add initial version of StartupFSM along with its owners/users 2019-10-10 16:52:00 -06:00