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, const SANITIZED &Composer, const DONT_SANITIZE &firstBeat, const fs::path &music_location)

Adds a music configuration to the project.

Parameters:
  • NewMusicName – Sanitized name for the music.

  • dir_name – Directory containing the music data.

Returns:

true on success.

inline PDJE_Editor(const fs::path &root, const DONT_SANITIZE &auth_name, const DONT_SANITIZE &auth_email)

Opens or creates an editor project at the given path.

Constructs an editor with author information for Git.

Parameters:

projectPath – Directory of the project.

Returns:

true when initialization succeeds.

~PDJE_Editor() = default

Default destructor.

Public Members

std::unique_ptr<PDJE_TIMELINE::TimeLine<MIX_W>> mixHandle

Pair of Git handler and JSON handler for mix data.

std::unique_ptr<PDJE_TIMELINE::TimeLine<NOTE_W>> noteHandle

Pair of Git handler and JSON handler for note data.

std::unique_ptr<PDJE_TIMELINE::TimeLine<KV_W>> KVHandle

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 fs::path &root, const DONT_SANITIZE &auth_name, const DONT_SANITIZE &auth_email)
inline MusicHandleStruct(const fs::path &root, const SANITIZED &musicTitle, const SANITIZED &composer, const DONT_SANITIZE &firstBeat, const fs::path &location, const DONT_SANITIZE &auth_name, const DONT_SANITIZE &auth_email)

Public Members

std::unique_ptr<PDJE_TIMELINE::TimeLine<MUSIC_W>> handle