8#include "utils/version.h"
10#include <nlohmann/json_fwd.hpp>
12namespace zrythm::structure::project
16using namespace std::string_view_literals;
29 static constexpr auto DOCUMENT_TYPE =
"ZrythmProject"sv;
30 static constexpr auto kProjectData =
"projectData"sv;
31 static constexpr auto kDatetimeKey =
"datetime"sv;
32 static constexpr auto kTitle =
"title"sv;
45 std::string_view title);
Handles serialization, deserialization, and validation of Project JSON.
static void validate_json(const nlohmann::json &j)
Validates JSON against the project schema.
static void deserialize(const nlohmann::json &j, Project &project)
Loads and validates a project from JSON.
static nlohmann::json serialize(const Project &project, const utils::Version &app_version, std::string_view title)
Returns a json representation of the project.
Core functionality of a Zrythm project.
Represents a semantic version with major, minor, and optional patch.