Commit graph

20 commits

Author SHA1 Message Date
Mads Kiilerich
b4ff4f356c Make header files more self-contained - add missing Ardour and lib includes 2024-10-20 03:30:46 +02:00
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