7#include "utils/version.h"
11namespace zrythm::structure::project
29 [[nodiscard]] QFuture<utils::Utf8String>
30 save (
const fs::path &path,
bool is_backup);
63 const QByteArray &src);
66 compress (
char ** _dest,
size_t * _dest_size,
const QByteArray &src)
72 decompress (
char ** _dest,
size_t * _dest_size,
const QByteArray &src)
88 bool has_unsaved_changes ()
const;
97 void set_and_create_next_available_backup_dir ();
107 void cleanup_plugin_state_dirs (
109 const fs::path &project_dir,
118 SteadyTimePoint last_successful_autosave_time_;
124 std::binary_semaphore save_sem_{ 1 };
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 void compress_or_decompress(bool compress, char **_dest, size_t *_dest_size, const QByteArray &src)
Compresses/decompress a project from a file/data to a file/data.
static int autosave_cb(void *data)
Autosave callback.
QFuture< utils::Utf8String > save(const fs::path &path, bool is_backup)
Saves the project asynchronously to the directory set previously in Project.
Core functionality of a Zrythm project.
Represents a semantic version with major, minor, and optional patch.