9#include "utils/types.h"
10#include "utils/utf8_string.h"
11#include "utils/version.h"
16namespace zrythm::structure::project
27namespace zrythm::controllers
59 [[nodiscard]]
static QFuture<QString>
save (
99 const QByteArray &src);
102 compress (
char ** _dest,
size_t * _dest_size,
const QByteArray &src)
108 decompress (
char ** _dest,
size_t * _dest_size,
const QByteArray &src)
130 static void set_and_create_next_available_backup_dir ();
139 static void cleanup_plugin_state_dirs (
141 const fs::path &project_dir,
Handles saving of Zrythm projects to disk.
static void compress_or_decompress(bool compress, char **_dest, size_t *_dest_size, const QByteArray &src)
Compresses or decompresses project data using zstd.
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 fs::path &path, bool is_backup)
Saves the project asynchronously to the specified directory.
static std::string get_existing_uncompressed_text(const fs::path &project_dir)
Returns the uncompressed text representation of the saved project file.
static void make_project_dirs(const fs::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.