Class PDJE_Editor

Nested Relationships

Nested Types

Class Documentation

class PDJE_Editor

Central class coordinating Git and JSON handlers for editing data.

Public Functions

bool AddMusicConfig(const SANITIZED &NewMusicName, fs::path &DataPath)

Adds a music configuration to the project.

Parameters:
  • NewMusicName – Sanitized name for the music.

  • DataPath – Directory containing the music data.

Returns:

true on success.

bool openProject(const fs::path &projectPath)

Opens or creates an editor project at the given path.

Parameters:

projectPath – Directory of the project.

Returns:

true when initialization succeeds.

inline PDJE_Editor(const DONT_SANITIZE &auth_name, const DONT_SANITIZE &auth_email)

Constructs an editor with author information for Git.

~PDJE_Editor() = default

Default destructor.

Public Members

std::pair<std::unique_ptr<PDJE_GitHandler>, PDJE_JSONHandler<MIX_W>> mixHandle

Pair of Git handler and JSON handler for mix data.

std::pair<std::unique_ptr<PDJE_GitHandler>, PDJE_JSONHandler<NOTE_W>> noteHandle

Pair of Git handler and JSON handler for note data.

std::pair<std::unique_ptr<PDJE_GitHandler>, PDJE_JSONHandler<KV_W>> KVHandler

Pair of Git handler and JSON handler for key/value data.

std::vector<MusicHandleStruct> musicHandle

List of music handles owned by this editor.

struct MusicHandleStruct

Holds Git and JSON handlers for individual music data.

Public Functions

MusicHandleStruct() = delete
MusicHandleStruct(const MusicHandleStruct&) = delete
MusicHandleStruct(MusicHandleStruct&&) noexcept = default
MusicHandleStruct &operator=(MusicHandleStruct&&) noexcept = default
inline MusicHandleStruct(const DONT_SANITIZE &auth_name, const DONT_SANITIZE &auth_email)

Public Members

std::unique_ptr<PDJE_GitHandler> gith
PDJE_JSONHandler<MUSIC_W> jsonh
SANITIZED musicName
fs::path dataPath