yes, that does happen sometimes.
You can use the EzAudDac calls in the same way, just send the data as groups of 8 16 bit signed integers in the data structure and modify the size value passed as well, since it's in bytes.
Code:
struct EAD_Pnt_s {
__int16 X;
__int16 Y;
__int16 R;
__int16 G;
__int16 B;
__int16 I;
__int16 AL;
__int16 AR;
};
int __stdcall EzAudDacGetCardNum(void);
bool __stdcall EzAudDacWriteFrame(const int& CardNum, const EAD_Pnt_s* data, int Bytes, uint16 PPS);
bool __stdcall EzAudDacWriteFrameNR(const int& CardNum, const EAD_Pnt_s* data, int Bytes, uint16 PPS, uint16 Reps);
int __stdcall EzAudDacGetStatus(const int& CardNum);
bool __stdcall EzAudDacStop(const int& CardNum);
bool __stdcall EzAudDacClose(void);
Also there will be a ttl shutter implemented eventually, and probably even DMX so no need to throw those calls out.