From 1d04fa5a3984a202b390730063ef68cab3f72f9e Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Tue, 13 Jan 2026 01:11:18 +0100 Subject: [PATCH] Prepare reporting proper archiving errors Can we break the -rc string freeze for this? --- gtk2_ardour/ardour_ui_session.cc | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/gtk2_ardour/ardour_ui_session.cc b/gtk2_ardour/ardour_ui_session.cc index f4c7b50421..ac3c58bd87 100644 --- a/gtk2_ardour/ardour_ui_session.cc +++ b/gtk2_ardour/ardour_ui_session.cc @@ -1126,8 +1126,28 @@ ARDOUR_UI::archive_session () return; } - if (_session->archive_session (sad.target_folder(), sad.name(), sad.encode_option (), sad.compression_level (), sad.only_used_sources (), &sad)) { - ArdourMessageDialog msg (_("Session Archiving failed.")); + std::string errmsg; + switch (_session->archive_session (sad.target_folder(), sad.name(), sad.encode_option (), sad.compression_level (), sad.only_used_sources (), &sad)) { + case 0: + break; + + default: +#if 0 // CAN BREAK STRING FREEZE + case -1: + errmsg = _("Session Archiving failed. See Log window for further info."); + break; + case -2: + errmsg = _("Session Archiving failed.\nCannot create archive file in destination folder."); + break; + case -3: + errmsg = _("Session Archiving failed.\nCannot write archive. Disk full or file size exceeded."); + break; +#else + errmsg = _("Session Archiving failed."); +#endif + } + if (!errmsg.empty ()) { + ArdourMessageDialog msg (errmsg); msg.run (); } }