Program Listing for File PDJE_PreProcess.cpp
↰ Return to documentation for file (include\judge\Loop\PreProcess\PDJE_PreProcess.cpp)
#include "PDJE_PreProcess.hpp"
namespace PDJE_JUDGE {
bool
PreProcess::GetDatas()
{
if (init->inputline->input_arena) {
init->inputline->input_arena->Receive();
Parse(parsed_res, init->raildb, init->inputline->input_arena->datas);
}
if (init->inputline->midi_datas) {
auto got = init->inputline->midi_datas->Get();
Parse(parsed_res, init->raildb, *got);
}
if ((parsed_res.logs.empty() || init->inputline->input_arena == nullptr) &&
(parsed_res.midi_logs.empty() ||
init->inputline->midi_datas == nullptr)) {
return false;
} else {
return true;
}
}
void
PreProcess::Cut(const uint64_t cut_range)
{
missed_buffers.clear();
init->note_objects->Cut<BUFFER_MAIN>(cut_range, missed_buffers);
if (!missed_buffers.empty()) {
Event_Datas.miss_queue.Write(missed_buffers);
}
missed_buffers.clear();
init->note_objects->Cut<BUFFER_SUB>(cut_range, missed_buffers);
if (!missed_buffers.empty()) {
Event_Datas.miss_queue.Write(missed_buffers);
}
}
}; // namespace PDJE_JUDGE