mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-09-27 02:41:17 +00:00
feat: generic camera stream support for http snapshot and rtsp
This commit is contained in:
@@ -23,6 +23,14 @@ void PrinterAgentPluginCapability::RegisterBindings(pybind11::module_& module)
|
||||
.value("Pull", FilamentSyncMode::pull)
|
||||
.export_values();
|
||||
|
||||
py::enum_<CameraStreamMode>(printer_agent_module, "CameraStreamMode")
|
||||
.value("None_", CameraStreamMode::none)
|
||||
.value("HTTP", CameraStreamMode::http)
|
||||
.value("HTTP_SNAPSHOT", CameraStreamMode::http_snapshot)
|
||||
.value("RTSP", CameraStreamMode::rtsp)
|
||||
.value("WebRTC", CameraStreamMode::webrtc)
|
||||
.export_values();
|
||||
|
||||
py::class_<AgentInfo>(printer_agent_module, "AgentInfo")
|
||||
.def(py::init<>())
|
||||
.def(py::init([](std::string id, std::string name, std::string version, std::string description) {
|
||||
@@ -105,7 +113,9 @@ void PrinterAgentPluginCapability::RegisterBindings(pybind11::module_& module)
|
||||
.def("start_send_gcode_to_sdcard", &PrinterAgentPluginCapability::start_send_gcode_to_sdcard)
|
||||
.def("start_local_print", &PrinterAgentPluginCapability::start_local_print)
|
||||
.def("get_filament_sync_mode", &PrinterAgentPluginCapability::get_filament_sync_mode)
|
||||
.def("get_camera_stream_mode", &PrinterAgentPluginCapability::get_camera_stream_mode)
|
||||
.def("fetch_filament_info", &PrinterAgentPluginCapability::fetch_filament_info)
|
||||
.def("get_camera_url", &PrinterAgentPluginCapability::get_camera_url)
|
||||
.def("check_cert", &PrinterAgentPluginCapability::check_cert)
|
||||
.def("install_device_cert", &PrinterAgentPluginCapability::install_device_cert)
|
||||
.def("ping_bind", &PrinterAgentPluginCapability::ping_bind)
|
||||
|
||||
@@ -41,6 +41,8 @@ public:
|
||||
int start_local_print(PrintParams params, OnUpdateStatusFn update_fn, WasCancelledFn cancel_fn) override = 0;
|
||||
FilamentSyncMode get_filament_sync_mode() const override = 0;
|
||||
bool fetch_filament_info(std::string dev_id, FilamentSyncMode sync_mode = FilamentSyncMode::pull) override = 0;
|
||||
CameraStreamMode get_camera_stream_mode() const override = 0;
|
||||
std::string get_camera_url() const override = 0;
|
||||
|
||||
int check_cert() override = 0;
|
||||
void install_device_cert(std::string dev_id, bool lan_only) override = 0;
|
||||
|
||||
@@ -5,7 +5,10 @@
|
||||
#include "../../PyPluginTrampoline.hpp"
|
||||
|
||||
#include "IPrinterAgent.hpp"
|
||||
#include "pybind11/pybind11.h"
|
||||
#include <slic3r/plugin/PluginAuditManager.hpp>
|
||||
#include <slic3r/plugin/PythonPluginInterface.hpp>
|
||||
#include <string>
|
||||
|
||||
namespace Slic3r {
|
||||
class PyPrinterAgentPluginCapabilityTrampoline : public PyPluginCommonTrampoline<PrinterAgentPluginCapability>
|
||||
@@ -96,6 +99,19 @@ public:
|
||||
get_filament_sync_mode);
|
||||
}
|
||||
|
||||
CameraStreamMode get_camera_stream_mode() const override
|
||||
{
|
||||
ORCA_PY_OVERRIDE_AUDITED(
|
||||
::Slic3r::PluginAuditManager::AuditMode::Loading, [] {}, PYBIND11_OVERRIDE_PURE, CameraStreamMode, PrinterAgentPluginCapability,
|
||||
get_camera_stream_mode);
|
||||
}
|
||||
|
||||
std::string get_camera_url() const override
|
||||
{
|
||||
ORCA_PY_OVERRIDE_AUDITED(
|
||||
::Slic3r::PluginAuditManager::AuditMode::Loading, [] {}, PYBIND11_OVERRIDE_PURE, std::string, PrinterAgentPluginCapability, get_camera_url);
|
||||
}
|
||||
|
||||
bool fetch_filament_info(std::string dev_id, FilamentSyncMode sync_mode = FilamentSyncMode::pull) override
|
||||
{
|
||||
ORCA_PY_OVERRIDE_AUDITED(
|
||||
|
||||
Reference in New Issue
Block a user