NdiDriver
Source:
NdiDriver.h
NdiDriver¶
src/light/drivers/NdiDriver.h:38Inherits:
DriverBase
Driver that publishes the layer as an NDI video source.
Public Attributes¶
char sourceName = ""
: The name a receiver lists this source under.
uint8_t fps = 30
: Frame-rate ceiling.
Public Methods¶
inline NdiDriver()
virtual inline const char * tags() const override
: Curated emoji tags for the module picker's chip filter — extras beyond the role chip (which the UI derives from role() on its own).
virtual inline void setSourceBuffer(Buffer * buf) override
virtual inline void defineDriverControls() override
: A driver's own controls (its pins, protocol, IP, window, …), added AFTER the correction block.
virtual inline bool affectsPrepare(const char * name) const override
: A geometry change resizes the frame; a name change re-creates the sender (NDI has no rename).
virtual inline void prepare() override
: Tier-3 of the control-change split (see onControlChanged above): the module (re)allocates / recomputes whatever derived state it owns — an effect's heap, a Layer's mapping LUT, the Drivers output buffer.
virtual inline void release() override
: Clear every shared status string on release — fail buffer, config error, and config warning — so a stopped driver leaves nothing behind (frees the owned failBuf_; retracts the warning the same "clear only MY status" way as the error), then chain to MoonModule::release() so any ScratchBuffer the driver holds frees on disable and children recurse.
virtual inline void tick() override
Public Static Attributes¶
constexpr const char * kTags = "🖥️"