Normally, this part of the project would typically be just as time consuming if not more so. However, I've made quite a few devices in the last couple years, and they all talk to the computer using the same routing program for OSC and midi messages. All the code is below, but probably would need an instructable of it's own to make much sense. The main files that are important for this project are the lightOrgan.c and lightOrgan.h files, which are also provided here separately. The midi functionality comes from the RtMidi C++ library
, which is fantastic by the way. It allows you to create virtual midi devices and send and receive messages from them, not much else you need! The OSC functionality comes from the liblo osc
I worked on this software for a while a long time ago as part of another project which I still currently use
, which is why the main program is called polynomeSerial. It is basically a reimplementation of the monomeSerial software, for anyone who uses monomes. Over time I've added more and more hardware to it. Since I have it running while I'm playing, it's an easy way for me to add more and more hardware to my setup without having to do much programming. All of the hardware I make uses the same USB interface, the FT232R usb to serial adapter, and uses the same communication protocol for sending and receiving messages. The same two message protocol that is used by the monome (by no coincidence of course).
Although monomeSerial has a nice GUI to go with it, for whatever reason a while ago I thought it would suit me better to run out of the terminal. So, there's really not much to show. The program runs by opening up a terminal, and using the command:
l for light organ, p for polynome, and a few other pieces of hardware still in the works are in there as well. Again, feel free to ask questions if you go digging through the code.