I started adding more midi support to pygame.
Pygame can already play midi files, however it can not get midi input, or send midi output to devices.
Nicholas played around with some midi stuff in our eye stabs computer game... where it turned notes from a real guitar using pitch detection into midi events. This experiment used portmidi, and it seems to work ok in a cross platform manner.
I hooked up my USB midi controller, and am able to get midi events!
I've also added some code which converts the midi events into pygame events, and posts them to the normal pygame event queue. This simplifies things for people already used to handling events with pygame (like mouse, keyboard, and joystick events).
I can also get it to write to midi outputs, but haven't really got a use for that yet. However I would like to hook it up to my casio keyboard to get some retro sounds out of it... but I have no midi output converter anymore. It is possible to get USB->midi converters fairly cheaply these days.
Anyway... it should be possible to write a joystick->midi program, a web cam->midi, and all sorts of other fun things with this. There's lots of music devices out there that talk midi, so this should be quite fun!
Hopefully it'll make it into the next release of pygame -- pygame 1.9, and of course into pygame reloaded (think py3k for pygame).