Commit Graph

53 Commits

Author SHA1 Message Date
Robin Gareus 6d34500e8d
Also add "All file formats" to session open dialog 2024-02-19 16:42:17 +01:00
Robin Gareus 0a72c1317f
Initial GUI support to load AAF sessions 2024-02-15 01:44:35 +01:00
Robin Gareus a750f251d1
Allow create Sessions with a specific sample-rate (2/2) 2024-02-15 01:44:34 +01:00
Paul Davis 1455619e7d revert change in 4bed642d71 that made build_session_from_dialog() do nothing at all 2023-10-01 15:06:29 -06:00
Ben Loftis 4bed642d71
Allow user to choose the session time-domain 2023-09-14 23:13:05 +02:00
Robin Gareus 7e121f4e13
Fix alloc-dealloc-mismatch (malloc vs operator delete) 2023-07-02 23:54:16 +02:00
Robin Gareus 91579608b2
Remove duplicate API to find session files (ignore `._` files)
Session::possible_states correctly filters files
and also directly returns sorted base-names.

We can remove the redundant `get_state_files_in_directory`
API now.

see also 193b35e885
2023-06-07 17:37:40 +02:00
Robin Gareus 14606ac655
Rec-stop only writes a pending (recovery) file (#9215)
This is consistent, since after handling the
`SaveSessionRequested` signal the session remains dirty
(which may be a bug). However since the signal is handled
by the GUI, rec-stop only saves the session if there is a GUI.

It is however somewhat dangerous. Record, quit + no-save (or
changing snapshots w/o saving first) will loose any references
to the recorded data (even though it is still on disk).

Note that "remove last capture" still saves the session
(to prevent references to non-existent sources).
2023-02-03 07:56:49 +01:00
Robin Gareus 4a9e8b5211
Place session-save dialog on-top of everything 2022-11-14 02:56:54 +01:00
Robin Gareus f9edc474ef
Add Preference to [not] automatically show Plugin Manager 2022-10-23 20:52:25 +02:00
Mads Kiilerich 440264e0b8
gtkmm: use ALIGN_START instead of deprecated Gtk::AlignmentEnum::ALIGN_TOP 2022-04-08 21:11:06 +02:00
Mads Kiilerich 2aa72891f3
gtkmm: use ALIGN_START instead of deprecated Gtk::AlignmentEnum::ALIGN_LEFT 2022-04-08 21:11:06 +02:00
Robin Gareus 504a04878f
Fix typos, consistent text markup
Thanks to Edgar Aichinger
2022-04-05 18:45:40 +02:00
Todd Naugle dd1156e900 Improved reporting of glib throw errors during session creation 2022-02-23 17:32:09 -06:00
Todd Naugle 2217e8d9ce Log text passed to a dialog needs escaped to avoid markup errors
For example, the following log text creates a markup error that results in
the session loading dialog being completely empty.

WARNING: VST3<C:\Program Files\Common Files\VST3\Plugins.VST.Someplugin.vst3\Contents\x86-win\Plugins.VST.Someplugin.vst3>: Invalid Module Path
...

Gtk-WARNING **: 16:46:28.447: Failed to set text from markup due to error parsing markup: Error on line 7 char 40: ?Files\Common? is not a valid name: ?\?
2022-02-23 10:25:46 -06:00
Paul Davis c9607d2fed change non-save button in "Name Session" dialog to be "Cancel" not "Discard" which is confusing 2022-02-08 20:33:46 -07:00
luz paz 364f2f0788 Fix typos in gtk2_ardour/ directory
Found via `codespell -q 3 -S *.po,./share/patchfiles,./libs -L ba,buss,busses,doubleclick,hsi,ontop,ro,seh,siz,sur,te,trough,ue`
2022-01-26 12:35:38 -05:00
Robin Gareus 05df62ed79
Amend fdf1c1aba2, don't unconditionally show plugin-manager 2021-10-07 03:47:00 +02:00
Robin Gareus fdf1c1aba2
Show plugin-manager when missing plugins are found 2021-10-07 03:10:48 +02:00
Robin Gareus 005bd4f76f
Set transient parent for missing-* dialogs at start 2021-07-07 00:33:50 +02:00
Robin Gareus 95bf443735
Ask to scan for missing plugins
When plugins have not been scanned, and a session with
missing plugins is opened, ask to scan plugins.

This also consolidates translatable strings with plugin-selector.
2021-07-07 00:17:17 +02:00
Robin Gareus a74b4e8ef0
No more wine 2021-07-03 19:07:25 +02:00
Robin Gareus 93121e8aa3
Revert "Show error when session-archive loading fails"
This reverts commit 48225c10bd.

We need to allow this to fail and fall-through to test normal sessions.
2021-03-11 19:37:10 +01:00
Robin Gareus 48225c10bd
Show error when session-archive loading fails 2021-03-11 18:25:22 +01:00
Robin Gareus e73d20c5a4
Close and save is possible without running engine
Since de99d7c528, Ardour sessions can be saved and
Ardour can be closed without a running engine.
2021-01-27 04:13:26 +01:00
Robin Gareus 50e96a2135
Do not allow ctrl chars in session names (2/2)
The GUI applies this to new sessions only, old sessions that
may now have illegal names can still be loaded.
2020-06-09 20:30:55 +02:00
Paul Davis c573cc9153 use a better Gtk stock item to describe "skip renaming an unnamed session" 2020-05-18 16:04:41 -06:00
Paul Davis ef206d8066 Save-As for unnamed sessions becomes the same as Save 2020-04-19 10:38:44 -06:00
Paul Davis 4b40243f2b fix two poorly-formed uses of Glib::DateTime 2020-03-25 10:45:00 -06:00
Paul Davis 97340a5c89 when saving an unnamed session, rename it (GUI edition)
Note that this is done at the GUI level, might need to double check if there are
other paths into a "save" that should be covered. Control surfaces use the action, but
Lua comes to mind
2020-03-24 14:10:39 -06:00
Paul Davis 5d4ad01b58 introduce the idea of an "unnamed" session (GUI edition) 2020-03-24 14:10:39 -06:00
Paul Davis e83d1f7368 warn user about destructive/tape tracks 2020-03-17 16:31:50 -06:00
Robin Gareus 7696380cfd
Replace strftime() with Glib::DateTime() -- GUI
This is mainly for windows compatibility "%F" is not supported.
An alternative would be to s/%F/%Y-%m-%d/ to produce the ISO date.
2020-03-08 23:32:12 +01:00
Robin Gareus 003e68edd2
Display recent session-load errors in the GUI
Dumping errors to stderr only is not very useful. Particularly not
on Windows and MacOS.
Even though a user may not be able to address the issue, this
can lead to better reports vs just printing "corrupt state".
2020-02-28 07:32:17 +01:00
Robin Gareus 8710a2d943
Dialog default to cancel (#7915)
There are various ways to cancel a dialog. Only checking for
RESPONSE_CANCEL is not sufficient. e.g. Esc causes a delete-event.

 * Gtk::RESPONSE_CLOSE
 * Gtk::RESPONSE_REJECT
 * Gtk::RESPONSE_DELETE_EVENT
 * Gtk::RESPONSE_CANCEL
 * Gtk::RESPONSE_NO

Among others this fixes "Clicking session > open,
then hitting ESC opens the currently selected folder and session"
2020-02-27 23:27:42 +01:00
Robin Gareus 60a2406056
GUI Dialog to inform the user about missing files
So far this is only used for MIDI, missing audio files are
already handled by asking a user to locate them.
The same approach doesn't work for MIDI, since there cannot be
externally referenced (embedded) .mid files (since MIDI is destructive).
2020-02-18 01:29:35 +01:00
Robin Gareus d72b44b5a4
Fix scripted/meta session templates 2020-01-30 18:09:01 +01:00
Paul Davis cbfbe65128 disconnect from audio/MIDI setup dialog signal response when done with it 2020-01-25 10:27:46 -07:00
Nikolaus Gullotta db03860924 Fix sessions not building according to template
AFAICT, this was broken by either 5beeca2 or 242774e
2020-01-21 09:05:22 -06:00
Robin Gareus abc6f24d10
Stop engine for new session creation
This restores Ardour5 behavior and works around a missing "OK"
button in the engine-dialog.
2020-01-10 18:11:42 +01:00
Robin Gareus afe52fbff5
Special case JACK, sample-rate cannot be changed for new sessions 2020-01-10 02:14:30 +01:00
Robin Gareus 242774eada
Allow to configure sample-rate of new sessions
When creating a session from the Editor (after Session > Close,
or directly via Session > New) the engine-dialog needs to be displayed
to allow configuring the sample-rate.

This also consolidates scripted session setup: meta_session_setup()
is now called from build_session(), instead of all callers.
2020-01-09 23:53:07 +01:00
Robin Gareus 2b55d6dce3
First batch of MessageDialog replacements 2019-12-14 23:44:01 +01:00
Paul Davis ff7fe6d4d6 when loading a session into a running instance, if the SR doesn't match the engine, stop engine and show dialog 2019-12-11 14:53:00 -07:00
Paul Davis c3d68338ad fix logic error with contents of session dialog shown after "Close" 2019-11-01 15:48:16 -06:00
Paul Davis 91fd927a80 fix appearance of SessionDialog presented after Session > New
Needed to be told "require_new" to make sure the correct display is shown
2019-10-29 18:09:55 -06:00
Paul Davis 54acf6af6a enforce singleton nature of Splash a little more rigorously, and slightly rationalize it's use 2019-10-11 14:29:55 -06:00
Paul Davis 448e4de8d9 use const argument when calling ::build_session() 2019-10-10 16:52:00 -06:00
Paul Davis 5109abcc50 changes to ARDOUR_UI to reflect new startupFSM and non-modal SessionDialog handling 2019-10-10 16:52:00 -06:00
Robin Gareus e8981602f4
Fix builds:
i18n needs to be included last, and ui_session uses localtime_r
2019-09-26 06:09:05 +02:00