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;
194 bool mShowComments =
true;
195 bool mShowDeclarations =
true;
196 bool mUseRouter =
false;
197 std::string mPreCommentText =
"// ";
198 std::string mPostCommentText =
"";
199 std::string mPreClassText =
"";
200 std::string mPostClassText =
"";
201 std::string mPreVariableText =
"";
202 std::string mPostVariableText =
"";
203 std::string mPreXptText =
"";
204 std::string mPostXptText =
"";
205 std::string mPreFunctionText =
"";
206 std::string mPostFunctionText =
"";
207 std::string mDeviceVarName =
"device";
208 std::string mRouterVarName =
"router";
209 std::string mLineBreakText =
"\n";
210 std::string mFieldBreakText =
"\t";
232 virtual bool PrintCode (std::string & outCode,
const PrintCodeConfig & inConfig = PrintCodeConfig())
const;
236 typedef NTV2XptConnections::iterator NTV2XptConnectionsIter;
252 static bool GetRouteROMInfoFromReg (
const ULWord inROMRegNum,
const ULWord inROMRegValue,
254 const bool inAppendOutputXpts =
false);
262 static bool GetPossibleConnections (
const NTV2RegReads & inROMRegisters,
270 static bool MakeRouteROMRegisters (
NTV2RegReads & outROMRegisters);
294 static NTV2InputXptID StringToNTV2InputCrosspointID (
const std::string & inStr);
302 static NTV2OutputXptID StringToNTV2OutputCrosspointID (
const std::string & inStr);
453 static bool IsSDIInputWidgetType (
const NTV2WidgetType inWidgetType);
459 static bool IsSDIOutputWidgetType (
const NTV2WidgetType inWidgetType);
465 static bool Is3GSDIWidgetType (
const NTV2WidgetType inWidgetType);
471 static bool Is12GSDIWidgetType (
const NTV2WidgetType inWidgetType);
477 static bool IsDualLinkWidgetType (
const NTV2WidgetType inWidgetType);
483 static bool IsDualLinkInWidgetType (
const NTV2WidgetType inWidgetType);
489 static bool IsDualLinkOutWidgetType (
const NTV2WidgetType inWidgetType);
501 static bool IsHDMIInWidgetType (
const NTV2WidgetType inWidgetType);
507 static bool IsHDMIOutWidgetType (
const NTV2WidgetType inWidgetType);
531 static bool CreateFromString (
const std::string & inString,
NTV2XptConnections & outConnections);
551 static bool CreateFromString (
const std::string & inString,
CNTV2SignalRouter & outRouter);
562 static bool ToCodeString (std::string & outCode,
const NTV2XptConnections & inConnections,
563 const PrintCodeConfig & inConfig = PrintCodeConfig());
565 static bool IsInitialized(
void);
574 static bool Initialize(
void);
583 static bool Deinitialize(
void);
657 const bool inIsHDMI_RGB =
false,
const UWord inHDMI_Quadrant = 0);
741 #if !defined(NTV2_DEPRECATE_17_5) 742 #define GetFrameBufferOutputXptFromChannel GetFrameStoreOutputXptFromChannel 743 #define GetFrameBufferInputXptFromChannel GetFrameStoreInputXptFromChannel 744 #endif // !defined(NTV2_DEPRECATE_17_5) 746 #endif // NTV2SIGNALROUTER_H NTV2OutputCrosspointIDSet NTV2CrosspointIDSet
NTV2XptConnections::const_iterator NTV2XptConnectionsConstIter
NTV2InputXptIDSet::const_iterator NTV2InputXptIDSetConstIter
A const iterator for iterating over an NTV2InputXptIDSet.
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::ostream & operator<<(std::ostream &inOutStream, const NTV2OutputXptIDSet &inObj)
NTV2OutputXptIDSet::iterator NTV2OutputXptIDSetIter
A non-const iterator for iterating over an NTV2OutputXptIDSet.
std::set< NTV2OutputXptID > NTV2OutputCrosspointIDSet
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...
NTV2OutputXptID GetInputSourceOutputXpt(const NTV2InputSource inInputSource, const bool inIsSDI_DS2=false, const bool inIsHDMI_RGB=false, const UWord inHDMI_Quadrant=0)
NTV2OutputXptIDSet::const_iterator NTV2OutputCrosspointIDSetConstIter
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.
NTV2InputXptID GetCSCInputXptFromChannel(const NTV2Channel inCSC, const bool inIsKeyInput=false)
std::set< NTV2WidgetID > NTV2WidgetIDSet
A collection of distinct NTV2WidgetID values.
NTV2InputXptID GetFrameStoreInputXptFromChannel(const NTV2Channel inFrameStore, const bool inIsBInput=false)
NTV2InputXptIDSet::iterator NTV2InputCrosspointIDSetIter
NTV2InputXptID GetMixerBGInputXpt(const NTV2Channel inChannel, const bool inIsKey=false)
NTV2RegWrites NTV2RegisterReads
NTV2InputXptID GetLUTInputXptFromChannel(const NTV2Channel inLUT)
std::pair< NTV2InputXptID, NTV2OutputXptID > NTV2SignalConnection
NTV2OutputXptID GetDLInOutputXptFromChannel(const NTV2Channel inDLInput)
NTV2PossibleConnections::const_iterator NTV2PossibleConnectionsConstIter
NTV2InputSource
Identifies a specific video input source.
NTV2InputXptIDSet::const_iterator NTV2InputCrosspointIDSetConstIter
NTV2WidgetIDSet::const_iterator NTV2WidgetIDSetConstIter
An iterator for iterating over a read-only NTV2WidgetIDSet.
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.
PrintCodeConfig()
Default constructor sets the following default settings:
NTV2OutputXptID GetFrameStoreOutputXptFromChannel(const NTV2Channel inFrameStore, const bool inIsRGB=false, const bool inIs425=false)
NTV2InputXptIDSet::iterator NTV2InputXptIDSetIter
A non-const iterator for iterating over an NTV2InputXptIDSet.
NTV2InputXptID GetMixerFGInputXpt(const NTV2Channel inChannel, const bool inIsKey=false)
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
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.