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