Land the package filesystem shell: streaming atomic package_io, journaled rollback carve-out, asymmetric platform pickers

This commit is contained in:
2026-08-02 07:36:25 -04:00
parent 09a9ef838f
commit 41a3016e63
11 changed files with 914 additions and 0 deletions
+21
View File
@@ -0,0 +1,21 @@
// shell/package/package_pickers — the two package file pickers, and they are
// deliberately asymmetric: import rides REAPER's own read picker
// (GetUserFileNameForRead, both platforms); export goes native — Win32
// GetSaveFileNameW / SWELL BrowseForSaveFile — because the always-present REAPER
// surface offers no save picker. Do not symmetrize; the rationale is in the TU.
#pragma once
#include <string>
namespace reasampler {
// REAPER's read picker. True with outAbsPath set iff the user chose a file.
bool pickPackageForImport(std::string& outAbsPath);
// Native save picker, pre-filled with suggestedFileName (a bare name, e.g.
// "MyBank.rsbank"). True with outAbsPath set iff the user chose a destination; the
// dialog's own overwrite confirm has already run by then.
bool pickPackageSavePath(const std::string& suggestedFileName, std::string& outAbsPath);
} // namespace reasampler