Commit Graph

58 Commits

Author SHA1 Message Date
JohannesItten 7a32fa20af fix: NDI node correctness and robustness fixes
NDIHelper:
- find_sources: check g_running each attempt to avoid 50s block on shutdown
- getV210_video_frame: fix P216 branch (fall-through + local pointer reassignment bug)
- getV210_video_frame: status_change re-queries source info instead of throwing
- select_source: fix typo "recieve" → "receive"

ndiout:
- set frame_rate_N/frame_rate_D on the NDI send frame (was 0/0)
- add per-second stats logging (matching fakesink pattern)
- add missing <chrono> include
- fix typo "reciever" → "receiver"

ndiin:
- read source_num from NODE_CONFIG (key: "source_num", default 0)
- wrap hot-loop NDI call in try/catch so source-lost terminates cleanly
- pass source_num through to getV210_video_frame

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-01 12:07:45 +03:00
itten 19ea14a61c NDI in node looks almost done 2026-07-01 11:55:04 +03:00
itten 51a1b1b2c8 looks like i forgot about commits 2026-06-25 12:43:53 +03:00
itten 49ead70b10 IRE palette for bars pattern 2026-06-23 18:36:39 +03:00
JohannesItten b960c413b2 build: enable CMAKE_POSITION_INDEPENDENT_CODE globally
On Linux, spdlog and fmt are compiled as static libs then linked into
libmxl.so. Without -fPIC the linker rejects TPOFF32 relocations inside
a shared object. Setting PIC globally fixes this for all fetched deps.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-23 13:56:24 +03:00
JohannesItten bf45fe4fc0 build: disable UUID_SYSTEM_GENERATOR to remove libuuid dependency on Linux
UUID_SYSTEM_GENERATOR=ON requires libuuid on Linux and CoreFoundation
on macOS. Turning it off uses stduuid's built-in mt19937 generator,
which needs no system packages and works identically on all platforms.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-23 13:52:15 +03:00
JohannesItten 8646a4d2a7 build: replace brew find_package with FetchContent for fmt and spdlog
Removes the Homebrew dependency so the build works on any platform
with only CMake 3.24+ and a C++20 compiler. fmt and spdlog are now
fetched and compiled from source alongside the other FetchContent deps.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-23 13:38:52 +03:00
JohannesItten ca682eaf0a Initial commit: testpattern → fakesink pipeline over MXL shared memory
- NodeBase, Signal, FlowDef, V210 shared headers
- testpattern node: SMPTE 75% color bars writer at 25fps
- fakesink node: non-blocking MXL reader with per-second stats
- studio-manager: FlowGraph data model, graph-driven fork/exec launcher
- mxl pinned as submodule at 0ae1dc5

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-23 13:35:01 +03:00