Unfortunately it only interfaces with programs designed a certain way. I currently build them in Lua using the LÖVE game engine, but the protocol they use to talk to the driver is a simple text-based one that you can use with other dynamic languages (that allow redefining top-level definitions).
Comments
Let me know if you have more questions, etc. I'd be happy to demo it for you over a call.