i make beer, music, and code. sometimes in that order.

ruby TUIO client useage

i was snooping around the inter-tubes and found a blog post about using my tuio client.  since i use Processing for any graphical front ends, i use jruby to run my hybird java/ruby TUIO projects.   since, the JVM uses native threads instead of “green” threads like c-ruby, there isn’t any waiting on other threads to execute nonsense.  i would think that something similar to thread starvation would be a particularly pesky problem if you integrated with c/c++ libs that had ruby extensions.

in other news, i’m working up a thin jruby wrapper for Processing to give an example of how to integrate audio, midi, and the tuio libraries into a singe processing project.

how do you express your love of maven?  with this “i love maven” song!  play it while it’s downloading the internet!

[Flash 9 is required to listen to audio.]

TUIO client now supports event callbacks

no more polling for you (unless you want to)!  i’ve worked on the ruby tuio client to now support event driven programming.  there is an example of it’s usage in the new, aptly named example folder.

TUIO client for Ruby

I’ve separated out the ruby TUIO client i’ve been working on to it’s own github project.  This is an alpha-works-on-my-machine release but it has served me faithfully in my ultimate midi controller that integrates with reacTIVision. I’m still trying to figure out how to get a gem to build on github, but that is coming soon enough.  It requires the OSC gem to run, and requires rspec and rr to run the tests.  My email is in the gemspec, so hit me up if you have questions.

quick into to MIDI

in describing some of my projects to others, i realized i started getting blank stares around the same point: MIDI.  first, i will tell you what it is not.  MIDI is not the bleeps that you hear from old video games, it is a protocol used by musical equipment to control devices.  so in my studio, i have a sequencer, which is just a program that sends commands like “turn this note on, turn this note off, adjust this parameter, change this, do that.”  then it is up to the instruments to listen to those commands and see if they should take action.  there can be up to 16 different channels, which essentially means you can have 16 different instruments for your sequencer to talk to.  These can be virtual synths that are programs, or physical hardware devices.