diff --git a/src/BambuStudio.cpp b/src/BambuStudio.cpp index caa57b25d..80ced7d4e 100644 --- a/src/BambuStudio.cpp +++ b/src/BambuStudio.cpp @@ -137,7 +137,7 @@ std::map cli_errors = { }; #if defined(__linux__) || defined(__LINUX__) -#define PIPE_BUFFER_SIZE 128 +#define PIPE_BUFFER_SIZE 512 typedef struct _cli_callback_mgr { int m_plate_count {0}; @@ -188,7 +188,10 @@ typedef struct _cli_callback_mgr { j["plate_count"] = m_plate_count; j["plate_percent"] = m_progress; j["total_percent"] = m_total_progress; - j["message"] = m_message; + if (m_warning_step >= 0) + j["warning"] = m_message; + else + j["message"] = m_message; std::string notify_message = j.dump(); //notify_message = "Plate "+ std::to_string(m_plate_index) + "/" +std::to_string(m_plate_count)+ ": Percent " + std::to_string(m_progress) + ": "+m_message; @@ -231,28 +234,30 @@ typedef struct _cli_callback_mgr { void update(int percent, std::string message, int warning_step) { - BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << ": percent="<set_status_callback(cli_status_callback); g_cli_callback_mgr.set_plate_info(index+1, (plate_to_slice== 0)?partplate_list.get_plate_count():1); + if (!warning.string.empty()) { + PrintBase::SlicingStatus slicing_status{2, warning.string, 0, 0}; + cli_status_callback(slicing_status); + } } #endif print->process();