9#include "utils/version.h"
14namespace zrythm::structure::project
25namespace zrythm::controllers
57 [[nodiscard]]
static QFuture<QString>
save (
62 const std::filesystem::path &path,
98 const QByteArray &src);
101 compress (
char ** _dest,
size_t * _dest_size,
const QByteArray &src)
107 decompress (
char ** _dest,
size_t * _dest_size,
const QByteArray &src)
129 static void set_and_create_next_available_backup_dir ();
Handles saving of Zrythm projects to disk.
static QFuture< QString > save(const structure::project::Project &project, const structure::project::ProjectUiState &ui_state, const undo::UndoStack &undo_stack, utils::Version app_version, const std::filesystem::path &path, bool is_backup)
Saves the project asynchronously to the specified directory.
static std::string get_existing_uncompressed_text(const std::filesystem::path &project_dir)
Returns the uncompressed text representation of the saved project file.
static void compress_or_decompress(bool compress, char **_dest, size_t *_dest_size, const QByteArray &src)
Compresses or decompresses project data using zstd.
static void make_project_dirs(const std::filesystem::path &project_directory)
Creates the project directories.
static int autosave_cb(void *data)
Autosave callback.
Serializable UI state for a project.
Core functionality of a Zrythm project.
Represents a semantic version with major, minor, and optional patch.