AJA NTV2 SDK  17.5.0.1530
NTV2 SDK 17.5.0.1530
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 NTV2XptConnection & inObj);
45 AJAExport std::ostream & operator << (std::ostream & inOutStream, const NTV2XptConnections & inObj);
46 
57 {
58  // Instance Methods
59  public:
60  inline CNTV2SignalRouter () {Reset ();}
61  virtual inline ~CNTV2SignalRouter () {}
62 
70  virtual bool AddConnection (const NTV2InputXptID inSignalInput, const NTV2OutputXptID inSignalOutput = NTV2_XptBlack);
71 
79  virtual bool RemoveConnection (const NTV2InputXptID inSignalInput, const NTV2OutputXptID inSignalOutput);
80 
88  virtual bool HasConnection (const NTV2InputXptID inSignalInput, const NTV2OutputXptID inSignalOutput) const;
89 
96  virtual bool HasInput (const NTV2InputXptID inSignalInput) const;
97 
103  virtual NTV2OutputXptID GetConnectedOutput (const NTV2InputXptID inSignalInput) const;
104 
109  virtual inline void Reset (void) {mConnections.clear ();}
110 
118  virtual bool ResetFromRegisters (const NTV2InputXptIDSet & inInputXpts, const NTV2RegisterReads & inRegReads);
119 
126  virtual bool ResetFrom (const NTV2XptConnections & inConnections) {mConnections = inConnections; return true;} // New in SDK 16.0
127 
132  virtual inline ULWord GetNumberOfConnections (void) const {return ULWord (mConnections.size ());}
133 
138  virtual inline bool IsEmpty (void) const {return mConnections.empty();}
139 
143  virtual inline NTV2XptConnections GetConnections (void) const {return mConnections;}
144 
150  virtual bool GetRegisterWrites (NTV2RegisterWrites & outRegWrites) const;
151 
164  virtual bool Compare (const CNTV2SignalRouter & inRHS,
165  NTV2XptConnections & outNew,
166  NTV2XptConnections & outChanged,
167  NTV2XptConnections & outMissing) const;
168 
174  virtual inline bool operator == (const CNTV2SignalRouter & inRHS) const {NTV2XptConnections tmp; return Compare(inRHS, tmp,tmp,tmp);}
175 
181  virtual inline bool operator != (const CNTV2SignalRouter & inRHS) const {return !(inRHS == *this);}
182 
190  virtual std::ostream & Print (std::ostream & inOutStream, const bool inForRetailDisplay = false) const;
191 
193  {
196  bool mUseRouter;
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;
208  std::string mRouterVarName;
209  std::string mLineBreakText;
210  std::string mFieldBreakText;
214 
220  PrintCodeConfig ();
221  };
222 
231  virtual bool PrintCode (std::string & outCode, const PrintCodeConfig & inConfig = PrintCodeConfig()) const;
232 
233  // Instance Data
234  private:
235  typedef NTV2XptConnections::iterator NTV2XptConnectionsIter;
236 
237  NTV2XptConnections mConnections;
238 
239 
240  public: // CLASS METHODS
251  static bool GetRouteROMInfoFromReg (const ULWord inROMRegNum, const ULWord inROMRegValue,
252  NTV2InputXptID & outInputXpt, NTV2OutputXptIDSet & outOutputXpts,
253  const bool inAppendOutputXpts = false); // New in SDK 16.0; moved into CNTV2SignalRouter in SDK 16.1
254 
261  static bool GetPossibleConnections (const NTV2RegReads & inROMRegisters,
262  NTV2PossibleConnections & outConnections); // New in SDK 16.0; moved into CNTV2SignalRouter in SDK 16.1
263 
269  static bool MakeRouteROMRegisters (NTV2RegReads & outROMRegisters); // New in SDK 16.0; moved into CNTV2SignalRouter in SDK 16.1
270 
277  static std::string NTV2InputCrosspointIDToString (const NTV2InputXptID inInputXpt);
278 
285  static std::string NTV2OutputCrosspointIDToString (const NTV2OutputXptID inOutputXpt);
286 
293  static NTV2InputXptID StringToNTV2InputCrosspointID (const std::string & inStr);
294 
301  static NTV2OutputXptID StringToNTV2OutputCrosspointID (const std::string & inStr);
302 
309  static bool GetWidgetIDs (const NTV2DeviceID inDeviceID, NTV2WidgetIDSet & outWidgets);
310 
318  static bool GetWidgetsForOutput (const NTV2OutputXptID inOutputXpt, NTV2WidgetIDSet & outWidgetIDs);
319 
331  static bool GetWidgetForOutput (const NTV2OutputXptID inOutputXpt, NTV2WidgetID & outWidgetID, const NTV2DeviceID inDeviceID = DEVICE_ID_NOTFOUND);
332 
340  static bool GetWidgetsForInput (const NTV2InputXptID inInputXpt, NTV2WidgetIDSet & outWidgetIDs);
341 
352  static bool GetWidgetForInput (const NTV2InputXptID inInputXpt, NTV2WidgetID & outWidgetID, const NTV2DeviceID inDeviceID = DEVICE_ID_NOTFOUND);
353 
361  static bool GetWidgetInputs (const NTV2WidgetID inWidgetID, NTV2InputXptIDSet & outInputs);
362 
369  static bool GetAllWidgetInputs (const NTV2DeviceID inDeviceID, NTV2InputXptIDSet & outInputs);
370 
377  static bool GetAllRoutingRegInfos (const NTV2InputXptIDSet & inInputs, NTV2RegisterWrites & outRegInfos);
378 
386  static bool GetWidgetOutputs (const NTV2WidgetID inWidgetID, NTV2OutputXptIDSet & outOutputs);
387 
394  static bool GetAllWidgetOutputs (const NTV2DeviceID inDeviceID, NTV2OutputXptIDSet & outOutputs); // New in SDK 17.5
395 
403  static bool GetConnectionsFromRegs (const NTV2InputXptIDSet & inInputXptIDs, const NTV2RegisterReads & inRegValues, NTV2XptConnections & outConnections); // New in SDK 16.0
404 
409  static bool IsRGBOnlyInputXpt (const NTV2InputXptID inInputXpt); // New in SDK 16.0
410 
415  static bool IsYUVOnlyInputXpt (const NTV2InputXptID inInputXpt); // New in SDK 16.0
416 
421  static bool IsKeyInputXpt (const NTV2InputXptID inInputXpt); // New in SDK 16.0
422 
427  static NTV2Channel WidgetIDToChannel (const NTV2WidgetID inWidgetID); // New in SDK 16.1
428 
434  static NTV2WidgetID WidgetIDFromTypeAndChannel(const NTV2WidgetType inWidgetType, const NTV2Channel inChannel); // New in SDK 16.1
435 
440  static NTV2WidgetType WidgetIDToType (const NTV2WidgetID inWidgetID); // New in SDK 16.1
441 
446  static bool IsSDIWidgetType (const NTV2WidgetType inWidgetType); // New in SDK 16.1
447 
452  static bool IsSDIInputWidgetType (const NTV2WidgetType inWidgetType); // New in SDK 16.1
453 
458  static bool IsSDIOutputWidgetType (const NTV2WidgetType inWidgetType); // New in SDK 16.1
459 
464  static bool Is3GSDIWidgetType (const NTV2WidgetType inWidgetType); // New in SDK 16.1
465 
470  static bool Is12GSDIWidgetType (const NTV2WidgetType inWidgetType); // New in SDK 16.1
471 
476  static bool IsDualLinkWidgetType (const NTV2WidgetType inWidgetType); // New in SDK 16.1
477 
482  static bool IsDualLinkInWidgetType (const NTV2WidgetType inWidgetType); // New in SDK 16.1
483 
488  static bool IsDualLinkOutWidgetType (const NTV2WidgetType inWidgetType); // New in SDK 16.1
489 
494  static bool IsHDMIWidgetType (const NTV2WidgetType inWidgetType); // New in SDK 16.1
495 
500  static bool IsHDMIInWidgetType (const NTV2WidgetType inWidgetType); // New in SDK 16.1
501 
506  static bool IsHDMIOutWidgetType (const NTV2WidgetType inWidgetType); // New in SDK 16.1
507 
516  static bool CompareConnections (const NTV2XptConnections & inLHS,
517  const NTV2XptConnections & inRHS,
518  NTV2XptConnections & outNew,
519  NTV2XptConnections & outRemoved); // New in SDK 16.0
520 
530  static bool CreateFromString (const std::string & inString, NTV2XptConnections & outConnections); // New in SDK 16.0
531 
540  static bool CreateFromString (const std::string & inString, CNTV2SignalRouter & outRouter);
541 
551  static bool ToCodeString (std::string & outCode, const NTV2XptConnections & inConnections,
552  const PrintCodeConfig & inConfig = PrintCodeConfig()); // New in SDK 16.0
553 
554  static bool IsInitialized(void);
555 
563  static bool Initialize(void);
564 
572  static bool Deinitialize(void);
573 
574 }; // CNTV2SignalRouter
575 
576 
582 AJAExport NTV2InputXptID GetFrameStoreInputXptFromChannel (const NTV2Channel inFrameStore, const bool inIsBInput = false); // Renamed in SDK 17.5
583 
589 AJAExport NTV2InputXptID GetCSCInputXptFromChannel (const NTV2Channel inCSC, const bool inIsKeyInput = false);
590 
595 AJAExport NTV2InputXptID GetLUTInputXptFromChannel (const NTV2Channel inLUT); // New in SDK 16.0
596 
602 AJAExport NTV2InputXptID GetDLInInputXptFromChannel (const NTV2Channel inChannel, const bool inLinkB = false);
603 
609 
617 AJAExport NTV2OutputXptID GetCSCOutputXptFromChannel (const NTV2Channel inCSC, const bool inIsKey = false, const bool inIsRGB = false);
618 
623 AJAExport NTV2OutputXptID GetLUTOutputXptFromChannel (const NTV2Channel inLUT); // New in SDK 16.0
624 
631 AJAExport NTV2OutputXptID GetFrameStoreOutputXptFromChannel (const NTV2Channel inFrameStore, const bool inIsRGB = false, const bool inIs425 = false); // Renamed in SDK 17.5
632 
645 AJAExport NTV2OutputXptID GetInputSourceOutputXpt (const NTV2InputSource inInputSource, const bool inIsSDI_DS2 = false,
646  const bool inIsHDMI_RGB = false, const UWord inHDMI_Quadrant = 0);
647 
653 AJAExport NTV2OutputXptID GetSDIInputOutputXptFromChannel (const NTV2Channel inSDIInput, const bool inIsDS2 = false);
654 
660 AJAExport NTV2OutputXptID GetDLOutOutputXptFromChannel(const NTV2Channel inDLOutput, const bool inIsLinkB = false);
661 
667 
678 AJAExport NTV2InputXptID GetOutputDestInputXpt (const NTV2OutputDestination inOutputDest, const bool inIsSDI_DS2 = false, const UWord inHDMI_Quadrant = 99);
679 
685 AJAExport NTV2InputXptID GetSDIOutputInputXpt (const NTV2Channel inSDIOutput, const bool inIsDS2 = false);
686 
693 AJAExport NTV2OutputXptID GetMixerOutputXptFromChannel (const NTV2Channel inChannel, const bool inIsKey = false);
694 
701 AJAExport NTV2InputXptID GetMixerFGInputXpt (const NTV2Channel inChannel, const bool inIsKey = false);
702 
709 AJAExport NTV2InputXptID GetMixerBGInputXpt (const NTV2Channel inChannel, const bool inIsKey = false);
710 
716 AJAExport NTV2InputXptID GetTSIMuxInputXptFromChannel(const NTV2Channel inTSIMuxer, const bool inLinkB = false);
717 
724 AJAExport NTV2OutputXptID GetTSIMuxOutputXptFromChannel (const NTV2Channel inTSIMuxer, const bool inLinkB = false, const bool inIsRGB = false);
725 
726 
727 // Stream operators
728 AJAExport std::ostream & operator << (std::ostream & inOutStream, const CNTV2SignalRouter & inObj);
729 
730 #if !defined(NTV2_DEPRECATE_17_5)
731  #define GetFrameBufferOutputXptFromChannel GetFrameStoreOutputXptFromChannel
732  #define GetFrameBufferInputXptFromChannel GetFrameStoreInputXptFromChannel
733 #endif // !defined(NTV2_DEPRECATE_17_5)
734 
735 #endif // NTV2SIGNALROUTER_H
CNTV2SignalRouter::GetNumberOfConnections
virtual ULWord GetNumberOfConnections(void) const
Definition: ntv2signalrouter.h:132
CNTV2SignalRouter::PrintCodeConfig::mShowComments
bool mShowComments
If true, show comments in the generated code.
Definition: ntv2signalrouter.h:194
CNTV2SignalRouter::IsEmpty
virtual bool IsEmpty(void) const
Definition: ntv2signalrouter.h:138
GetSDIOutputInputXpt
NTV2InputXptID GetSDIOutputInputXpt(const NTV2Channel inSDIOutput, const bool inIsDS2=false)
Definition: ntv2signalrouter.cpp:970
GetSDIInputOutputXptFromChannel
NTV2OutputXptID GetSDIInputOutputXptFromChannel(const NTV2Channel inSDIInput, const bool inIsDS2=false)
Definition: ntv2signalrouter.cpp:921
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:996
NTV2OutputDestination
NTV2OutputDestination
Identifies a specific video output destination.
Definition: ntv2enums.h:1310
CNTV2SignalRouter::PrintCodeConfig::mFieldBreakText
std::string mFieldBreakText
Text to use for field breaks.
Definition: ntv2signalrouter.h:210
CNTV2SignalRouter::PrintCodeConfig::mChanged
NTV2XptConnections mChanged
Optional, to show changed connections.
Definition: ntv2signalrouter.h:212
CNTV2SignalRouter::PrintCodeConfig::mLineBreakText
std::string mLineBreakText
Text to use for line breaks.
Definition: ntv2signalrouter.h:209
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:824
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:1343
NTV2WidgetType
NTV2WidgetType
Definition: ntv2enums.h:3021
CNTV2SignalRouter::PrintCodeConfig::mUseRouter
bool mUseRouter
If true, use calls to CNTV2DeviceRouter instead of CNTV2Card.
Definition: ntv2signalrouter.h:196
CNTV2SignalRouter::PrintCodeConfig::mPreFunctionText
std::string mPreFunctionText
Function name prefix text.
Definition: ntv2signalrouter.h:205
CNTV2SignalRouter::PrintCodeConfig::mPostClassText
std::string mPostClassText
Class postfix text.
Definition: ntv2signalrouter.h:200
CNTV2SignalRouter::PrintCodeConfig::mRouterVarName
std::string mRouterVarName
Name to use for CNTV2DeviceRouter variable.
Definition: ntv2signalrouter.h:208
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:866
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:202
NTV2InputXptID
enum NTV2InputCrosspointID NTV2InputXptID
GetLUTInputXptFromChannel
NTV2InputXptID GetLUTInputXptFromChannel(const NTV2Channel inLUT)
Definition: ntv2signalrouter.cpp:816
CNTV2SignalRouter::PrintCodeConfig::mPostCommentText
std::string mPostCommentText
Comment postfix text.
Definition: ntv2signalrouter.h:198
GetMixerOutputXptFromChannel
NTV2OutputXptID GetMixerOutputXptFromChannel(const NTV2Channel inChannel, const bool inIsKey=false)
Definition: ntv2signalrouter.cpp:983
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:956
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:1009
GetFrameStoreOutputXptFromChannel
NTV2OutputXptID GetFrameStoreOutputXptFromChannel(const NTV2Channel inFrameStore, const bool inIsRGB=false, const bool inIs425=false)
Definition: ntv2signalrouter.cpp:873
CNTV2SignalRouter::GetConnections
virtual NTV2XptConnections GetConnections(void) const
Definition: ntv2signalrouter.h:143
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:197
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:206
GetCSCOutputXptFromChannel
NTV2OutputXptID GetCSCOutputXptFromChannel(const NTV2Channel inCSC, const bool inIsKey=false, const bool inIsRGB=false)
Definition: ntv2signalrouter.cpp:847
CNTV2SignalRouter::PrintCodeConfig::mShowDeclarations
bool mShowDeclarations
If true, show variable declarations in the generated code.
Definition: ntv2signalrouter.h:195
CNTV2SignalRouter::PrintCodeConfig::mNew
NTV2XptConnections mNew
Optional, to show new connections.
Definition: ntv2signalrouter.h:211
CNTV2SignalRouter::PrintCodeConfig::mPostXptText
std::string mPostXptText
Crosspoint variable postfix text.
Definition: ntv2signalrouter.h:204
NTV2InputCrosspointIDToString
std::string NTV2InputCrosspointIDToString(const NTV2InputCrosspointID inValue, const bool inForRetailDisplay=false)
Definition: ntv2utils.cpp:5879
UWord
uint16_t UWord
Definition: ajatypes.h:253
NTV2RegisterReads
NTV2RegWrites NTV2RegisterReads
Definition: ntv2publicinterface.h:4072
GetCSCInputXptFromChannel
NTV2InputXptID GetCSCInputXptFromChannel(const NTV2Channel inCSC, const bool inIsKeyInput=false)
Definition: ntv2signalrouter.cpp:803
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:207
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:2895
CNTV2SignalRouter::PrintCodeConfig::mPreClassText
std::string mPreClassText
Class prefix text.
Definition: ntv2signalrouter.h:199
CNTV2SignalRouter
This class is a collection of widget input-to-output connections that can be applied all-at-once to a...
Definition: ntv2signalrouter.h:56
GetDLInOutputXptFromChannel
NTV2OutputXptID GetDLInOutputXptFromChannel(const NTV2Channel inDLInput)
Definition: ntv2signalrouter.cpp:945
NTV2CrosspointIDSet
NTV2OutputCrosspointIDSet NTV2CrosspointIDSet
Definition: ntv2signalrouter.h:24
NTV2_XptBlack
@ NTV2_XptBlack
Definition: ntv2enums.h:2516
NTV2InputSource
NTV2InputSource
Identifies a specific video input source.
Definition: ntv2enums.h:1253
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:4069
NTV2SignalConnection
std::pair< NTV2InputXptID, NTV2OutputXptID > NTV2SignalConnection
Definition: ntv2signalrouter.h:38
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:1033
CNTV2SignalRouter::PrintCodeConfig::mPreXptText
std::string mPreXptText
Crosspoint variable prefix text.
Definition: ntv2signalrouter.h:203
GetFrameStoreInputXptFromChannel
NTV2InputXptID GetFrameStoreInputXptFromChannel(const NTV2Channel inFrameStore, const bool inIsBInput=false)
Definition: ntv2signalrouter.cpp:790
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:893
CNTV2SignalRouter::PrintCodeConfig
Definition: ntv2signalrouter.h:192
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:4072
GetDLOutInputXptFromChannel
NTV2InputXptID GetDLOutInputXptFromChannel(const NTV2Channel inDLOutWidget)
Definition: ntv2signalrouter.cpp:836
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:6022
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:126
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:109
GetTSIMuxInputXptFromChannel
NTV2InputXptID GetTSIMuxInputXptFromChannel(const NTV2Channel inTSIMuxer, const bool inLinkB=false)
Definition: ntv2signalrouter.cpp:1021
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:213
GetDLOutOutputXptFromChannel
NTV2OutputXptID GetDLOutOutputXptFromChannel(const NTV2Channel inDLOutput, const bool inIsLinkB=false)
Definition: ntv2signalrouter.cpp:933
operator<<
std::ostream & operator<<(std::ostream &inOutStream, const NTV2OutputXptIDSet &inObj)
CNTV2SignalRouter::PrintCodeConfig::mPreVariableText
std::string mPreVariableText
Variable prefix text.
Definition: ntv2signalrouter.h:201