5b2d420e71
- Node control server now accepts HTTP POST /cmd for command dispatch (in addition to existing WebSocket control) - Added NodeControlClient: engine sends commands to nodes via HTTP POST - New REST endpoints: POST /api/graph/nodes/:id/connect-input - connect node input to MXL flow POST /api/graph/nodes/:id/connect-output - create new MXL flow + connect output POST /api/graph/nodes/:id/disconnect-port - remove reader/writer POST /api/graph/nodes/:id/command - send raw command to node - Flow IDs now use proper UUID v4 format (MXL requires standard UUIDs) - Flow definitions use NMOS format (urn:x-nmos:format:video) - Engine passes --mxl-domain to node processes - User-provided node IDs (via 'id' field in POST body) - End-to-end verified: testsrc → passthrough → new MXL output flow
20 lines
354 B
CMake
20 lines
354 B
CMake
add_library(dmf-engine STATIC
|
|
src/graph.cpp
|
|
src/flow_manager.cpp
|
|
src/process_manager.cpp
|
|
src/api_server.cpp
|
|
src/node_control_client.cpp
|
|
)
|
|
|
|
target_include_directories(dmf-engine PUBLIC
|
|
include
|
|
)
|
|
|
|
target_link_libraries(dmf-engine PUBLIC
|
|
dmf-node
|
|
nlohmann_json::nlohmann_json
|
|
spdlog::spdlog
|
|
fmt::fmt
|
|
websockets
|
|
)
|