Skip to content

Commit 5d537bb

Browse files
thompson318adamrankin
authored andcommitted
Improved Python Support for Aurora wired tools. (#18)
Added ndiTX, ndiGetTXTransform, ndiGetTXPortStatus, ndiGetTXSystemStatus, ndiGetTXFrame, ndiGetPHSRNumberOfHandles, and ndiGetPHSRHandle to Python module
1 parent 7af09f3 commit 5d537bb

1 file changed

Lines changed: 115 additions & 6 deletions

File tree

ndicapimodule.cxx

Lines changed: 115 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -834,6 +834,7 @@ PyCommandMacro(ndiTSTART, "TSTART:")
834834
PyCommandMacro(ndiTSTOP, "TSTOP:")
835835
PyCommandMacro(ndiGX, "GX:%04X")
836836
PyCommandMacro(ndiBX, "BX:%04X")
837+
PyCommandMacro(ndiTX, "TX:%04X")
837838
PyCommandMacro(ndiLED, "LED:%c%d%c")
838839
PyCommandMacro(ndiBEEP, "BEEP:%i")
839840
PyCommandMacro(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+
938968
static 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+
9711018
static 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

10031066
static 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+
10951175
static 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+
13401434
static 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

Comments
 (0)