Jump to content

DIY Control Panel via iPad/MIDI

Recommended Posts

Hi everyone -- wanted to share a method I've used to create a wireless touchscreen control panel for Steel Beasts, using an old iPad I had lying around:



What you need:

-a Wifi network

-an iPad

-TB MIDI Stuff ($4 on the App Store)

-MIDI Translator Classic (free)

-rtpMIDI (free)


[NB: TB MIDI Stuff hasn't been updated in a while and can be a little buggy. You can use TouchOSC instead which is more reliable, but the controls end up looking a bit too slick for the inside of a tank, in my opinion.]


What you're creating is a custom control interface that sends MIDI note messages over the local network. If you were a musician, you might use this to trigger samples during a performance—but instead we'll translate those musical notes into keystrokes which will be played back on your Steel Beasts computer.


Step 1)

Install TB MIDI Stuff on your iPad, open it up and hit the button that looks like a small wrench. Make sure the following settings are correct:


MIDI Out: WiFi Network: Session 1

Background Mode: On

(It should look like this)



Then you can create a new interface using the "+" button -> "Add a new page":



Once you have a blank page, you can go ahead and start adding custom controls. Let's start by adding a simple Drum Pad, which is basically just a touch sensitive button.





Once you've sized and placed the button to your taste, highlight it and click the "i" button to open up its settings. Scroll down to "MIDI Messages" and select it.



Add a new MIDI Message and choose "Note Message."



Change mode to "Send Only" then set the Note value. These range from "C-2" to "G8" and are coded as musical notes on an octave scale. You can choose any note you'd like, as long as you choose a different note for each button.



Now go ahead and click "Done" in the window. And save the entire page by clicking "Done"->"Save Page" on the top left. Now that you have a working button which sends a signal over the network, you just have to set up a server on your Steel Beasts computer to receive that message and translate it into a keystroke.


Step 2)

Install rtpMIDI and start it up. Under "Session," click the "Enabled" checkbox. Then find your iPad under the Directory listing and click "Connect." It should look something like this:



Step 3)

Install MIDI Translator Classic and start it up. Under the "MIDI In" menu, select your computer. Then click "Preset" -> "New". Now you're ready to translate each button's input into a keystroke.


Click on "Translator"->"Add." Double-click on the new entry, which should bring up the following window. Click on the "Incoming" tab, then click the "Capture MIDI" checkbox. Now press the new button you made on your TB MIDI Stuff control page in Step 1. You should see something like the following come up:



You'll notice that two messages have come in. One starts with a "80" and the other one starts with "90". The "90" message is the "Note On" (button down) message, and the "80" message is the "Note Off" (button up) message. We want to trigger the action as soon as the button is pressed, so you should select the "90" message. It will be copied into the message bar like so:



Now click on the "Outgoing" tab, then change the Outgoing Action type to "Keystroke Emulation." Type in the key you want to trigger when the button is pressed, then click "Apply." It should look like this:




Voila! Now you have a button on your iPad which will trigger a keystroke on your computer via the wireless network. You can now go ahead and repeat this process for as many buttons as you need. I've made a 'universal' Steel Beasts controller, but of course you could make custom pages for each tank if you'd like.




In theory you should be able to do a lot more with TB MIDI Stuff than just push buttons—e.g. use the accelerometer on the iPad to turn the tank left and right by turning the iPad like a wheel—but I'll leave that for you guys to discover. Hope that was helpful, and let me know if you have other questions, or if any of this was unclear.


EDIT: To get you started, I've attached my presets for TB MIDI Stuff (Steel Beasts.tbms) and MIDI Translator Classic (steelbeasts.bmtp) configured as above. To load the TB MIDI Stuff preset, connect to your iPad via iTunes, go to File Sharing->TB MIDI Stuff, and drag-and-drop it into the Documents area. To use the corresponding MIDI Translator preset you can just load it up in the program. (Please note that MIDI Translator Classic logs notes as one octave higher than they appear in TB MIDI Stuff—so for example, if MIDI Translator Classic says the note is a C4, you want to program your button in TB MIDI Stuff to fire a C3.)


Steel Beasts.tbms

Edited by Mezentius

Share this post

Link to post
Share on other sites
22 hours ago, daskal said:

Can you also do this using a simple mobile phone?


Hey! I recently started learning how to code Android apps. I already have a project I'm working on, but now I've got an idea for the next one.

Share this post

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...