2010-04-04 - New OSX release, new libdsmi for DS, PulseDS working again!
A lot has happened with DSMI lately, so today I'm realeasing quite a bunch of updates:
DSMI Server for OSX v1.02
Fixes compatibility problems with Snow Leopard.
libdsmi for DS v3.1
Important bugfix: Re-enables sending of beacons (necessary for DS apps that receive MIDI)
DS MIDI Keyboard v1.5
OSC Example v1.2
PulseDS is now finally working again (tested!) The problem was that I accidentally disabled sending of beacons, so the server didn't know which IPs to send MIDI messages to. Sorry about that!
All example apps are now compatible with libnds 1.4.3 and devkitARM r30 (latest versions as of April 2010) and have been updated to the latest devkitpro nds templates. KaosDS, DS MIDI Keyboard and the OSC Example now use the default ARM7 binary, which means they are much less code now. Thanks to Wintermute who kindly provided patches to libdsmi and the OSC Example!
2009-02-21 - libDSMI 0.8 and MIDI Motion Machine for iPhone released!
TheRain has released the first version of the DSMI library for the iPhone! This library enables iPhone developers to create wireless MIDI controllers like xy-controllers, drum pads or keyboards! The iPhone applications can talk to any MIDI software on your computer through the DSMI server, making your iPhone a full-blown MIDI instrument! libDSMI for iPhone is available from the downloads page.
MIDI Motion Machine
TheRain has also released an exciting new app called MIDI Motion Machine, a tilt-based MIDI controller including 16 note trigger pads. The source code of a reduced free version of this app is available from the DSMI SVN. This should help you get started writing your own iPhone MIDI apps in no time! You can get the commercial full application and the reduced free version (out soon) form the Apple AppStore. For more information on MIDI Motion Machine, check out the official site.
2009-01-30 - DSMI v3.0 out of beta, now hosted at Google Code, ported to the iPhone!
That's right, a lot is happening with DSMI lately! I've ported libdsmi, KaosDS, PulseDS and DSMIDIKeyboard to the new libnds v1.3.1. This library introduces a lot of simplifications, making the code shorter and more readable. For developers, the libdsmi API has stayed the same, except that dsmi_setup_wifi_support is no longer necessary and has thus been removed. For end-users, nothing has changed.
To make colaboration easier, I set up a Google Code project for DSMI, which is now the official place to download the library and applications. Google Code features a nice source browser so you can check out the source code more easily. Also, there is an issue tracker that you can use to inform us of bugs.
One more thing: Collin Meyer has ported DSMI to the iPhone and released the first DSMI-enabled iPhone application! iXY is a Kaoss Pad style MIDI controller that lets you control your synth parameters or light effects with the touch of your fingers. iXY is available from the App Store for 99US cent / 79EUR cent. The library itself is work in progress and will be released soon, so everyone can write MIDI-enabled iPhone apps!
It turns out DSMI keeps facing trouble regarding its name. It first started off as DSMIDIWiFi. After I added hardware MIDI support through the DSerial, the "WiFi" part of the name was no longer appropriate, so I changed the name to DSMI. I didn't call it DSMIDI in order to avoid the name collision with Collin's DSMIDI hardware hack. It turned out this was the right choice, because fishuyo came along and added OSC support which would have made the MIDI part of the name inappropriate anyway. Now that Collin has ported DSMI to the iPhone, the DS part of the name would have to go. Nevertheless, we decided on keeping the name in order to avoid confusion. If anyone has an idea for a new meaning of the DSMI acronym, please let us know :-)
2008-12-23 - New version of the OSC example
fishuyo has updated the OSC example so the x- and y-axes of the Kaoss Pad are sent as separate, [0,1]-normalized values.
2008-12-06 - PulseDS fixed
Ever wondered why PulseDS doesn't work? It was broken, that's why. The problem is fixd in the new version 1.4.