9#include "utils/utf8_string.h"
13#include <nlohmann/json.hpp>
15namespace zrythm::structure::project
26namespace zrythm::controllers
50 fs::path project_directory;
60 [[nodiscard]]
static QFuture<LoadResult>
100 const nlohmann::json &j,
Handles loading of Zrythm projects from disk.
static std::string get_uncompressed_project_text(const fs::path &project_dir)
Reads and decompresses the project file.
static nlohmann::json parse_and_validate(const std::string &json_str)
Parses JSON string and validates against schema.
static void deserialize(const nlohmann::json &j, structure::project::Project &project, structure::project::ProjectUiState &ui_state, undo::UndoStack &undo_stack)
Deserializes the project data into the given objects.
static utils::Utf8String extract_title(const nlohmann::json &j)
Extracts the project title from JSON metadata.
static QFuture< LoadResult > load_from_directory(const fs::path &project_dir)
Loads and validates a project from the specified directory.
Serializable UI state for a project.
Core functionality of a Zrythm project.
Lightweight UTF-8 string wrapper with safe conversions.
Result of a project load operation.