Program Listing for File addline.cpp
↰ Return to documentation for file (include\MainObjects\editorObject\addline.cpp
)
#include "editorObject.hpp"
template <>
PDJE_API bool
editorObject::AddLine(const EDIT_ARG_MUSIC &obj)
{
auto safeMus = PDJE_Name_Sanitizer::sanitizeFileName(obj.musicName);
if (!safeMus) {
critlog("Music name is not sanitized from editorObject Addline. "
"musicName: ");
critlog(obj.musicName);
return false;
}
for (auto &i : E_obj->musicHandle) {
if (i.musicName == safeMus.value()) {
i.jsonh.add(obj.arg);
return DefaultSaveFunction<EDIT_ARG_MUSIC>(i, obj);
}
}
warnlog("music is not exists. from editorObject AddLine(Music obj)");
return false;
}
template <>
PDJE_API bool
editorObject::AddLine(const EDIT_ARG_MIX &obj)
{
if (obj.type == TypeEnum::LOAD) {
auto safeObj = obj;
auto first = PDJE_Name_Sanitizer::sanitizeFileName(safeObj.first);
auto second = PDJE_Name_Sanitizer::sanitizeFileName(safeObj.second);
if (!first || !second) {
critlog(
"Mix name is not sanitized from editorObject Addline. first: ");
critlog(obj.first);
critlog("second: ");
critlog(obj.second);
return false;
}
safeObj.first = first.value();
safeObj.second = second.value();
if (!E_obj->mixHandle.second.add(safeObj)) {
critlog("load Mix add failed from editorObject Addline. first: ");
critlog(obj.first);
critlog("second: ");
critlog(obj.second);
return false;
}
} else {
if (!E_obj->mixHandle.second.add(obj)) {
critlog("Mix add failed from editorObject Addline. obj: ");
critlog(obj.first);
critlog("second: ");
critlog(obj.second);
return false;
}
}
return DefaultSaveFunction<EDIT_ARG_MIX>();
}
template <>
PDJE_API bool
editorObject::AddLine(const EDIT_ARG_NOTE &obj)
{
if (!E_obj->noteHandle.second.add(obj)) {
critlog("Note add failed from editorObject Addline. obj: ");
critlog(obj.first);
critlog("second: ");
critlog(obj.second);
critlog("third: ");
critlog(obj.third);
return false;
}
return DefaultSaveFunction<EDIT_ARG_NOTE>();
}
template <>
PDJE_API bool
editorObject::AddLine(const EDIT_ARG_KEY_VALUE &obj)
{
if (!E_obj->KVHandler.second.add(obj)) {
critlog("KV add failed from editorObject Addline. obj: ");
critlog(obj.first);
critlog("second: ");
critlog(obj.second);
return false;
}
return DefaultSaveFunction<EDIT_ARG_KEY_VALUE>();
}
bool
editorObject::AddLine(const UNSANITIZED &musicName,
const DONT_SANITIZE &firstBeat)
{
auto safeMus = PDJE_Name_Sanitizer::sanitizeFileName(musicName);
if (!safeMus) {
critlog("Music name is not sanitized from editorObject Addline. "
"musicName: ");
critlog(musicName);
return false;
}
for (auto &i : E_obj->musicHandle) {
if (i.musicName == safeMus) {
i.jsonh[PDJE_JSON_FIRST_BEAT] = firstBeat;
return true;
}
}
warnlog(
"music is not exists. from editorObject AddLine(musicName, firstBeat)");
return false;
}