Program Listing for File editor.cpp
↰ Return to documentation for file (include/editor/editor.cpp
)
#include "editor.hpp"
#include <filesystem>
namespace fs = std::filesystem;
bool
PDJE_Editor::openProject(const std::string& projectPath)
{
pt = fs::path(projectPath);
mixp = pt / "Mixes";
notep = pt / "Notes";
musicp = pt / "Musics";
kvp = pt / "KeyValues";
if(!fs::exists(pt) || !fs::is_directory(pt)){
fs::create_directory(pt);
fs::create_directory(mixp);
fs::create_directory(notep);
fs::create_directory(musicp);
fs::create_directory(kvp);
if(
!fs::exists(pt) || !fs::is_directory(pt) ||
!fs::exists(mixp) || !fs::is_directory(mixp) ||
!fs::exists(notep) || !fs::is_directory(notep) ||
!fs::exists(kvp) || !fs::is_directory(kvp) ||
!fs::exists(musicp) || !fs::is_directory(musicp)
){ return false; }
}
if( !mixHandle.first.Open(mixp.string())|| !mixHandle.second.load(mixp.string()) ||
!KVHandler.first.Open(mixp.string())|| !KVHandler.second.load(mixp.string()) ||
!noteHandle.first.Open(notep.string()) || !noteHandle.second.load(notep.string()))
{ return false; }
for(const auto& musicSubpath : fs::directory_iterator(musicp)){
if(fs::is_directory(musicSubpath)){
musicHandle.emplace_back(name, email);
musicHandle.back().musicName = musicSubpath.path().filename().string();
if( !musicHandle.back().gith.Open(musicSubpath.path().string()) ||
!musicHandle.back().jsonh.load(musicSubpath.path().string())){
return false;
}
}
}
return true;
}
bool
PDJE_Editor::AddMusicConfig(const std::string& NewMusicName)
{
auto newpath = musicp / NewMusicName;
if(fs::exists(newpath)){
return false;
}
else{
fs::create_directory(newpath);
if(fs::exists(newpath)){
musicHandle.emplace_back(name, email);
musicHandle.back().musicName = NewMusicName;
if( !musicHandle.back().gith.Open(newpath.string()) ||
!musicHandle.back().jsonh.load(newpath.string())){
return false;
}
else return true;
}
}
return false;
}