KnobsAndSlidersDS
-----------------

This software allows you to use your Nintendo DS touchscreen to control things remotely over wifi. You can dynamically create widgets like knobs and sliders on the DS by sending it messages from your PC or laptop. You can interact with the widgets using the NDS touch screen, which will send messages back over the network.

The main use-case for this software is controlling Pure Data patches from the NDS touchscreen. It's intended as a replacement for complicated MIDI controller hardware in situations where more portability is required, such as when travelling. It communicates on the local wifi network using the FUDI protocol supported by Pure Data. Apparently it works ok with Max/MSP as well (check out the .pat file).

LICENSE
-------

This software is copyright 2006, 2007 Chris McCormick, with some contributions copyright Frank Barknecht.
This software is licensed under the terms of the GNU General Public License version 2 or higher.
Please see the file 'GPL' for details.

Installation
------------

Copy the KnobsAndSlidersDS.nds file onto your NDS removable media and start the program. The program uses inbuilt WFC data in order to connect to your network, which means that you have to have configured your WFC data already using an NDS game such as Tetris or Mario Kart. The program will connect to your local network using WFC and then broadcast all data to the local network. Any computer on the local network listening to the right port (1234) will receive data from KnobsAndSlidersDS.

Testing
-------

If you use Pure Data and have it installed, then load up the patch "KnobsAndSlidersDS-test.pd" and then start the KnobsAndSlidersDS program. Once the program connects using the WFC data you should see messages from it in the Pd console. After that you can experiment with the patch to create and destroy knobs and sliders, and receive data from the DS. There is also a demo patch called DSjammer.pd which you can try out.

If you want to see how the FUDI protocol works, do the following:

First, set up a listening socket:
nc -l -u -p 1234

Launch KnobsAndSlidersDS on your DS console and after it connects you'll see "ip xxx.xxx.xxx.xx" appear on that socket. This is the IP address of the NDS on the local network. Create a new UDP connection to the DS:

nc -u xxx.xxx.xxx.xxx 1234

Now you can send messages to create knobs and sliders:
add slider 1 10 60 2 127 16 h
add knob 5 15 30 0 127 10
del 1

You can touch the knobs and sliders to modify their values and these will show up on the first socket you created.

