AJA NTV2 SDK  17.5.0.1242
NTV2 SDK 17.5.0.1242
ntv2signalrouter.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: MIT */
8 #ifndef NTV2SIGNALROUTER_H
9 #define NTV2SIGNALROUTER_H
10 
11 #include "ajaexport.h"
12 #include "ntv2publicinterface.h"
13 #include <stddef.h>
14 #include <sstream>
15 #include <set>
16 #include <map>
17 
18 typedef std::set <NTV2OutputXptID> NTV2OutputCrosspointIDSet, NTV2OutputXptIDSet;
19 typedef NTV2OutputXptIDSet::const_iterator NTV2OutputCrosspointIDSetConstIter, NTV2OutputXptIDSetConstIter;
20 typedef NTV2OutputXptIDSet::iterator NTV2OutputCrosspointIDSetIter, NTV2OutputXptIDSetIter;
21 
22 AJAExport std::ostream & operator << (std::ostream & inOutStream, const NTV2OutputXptIDSet & inObj);
23 
25 
26 typedef std::set <NTV2InputXptID> NTV2InputCrosspointIDSet, NTV2InputXptIDSet;
27 typedef NTV2InputXptIDSet::const_iterator NTV2InputCrosspointIDSetConstIter, NTV2InputXptIDSetConstIter;
28 typedef NTV2InputXptIDSet::iterator NTV2InputCrosspointIDSetIter, NTV2InputXptIDSetIter;
29 
30 AJAExport std::ostream & operator << (std::ostream & inOutStream, const NTV2InputXptIDSet & inObj);
31 
32 typedef std::set <NTV2WidgetID> NTV2WidgetIDSet;
33 typedef NTV2WidgetIDSet::const_iterator NTV2WidgetIDSetConstIter;
34 
35 AJAExport std::ostream & operator << (std::ostream & inOutStream, const NTV2WidgetIDSet & inObj);
36 
37 
38 typedef std::pair <NTV2InputXptID, NTV2OutputXptID> NTV2SignalConnection, NTV2XptConnection, NTV2Connection;
39 typedef std::map <NTV2InputXptID, NTV2OutputXptID> NTV2XptConnections, NTV2ActualConnections;
40 typedef NTV2XptConnections::const_iterator NTV2XptConnectionsConstIter, NTV2ActualConnectionsConstIter;
41 typedef std::multimap <NTV2InputXptID, NTV2OutputXptID> NTV2PossibleConnections;
42 typedef NTV2PossibleConnections::const_iterator NTV2PossibleConnectionsConstIter;
43 
44 AJAExport std::ostream & operator << (std::ostream & inOutStream, const NTV2XptConnections & inObj);
45 
56 {
57  // Instance Methods
58  public:
59  inline CNTV2SignalRouter () {Reset ();}
60  virtual inline ~CNTV2SignalRouter () {}
61 
69  virtual bool AddConnection (const NTV2InputXptID inSignalInput, const NTV2OutputXptID inSignalOutput = NTV2_XptBlack);
70 
78  virtual bool RemoveConnection (const NTV2InputXptID inSignalInput, const NTV2OutputXptID inSignalOutput);
79 
87  virtual bool HasConnection (const NTV2InputXptID inSignalInput, const NTV2OutputXptID inSignalOutput) const;
88 
95  virtual bool HasInput (const NTV2InputXptID inSignalInput) const;
96 
102  virtual NTV2OutputXptID GetConnectedOutput (const NTV2InputXptID inSignalInput) const;
103 
108  virtual inline void Reset (void) {mConnections.clear ();}
109 
117  virtual bool ResetFromRegisters (const NTV2InputXptIDSet & inInputXpts, const NTV2RegisterReads & inRegReads);
118 
125  virtual bool ResetFrom (const NTV2XptConnections & inConnections) {mConnections = inConnections; return true;} // New in SDK 16.0
126 
131  virtual inline ULWord GetNumberOfConnections (void) const {return ULWord (mConnections.size ());}
132 
137  virtual inline bool IsEmpty (void) const {return mConnections.empty();}
138 
142  virtual inline NTV2XptConnections GetConnections (void) const {return mConnections;}
143 
149  virtual bool GetRegisterWrites (NTV2RegisterWrites & outRegWrites) const;
150 
163  virtual bool Compare (const CNTV2SignalRouter & inRHS,
164  NTV2XptConnections & outNew,
165  NTV2XptConnections & outChanged,
166  NTV2XptConnections & outMissing) const;
167 
173  virtual inline bool operator == (const CNTV2SignalRouter & inRHS) const {NTV2XptConnections tmp; return Compare(inRHS, tmp,tmp,tmp);}
174 
180  virtual inline bool operator != (const CNTV2SignalRouter & inRHS) const {return !(inRHS == *this);}
181 
189  virtual std::ostream & Print (std::ostream & inOutStream, const bool inForRetailDisplay = false) const;
190 
192  {
195  bool mUseRouter;
196  std::string mPreCommentText;
197  std::string mPostCommentText;
198  std::string mPreClassText;
199  std::string mPostClassText;
200  std::string mPreVariableText;
201  std::string mPostVariableText;
202  std::string mPreXptText;
203  std::string mPostXptText;
204  std::string mPreFunctionText;
205  std::string mPostFunctionText;
206  std::string mDeviceVarName;
207  std::string mRouterVarName;
208  std::string mLineBreakText;
209  std::string mFieldBreakText;
213 
219  PrintCodeConfig ();
220  };
221 
230  virtual bool PrintCode (std::string & outCode, const PrintCodeConfig & inConfig = PrintCodeConfig()) const;
231 
232  // Instance Data
233  private:
234  typedef NTV2XptConnections::iterator NTV2XptConnectionsIter;
235 
236  NTV2XptConnections mConnections;
237 
238 
239  public: // CLASS METHODS
250  static bool GetRouteROMInfoFromReg (const ULWord inROMRegNum, const ULWord inROMRegValue,
251  NTV2InputXptID & outInputXpt, NTV2OutputXptIDSet & outOutputXpts,
252  const bool inAppendOutputXpts = false); // New in SDK 16.0; moved into CNTV2SignalRouter in SDK 16.1
253 
260  static bool GetPossibleConnections (const NTV2RegReads & inROMRegisters,
261  NTV2PossibleConnections & outConnections); // New in SDK 16.0; moved into CNTV2SignalRouter in SDK 16.1
262 
268  static bool MakeRouteROMRegisters (NTV2RegReads & outROMRegisters); // New in SDK 16.0; moved into CNTV2SignalRouter in SDK 16.1
269 
276  static std::string NTV2InputCrosspointIDToString (const NTV2InputXptID inInputXpt);
277 
284  static std::string NTV2OutputCrosspointIDToString (const NTV2OutputXptID inOutputXpt);
285 
292  static NTV2InputXptID StringToNTV2InputCrosspointID (const std::string & inStr);
293 
300  static NTV2OutputXptID StringToNTV2OutputCrosspointID (const std::string & inStr);
301 
308  static bool GetWidgetIDs (const NTV2DeviceID inDeviceID, NTV2WidgetIDSet & outWidgets);
309 
317  static bool GetWidgetsForOutput (const NTV2OutputXptID inOutputXpt, NTV2WidgetIDSet & outWidgetIDs);
318 
330  static bool GetWidgetForOutput (const NTV2OutputXptID inOutputXpt, NTV2WidgetID & outWidgetID, const NTV2DeviceID inDeviceID = DEVICE_ID_NOTFOUND);
331 
339  static bool GetWidgetsForInput (const NTV2InputXptID inInputXpt, NTV2WidgetIDSet & outWidgetIDs);
340 
351  static bool GetWidgetForInput (const NTV2InputXptID inInputXpt, NTV2WidgetID & outWidgetID, const NTV2DeviceID inDeviceID = DEVICE_ID_NOTFOUND);
352 
360  static bool GetWidgetInputs (const NTV2WidgetID inWidgetID, NTV2InputXptIDSet & outInputs);
361 
368  static bool GetAllWidgetInputs (const NTV2DeviceID inDeviceID, NTV2InputXptIDSet & outInputs);
369 
376  static bool GetAllRoutingRegInfos (const NTV2InputXptIDSet & inInputs, NTV2RegisterWrites & outRegInfos);
377 
385  static bool GetWidgetOutputs (const NTV2WidgetID inWidgetID, NTV2OutputXptIDSet & outOutputs);
386 
394  static bool GetConnectionsFromRegs (const NTV2InputXptIDSet & inInputXptIDs, const NTV2RegisterReads & inRegValues, NTV2XptConnections & outConnections); // New in SDK 16.0
395 
400  static bool IsRGBOnlyInputXpt (const NTV2InputXptID inInputXpt); // New in SDK 16.0
401 
406  static bool IsYUVOnlyInputXpt (const NTV2InputXptID inInputXpt); // New in SDK 16.0
407 
412  static bool IsKeyInputXpt (const NTV2InputXptID inInputXpt); // New in SDK 16.0
413 
418  static NTV2Channel WidgetIDToChannel (const NTV2WidgetID inWidgetID); // New in SDK 16.1
419 
425  static NTV2WidgetID WidgetIDFromTypeAndChannel(const NTV2WidgetType inWidgetType, const NTV2Channel inChannel); // New in SDK 16.1
426 
431  static NTV2WidgetType WidgetIDToType (const NTV2WidgetID inWidgetID); // New in SDK 16.1
432 
437  static bool IsSDIWidgetType (const NTV2WidgetType inWidgetType); // New in SDK 16.1
438 
443  static bool IsSDIInputWidgetType (const NTV2WidgetType inWidgetType); // New in SDK 16.1
444 
449  static bool IsSDIOutputWidgetType (const NTV2WidgetType inWidgetType); // New in SDK 16.1
450 
455  static bool Is3GSDIWidgetType (const NTV2WidgetType inWidgetType); // New in SDK 16.1
456 
461  static bool Is12GSDIWidgetType (const NTV2WidgetType inWidgetType); // New in SDK 16.1
462 
467  static bool IsDualLinkWidgetType (const NTV2WidgetType inWidgetType); // New in SDK 16.1
468 
473  static bool IsDualLinkInWidgetType (const NTV2WidgetType inWidgetType); // New in SDK 16.1
474 
479  static bool IsDualLinkOutWidgetType (const NTV2WidgetType inWidgetType); // New in SDK 16.1
480 
485  static bool IsHDMIWidgetType (const NTV2WidgetType inWidgetType); // New in SDK 16.1
486 
491  static bool IsHDMIInWidgetType (const NTV2WidgetType inWidgetType); // New in SDK 16.1
492 
497  static bool IsHDMIOutWidgetType (const NTV2WidgetType inWidgetType); // New in SDK 16.1
498 
507  static bool CompareConnections (const NTV2XptConnections & inLHS,
508  const NTV2XptConnections & inRHS,
509  NTV2XptConnections & outNew,
510  NTV2XptConnections & outRemoved); // New in SDK 16.0
511 
521  static bool CreateFromString (const std::string & inString, NTV2XptConnections & outConnections); // New in SDK 16.0
522 
531  static bool CreateFromString (const std::string & inString, CNTV2SignalRouter & outRouter);
532 
542  static bool ToCodeString (std::string & outCode, const NTV2XptConnections & inConnections,
543  const PrintCodeConfig & inConfig = PrintCodeConfig()); // New in SDK 16.0
544 
545  static bool IsInitialized(void);
546 
554  static bool Initialize(void);
555 
563  static bool Deinitialize(void);
564 
565 }; // CNTV2SignalRouter
566 
567 
573 AJAExport NTV2InputXptID GetFrameBufferInputXptFromChannel (const NTV2Channel inFrameStore, const bool inIsBInput = false);
574 
580 AJAExport NTV2InputXptID GetCSCInputXptFromChannel (const NTV2Channel inCSC, const bool inIsKeyInput = false);
581 
586 AJAExport NTV2InputXptID GetLUTInputXptFromChannel (const NTV2Channel inLUT); // New in SDK 16.0
587 
593 AJAExport NTV2InputXptID GetDLInInputXptFromChannel (const NTV2Channel inChannel, const bool inLinkB = false);
594 
600 
608 AJAExport NTV2OutputXptID GetCSCOutputXptFromChannel (const NTV2Channel inCSC, const bool inIsKey = false, const bool inIsRGB = false);
609 
614 AJAExport NTV2OutputXptID GetLUTOutputXptFromChannel (const NTV2Channel inLUT); // New in SDK 16.0
615 
622 AJAExport NTV2OutputXptID GetFrameBufferOutputXptFromChannel (const NTV2Channel inFrameStore, const bool inIsRGB = false, const bool inIs425 = false);
623 
636 AJAExport NTV2OutputXptID GetInputSourceOutputXpt (const NTV2InputSource inInputSource, const bool inIsSDI_DS2 = false,
637  const bool inIsHDMI_RGB = false, const UWord inHDMI_Quadrant = 0);
638 
644 AJAExport NTV2OutputXptID GetSDIInputOutputXptFromChannel (const NTV2Channel inSDIInput, const bool inIsDS2 = false);
645 
651 AJAExport NTV2OutputXptID GetDLOutOutputXptFromChannel(const NTV2Channel inDLOutput, const bool inIsLinkB = false);
652 
658 
669 AJAExport NTV2InputXptID GetOutputDestInputXpt (const NTV2OutputDestination inOutputDest, const bool inIsSDI_DS2 = false, const UWord inHDMI_Quadrant = 99);
670 
676 AJAExport NTV2InputXptID GetSDIOutputInputXpt (const NTV2Channel inSDIOutput, const bool inIsDS2 = false);
677 
684 AJAExport NTV2OutputXptID GetMixerOutputXptFromChannel (const NTV2Channel inChannel, const bool inIsKey = false);
685 
692 AJAExport NTV2InputXptID GetMixerFGInputXpt (const NTV2Channel inChannel, const bool inIsKey = false);
693 
700 AJAExport NTV2InputXptID GetMixerBGInputXpt (const NTV2Channel inChannel, const bool inIsKey = false);
701 
707 AJAExport NTV2InputXptID GetTSIMuxInputXptFromChannel(const NTV2Channel inTSIMuxer, const bool inLinkB = false);
708 
715 AJAExport NTV2OutputXptID GetTSIMuxOutputXptFromChannel (const NTV2Channel inTSIMuxer, const bool inLinkB = false, const bool inIsRGB = false);
716 
717 
718 // Stream operators
719 AJAExport std::ostream & operator << (std::ostream & inOutStream, const CNTV2SignalRouter & inObj);
720 
721 #endif // NTV2SIGNALROUTER_H
CNTV2SignalRouter::GetNumberOfConnections
virtual ULWord GetNumberOfConnections(void) const
Definition: ntv2signalrouter.h:131
CNTV2SignalRouter::PrintCodeConfig::mShowComments
bool mShowComments
If true, show comments in the generated code.
Definition: ntv2signalrouter.h:193
CNTV2SignalRouter::IsEmpty
virtual bool IsEmpty(void) const
Definition: ntv2signalrouter.h:137
GetSDIOutputInputXpt
NTV2InputXptID GetSDIOutputInputXpt(const NTV2Channel inSDIOutput, const bool inIsDS2=false)
Definition: ntv2signalrouter.cpp:942
GetSDIInputOutputXptFromChannel
NTV2OutputXptID GetSDIInputOutputXptFromChannel(const NTV2Channel inSDIInput, const bool inIsDS2=false)
Definition: ntv2signalrouter.cpp:893
ajaexport.h
Defines the import/export macros for producing DLLs or LIBs.
NTV2InputCrosspointIDSet
std::set< NTV2InputXptID > NTV2InputCrosspointIDSet
Definition: ntv2signalrouter.h:26
GetMixerFGInputXpt
NTV2InputXptID GetMixerFGInputXpt(const NTV2Channel inChannel, const bool inIsKey=false)
Definition: ntv2signalrouter.cpp:968
NTV2OutputDestination
NTV2OutputDestination
Identifies a specific video output destination.
Definition: ntv2enums.h:1301
CNTV2SignalRouter::PrintCodeConfig::mFieldBreakText
std::string mFieldBreakText
Text to use for field breaks.
Definition: ntv2signalrouter.h:209
CNTV2SignalRouter::PrintCodeConfig::mChanged
NTV2XptConnections mChanged
Optional, to show changed connections.
Definition: ntv2signalrouter.h:211
CNTV2SignalRouter::PrintCodeConfig::mLineBreakText
std::string mLineBreakText
Text to use for line breaks.
Definition: ntv2signalrouter.h:208
NTV2InputXptIDSet
std::set< NTV2InputXptID > NTV2InputXptIDSet
A collection of distinct NTV2InputXptID values.
Definition: ntv2signalrouter.h:26
GetDLInInputXptFromChannel
NTV2InputXptID GetDLInInputXptFromChannel(const NTV2Channel inChannel, const bool inLinkB=false)
Definition: ntv2signalrouter.cpp:796
NTV2XptConnectionsConstIter
NTV2XptConnections::const_iterator NTV2XptConnectionsConstIter
Definition: ntv2signalrouter.h:40
NTV2Channel
NTV2Channel
These enum values are mostly used to identify a specific widget_framestore. They're also commonly use...
Definition: ntv2enums.h:1334
NTV2WidgetType
NTV2WidgetType
Definition: ntv2enums.h:3004
CNTV2SignalRouter::PrintCodeConfig::mUseRouter
bool mUseRouter
If true, use calls to CNTV2DeviceRouter instead of CNTV2Card.
Definition: ntv2signalrouter.h:195
CNTV2SignalRouter::PrintCodeConfig::mPreFunctionText
std::string mPreFunctionText
Function name prefix text.
Definition: ntv2signalrouter.h:204
CNTV2SignalRouter::PrintCodeConfig::mPostClassText
std::string mPostClassText
Class postfix text.
Definition: ntv2signalrouter.h:199
CNTV2SignalRouter::PrintCodeConfig::mRouterVarName
std::string mRouterVarName
Name to use for CNTV2DeviceRouter variable.
Definition: ntv2signalrouter.h:207
GetFrameBufferInputXptFromChannel
NTV2InputXptID GetFrameBufferInputXptFromChannel(const NTV2Channel inFrameStore, const bool inIsBInput=false)
Definition: ntv2signalrouter.cpp:762
NTV2XptConnection
std::pair< NTV2InputXptID, NTV2OutputXptID > NTV2XptConnection
Definition: ntv2signalrouter.h:38
NTV2DeviceID
NTV2DeviceID
Identifies a specific AJA NTV2 device model number. The NTV2DeviceID is actually the PROM part number...
Definition: ntv2enums.h:20
GetLUTOutputXptFromChannel
NTV2OutputXptID GetLUTOutputXptFromChannel(const NTV2Channel inLUT)
Definition: ntv2signalrouter.cpp:838
nlohmann::json_abiNLOHMANN_JSON_ABI_TAG_LEGACY_DISCARDED_VALUE_COMPARISON_v3_11_NLOHMANN_JSON_VERSION_PATCH::operator==
bool operator==(const json_pointer< RefStringTypeLhs > &lhs, const json_pointer< RefStringTypeRhs > &rhs) noexcept
Definition: json.hpp:14737
CNTV2SignalRouter::PrintCodeConfig::mPostVariableText
std::string mPostVariableText
Variable postfix text.
Definition: ntv2signalrouter.h:201
NTV2InputXptID
enum NTV2InputCrosspointID NTV2InputXptID
GetLUTInputXptFromChannel
NTV2InputXptID GetLUTInputXptFromChannel(const NTV2Channel inLUT)
Definition: ntv2signalrouter.cpp:788
CNTV2SignalRouter::PrintCodeConfig::mPostCommentText
std::string mPostCommentText
Comment postfix text.
Definition: ntv2signalrouter.h:197
GetMixerOutputXptFromChannel
NTV2OutputXptID GetMixerOutputXptFromChannel(const NTV2Channel inChannel, const bool inIsKey=false)
Definition: ntv2signalrouter.cpp:955
NTV2OutputCrosspointIDSet
std::set< NTV2OutputXptID > NTV2OutputCrosspointIDSet
Definition: ntv2signalrouter.h:18
GetOutputDestInputXpt
NTV2InputXptID GetOutputDestInputXpt(const NTV2OutputDestination inOutputDest, const bool inIsSDI_DS2=false, const UWord inHDMI_Quadrant=99)
Definition: ntv2signalrouter.cpp:928
NTV2WidgetIDSetConstIter
NTV2WidgetIDSet::const_iterator NTV2WidgetIDSetConstIter
An iterator for iterating over a read-only NTV2WidgetIDSet.
Definition: ntv2signalrouter.h:33
NTV2InputXptIDSetConstIter
NTV2InputXptIDSet::const_iterator NTV2InputXptIDSetConstIter
A const iterator for iterating over an NTV2InputXptIDSet.
Definition: ntv2signalrouter.h:27
GetMixerBGInputXpt
NTV2InputXptID GetMixerBGInputXpt(const NTV2Channel inChannel, const bool inIsKey=false)
Definition: ntv2signalrouter.cpp:981
CNTV2SignalRouter::GetConnections
virtual NTV2XptConnections GetConnections(void) const
Definition: ntv2signalrouter.h:142
NTV2InputXptIDSetIter
NTV2InputXptIDSet::iterator NTV2InputXptIDSetIter
A non-const iterator for iterating over an NTV2InputXptIDSet.
Definition: ntv2signalrouter.h:28
CNTV2SignalRouter::PrintCodeConfig::mPreCommentText
std::string mPreCommentText
Comment prefix text.
Definition: ntv2signalrouter.h:196
ULWord
uint32_t ULWord
Definition: ajatypes.h:255
NTV2ActualConnectionsConstIter
NTV2XptConnections::const_iterator NTV2ActualConnectionsConstIter
Definition: ntv2signalrouter.h:40
CNTV2SignalRouter::PrintCodeConfig::mPostFunctionText
std::string mPostFunctionText
Function name postfix text.
Definition: ntv2signalrouter.h:205
GetCSCOutputXptFromChannel
NTV2OutputXptID GetCSCOutputXptFromChannel(const NTV2Channel inCSC, const bool inIsKey=false, const bool inIsRGB=false)
Definition: ntv2signalrouter.cpp:819
CNTV2SignalRouter::PrintCodeConfig::mShowDeclarations
bool mShowDeclarations
If true, show variable declarations in the generated code.
Definition: ntv2signalrouter.h:194
CNTV2SignalRouter::PrintCodeConfig::mNew
NTV2XptConnections mNew
Optional, to show new connections.
Definition: ntv2signalrouter.h:210
CNTV2SignalRouter::PrintCodeConfig::mPostXptText
std::string mPostXptText
Crosspoint variable postfix text.
Definition: ntv2signalrouter.h:203
NTV2InputCrosspointIDToString
std::string NTV2InputCrosspointIDToString(const NTV2InputCrosspointID inValue, const bool inForRetailDisplay=false)
Definition: ntv2utils.cpp:5874
UWord
uint16_t UWord
Definition: ajatypes.h:253
NTV2RegisterReads
NTV2RegWrites NTV2RegisterReads
Definition: ntv2publicinterface.h:4014
GetCSCInputXptFromChannel
NTV2InputXptID GetCSCInputXptFromChannel(const NTV2Channel inCSC, const bool inIsKeyInput=false)
Definition: ntv2signalrouter.cpp:775
NTV2InputCrosspointIDSetConstIter
NTV2InputXptIDSet::const_iterator NTV2InputCrosspointIDSetConstIter
Definition: ntv2signalrouter.h:27
NTV2OutputXptIDSet
std::set< NTV2OutputXptID > NTV2OutputXptIDSet
A collection of distinct NTV2OutputXptID values.
Definition: ntv2signalrouter.h:18
CNTV2SignalRouter::PrintCodeConfig::mDeviceVarName
std::string mDeviceVarName
Name to use for CNTV2Card variable.
Definition: ntv2signalrouter.h:206
NTV2PossibleConnectionsConstIter
NTV2PossibleConnections::const_iterator NTV2PossibleConnectionsConstIter
Definition: ntv2signalrouter.h:42
NTV2Connection
std::pair< NTV2InputXptID, NTV2OutputXptID > NTV2Connection
This links an NTV2InputXptID and an NTV2OutputXptID.
Definition: ntv2signalrouter.h:38
NTV2WidgetID
NTV2WidgetID
Definition: ntv2enums.h:2878
CNTV2SignalRouter::PrintCodeConfig::mPreClassText
std::string mPreClassText
Class prefix text.
Definition: ntv2signalrouter.h:198
CNTV2SignalRouter
This class is a collection of widget input-to-output connections that can be applied all-at-once to a...
Definition: ntv2signalrouter.h:55
GetDLInOutputXptFromChannel
NTV2OutputXptID GetDLInOutputXptFromChannel(const NTV2Channel inDLInput)
Definition: ntv2signalrouter.cpp:917
NTV2CrosspointIDSet
NTV2OutputCrosspointIDSet NTV2CrosspointIDSet
Definition: ntv2signalrouter.h:24
NTV2_XptBlack
@ NTV2_XptBlack
Definition: ntv2enums.h:2505
NTV2InputSource
NTV2InputSource
Identifies a specific video input source.
Definition: ntv2enums.h:1244
nlohmann::json_abiNLOHMANN_JSON_ABI_TAG_LEGACY_DISCARDED_VALUE_COMPARISON_v3_11_NLOHMANN_JSON_VERSION_PATCH::operator!=
bool operator!=(const json_pointer< RefStringTypeLhs > &lhs, const json_pointer< RefStringTypeRhs > &rhs) noexcept
Definition: json.hpp:14762
NTV2OutputXptIDSetConstIter
NTV2OutputXptIDSet::const_iterator NTV2OutputXptIDSetConstIter
A const iterator for iterating over an NTV2OutputXptIDSet.
Definition: ntv2signalrouter.h:19
NTV2RegisterWrites
std::vector< NTV2RegInfo > NTV2RegisterWrites
Definition: ntv2publicinterface.h:4011
NTV2SignalConnection
std::pair< NTV2InputXptID, NTV2OutputXptID > NTV2SignalConnection
Definition: ntv2signalrouter.h:38
GetFrameBufferOutputXptFromChannel
NTV2OutputXptID GetFrameBufferOutputXptFromChannel(const NTV2Channel inFrameStore, const bool inIsRGB=false, const bool inIs425=false)
Definition: ntv2signalrouter.cpp:845
NTV2XptConnections
std::map< NTV2InputXptID, NTV2OutputXptID > NTV2XptConnections
Definition: ntv2signalrouter.h:39
GetTSIMuxOutputXptFromChannel
NTV2OutputXptID GetTSIMuxOutputXptFromChannel(const NTV2Channel inTSIMuxer, const bool inLinkB=false, const bool inIsRGB=false)
Definition: ntv2signalrouter.cpp:1005
CNTV2SignalRouter::PrintCodeConfig::mPreXptText
std::string mPreXptText
Crosspoint variable prefix text.
Definition: ntv2signalrouter.h:202
AJAExport
#define AJAExport
Definition: export.h:33
NTV2PossibleConnections
std::multimap< NTV2InputXptID, NTV2OutputXptID > NTV2PossibleConnections
A map of zero or more one-to-many possible NTV2InputXptID to NTV2OutputXptID connections.
Definition: ntv2signalrouter.h:41
GetInputSourceOutputXpt
NTV2OutputXptID GetInputSourceOutputXpt(const NTV2InputSource inInputSource, const bool inIsSDI_DS2=false, const bool inIsHDMI_RGB=false, const UWord inHDMI_Quadrant=0)
Definition: ntv2signalrouter.cpp:865
CNTV2SignalRouter::PrintCodeConfig
Definition: ntv2signalrouter.h:191
NTV2InputCrosspointIDSetIter
NTV2InputXptIDSet::iterator NTV2InputCrosspointIDSetIter
Definition: ntv2signalrouter.h:28
NTV2ActualConnections
std::map< NTV2InputXptID, NTV2OutputXptID > NTV2ActualConnections
A map of zero or more one-to-one actual NTV2InputXptID to NTV2OutputXptID connections.
Definition: ntv2signalrouter.h:39
NTV2OutputXptID
enum NTV2OutputCrosspointID NTV2OutputXptID
NTV2RegReads
NTV2RegWrites NTV2RegReads
An ordered sequence of zero or more NTV2RegInfo structs intended for ReadRegister.
Definition: ntv2publicinterface.h:4014
GetDLOutInputXptFromChannel
NTV2InputXptID GetDLOutInputXptFromChannel(const NTV2Channel inDLOutWidget)
Definition: ntv2signalrouter.cpp:808
ntv2publicinterface.h
Declares enums and structs used by all platform drivers and the SDK.
NTV2OutputCrosspointIDSetIter
NTV2OutputXptIDSet::iterator NTV2OutputCrosspointIDSetIter
Definition: ntv2signalrouter.h:20
NTV2OutputCrosspointIDToString
std::string NTV2OutputCrosspointIDToString(const NTV2OutputCrosspointID inValue, const bool inForRetailDisplay=false)
Definition: ntv2utils.cpp:6017
NTV2OutputCrosspointIDSetConstIter
NTV2OutputXptIDSet::const_iterator NTV2OutputCrosspointIDSetConstIter
Definition: ntv2signalrouter.h:19
CNTV2SignalRouter::ResetFrom
virtual bool ResetFrom(const NTV2XptConnections &inConnections)
Resets me, replacing any/all existing connections with the given connections.
Definition: ntv2signalrouter.h:125
NTV2OutputXptIDSetIter
NTV2OutputXptIDSet::iterator NTV2OutputXptIDSetIter
A non-const iterator for iterating over an NTV2OutputXptIDSet.
Definition: ntv2signalrouter.h:20
CNTV2SignalRouter::Reset
virtual void Reset(void)
Resets me, erasing any/all existing connections.
Definition: ntv2signalrouter.h:108
GetTSIMuxInputXptFromChannel
NTV2InputXptID GetTSIMuxInputXptFromChannel(const NTV2Channel inTSIMuxer, const bool inLinkB=false)
Definition: ntv2signalrouter.cpp:993
DEVICE_ID_NOTFOUND
@ DEVICE_ID_NOTFOUND
Invalid or "not found".
Definition: ntv2enums.h:92
NTV2WidgetIDSet
std::set< NTV2WidgetID > NTV2WidgetIDSet
A collection of distinct NTV2WidgetID values.
Definition: ntv2signalrouter.h:32
CNTV2SignalRouter::PrintCodeConfig::mMissing
NTV2XptConnections mMissing
Optional, to show deleted connections.
Definition: ntv2signalrouter.h:212
GetDLOutOutputXptFromChannel
NTV2OutputXptID GetDLOutOutputXptFromChannel(const NTV2Channel inDLOutput, const bool inIsLinkB=false)
Definition: ntv2signalrouter.cpp:905
operator<<
std::ostream & operator<<(std::ostream &inOutStream, const NTV2OutputXptIDSet &inObj)
CNTV2SignalRouter::PrintCodeConfig::mPreVariableText
std::string mPreVariableText
Variable prefix text.
Definition: ntv2signalrouter.h:200