Skip to content

NdiDriver

Source: NdiDriver.h

NdiDriver

class NdiDriver
src/light/drivers/NdiDriver.h:38

Inherits: 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 = "🖥️"