I use an Arduino with a DMX shield and a scruffy bit of code. The arduino is triggered by a bit of code on the PC which attaches to the Cortex API. I'm sure there's a simpler way (perhaps the Arduino listening to XaP) one day I'll get round to tidying it up...