FDMXOutputPort

Higher level abstraction of a DMX input hiding networking specific and protocol specific complexity.

Choose your operating system:

Windows

macOS

Linux

Inheritance Hierarchy

References

Module

DMXProtocol

Header

/Engine/Plugins/VirtualProduction/DMX/DMXProtocol/Source/DMXProtocol/Public/IO/DMXOutputPort.h

Include

#include "IO/DMXOutputPort.h"

Syntax

class FDMXOutputPort :
    public FDMXPort,
    public FRunnable,
    public FSingleThreadRunnable

Remarks

Higher level abstraction of a DMX input hiding networking specific and protocol specific complexity.

Use SendDMXFragment method to send DMX.

To loopback outputs refer to DMXRawListener and DMXTickedUniverseListener.

Can only be constructed via DMXPortManger, see FDMXPortManager::CreateOutputPort and FDMXPortManager::CreateOutputPortFromConfig

Destructors

Name Description

Public function Virtual

~FDMXOutputPort()

Functions

Name Description

Public function

void

 

ClearBuffers()

Clears all buffers

Protected function Static

FDMXOutputPo...

 

CreateFromConfig

(
    FDMXOutputPortConfig& OutputPortCo...
)

Creates an output port tied to a specific config.

Public function

bool

 

GameThreadGetDMXSignal

(
    int32 LocalUniverseID,
    FDMXSignalSharedPtr& OutDMXSignal,
    bool bEvenIfNotLoopbackToEngine
)

Game-Thread only: Gets the last signal received in specified local universe.

Public function Const

TArray< FStr...

 

GetDestinationAddresses()

Returns the Destination Addresses

Public function Const

bool

 

IsLoopbackToEngine()

Returns true if the port loopsback to engine

Public function Const

FDMXOutputPo...

 

MakeOutputPortConfig()

Creates a dmx output port config that corresponds to the port

Protected function

void

 

OnSetReceiveDMXEnabled

(
    bool bEnabled
)

Called to set if DMX should be enabled

Protected function

void

 

OnSetSendDMXEnabled

(
    bool bEnabled
)

Called to set if DMX should be enabled

Protected function

void

 

ProcessSendDMX()

Updates the thread, sending DMX

Public function

void

 

SendDMX

(
    int32 LocalUniverseID,
    const TMap< int32, uint8 >& Channe...
)

Sends DMX over the port

Public function

void

 

UpdateFromConfig

(
    FDMXOutputPortConfig& OutputPortCo...,
    bool bForceUpdateRegistrationWithPr...
)

Updates the Port to use the config of the OutputPortConfig. Makes the config valid if it's invalid.

Overridden from FDMXPort

Name Description

Protected function Virtual

void

 

AddRawListener

(
    TSharedRef< FDMXRawListener > InRaw...
)

Adds a Raw Listener that receives all raw signals received on this port.

Public function Virtual Const

const FGuid ...

 

GetPortGuid()

Returns the Guid of the Port

Public function Virtual Const

bool

 

IsRegistered()

~Begin DMXPort Interface declaration

Protected function Virtual

bool

 

Register()

Registers the port with its protocol. Returns true if successfully registered

Protected function Virtual

void

 

RemoveRawListener

(
    TSharedRef< FDMXRawListener > InRaw...
)

Removes the Raw Listener from the port. Should not be used directly, instead see DMXRawListener.

Protected function Virtual

void

 

Unregister()

Unregisteres the port if it was registered with its protocol

Overridden from FRunnable

Name Description

Protected function Virtual

void

 

Exit()

Exits the runnable object.

Protected function Virtual

FSingleThrea...

 

GetSingleThreadInterface()

Gets single thread interface pointer used for ticking this runnable when multi-threading is disabled.

Protected function Virtual

bool

 

Init()

Initializes the runnable object.

Protected function Virtual

uint32

 

Run()

Runs the runnable object.

Protected function Virtual

void

 

Stop()

Stops the runnable object.

This is called if a thread is requested to terminate early.

Overridden from FSingleThreadRunnable

Name Description

Protected function Virtual

void

 

Tick()

Tick function.

Deprecated Functions

Name Description

Public function

bool

 

GameThreadGetDMXSignalFromRemoteUniverse

(
    FDMXSignalSharedPtr& OutDMXSignal,
    int32 RemoteUniverseID,
    bool bEvenIfNotLoopbackToEngine
)

Use GameThreadGetDMXSignal instead. GameThreadGetDMXSignalFromRemoteUniverse only exists to support deprecated blueprint nodes.

Public function Const

FString

 

GetDestinationAddress()

Output Ports now support many destination addresses. Please use FDMXOutputPort::GetDestinationAddresses instead.

Public function

void

 

SendDMXToRemoteUniverse

(
    const TMap< int32, uint8 >& Channe...,
    int32 RemoteUniverse
)

Use SenDMX instead. SendDMXToRemoteUniverse only exists to support deprecated blueprint nodes.