8 #ifndef NTV2SIGNALROUTER_H 9 #define NTV2SIGNALROUTER_H 109 virtual inline void Reset (
void) {mConnections.clear ();}
138 virtual inline bool IsEmpty (
void)
const {
return mConnections.empty();}
190 virtual std::ostream & Print (std::ostream & inOutStream,
const bool inForRetailDisplay =
false)
const;
235 typedef NTV2XptConnections::iterator NTV2XptConnectionsIter;
251 static bool GetRouteROMInfoFromReg (
const ULWord inROMRegNum,
const ULWord inROMRegValue,
253 const bool inAppendOutputXpts =
false);
261 static bool GetPossibleConnections (
const NTV2RegReads & inROMRegisters,
269 static bool MakeRouteROMRegisters (
NTV2RegReads & outROMRegisters);
293 static NTV2InputXptID StringToNTV2InputCrosspointID (
const std::string & inStr);
301 static NTV2OutputXptID StringToNTV2OutputCrosspointID (
const std::string & inStr);
452 static bool IsSDIInputWidgetType (
const NTV2WidgetType inWidgetType);
458 static bool IsSDIOutputWidgetType (
const NTV2WidgetType inWidgetType);
464 static bool Is3GSDIWidgetType (
const NTV2WidgetType inWidgetType);
470 static bool Is12GSDIWidgetType (
const NTV2WidgetType inWidgetType);
476 static bool IsDualLinkWidgetType (
const NTV2WidgetType inWidgetType);
482 static bool IsDualLinkInWidgetType (
const NTV2WidgetType inWidgetType);
488 static bool IsDualLinkOutWidgetType (
const NTV2WidgetType inWidgetType);
500 static bool IsHDMIInWidgetType (
const NTV2WidgetType inWidgetType);
506 static bool IsHDMIOutWidgetType (
const NTV2WidgetType inWidgetType);
530 static bool CreateFromString (
const std::string & inString,
NTV2XptConnections & outConnections);
540 static bool CreateFromString (
const std::string & inString,
CNTV2SignalRouter & outRouter);
551 static bool ToCodeString (std::string & outCode,
const NTV2XptConnections & inConnections,
554 static bool IsInitialized(
void);
563 static bool Initialize(
void);
572 static bool Deinitialize(
void);
646 const bool inIsHDMI_RGB =
false,
const UWord inHDMI_Quadrant = 0);
730 #if !defined(NTV2_DEPRECATE_17_5) 731 #define GetFrameBufferOutputXptFromChannel GetFrameStoreOutputXptFromChannel 732 #define GetFrameBufferInputXptFromChannel GetFrameStoreInputXptFromChannel 733 #endif // !defined(NTV2_DEPRECATE_17_5) 735 #endif // NTV2SIGNALROUTER_H NTV2OutputCrosspointIDSet NTV2CrosspointIDSet
NTV2XptConnections::const_iterator NTV2XptConnectionsConstIter
NTV2InputXptIDSet::const_iterator NTV2InputXptIDSetConstIter
A const iterator for iterating over an NTV2InputXptIDSet.
std::string mPostCommentText
Comment postfix text.
virtual ULWord GetNumberOfConnections(void) const
NTV2OutputXptIDSet::iterator NTV2OutputCrosspointIDSetIter
virtual void Reset(void)
Resets me, erasing any/all existing connections.
NTV2OutputDestination
Identifies a specific video output destination.
virtual bool IsEmpty(void) const
std::map< NTV2InputXptID, NTV2OutputXptID > NTV2ActualConnections
A map of zero or more one-to-one actual NTV2InputXptID to NTV2OutputXptID connections.
NTV2InputXptID GetDLOutInputXptFromChannel(const NTV2Channel inDLOutWidget)
NTV2OutputXptID GetTSIMuxOutputXptFromChannel(const NTV2Channel inTSIMuxer, const bool inLinkB=false, const bool inIsRGB=false)
NTV2InputXptID GetDLInInputXptFromChannel(const NTV2Channel inChannel, const bool inLinkB=false)
std::string mFieldBreakText
Text to use for field breaks.
std::ostream & operator<<(std::ostream &inOutStream, const NTV2OutputXptIDSet &inObj)
NTV2XptConnections mNew
Optional, to show new connections.
NTV2OutputXptIDSet::iterator NTV2OutputXptIDSetIter
A non-const iterator for iterating over an NTV2OutputXptIDSet.
std::set< NTV2OutputXptID > NTV2OutputCrosspointIDSet
std::string mRouterVarName
Name to use for CNTV2SignalRouter variable.
virtual NTV2XptConnections GetConnections(void) const
bool operator!=(const json_pointer< RefStringTypeLhs > &lhs, const json_pointer< RefStringTypeRhs > &rhs) noexcept
std::pair< NTV2InputXptID, NTV2OutputXptID > NTV2Connection
This links an NTV2InputXptID and an NTV2OutputXptID.
NTV2OutputXptID GetDLOutOutputXptFromChannel(const NTV2Channel inDLOutput, const bool inIsLinkB=false)
NTV2Channel
These enum values are mostly used to identify a specific widget_framestore. They're also commonly use...
NTV2OutputXptIDSet::const_iterator NTV2OutputXptIDSetConstIter
A const iterator for iterating over an NTV2OutputXptIDSet.
This class is a collection of widget input-to-output connections that can be applied all-at-once to a...
std::string mDeviceVarName
Name to use for CNTV2Card variable.
NTV2OutputXptID GetInputSourceOutputXpt(const NTV2InputSource inInputSource, const bool inIsSDI_DS2=false, const bool inIsHDMI_RGB=false, const UWord inHDMI_Quadrant=0)
NTV2OutputXptIDSet::const_iterator NTV2OutputCrosspointIDSetConstIter
bool mShowDeclarations
If true, show variable declarations in the generated code.
std::string NTV2InputCrosspointIDToString(const NTV2InputCrosspointID inValue, const bool inForRetailDisplay=false)
NTV2DeviceID
Identifies a specific AJA NTV2 device model number. The NTV2DeviceID is actually the PROM part number...
NTV2InputXptID GetOutputDestInputXpt(const NTV2OutputDestination inOutputDest, const bool inIsSDI_DS2=false, const UWord inHDMI_Quadrant=99)
Defines the import/export macros for producing DLLs or LIBs.
NTV2XptConnections mChanged
Optional, to show changed connections.
NTV2InputXptID GetCSCInputXptFromChannel(const NTV2Channel inCSC, const bool inIsKeyInput=false)
std::set< NTV2WidgetID > NTV2WidgetIDSet
A collection of distinct NTV2WidgetID values.
bool mUseRouter
If true, use calls to CNTV2SignalRouter instead of CNTV2Card.
std::string mPostClassText
Class postfix text.
NTV2InputXptID GetFrameStoreInputXptFromChannel(const NTV2Channel inFrameStore, const bool inIsBInput=false)
NTV2InputXptIDSet::iterator NTV2InputCrosspointIDSetIter
std::string mPreFunctionText
Function name prefix text.
NTV2InputXptID GetMixerBGInputXpt(const NTV2Channel inChannel, const bool inIsKey=false)
NTV2RegWrites NTV2RegisterReads
NTV2InputXptID GetLUTInputXptFromChannel(const NTV2Channel inLUT)
std::pair< NTV2InputXptID, NTV2OutputXptID > NTV2SignalConnection
std::string mPreXptText
Crosspoint variable prefix text.
std::string mPostXptText
Crosspoint variable postfix text.
NTV2OutputXptID GetDLInOutputXptFromChannel(const NTV2Channel inDLInput)
NTV2PossibleConnections::const_iterator NTV2PossibleConnectionsConstIter
NTV2InputSource
Identifies a specific video input source.
std::string mPostVariableText
Variable postfix text.
NTV2InputXptIDSet::const_iterator NTV2InputCrosspointIDSetConstIter
NTV2WidgetIDSet::const_iterator NTV2WidgetIDSetConstIter
An iterator for iterating over a read-only NTV2WidgetIDSet.
std::string mPreVariableText
Variable prefix text.
bool operator==(const json_pointer< RefStringTypeLhs > &lhs, const json_pointer< RefStringTypeRhs > &rhs) noexcept
NTV2OutputXptID GetLUTOutputXptFromChannel(const NTV2Channel inLUT)
NTV2InputXptID GetTSIMuxInputXptFromChannel(const NTV2Channel inTSIMuxer, const bool inLinkB=false)
std::set< NTV2InputXptID > NTV2InputXptIDSet
A collection of distinct NTV2InputXptID values.
std::string mPreCommentText
Comment prefix text.
NTV2OutputXptID GetFrameStoreOutputXptFromChannel(const NTV2Channel inFrameStore, const bool inIsRGB=false, const bool inIs425=false)
std::string mPreClassText
Class prefix text.
std::string mPostFunctionText
Function name postfix text.
std::string mLineBreakText
Text to use for line breaks.
NTV2InputXptIDSet::iterator NTV2InputXptIDSetIter
A non-const iterator for iterating over an NTV2InputXptIDSet.
NTV2InputXptID GetMixerFGInputXpt(const NTV2Channel inChannel, const bool inIsKey=false)
bool mShowComments
If true, show comments in the generated code.
NTV2OutputXptID GetMixerOutputXptFromChannel(const NTV2Channel inChannel, const bool inIsKey=false)
std::pair< NTV2InputXptID, NTV2OutputXptID > NTV2XptConnection
enum NTV2InputCrosspointID NTV2InputXptID
std::multimap< NTV2InputXptID, NTV2OutputXptID > NTV2PossibleConnections
A map of zero or more one-to-many possible NTV2InputXptID to NTV2OutputXptID connections.
std::set< NTV2InputXptID > NTV2InputCrosspointIDSet
NTV2XptConnections mMissing
Optional, to show deleted connections.
CNTV2SignalRouter()
My default constructor.
std::string NTV2OutputCrosspointIDToString(const NTV2OutputCrosspointID inValue, const bool inForRetailDisplay=false)
std::map< NTV2InputXptID, NTV2OutputXptID > NTV2XptConnections
NTV2OutputXptID GetSDIInputOutputXptFromChannel(const NTV2Channel inSDIInput, const bool inIsDS2=false)
virtual bool ResetFrom(const NTV2XptConnections &inConnections)
Resets me, replacing any/all existing connections with the given connections.
NTV2XptConnections::const_iterator NTV2ActualConnectionsConstIter
std::vector< NTV2RegInfo > NTV2RegisterWrites
NTV2RegWrites NTV2RegReads
An ordered sequence of zero or more NTV2RegInfo structs intended for ReadRegister.
Declares enums and structs used by all platform drivers and the SDK.
NTV2InputXptID GetSDIOutputInputXpt(const NTV2Channel inSDIOutput, const bool inIsDS2=false)
std::set< NTV2OutputXptID > NTV2OutputXptIDSet
A collection of distinct NTV2OutputXptID values.
enum NTV2OutputCrosspointID NTV2OutputXptID
NTV2OutputXptID GetCSCOutputXptFromChannel(const NTV2Channel inCSC, const bool inIsKey=false, const bool inIsRGB=false)
virtual ~CNTV2SignalRouter()
My default destructor.