Program Listing for File render.cpp
↰ Return to documentation for file (include/MainObjects/editorObject/render.cpp
)
#include "editorObject.hpp"
bool
editorObject::render(const std::string& trackTitle, litedb& ROOTDB)
{
// trackdata td;
// auto mixRendered = E_obj->mixHandle.second.render();
// auto mixData = mixRendered->Wp->getDatas();
// std::unordered_map<std::string, std::string> titles;
// for(unsigned long long i=0; i < mixData.size();++i){
// if(mixData[i].getType() == TypeEnum::LOAD){
// titles.insert(std::pair(mixData[i].getFirst().cStr(), mixData[i].getSecond().cStr()));
// }
// }
// td.trackTitle = trackTitle;
// td.mixBinary = mixRendered->out();
// td.noteBinary = E_obj->noteHandle.second.render()->out();
// for(auto& i : titles){
// td.cachedMixList+= (i.first + ",");
// }
// if(!titles.empty()){
// td.cachedMixList.pop_back();
// }
std::unordered_map<std::string, std::string> titles;
auto td = makeTrackData(trackTitle, titles);
std::vector<musdata> mds;
for(auto& i : E_obj->musicHandle){
mds.emplace_back();
auto rendered = i.jsonh.render();
mds.back().title = i.musicName;
mds.back().bpmBinary = rendered->out();
mds.back().composer = i.jsonh["COMPOSER"];
mds.back().musicPath = i.jsonh["PATH"];
mds.back().firstBar = i.jsonh["FIRST_BAR"];
try{
mds.back().bpm = std::stod(rendered->Wp->getDatas()[0].getBpm().cStr());
}
catch(...){
continue;
}
titles[i.musicName] = "";
}
for(auto& i : titles){
if(i.second != ""){
auto findFromRoot = musdata(i.first, i.second);
auto mus = ROOTDB<<findFromRoot;
if(mus.has_value()){
if(mus->empty()) continue;
musdata fromRoot = mus->front();
fromRoot.musicPath =
fs::relative(
fs::absolute(fs::path(ROOTDB.getRoot()).parent_path() / fromRoot.musicPath),
projectRoot
);
mds.push_back(fromRoot);
}
}
}
projectLocalDB->BuildProject(td, mds);
}