@@ -834,6 +834,7 @@ PyCommandMacro(ndiTSTART, "TSTART:")
834834PyCommandMacro(ndiTSTOP, " TSTOP:" )
835835PyCommandMacro(ndiGX, " GX:%04X" )
836836PyCommandMacro(ndiBX, " BX:%04X" )
837+ PyCommandMacro(ndiTX, " TX:%04X" )
837838PyCommandMacro(ndiLED, " LED:%c%d%c" )
838839PyCommandMacro(ndiBEEP, " BEEP:%i" )
839840PyCommandMacro(ndiVER, " VER:%d" )
@@ -935,6 +936,35 @@ static PyObject* Py_ndiGetBXTransform(PyObject* module, PyObject* args)
935936 return NULL ;
936937}
937938
939+ static PyObject* Py_ndiGetTXTransform (PyObject* module , PyObject* args)
940+ {
941+ char port;
942+ int result;
943+ double transform[8 ];
944+ ndicapi* pol;
945+
946+ if (PyArg_ParseTuple (args, " O&c:plGetTXTransform" ,
947+ &_ndiConverter, &pol, &port))
948+ {
949+ result = ndiGetTXTransform (pol, port, transform);
950+
951+ if (result == NDI_MISSING)
952+ {
953+ return PyString_FromString (" MISSING" );
954+ }
955+ else if (result == NDI_DISABLED)
956+ {
957+ return PyString_FromString (" DISABLED" );
958+ }
959+
960+ return Py_BuildValue (" (dddddddd)" , transform[0 ], transform[1 ],
961+ transform[2 ], transform[3 ], transform[4 ],
962+ transform[5 ], transform[6 ], transform[7 ]);
963+ }
964+
965+ return NULL ;
966+ }
967+
938968static PyObject* Py_ndiGetGXPortStatus (PyObject* module , PyObject* args)
939969{
940970 char port;
@@ -961,13 +991,30 @@ static PyObject* Py_ndiGetBXPortStatus(PyObject* module, PyObject* args)
961991 if (PyArg_ParseTuple (args, " O&c:plGetBXPortStatus" ,
962992 &_ndiConverter, &pol, &port))
963993 {
964- result = ndiGetGXPortStatus (pol, port);
994+ result = ndiGetBXPortStatus (pol, port);
965995 return PyNDIBitfield_FromUnsignedLong (result);
966996 }
967997
968998 return NULL ;
969999}
9701000
1001+ static PyObject* Py_ndiGetTXPortStatus (PyObject* module , PyObject* args)
1002+ {
1003+ char port;
1004+ int result;
1005+ ndicapi* pol;
1006+
1007+ if (PyArg_ParseTuple (args, " O&c:plGetTXPortStatus" ,
1008+ &_ndiConverter, &pol, &port))
1009+ {
1010+ result = ndiGetTXPortStatus (pol, port);
1011+ return PyNDIBitfield_FromUnsignedLong (result);
1012+ }
1013+
1014+ return NULL ;
1015+ }
1016+
1017+
9711018static PyObject* Py_ndiGetGXSystemStatus (PyObject* module , PyObject* args)
9721019{
9731020 int result;
@@ -999,6 +1046,22 @@ static PyObject* Py_ndiGetBXSystemStatus(PyObject* module, PyObject* args)
9991046 return NULL ;
10001047}
10011048
1049+ static PyObject* Py_ndiGetTXSystemStatus (PyObject* module , PyObject* args)
1050+ {
1051+ int result;
1052+ ndicapi* pol;
1053+
1054+ if (PyArg_ParseTuple (args, " O&:plGetTXSystemStatus" ,
1055+ &_ndiConverter, &pol))
1056+ {
1057+ result = ndiGetTXSystemStatus (pol);
1058+ return PyNDIBitfield_FromUnsignedLong (result);
1059+ }
1060+
1061+ return NULL ;
1062+ }
1063+
1064+
10021065
10031066static PyObject* Py_ndiGetGXToolInfo (PyObject* module , PyObject* args)
10041067{
@@ -1092,6 +1155,23 @@ static PyObject* Py_ndiGetBXFrame(PyObject* module, PyObject* args)
10921155 return NULL ;
10931156}
10941157
1158+ static PyObject* Py_ndiGetTXFrame (PyObject* module , PyObject* args)
1159+ {
1160+ char port;
1161+ unsigned long result;
1162+ ndicapi* pol;
1163+
1164+ if (PyArg_ParseTuple (args, " O&c:plGetTXFrame" ,
1165+ &_ndiConverter, &pol, &port))
1166+ {
1167+ result = ndiGetTXFrame (pol, port);
1168+ return PyLong_FromUnsignedLong (result);
1169+ }
1170+
1171+ return NULL ;
1172+ }
1173+
1174+
10951175static PyObject* Py_ndiGetGXNumberOfPassiveStrays (PyObject* module ,
10961176 PyObject* args)
10971177{
@@ -1337,6 +1417,20 @@ static PyObject* Py_ndiGetIRCHKSourceXY(PyObject* module, PyObject* args)
13371417 return NULL ;
13381418}
13391419
1420+ static PyObject* Py_ndiGetPHRQHandle (PyObject* module , PyObject* args)
1421+ {
1422+ int result;
1423+ ndicapi* pol;
1424+
1425+ if (PyArg_ParseTuple (args, " O&:plGetPHRQHandle" ,
1426+ &_ndiConverter, &pol))
1427+ {
1428+ result = ndiGetPHRQHandle (pol);
1429+ return PyInt_FromLong (result);
1430+ }
1431+ return NULL ;
1432+ }
1433+
13401434static PyObject* Py_ndiGetPHSRNumberOfHandles (PyObject* module , PyObject* args)
13411435{
13421436 int result;
@@ -1351,15 +1445,16 @@ static PyObject* Py_ndiGetPHSRNumberOfHandles (PyObject* module, PyObject* args)
13511445 return NULL ;
13521446}
13531447
1354- static PyObject* Py_ndiGetPHRQHandle (PyObject* module , PyObject* args)
1448+ static PyObject* Py_ndiGetPHSRHandle (PyObject* module , PyObject* args)
13551449{
13561450 int result;
13571451 ndicapi* pol;
1452+ int i;
13581453
1359- if (PyArg_ParseTuple (args, " O&:plGetPHRQHandle " ,
1360- &_ndiConverter, &pol))
1454+ if (PyArg_ParseTuple (args, " O&i:plGetPHSRHandle " ,
1455+ &_ndiConverter, &pol, &i ))
13611456 {
1362- result = ndiGetPHRQHandle (pol);
1457+ result = ndiGetPHSRHandle (pol,i );
13631458 return PyInt_FromLong (result);
13641459 }
13651460 return NULL ;
@@ -1561,6 +1656,19 @@ static PyMethodDef NdicapiMethods[] =
15611656 // Py_NDIMethodMacro(ndiGetBXNumberOfPassiveStrays),
15621657 // Py_NDIMethodMacro(ndiGetBXPassiveStray),
15631658
1659+ Py_NDIMethodMacro (ndiTX),
1660+
1661+ Py_NDIMethodMacro (ndiGetTXTransform),
1662+ Py_NDIMethodMacro (ndiGetTXPortStatus),
1663+ Py_NDIMethodMacro (ndiGetTXSystemStatus),
1664+ // Py_NDIMethodMacro(ndiGetTXToolInfo),
1665+ // Py_NDIMethodMacro(ndiGetTXMarkerInfo),
1666+ // Py_NDIMethodMacro(ndiGetTXSingleStray),
1667+ Py_NDIMethodMacro (ndiGetTXFrame),
1668+ // Py_NDIMethodMacro(ndiGetTXNumberOfPassiveStrays),
1669+ // Py_NDIMethodMacro(ndiGetTXPassiveStray),
1670+
1671+
15641672 Py_NDIMethodMacro (ndiLED),
15651673 Py_NDIMethodMacro (ndiBEEP),
15661674 Py_NDIMethodMacro (ndiVER),
@@ -1600,8 +1708,9 @@ static PyMethodDef NdicapiMethods[] =
16001708 Py_NDIMethodMacro (ndiGetIRCHKNumberOfSources),
16011709 Py_NDIMethodMacro (ndiGetIRCHKSourceXY),
16021710
1603- Py_NDIMethodMacro (ndiGetPHSRNumberOfHandles),
16041711 Py_NDIMethodMacro (ndiGetPHRQHandle),
1712+ Py_NDIMethodMacro (ndiGetPHSRNumberOfHandles),
1713+ Py_NDIMethodMacro (ndiGetPHSRHandle),
16051714
16061715 Py_NDIMethodMacro (ndiIRED),
16071716 Py_NDIMethodMacro (ndi3D),
0 commit comments