FingerPlay MIDI


FingerPlay MIDI is a MIDI controller for Android. Any changes made to the controllers on your phone are transmitted over the WIFI network to a receiving computer using either OSC messages or its own FingerPlay format. The MIDI messages can then be sent to any music software capable of receiving MIDI input.
Download FingerPlay MIDI from the Android Market
Get the source code from Google Code.
A FingerPlay MIDI patch for Pure Data by Bérenger Recoules
FingerPlay in Windows with LoopBe1
Download and install Java.
Download and install a virtual MIDI driver like LoopBe1.
Download the FingerPlayServer zip-file and unpack it somewhere on your hard drive. Start it from the command line with:
java -jar FingerPlayServer.jar
The server will display the IP address and port number you need to connect to it from your phone.
Once you’ve connected, select LoopBe1 from the list of available MIDI output devices.
Start Ableton and make sure LoopBe1 is enabled for input in the MIDI settings.
Any changes made to the controllers in FingerPlay will be sent over the network to Ableton as a MIDI Message.
OSCulator
Click the top right button in FingerPlay to go to the settings screen, choose “OSC Server” as the “Server Type” and in “Server Address” enter your computer’s IP address followed by “:8000″ (which is the default port for OSCulator).
So if your IP address is 192.168.0.4, enter “192.168.0.4:8000″.
If the phone manages to connect you can back out of the settings screen and play around with the MIDI controllers in FingerPlay which will send messages to OSCulator.
If you see the messages coming through to OSCulator, you can click one of them and set its event type to “MIDI CC” and give it a control change value in the “Value” column. This should be enough to send it to Ableton as long as you’ve enabled OSCulator in Ableton Live’s preferences (enable “track” and “remote” for OSCulator under the “MIDI Sync” tab).
Custom layouts
If you create a folder on your sdcard called FingerPlayMIDI and put a file in it called layout.xml, FingerPlay will use that file instead of its own default layout.
Here’s the default layout file:
http://fingerplaymidi.googlecode.com/svn/trunk/client/res/raw/layout_default.xml
Remember to turn off USB storage before starting FingerPlay MIDI or it won’t be able to access the file on the card.
This is a bit confusing for people like me that doesn’t use computers much. I’m unsure on what to do.
Yes, I feel that there’s too much to install and setup and I’ll try to simplify the process as much as I can. Is there anything in particular you’re struggling with?
no support for mac os x? what’s the story?
You should be able to use OSCulator on the mac as long as you set the server type to OSC. http://www.osculator.net/wp/
I’m not a mac user myself but I’ll do some tests in the morning.
Server doesn’t work on linux, ie. it seems to, but no sound is played. I checked with SimpleMidiPlayer and java seems happy to play midi alright, so I guess the problem must be somewhere in the server.
The server doesn’t play any sounds itself, it will only relay the MIDI messages sent from the phone to an MIDI port on your computer.
I can get the server to run and receive messages from the phone, but I’ll see if it works with ALSA later this week.
Here’s a how-to on MIDI sequencers with softsynths for linux:
http://www.faqs.org/docs/Linux-HOWTO/MIDI-HOWTO.html#ss10.1
Oh, I get it now! This is not a complete instrument, but only a controller! Now only to find out what to drive that with…
nice app! worked ok with reason
)
can you add more controller windows? more sliders would be great
also maybe one screen could display 1,2 xy controllers.
bestest gphone app ever!!!
Glad you like it!
I’m definitely planning on adding more controllers, just not sure how to squeeze them all in there. But I’ll see what I can do.
Divide, did you get it to work with linux? Really interested in hearing how you set it up in the end.
when I type
“java -jar (I then drag the file into terminal)”
I recieve this Error:
Exception in thread “Thread-0″ java.lang.UnsupportedClassVersionError: Bad version number in .class file
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:675)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:316)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:280)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:374)
at FingerPlayServer.run(FingerPlayServer.java:33)
at java.lang.Thread.run(Thread.java:613)
If it helps, Mac OS X 10.5.7
Any help would be appriciated. I’ve unpacked all the the contents of the folder (two .jar files and a .bat file) directly on my Hard Drive. No subfolders.
Thanks!
Thanks for letting me know. I’ve updated the zip file with a new version which works on OS X, so please re-download FingerPlayServer.zip and try again.
It should say its version number, v0.5.1, when you start it. Let me know if you have any problems getting it to run.
Thanks for the update. The jar file now opens and displays
‘java -jar /FingerPlayServer.jar
FingerPlayServer v0.5.1
Listening on 192.168.1.100:4444
Waiting for connection from phone..”
And that’s as far as it gets. When returning to the phone application, I select
Server Type: FingerServer
put in that address, and hit connect. It will say connecting, but then disconnect. When I try on OSCServer, it works, but nothing seems to happen on the computer side, and the terminal does not show a connect string
Thanks for your help!
Off the top of my head, the only thing I can think of is that you’re not connected to the same network or the phone wifi isn’t switched on? I’ll add some more helpful errors to the application over the weekend.
.. or it could be the firewall on OS X?
it seems to be a firewall issue. I’ll try it when I get home to a none-firewalled metwork
I’ve tried it on two different macs and it worked on one but not the other. I’m pretty sure it’s firewall related. Let me know how you get on.
Thanks for the ongoing support. I got the chance this morning to try it on my home network where there is no firewall. It worked perfectly (as far as a connected message through terminal).
I then changed the server type to OSCServer and connected, set up osculator, and osculator recognised the messages perfectly as well.
This confirms its firewall related to my network at work. My question is, is there a way to change the port FingerPlayServer listens on from the (what I’m assuming is) default port of 4444? Also, if I switch to oscserver, do I need to still run the FingerPlayServer java file?
Feel free to email if you’d rather not crowd up your message board, but I thought this might be good info for other users to learn as well
Thanks for you help!
I’ll make sure to add some way of changing the port for the server tomorrow and update it but if you’re using osculator you won’t FingerPlayServer, so you can remove it.
I agree, I think all these comments will be helpful to others as well. Thanks for the feedback!
Hey, I’m really looking forward to trying this but is there anyone way you could write a really simplified guide to setting it up on OS X? I’ve got the OSCulator thing and the FingerPlayServer as well as Ableton Live but I’ve got no idea how to get it working.
Thanks.
Just found FingerPlay on the market and I’m excited to try it in linux.
I would like to see G1 trackball used for modulation and/or pitch control.
I’ll be back with results.
To Divide,
You may need to use Jack as the virtual midi connector in linux.
Jack, All you need to do is start OSCulator and set FingerPlay to connect to the OSC server type and enter your computer’s local IP and port 8000, the default port for OSCulator. So if your computer IP is 192.168.1.4, enter “192.168.1.4:8000″ in the server address field and press connect.
Here’s how to find your computer’s IP address on Mac. http://bit.ly/1Hl2D
Now when you touch any controller on the phone it will send a message to OSCulator which can pass it on to Ableton as a MIDI message.
If nothing happens then your firewall might be blocking the connection between the phone and OSCulator. I’ve tried it on two different Macs, one worked and the other didn’t, but unfortunately I don’t know enough about OS X’s firewall to help you with this.
tekrytor,
Let me know how you get on. I’ve tried the server on a linux machine but haven’t been able to test it properly with any MIDI software yet.
[...] FingerPlay MIDI jump to navigation [...]
Yeah, nice =)
Haven’t tried it, due to the lack of an android-phone, but already looking for some nice software.
Plan to use it for controlling my Traktor-Software (especially the effects-section), when it’s possible (should be, because i can configure every MIDI-Controller to work with it). I hope, that there’ll be some BUTTONS in your software soon, too!
cool bit of kit, would love some BUTTONS, maybe 12, that would be amazing,!!!?????
amazing work none the less?
vik
[...] FingerPlay MIDI [...]
[...] 以前我曾经报道过首款Android虚拟钢琴程序Musical,感谢1.5系统的到来加入对实时音频API的支持。今天新出来的一个叫做FingerPlay MIDI的程序更厉害啦,它可以让你通过WiFi来发送OSC控制信息到电脑,通过Android手机上的虚拟推子和触摸板,来控制电脑上运行的虚拟乐器软件演奏。尽管都是可以演奏的音乐程序,但之前的Musical是自己发声,只有简单的钢琴音色。这次出来的FingerPlay MIDI则是发出OSC控制信息,控制你的电脑发声,发出什么声音,控制声音如何变化,都取决于你电脑上运行什么虚拟乐器软件。 [...]
[...] FingerPlay MIDI [...]
i do not connect to server http://www.nerds.de/ and do not download driver for windows.
please upload LoopBe1 to another server, please
toren, if you can’t connect to nerds.de you can try with MIDI Yoke instead:
http://www.midiox.com/index.htm?http://www.midiox.com/myoke.htm
i really want this to work but have no clue what so ever? tried to follow the guide but no luck. i’m on an intel imac 10.4.11.
Can some one please upload a guide for dum-asses like me lol
Thanks
Cheesehead
ch,
Have you tried OSCulator? http://www.osculator.net/wp/
Download and run it. Then set server type to “OSC Server” on your phone and connect to your IP address and the port OSCulator says it’s listening to (default is 8000).
You can find your IP address in “Apple -> System preferences.. -> network”, choose your active connection, click “Advanced..” and finally the TCP/IP tab.
I’m not a Mac user myself but there’s one here at work and that’s how I found the IP address.
Server address on the phone should read something like “192.168.0.80:8000″ for port 8000 and a server address of 192.168.0.80.
Click “Connect to Server”.
Thanks Flat20,
I’m getting closer, i’m now getting a connection between my phone and osculator but it won’t pick up in ableton. i ‘ve selected osculator in midi prefs and tried to assign control data from the phone.
I’m so close!!!!! COME ON WORK!!!!!!!
H E L P ! ! ! !
If you see the messages coming through to OSCulator, you can click one of them and set its event type to “MIDI CC” and give it a control change value in the “Value” column. This should be enough to send it to Ableton.
I’m in the same boat as some others. Not Mac user cant use OSCulator. Server starts up waits for connection. Cannot connect to Fingerplay server. Change to OSCulator mode. makes connection. Nothing happens. Any suggestions? (On same networks, firewall is off).
YES I”M IN!!!!!
Great work! : ) I’m gonna show of in the studio with this little baby!!
It’s not too smooth but i think that might be the wifi connetion.
Needs more faders and dials. One huge knob for filter sweeps.
Thanks for the support online, keep up the great work.
10/10
After turning the app off and on again, the controls won’t work anymore. Seems like they have new Control-IDs. I have to configure my Midisoftware everytime I start the app on my phone
Ok this is live as hell when can we get drum pad(trigger and or sequencing like in fruity loops maybe) support…that will make this the beez kneez
MAN … awesome….
I AM BEGGING YOU… please add 2 NO – 3 MORE control pages – 1 – TRANSPORT… jeez that’d kick real nuts if one could control TRANSPORT through this app… i just imagine womdering around the studio and pressing play … that would seriously ROCK..
PAGE no 2 … as already suggested – mpc type pads maybe 4×4 or 4×6 depends on how this would look…
PAge no 3 …. ROTARY controls … like little rotor thingies as you would have that are similar to the 4 line controls only round. ..
i mean the whole programming i imagine wouldn’t be much different to what you have done so far but just need to add more midi channels and pages with different VISUAL implemetations of the same thing you already have …
i’d totally pay money for that…
so yes .. thanks for the work so far anyway…
P.S. if you don’t mind (and you decide to expand the app of course) , i can make the graphics for the app …
got some sweet ideas in mind….
jeez, i am totally excited…
I got CCs working on XP and Vista, but nothing in Linux yet. I think it can be done though. I’m just getting things clear on the dark (windows) side, and then I’ll give it another go in Linux.
In my case, I had trouble because FingerPlay on Android indicated I should connect to 127.0.0.1:4444 or 0.0.0.0:4444 for the server, despite my host being 192.168.2.4. So I ran “ipconfig” in a command prompt on my Windows box, it returned “192.168.2.4″, which I entered on the G1 with :4444 added and it then connected. This connection was confirmed on the XP/Vista box in the FingerPlay Server window, after which I could see the midi commands getting across. This is the first step, then I selected LoopBe or Maple on the G1 as the MIDI Output Device and selected LoopBe or Maple as the input device on my softsynth. Then the fun begins linking the midi controls in the softsynth, which depends on the software how it’s done. So I won’t go into that here.
For new midi users, there are many good sites with midi info that you might need to use this stuff, midi is not plug-n-play. One site (many out there) with info on midi commands is:
http://www.midi.org/techspecs/midimessages.php
It might also need to know how to count and convert between hex, binary and decimal formats. Try wikipedia if you get stuck on this.
Hey – just got the update and the 16 pads are nice … they are prefect for launching clips in ableton live ..
Now we only need a page to control Impulse (i mean the pads work the same as the 16 page control only they have to send midi on and off signal as soon as you let it go… …
similar to a keyboard key …
maybe that can be added as an option for the 16 pad page that already exists…
yeah ,,
and seperate page for transport controls as I mentioned in the previous post would be so cool …
jkl, Adding a simple step sequencer is something I wanted too, I was planning a button for each slider which would open up a sequencer window so you could automate the sliders. If you have any design ideas I’d love to hear/see them – the UI is getting a bit cluttered.
I’ll make sure the buttons work like proper pads with pressure and not just simple switches
.
tekrytor, thanks for posting the info. I’ll sit down and make a proper tutorial with your info in it and take some screenshots as well.
I installed ubuntu on my old laptop yesterday so I can test it with linux now.
hey flat20 that’s a nice idea to have a simple step sequencer…
yes – i can sketch out some ideas how to have a sequencer with the faders.
anyway just drop me an email to jklsound@googlemail.com and i will send you some design ideas …
cheers..
hello flat20 , it’s me again – jeez you are hard worker – i mean second update in like one and a half days…..
i see you changed the 4×4 pad grid to act as piano keys contrary to the previous style where each time you press the pad, it gets on or off signal…
the idea is great – love it but the little glitch with it is that there is this random way that the pads assign their midi signal….
let me tell you what i am getting at…
in most drum plugins the drum pad sounds are assigned to the preconfigured midi notes …. (also known as a piano roll) … so in almost all plugins for example kick goes on the C1 snare on c2 or c3 etc.
well the pads don’t have this configuration and the only way to make a sequencer like ableton live to map this midi input to a drum pad is to use an external program that remaps given input signal from for example pad 1 to a note C1…. (because altough some plugins do, most drum plugins and daws don’t allow you to remap the piano roll because it is sort of an industry standart)
it would be nice if the drum pads would already be configured to map notes from c1 upwards to whatever it gets ….. BUT then we have another problem – there aren’t enough pads to cover the whole piano roll… so in my opinion it would be awesome to be able to configure the notes under settings/configure midi controllers… also for the sake of not confusing people i can suggest renaming the two big pads to X/Y pads or xy axis pads…. and the 4×4 pads to mpc or drum pads…
so i think it would work perfectly if in the end you would be able to go into settings and set any piano roll note to any pad so you could even play simple melodies if your plugin would be a synth… sorta like mpcs work….
also it’d be great if you would make the 4×4 pads a tad bit bigger because sometimes if you are performing with it, you can miss the pad accidentally … so yeah i think for the drum pads it is safe to use as much screen real estate as possible.
I already tried to use this app last night in a performance and it just blows people away … but i had few glitches with not being able to hit the pads… (i used them to launch live clips….
Also i know i already ask a lot but please bring back the old pads as well – maybe it is possible to have both … because the just on or off pads that were in version 0.6 are just PERFECT for ableton Live clip launch feature…
actually please crop me an email so i have your email address – i did some sketches and i have some neat ideas about a step sequencer …
i meant drop
Im still having a little trouble working the OSCulator with Ableton on Mac OS X … can anyone post some step by step directions?
Having problems with:
- Finding where to input my computers IP into the G1 FingerPlay
- Understanding the basic config of OSCulator (How to set it up to work with Ableton)
…Because I get Ableton to understand that OSCulator is running, but cant get the mapping commands to follow through.. I get ableton in mapping mode but cant get it to read the commands.
I’m loving this. I’d like to create such an app myself. Are you willing to release the source code? If so, I’d love to take a look and see what you’re doing and how.
aUs10v,
1) Click the top right button in FingerPlay to go to the settings screen, choose “OSC Server” as the “Server Type” and in “Server Address” enter your computer’s IP address followed by “:8000″ (which is the default port for OSCulator).
So if your IP address is 192.168.0.4, enter “192.168.0.4:8000″.
2) If the phone manages to connect you can back out of the settings screen and play around with the MIDI controllers in FingerPlay which will send messages to OSCulator.
If you see the messages coming through to OSCulator, you can click one of them and set its event type to “MIDI CC” and give it a control change value in the “Value” column. This should be enough to send it to Ableton as long as you’ve enabled OSCulator in Ableton Live’s preferences (enable “track” and “remote” for OSCulator under the “MIDI Sync” tab).
I hope that helps!
Codey, I’m planning to release the source code for it, but it needs a clean up first
.
Beautiful.
I completely understand and appreciate the need to clean up your code before release, although I think much can be learned from viewing subversion logs and viewing a programmer’s refactoring.
Might I suggest Github?
Good news on the Linux side, using UbuntuStudio 9.04 with the Audio package, I run a terminal and navigate to the folder with FingerPlayServer, then enter the following string:
java FingerPlayServer.jar %1 %2
It didn’t like the %1 %2, so I dropped them and it worked. It responded with the ip address, which I checked using the following command in another terminal:
ip addr
Then look for the ip address in the output.
The server runs, now I’m working on the midi interfaces in Jack. I’m trying to connect to ZynAddSubFx or LMMS.
Anyone else get this far in Linux and can tip me on the virtual midi interface stuff?
About the UI on the G1, I would like to see the X-Y pads programmable, so I can set one to midi notes on one axis and modulation on the other, with velocity according to pressure – for example. And, I would like to have one large X-Y pad for playing notes, and the two smaller pads for other CCs. But basically, if I could set the CCs on the G1 or in an XML file and load it onto the G1, that would be cool. Just brainstorming a bit. But to play notes, a bigger pad would be great. As is, I’m using Bome’s MidiTranslator to conver the CCs to the ones I want. It adds a layer, and that’s a Windows program, I want to do this in Linux if I can. Keeping it compact for the G1 is also a priority for the kid I’m sure. This is soooo coool a toool! Thanks Kid!
tekrytor, I want to add as many features as possible without over-complicating things for the standard user. Having an XML file for the advanced user is certainly a possibility. I could create a default layout and anyone who wanted to could create his own.
I installed ubuntu on my other laptop so I can try it out on linux.
Cheers!
Codey,
Github sounds like a good idea. And you asked about why I use openGL, I tried using native controls for it but switching between tabs, for example, was too slow.
I use FingerPlay to add effects in DJ software so I tried to make the controllers as quick and easy to access as I could.
I’m trying to connect wiht Mac os10.5
when I run the java applet in terminal I get this message:
Listening on 192.168.1.8:4444
java.net.BindException: Address already in use
when I connect to that IP on my phone, I get these options for midi devices:
Real Time Sequencer
Java Sound Synthesizer
I can’t seem to get OSCulater or the java applet to recognize my midi inputs
FingerplayMIDI v0.6.3 set up to send to an OSC server:
I’m not getting any arguments just /fingerplay/control1 /fingerplay/control2 etc and nothing following it with the current data
I have the slider/button but not the state.
Using Pd version 0.41.4-extended from http://bit.ly/muLyl
and a simple patch based on a “dumpOSC 4444″ object to test.
As an aside:
Which osc library are you using?
I was getting constant garbage collection on device when using the javaosc library from http://bit.ly/Vfbyy which was then causing glitches in the ui thread.
Had it compiling pre cupcake but haven’t looked at my code in a while.
Would be keen to see your code as I was using xml based layouts not opengl.
Good work.
How do you map the pads to trigger notes say for instance dr. Rex or fruity loops fpc?
filthy mack, I’ll update fingerplay tonight so it sends notes rather than standard midi control change messages.
Hey i’m getting there but i’m wondering if you can suggest a perminant piece of free software as Ableton is only a 14 day trial? Sorry for being a cheapskate. Cheers
it is saying the server is listening localy. (127.0.0.1:4444) think it could be my firewall? im useing eset nod 32
Hi,
Just to say I just had a look, and I don’t think this is ready yet to try on Linux (cos I don’t have loads of free time to try it out at the moment). Still though, I give it a month, I’m sure by then someone will have gotten through the whole process and posted instructions.
Meanwhile though, I’d really like to see your source code… Is that something you are planning to release? I really want to write a midi tracker app for android, and seeing the jet functions in use, (if you use them at all that is) would really help…
Thanks for writing it!
Ale
Hi there,
I was hoping I could get a little help, which I’d really appreciate. I’ve installed the Fingerplay client on my android phone (which looks awesome), but I can’t seem to get my PC to run the java file for the server? I’m probably missing something incredibly obvious, but any time I try to run the command line you give (or run the batch file), command prompt just says it doesn’t recognise it. I have Java 6 installed, but I can’t quite figure this out.
Do you have any ideas?
Thanks!
Chris
Don’t worry, I sorted it out (needed to tweak the Windows Environment Variables to recognise the “java” command in Command Prompt).
Chris
Alejandro, I’m definitely planning on releasing the source code and I’m currently trying to clean up the code a bit.
The app doesn’t use JET, it simply sends MIDI control change messages over a network socket to the server.
Let me know if there’s anything in particular you’re interested in seeing from the code and maybe I can send you parts of it.
You rock dude. I am going nuts playing with Fab Filter Twin2 and your FingerPlay MIDI
So awesome.
A thousand thank yous. I look forward to seeing even more insane work from you, and I’ll happily pay for it! You deserve it!
The only problem I’m having is converting OSC -> MIDI CC
What are the values of your X/Y Pad Continues Controllers?
I can’t seem to get the OSC parameters right (using osculator). Is the X/Y controller 0-127? or is it like the pitch bend parameter?
Thanks!
im having problems stting it up on my mac. when i try to open the “fingerplayserver.jar” nothin happens
Adam, If that’s all you get I need to make sure I haven’t broken anything in the last release. You should get values between 0 and 127 but perhaps I missed something. I’ll look into it as soon as I’m near a Mac.
Lito, If you have java installed you should be able to start the server from the command line:
java -jar FingerplayServer.jar
If you’re in the same folder as the jar file. If that doesn’t work you can try with OSCulator and setting the server type to OSC on the phone.
http://www.osculator.net/wp/
Got your email. Yeah it might be finger play. Now it’s having problems connecting to the OSC host at all. (my configuration issue probably, I probably installed some crap-ware on my android).
Let me know if you find anything in the code. It should be sending 0-127 like I assumed it would, but I think your OSC messages might be mis-configured. It’s definitely sending Touch On/Off correctly.
In fact it even appears that the X/Y CC values look like touch On/Off as well. I’ll send you a link to a youtube video I record a little later today so you can see what’s happening.
Again, let me reiterate the great work you’ve done here. If I were a programmer I would be elated to help you work on the bugs but all I can do is just test the crap out of it as an end-user.
Thanks,
Adam
Here are my experimentations:
http://www.youtube.com/watch?v=io0GUlN2IcY
LOL! FingerPlay crashes my Router. I can’t explain it, but after using it a lot. There’s something about my router that doesn’t like the packets FingerPlay sends!
It’s totally on my end. But I don’t get why the OSC messages aren’t sending 0-127.
Anyway. Last post! I promise! I’ll email you incessantly from now on… just kidding.
ok im stuck on setting up OSCulator. ive never had to settup midi values and stuff.wat would be some common values for these controls? or how would i know exactly wat to put? im using reason4
Here is my OSCulator file.
http://archives.djfreaq.com/projects/osculator/fingerplay.oscd
With the MIDI mapping set up *correctly* (I think).
I’m still having trouble getting anything but 0 and 1 from FingerPlay. Use the quick look feature and tell me what you’re getting from the X/Y pads (controllers 0-5).
Lito, read post 77 (sorry forgot to quote you)
Adam
What do i do w that link? When i click on it it just pens a page of garbled text
how do u get the values to send from 0-127? i can only get it to send like “on/off”
Adam, I’m back at work today so I can hopefully test OSCulator later. Have you tried setting the event type to MIDI CC and giving it a control change value in the “Value” column?
yea i did that. like i set a slider to the value of “1″ for mod wheel and it would send the midi but the mod wheel just jumps from all the way up to all the way down as if im pressing a button.
Lito & Adam, thanks for the help guys! I think I’ve found the problem and I’ve fixed it. I’ll get an update out ASAP and let me know if it doesn’t solve the problem for you.
cheers!
Will this app, work on the mac pro books? i’m not to up to date on technology…!LOL so if anyone can help me i would really appreciate Thankz
Flat
Kool! ill b waiting on that update. Great app by the way! Havnt quite got it working right yet but w that update im sure its gonna b my favorite app. hope u plan 2 keep adding more to it. i like the idea of a transport n maybe some knobs
Flat: Awesome. I can’t wait for the update. Glad to help. Audio geeks unite.
Lito: Are you familiar with Control + Clicking links to save them to your hard drive? Try that. Once you download that file, open it with OSCulator.
Hey flat20. Awesome app.
I’m also having trouble running it under linux. The phone connects to the server just fine. The server receives events just fine, but I have absolutely no clue how to use the output with JACK, or (much less-so) with my DAW, Renoise
Any help would be much-appreciated. I imagine that an ALSA MIDI interface would do the linux world wonders.
Nice one flat20.
v0.6.5 now sends arguments to an OSC Server correctly.
Got the update but it only seems about half fixed. the sliders and x/y’s seem to b sending between 0-127 now but its still jumping around. like when i move the sliders now instead of jumping from 0 to 127 (like it was b4 the update) it jumps around in between too. it also appears to be in reverse. like up goes down n down goes up.
Im not sure what the problem is tho because when i go to “quick look” in OSCulator the midi appears to b working fine. im using reason 4.0. any idea what my problem is?
Looks great! A fantastic thing would be to have a good audio application running on the Android device itself (like Bahjis Loops on PalmOS), being able to switch to FingerPlay to control things live (change pattern, filter sweeps, etc).
I don’t think I will have much use connecting to a computer, but I’m keeping FingerPlay installed waiting for a nice OSC capable Android app to play with.
Lito, It seems very strange that reason or OSCulator would flip the values coming from FingerPlay, but what do you mean by “it jumps around in between too”?
alejandro, tekrytor, divide,
I got the FingerPlay server to see virtual MIDI devices in linux using the ALSA VirMidi module.
http://alsa.opensrc.org/index.php/VirMidi
Unfortunately I had to change some code to get FingerPlay MIDI to list the MIDI ports properly, but I’ll upload an update to the app and the server in the next coming days. This update should make it work on linux.
*tips hat* 5 star rating for you, good sir
hi im having trouble conecting to my serve from my phone… the phone sais conecting but then imidiately disconects is it maybe because im using the t-mobile mytouch???? please help thank you
hi… im having troubles conecting to my server when ever i try to conect the phone sais conecting please wait but then imideatly disconects..my firewall is down i also tried the osc setting in the phone but wouldnt conect either…is it because im using the tmobile mytouch instead of the g1???? please help….
noah, I’m not sure why it doesn’t connect with the mytouch. I would have thought it would work just fine on it? What IP and port numbers are you using?
In the latest version there’s some pretty basic support for customizable layouts using an XML file.
If you create a folder on your sdcard called FingerPlayMIDI and put a file in it called layout.xml, FingerPlay will use that file instead of its own default layout.
Here’s the original layout minus one touch pad:
http://thesundancekid.net/FingerPlay/layout.xml
Remember to turn off USB storagebefore starting FingerPlay or it won’t be able to access the file on the card.
Here’s a VERY brief explanation on how to get it to run on linux with http://www.mixxx.org/ – I tried it with ubuntu:
Run this command on the terminal to install the virtual midi module:
sudo modprobe snd-virmidi
Start mixxx.
Use “aconnect -i” to list available inputs and aconnect -o to list available outputs. If the snd-virmidi module is working it should list a few VirMIDI ports and one called Mixxx.
Use aconnect to link a midi port to mix. In my case Mixxx is 128 and I have one MIDI port with id 20 so I use:
aconnect 20:0 128:0
Now start FingerPlayServer and connect to it on your phone. It should list a lot of VirMIDI ports but pick the one matching the port you’ve connected to Mixxx. On my machine it’s “VirMIDI [hw:1,0,0]”
Now try the MIDI learn function in Mixxx for your MIDI port and it should pick up the controller changes from the phone.
Thanks for your help previously .. I finally understand where I was mixing the installation process…
But now..
Everytime i click the MIDI Channel in settings … Fingerplay crashes.
I tried uninstalling and reinstalling .. no luck..
Any advice?
That’s strange.. Are you using the latest version of FingerServer? It should be version 0.7.0
Hey flat20….it seems everytime I attempt to connect to the server, I get this, now:
Phone connected.
S: Error
java.lang.ArrayIndexOutOfBoundsException: 20
at com.flat20.fingerplay.Midi.getDeviceNames(Midi.java:275)
at com.flat20.fingerplay.socket.ClientSocketThread.handleRequestMidiDeviceListCommand(ClientSocketThread.java:111)
at com.flat20.fingerplay.socket.ClientSocketThread.run(ClientSocketThread.java:53)
at java.lang.Thread.run(Thread.java:619)
Phone disconnected.
Hope this helps….
Excellent application. All of your updates so far have been right on point, too. Keep up the great work – can’t wait to see where it goes next!
Ian, that should only happen if you’re using the old version of the server. Does it say it’s version 0.7.0 when you run it?
That’s strange, it works now…I can’t reproduce it.
I really could’ve sworn it was the latest version.
Oh well.
I got bored and connected it over WAN.
Ended up being quite entertaining.
Wait no….(Sorry for hogging posts)
It only happens when I have the virmidi module loaded.
Ian, are you saying it’s not working when virmidi is loaded? And the server says it’s 0.7.0 when you run it?
It could be that the midi device list is too long and the message gets split up in two when FingerPlay reads it. I’ll look into it.
Yes exactly that. If I do a “sudo modprobe -r virmidi” it connects just fine
Hey I got an error when I start the fingerplayservice.java:
Exception in thread “main” java.lang.NoClassDefFoundError: FingerPlayServer/jar
Caused by: java.lang.ClassNotFoundException: FingerPlayServer.jar
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
Could not find the main class: FingerPlayServer.jar. Program will exit.
I am using Windows 7 Ultimate (no Beta)
Anyone knows what to do?
I have —64 BIT —- Version of Windows 7 Ultimate
mr.n!ce,
It looks like you tried to run it without the “-jar” parameter.
Start the server on the command line like this:
java -jar FingerPlayServer.jar
Is there any way to get it to run through usb rather than wifi? AMAZING app! my phone is now permanently next to my keyboard! any help would be great, thanks!
Trying to run the server under linux I get the same error as Ian, but all the time. I do have two soundcards in this machine though, maybe that’s making the list of MIDI devices too long?
Any way to use OSC under linux with FingerPlay?
Nick, It wouldn’t be impossible to run it via USB but it would require some changes and you’d have to install the Android SDK for developers. Basically, it would be a bit of a hack to get it to work.
fruitbat,
I’ll try to fix that bug once and for all in the coming days. You can use http://puredata.info/ to receive OSC messages, but it can be a bit tricky to set up.
congratulations, great app.
can you make use of the accelerometers, too?
When trying to run the server on Ubuntu 9.04, it keeps telling me to use 127.0.1.1:4444.
Even when i use ifconfig to find the true ip, i dont get a connection the my pc.
What is wrong?
dan,
Use the true IP from ifconfig with port 4444. Server doesn’t know which interface to get the IP from and on linux it seems to default to 127.0.0.1 unfortunately.
tval, I will definitely look into using the accelerometers too.
Some new(?) requests, in no particular order:
Step sequencer, something like this one:
http://www.youtube.com/watch?v=dUEACXQo_Sw
Guess the pads would be very small, but no worse than the onscreen keyboard keys are in portrait mode.
Seeing this device, an shown on this video http://www.youtube.com/watch?v=AEueddeR98o made me think that maybe if it would be possible for fingerplay to also receive OSC events then the computer (running for instance SuperCollider) could send back events to toggle the pads. The pads could just send up/down events or something and let the computer worry about if/when they should light up. That would open up to some more complex and interactive GUIs to use with applications that could support it.
… and if that is possible, the next step could be to allow the application on the computer to send entire configurations over OSC. One obvious solution (although maybe not the prettiest one) would be to accept an OSC message containing the XML data that would otherwise be on the SD card. So depending on what softsynth you run you could automatically get fingerplay to display a matching GUI for it.
Simple matter of programming?
Fingerplay is a great and innovative app with huge potential. A little rough round the edges, but still…
Anyway, I tried to get it to work with FL Studio, but with limited result. FL Studio picks up the signal, but the sliders and controls fly all over the place. I think Fingerplay is using some kind of MIDI protocol that isn’t compatible with FL studio.
Any suggestions? I’m dying to show off the Fingerplay Fl Studio combination to my musical buddies!
Thank you for this app! If anyone’s interested, I made a patch vvvv patch for Fingerplay: http://vvvv.org/tiki-download_file.php?fileId=1990
You can contact me through the vvvv site (in the URL) if you have any questions
So im trying to set this up so I can try and run it with my traktor scratch pro, and im having some issues I have everything saved and when i go to command line. When I enter the command line this is what i get
‘java’ is not recognized as an internal or external command, operable program or batch file any help would be kool thanks in advance
@jazz Have you tried it with any other software? I’ll download a demo version of FL Studio and try it myself.
@dep That’s great! I’ll update this page later with some more tutorials and add a link to your patch as well.
@DJkronique You haven’t got java installed on your machine. You need to download and install it. Get it here:
http://www.java.com/en/download/index.jsp
@pelle Thanks for the suggestions! Step sequencer and receiving MIDI events is definitely features I want to add. I haven’t got a network at home so updates have been a bit slow lately, but in two weeks everything should be set up in the house I just moved to. As soon as I got wifi going I’ll get back to FingerPlay.
I have java dl’ed again just to be safe and no go still any help apreciated thankx
I have not used any other software, because I have no other MIDI software installed. But I guess the problem is related to FL studio.
Thanks so much for the efford!
Hey flat20,great app. I’m havin a little trouble getting it to work with windows vista. Is it vista compatible? I’m havin trouble with the command line. In vista, would I enter that in command promt or somewhere else? How wouldi get to vistas command line. Wen I entered what u said to endter into the coommand promt, it gave me an error message. Can u help me?
hey flat20, got some trouble with app…
I’m on HTC hero got an error when i try to conect to server.
“The application FingerPlay MIDI (process com.flat20.fingerplay) has stopped unexpectedly. please try again”
Any clue?
Thank.
Can’t seem to make it connect to my computer. Trying on two non-firewalled machines running OSX and Windows respectively. On the same subnet triple checked. Once the phone app fails to connect it doesn’t let me retry, leaving the app and coming back to it again has no effect, but I guess this is because of the execution model of Android. An error message of some sort would be nice.
I’d be happy to fix it myself, but there’s no source.
Hi flat20..thanks for the app.. i use fingerplay to control synthsizer settings on max/msp
I am building a subtractor synth for the android, and, if possible, would like to use your GUI controls for controlling filters, envelopes and such.. . Please let me know if you’d be willing to share/release parts of your source code. Thanks.
Hey man, Love the app but still trying to wrap my head around connecting it.
I’m not sure what you mean by ” Start it from the command line with:
java -jar FingerPlayServer.jar” Not quite positive what to do here. have everything downloaded, extracted, and what not. Any help would be nice heh. Oh and I’m on vista. Thanks
great app!
works great over wi-fi, but a little “bursty” over 3g, as to be expected.
what’s the button under the settings button for?
Great app, thanks a bunch. Got it working in Reaper can control master and track Volume/Pan and start/stop play and record, all from my phone. Still plenty of room for more buttons to be programmed. Is there anyway for you to allow us to name the buttons, that would really be useful.
The random midi assignments each time the app loads are a little annoying
I am also having the same problem as DJkronique. Has anyone found out if it’s a vista problem ?
You need to download and install java and make sure the path to your java install directory is added to your PATH in windows. Hopefully this page can help you out:
http://www.astahost.com/info.php/Setting-Java-Correctly_t18201.html
Sorry for the lack of updates to the application but my laptop’s hard drive broke down and I’m waiting for a replacement.
all good man!
btw, i demoed the app for a competition
http://www.youtube.com/watch?v=x4DfOcv60u4
I still can’t java to run from the command line. I’ve installed the latest java update and I added it to my PATH variable. Any suggestions?
This is really cool:
http://cylob.blogspot.com/2009/11/tiny-music-system.html
If Fingerplay had that ability I asked for earlier to be configured in real-time by OSC messages you could sort of get a GUI like that one.
Of course in the video the softsynth is also running on the phone itself, in the background being controlled by OSC, rather than remotely on a PC. Unfortunately there is no Android port of SuperCollider like there is for the iphone.
http://supercollider.sourceforge.net/
pelle, Yes, Adding a simple step sequencer in the app is my highest priority for FingerPlay. I’ve just got a new hard drive, so this weekend I’ll start working on the app again.
Zach, are you getting any errors? Is it saying something about “java is not recognized as an internal or external command” ? In that case windows can’t find the java.exe in the PATH variable. What does your PATH variable look like? And where is your java.exe?
Sam, I love the youtube video! Really should have done one myself a long time ago..
The button you asked about clears the ‘held’ buttons. If you press a controller and press the menu button on your phone, it won’t send the release MIDI event when you take your finger off the screen.
I need to make a video showing these features and how I use them..
Hey, i’ve been doing Midi controlling with a whole bunch of different interfaces, and i can tell that this one is going to be nice, but as a mac user, i am supremely confused on how to use this with the mac. there are no resources on Osculator’s website for how to set this up properly to work with Fingerplay, and even though I can tell you’re being helpful to people by answering individual questions, i think we would all benefit greatly from a few tutorials.
My question is how to properly setup the Osculator host server and how to get that synced up with Fingerplay. I cannot seem to get the two to communicate with each other at all. I don’t understand Osculator at all.
(although, i found this and it might be useful to some:
http://archives.djfreaq.com/projects/osculator/fingerplay.oscd
check that out!)
I set up the server and start Osculator up, and then go to Fingerplay, and after multiple attempts at getting it connected, it finally does, but that’s the end of it: there’s no communication even though i’m told they are connected. what could be causing this problem?
I am obsessed with turning things into midi controllers, so i would love any information i could get about how to make this work.
-Ali
Hey Ali,
Who tells you that they are are connected? Osculator or Fingerplay? Do you have your WiFi configured to recieve Data from devices?
-tVal
just a simple question, what does the button underneath the settings, with the downward facing arrow and a line do? I can’t seem to figure it out.
[...] I went in search of MIDI and OSC applications. Here’s a freeware MIDI UI controller, FingerPlay MIDI: “FingerPlay MIDI is a MIDI controller for Android. Any changes made to the controllers on [...]
@gabe if you press down on a slider, for example, and press the menu button on your phone. it will stay pressed when you let go. you can do that on more than one controller but when you press the arrow button it will ‘release’ them.
it’s a bit difficult to explain. i’ll make a video when i get the wifi at home to play nicely again
I would like to request a feature: please add the ability to send data from the phone’s sensors (accelerometer, compass, etc) via OSC/Fingerplay packets.
Are you still going to open the source? ‘Cos if you do, I could possibly help out with fulfilling the first request
Thanks!
@Tval;
fingerplay tells me i’m connected, but osculator picks up no messages to interpret.
I got it up and running on Windows, and I was amazed at how easy it was. Thanks for a great app!
I’m a little bit still confused about the midi mapping, however. I see in the command-line messages that the controller is sending on “channel 0″, and then there are messages about data1 and data2, etc. How do I work with that info?
thanks!
pretty stupid question – how to download fingerplay package onto the phone device? i haven’t found it anywhere on the web (including this site), neither on android market (search returns no matches).
i’ve got htc touch diamond winmobile phone, just installed android 1.6 onto it (specially for running fingerplay), but simply cannot find the client/phone part to run
Nice work, thanks for a great first step for MIDI/OSC on Android! I am using PD (as some others have recommended) and find it very smooth and easy to use. It also makes for easy routing to MIDI CC’s, etc.
One problem I have is in the buttons interface (4×4 grid) the messages are rather arbitrary. Rather than a toggle of 0 and 127 I get random values that appear to be roughly below 30 when “off” and above 40 when “on”. Using these thresholds works reliably well but it’s seems these buttons should send simper values. I’m also unclear as to why the “on” state remains if you press-hold-drag on the buttons.
Anway, it’s working well, would LOVE to see multitouch in this app. If/when the code goes up, I would be happy to code this myself (for devices that support it).
@kme thanks! I’m a few days away from releasing the source code. I’ve spent the last few days fixing the code but I don’t think I’ll ever make the code “perfect”, so might as well release it.
On state on the buttons is a bug and is fixed in my local copy.
The values sent is the pressure applied for the button press. It was a feature someone requested. Ideally the button behaviour would be configurable in the XML.
@eps It’s only available in the Android market right now. I’ll put the .apk file online for the next version.
@Ali,
Sorry I was off some time, did you fix it by now? I had problems finding out, how do connect the devices (setup the network), which is hidden in the Preferences “Internet Sharing” – when activated you can create a “computer-to-computer”-connection. I assume OSCulator should find the device automatically (as mentioned I dont use OSCulator)
It would be great to have bluetooth option in this. Now there has to be a router around all the time. HTC hero doesn’t play with ad hoc networks without rooting.
great app, thank you
i can see the midi data is coming in smoothly in OSCulator, but when i map it to a controller in Live it goes totally erratic (the Live controller jumps all over)
Any ideas why?
@William Have you changed the event type to “MIDI CC” ?
@aku I want to add bluetooth as well but there’s no standard way of doing bluetooth on the computer as far as I know. Will look into it.
Or if anyone else wants to add it, the source code for FingerPlay MIDI is online at http://code.google.com/p/fingerplaymidi/
@flat20
Yes, the event type is MIDI CC
(+ thanks for releasing the source
P.S. Maybe you could add the source link in the post?
And a mention that the app is available on the store (bonus points for a QR code link!)
It would really be great to have multitouch support for this.
I also tried to make a layout file for my milestone, but when I set the coorect display size everything becomes just huge.
I’m trying to fix the bug on Android 2.01 which makes the app crash as soon as it starts, when I have that working I’ll take a look at the screen size thing.
@William I added a a download link to this page. Should really redesign it and remove most of the comments..
Hey I was wondering if this app is working on the android MyTouch and if it has been updated for it? Thank you!
Hi.
I tried placing your config file
http://thesundancekid.net/FingerPlay/layout.xml
in FingerPlayMIDI folder on the sd (Motorola Milestone), but everything is the same (I can still see two X/Y controllers).
Is there a way to check whether the app attempted to load the file?
Thanks.
Giuseppe.
@Giuseppe
With the latest version of FingerPlay MIDI it will list all the .xml files it finds on the settings screen. The xml files should be on your sdcard and inside a folder named “FingerPlayMIDI”.
I’m going to upload a new version tonight with a better default layout for higher resolutions. Although if anyone has a good one, please email me!
Is FingerPlay still available? Have just got HTC Hero and this is something I definitely want to try! Can’t find app on market & links on AndroLib don’t work. Am based in UK on Orange. Any help would be most appreciated
4D
@4D It’s definitely still available and should work just fine with your phone. Try searching for FingerPlay MIDI in the market app on your phone.
Thank you for your reply. When I try searching Android Market it returns result that no matches are found for FingerPlay MIDI. If I try to use barcode link on this page and use “open browser” it returns result that “requested application could not be launched. The barcode contents may be invalid”. It’s very strange. I’m new to Hero, but have successfully installed various other apps. As long term MIDI user, your app looks like a must have!
@4D I’ve enabled support for any device type and uploaded a new version on the market. If this doesn’t do it then I don’t know what will!
@ flat20 thank you again for your efforts. Unfortunately I still can’t get to the download page from my Hero. If I use link on this page it returns “web page not available”;if i use barcode or search within market I get results detailed above. Is it to do with version of Android (1.5) that Hero runs? Does phone need to be rooted? Not sure if carrier (Orange UK) has any effect on what apps you can view/download. Am very confused as to why it doesn’t appear when I search market. Will persevere this end to try & solve this puzzle, as out of all the apps I’ve seen, yours is one I can’t wait to experiment with. Thanks & regards, 4D
@ flat20, I’ve posted a thread on Hero forum over at Android Forums. Have read some threads regarding a problem that Orange UK had last year affecting visibility of certain copy-protected apps in market. Have asked if any other Orange customers can check to see if they can see FingerPlay MIDI in market. Thank you again for your help, 4D
@ flat 20 FYI I’ve had two replies from Orange UK customers & neither of them can view FingerPlay MIDI on market. I know there is specific firmware version for Orange handsets. Is it possible that this is causing problem. One of the people who replied to me asked if your app is only for Android 1.6? Regards, 4D
@ flat 20 Just had reply from orange user at android forums who suggests problem with Market Version 1.6. He says that there are some apps he purchased months ago that he can no longer view on market,& so cannot update. Does this mean anything to you? Have been on steep learning curve with phone & hadn’t appreciated differences in Market. Regards, 4D
I’d love to see some USB support for my droid. It has a built in miniUSB port, and it’d be nice if I could just plug it into my USB hub instead of running another process on my already swamped laptop.
Also, how about a 1 octave keyboard as part of the layout options?
Very nice so far though.
Oh, and also, how about a Monome-style interface option? Like, 4×8?
heya, any chance you could post an externally-hosted version of the installer for FingerPlay? That way I can circumvent it not showing in the Market and just install it using the HTC Sync software on my PC for the Hero.
Please! I REALLY wanna use this.
Ok, 4D you were right! The problem was that HTC Hero doesn’t run Android 1.6 so I’ve posted a new .apk file online for you guys.
http://thesundancekid.net/FingerPlay/FingerPlayMIDI.apk
Let me know if it works!
@seamus That would be cool too! I just need more time to add all these new ideas!
I have just installed it and really like what I see, although I’m not at home, so I’ll test that later.
But from my first impression – using a Motorola Milestone – there are two annoying things:
1. if I don’t hit a slider precisely I move the whole screen. I would limit the movemnt of the screen to the scrollbar.
2. the scrollbar should be ob the opposite side since someone with “touch-buttons” like on the droid/milestone could accidently press the home-button etc. while sliding through the pages.
And finally:
implementing Multitouch (which Milestones/Droids are capable of) would make the app far more useful.
Thanks anyway for the effort. Good job!
@Daniel All good suggestions! I’ll definitely look at implementing multi-touch – which is a must – but I’m not sure I understand the slider problem. Is it too small on the Motorola?
It’s meant to focus on one screen at a time, so it will always snap to the closest screen when you let go.
No, the slider’s aren’t too small. Basically everything is working as it should. But if a slider has to be moved fast, the possibility of not hitting it exactly rises, and therefore the whole screen either moves up to the pads or down to the x-y-controllers. In that case you have to really quickly get back to the sliders.
If the screen wouldn’t move while swiping across the sliders etc. but just using the scrollbar, one could quickly just tap the slider again to make the desired action.
So I would like to see at least an option to turn on/off the page-changing by swiping across the screen. Maybe an extra button at the scrollbar. At first I even thought the button with the arrow would du just that – “locking” the screen.
@flat20, sorry for slow reply have been away. Thank you for uploading .apk. Have downloaded & installed successfully. Am using with XP PC system. When I run server on PC it returns that it is listening on 192.168.1.100:4444. I then open FingerPlay on Hero & enter the server address. When I try to connect to server from phone it immediately returns “The application FingerPlay MIDI (process com.flat20.fingerplay) has stopped unexpectedly.Please try again” & displays “Force close” button. Have disabled firewall on PC. I’ve got plenty of experience with PCs & MIDI but am very new to Android, so any suggestions would be gratefully received! Thanks & regards,4D
Hi again, please ignore last post! Have reinstalled FingerPlay & it’s now communicating. At work at present so am only using old copy of Rebirth on work laptop but it’s working brilliantly. Can’t wait to get home home for some more experiments! This looks like a very cool application. Thank you again for your help,4D
hey flat20,
i installed fingerplay on my hero today. there was no problem so far. i also connected to my PC, but everytime i click on Midi Out Device the program makes a force close. Any idea?
btw: sorry for my bad english
hey i love your great app
it worked for me the first time i tryed !!!
i love it!
i’m going to write my own layouts soon…
the only problem is that the buttons doesn’t work for me…
but i don’t need them ^^
I also cannot use 1.6 so when I updated to Fingerplay with the File, it is nice, but very slow. Can I do something to make it faster, or is the Version 0.7 still availible somehow.
Btw is anyone still working on the implementation of the accelerometer? Or does anyone know an App that sends sensor values via OSC?
@tVal Is the user interface not responsive enough or is it sending the messages over the wifi which slows it down? I’ve had problems with FingerPlay on certain routers.
Matias Wilkman has written some code for the accelerometer but I haven’t had a chance to try it out yet. His code is available on github if you know how to compile an android .apk yourself.
http://github.com/matiasw/fpsensorfork
I didn’t try the connection to the server via wifi yet, the user interface needs some time to respond (~0.25 sec).
Thanks for the link.
Actually I have no idea how to compile an android .apk myself, but as I’m desperately looking forward to being able to use it, I’ll be keen to find out (and appreciate any hints how to find out).
hello, i have windows vista and my problem it’s that every time that i run .jar file as you said so… the ip address won’t appear… i’ve tried with ms dos and command line… i don’t know what else to do.. and when i do it from ms dos it says “java is not recognized as an internal or external command” help…
Is there a way to download the .apk file not from the market?
Or can someone send me the application because i cannot download it onto my device from the market.
@Steve
have a look further above on this page (No 179) There’s a link.
@flat20
Best regards to Mathias Wilkman. You two are heroes! Its working on my Samsung Galaxy. Not exactly as I expected, but for me very useful. (Also the UserInterface is a bit faster)
I can recommend *****
Hello. First off I gotta say, great idea and from what I can tell, great app.
Now for my question. I’ve gotten everything to connect and it looks like everything is working on Linux but what I’d like to know is whether it’s possible to use FingerPlay to toggle the Jack transport. Also I have a friend who uses Sonar under windows and would like to be able to use FP as a remote trigger to start and stop recording and/or playback. Is this possible?
Thanks.
So close, yet so far away.
After much work, I got your program running with osculator, and I see all the incoming data but when I set up ableton preferences to input from osc it just wont detect any midi in. I tried remote on input too and other combinations to no avail. I’m thinking the problem then is either ableton or osc not working together well
Idea: make it compatible with the iPhone app: TouchOSC
http://hexler.net/software/touchosc
This app also comes with a layout editor for Windows and Mac, so you can draw new controller layouts.
Second what steve said. The app doesnt show up in the market for me. (HTC Hero)
Is anyone else having this problem? I was looking for this exact app all around the marketplace. Then I stumbled across it on the ableton forum and then when I search for it, it doesnt show up.
I wonder what other apps don’t show up in the marketplace.
@keats It’s not showing up in the market for you because the HTC Hero is running an outdated version of Android. You can download this special .apk file and install it on your phone.
http://thesundancekid.net/FingerPlay/FingerPlayMIDI.apk
You need to enable “Settings -> Applications -> Unknown Sources” for this to work.
You should make a pay version where we can add more buttons. Id gladly pay $3.99 or something for that. The program works flawlessly I just need some more buttons!
@mu0p If you edit the layout xml file you can have as many buttons as you like. Probably should make a nice editor for it though.
When I get my new phone I’ll fix some bugs and see what I can do about the buttons, but I’m not sure I would pay for this app myself so I feel a bit uneasy asking other people to pay for it
@flat20, yea I noticed that when I read “layout” on the xml file. Awesome. Also is there a way to connect directly with the computer? There are a couple gigs Id love to use this at, but I know they dont have any wifi there. :’(
@flat20
Thanks for your help!
Thought I’d mention that I got this working ad hoc on a rooted hero,
I used 3.2-update-hero-modacocustomrom-core-signed.zip rom
to connect i just enabled the wireless tether for rooted phones app included in the modaco release.
fingerplay is a great app btw, i was expecting a fair bit of latency but the app is really snappy.
I’d like to see more screen space for more controllers, maybe this is possible with the xml?
some physics would be cool too, so a xy controller will spring back with adjustable inertia like on the lemur.
thanks for writing this, will get a lot of use!
I am not having much luck using the FingerPlayServer and FingerPlay MIDI on window w/ Ableton. I’m able to use the drum pad from A# – 1 to C – 1. But the sliders don’t do anything and neither do the x/y. Does anybody know how I can get those up and running
hey flat20,
thank you very much for this PROJECT! Please excuse my english in the following, i’m from germany.
I am using the milestone or droid from motorola and it works very fine. This whole project shows how easy windows could be.
I’ll try to use the app with traktor pro to control my effects. I’ll tell you how it works!
This is the best answer of the iphone!
Thanks a lot
I’m using the app on HTC Hero – installs fine with the version you link to above, thanks!
The app looks great but having trouble with the midi values it’s sending. It seems as if FingerPlay’s faders send values 0-127, but OSCulator only reads values between 0.0-1.0. Is that right?
It means the midi values getting sent from OSCulator to my DAW (Logic Pro
are just 0 or 127 – nothing in between.
Is there something I can try to get the faders working properly with OSCulator?
(Logic Pro 8 I meant! No shades in here.
Aha! I’ve just found the answer on the OSCulator forum pages – there’s a “Scaling” view in the View menu of OSCulator. Just needed to change the input values there. Cheers flat20, going to have some fun with this!
I was just going to suggest changing the event type to “MIDI CC” but it seems you’ve got it to work anyway
.
Sorry to anyone else I haven’t replied to, I’m waiting for a new phone and as soon as it arrives I’ll start adding some features to FingerPlay MIDI.
I would really like to be able to use this but after following the instructions and trying over and over I am still no further forward. I am using windows 7 and a HTC dream.
I have Java installed
I have Loopbe1 installed and working.
I have downloaded and extracted the FingerPlayServer.zip file.
I cannot for the life of me open the FingerPlayServer.jar file.
If someone wouldn’t mind giving me a bit of support here I would be over the moon.
I love it, great app! Anyways I would like to be able to also use physical keyboard and trackball of HTC Dream to send commands. This would make it easier to use for starting recording etc. multitouch stuff.
Other thing I would like to see would be to be able to enable velocity detection from motion sensor and to be able to calibrate pads. Now pads are usualy stuck to around 30% and I have to try to compensate that in oscalator…
I’m also kind of interested start developing android stuff, maybe I’ll start hacking in to code and send patches if I manage to do somthing useful
Is it possible to change the axis of a slider somehow? So that the end user can choose if it should slide horizontal or vertical.
Also, can text be applied to the buttons somehow? (or inserted in the background or whatever)
@Mikael Thanks! And good suggestions. I’ll put them on the list
.
I want the app to be as flexible as possible, but it’s hard without cluttering the interface or forcing people to edit settings files. But ideally I want everything to be configurable.
@Anton Unfortunately not
. But I’ll definitely put both things on the list. Labels is something I wanted to do for a long time. When I get my new phone labels will be the first thing I add.
This is a beautiful app. Put it on my Nexus One, OSC, messages recognized immediately in Quartz Composer on my Mac. I haven’t tested how smoothly the messages are getting through, but it’s nice and slick. A few things jump out immediately:
1) Multi-touch support would be great. Right now, I can only adjust one thing at a time.
2) Settings could be called from the menu, rather than the gear icon, thus freeing up screen real estate.
3) It doesn’t prevent the phone from going to sleep, so if I don’t touch it often enough, I have to wake the phone up. Not ideal.
4) The “shuttle” bar at the right of the screen does a fine job of switching between screens. No need to be able to swipe anywhere else – having the ability to swipe in other places means I occasionally switch screens when I’m trying to adjust a fader.
5) The 15 pads could be toggles as well as momentary buttons, maybe kept in the “on” state with a long-press?
That’s what came to me immediately. Obviously, that’s all fine-tuning of a great little app. Good job and thanks!
Is there a way to get the sliders work on flstudio ? This is a verry cool app !!!!!
Does this program work with pro tools 8 le? if so let me know asap please! email me
@luckydave thanks for the suggestion list! The swipe feature is definitely going and I like the long-press idea for the buttons.
@john & Matic As long as your software support MIDI – And yours definitely do – FingerPlay will work with them.
Wooot, very FUN playing with this and NI Traktor, doing some cuepoint juggling and fx control. Very usable, and latency better than I expected.
Some additional feature requests:
1) add an option to name the buttons via xml, so some text or characters is displayed in the buttons to remember what is what and let friends play with it. (setting the color would be nice to).
2) also it would be very nice if it could receive midi messages (traktor is able to send midi messages to a virtual midi cable when events occur, for example when FX is on it sens a certain midi message with a certain velocity, and when it is of it will send the same message with another velocity value) and those messages would translate into user defined colors (via xml of course) for the buttons
, so you know what is going on without looking at the screen.
This could be helpfull in other programs as well, for example when you change a value connected to a slider, it also changes with it
—
a remark for luckydaves request 5, if you do implement that also add an option to have the old behavior. Maybe let the momentary vs toggle behavior be set via the xml file.
—-
Another remark I read above: the button under the settingsbutton doesnt seem to do anything!! plz remove it so the slider gets more screenspace.
—
Great job, thx for your efforts, keep doing the good work
Hopefully one day some hardware like the ipad comes out with android and your app gets real potential!
Be sure to take inspiration from
- http://hexler.net/software/touchosc
- and of course the Lemur
get fired from your job, get unemployment money, work on this full time for some time, implement a lot of features, and a gui app for pc so ppl can edit, most ppl will not bother editing the xml anyway, and ask money for that full version!
But keep it opensource under a good licence. Maybe one day when my rsi is less disabling I will be able to help.
Well not sure, but I think there is a lot of potential!
Ppl will pay, I’m sure of it
Hello,
I played with your app on my Android G1 and I love it a lot. But I also have a SmartQ V7 and am trying to run this on android on the SmartQ V7. It does not work I think because of the openGL implementation.
Do you have an (old) version without openGL I could try out ?
Meanwhile will try to do more research and come back here.
Hi, I’ve followed your instruction to install and run the server server software but windows cmd line says that “java” is not recognised as an internal or external command.
Any ideas of what I can do?
@Andrew
That means the java.exe file is not found in the current directory or not in one of the directories found in the environment variable PATH
so one option is to specify the full path in the cmd, or alternatively add the location of java.exe to the PATH variable
On my win xp 32bit system java.exe is located here:
C:\Program Files\Java\jre6\bin
so the command would become
“C:\Program Files\Java\jre6\bin\java.exe” -jar FingerPlayServer.jar
(the quotes are needed because of the space in
program files
else it would not see it as one part)
or follow this guide to add the java dir to your PATH variable:
http://www.java.com/en/download/help/path.xml
You seem to be using windows, probably the easiest is to edit (rightclick->edit)
run.bat
and replace
java
with
“C:\Program Files\Java\jre6\bin\java”
then save it, and you can just doubleclick run.bat to run fingerplay midi server
[...] landscape was somewhat scarce.) Candidates so far include Sonorox, Beatpad, Uloops, Musical, and FingerPlay. Got nominees? Let us know in [...]
[...] landscape was somewhat scarce.) Candidates so far include Sonorox, Beatpad, Uloops, Musical, and FingerPlay. Got nominees? Let us know in [...]
[...] landscape was somewhat scarce.) Candidates so far include Sonorox, Beatpad, Uloops, Musical, and FingerPlay. Got nominees? Let us know in [...]
Thanks so much awesome app, working great w/ fl studio & auditions… keep up the great work… G1/Windoze
works fantastic! keep up the good work!
pax
Nice work you did here! It works flawlessly with my HTC desire and my Mac with Osculator.
Is there also a way to connect the software without Osculator? I connected to the finger play server and it was connected. The terminal was receiving signals, but I don’t know how I can translate the signals to cc commands without Osculator for the Mac.
Thanks for the respond in advance and keep up the nice work!
Tim
Thanks!
@Tim I wish I could help you but I don’t know much about the Mac. Perhaps http://www.jackosx.com/ can do it? I’ve read that they were working on MIDI between applications.
But even if you got Jack OS X to work you’d still be using an intermediary appplication.
Flat20, sorry for the late reaction! I’ll check it out, thanks. If it does work I’ll let you guys know.
This is not working for me. I am lost.
I have Java. I have loopbe1. I do not understand how to run the server. Perhaps I am running it and am only to ignorant to realize how to find the server information. idk.
please help me. I feel like i am following the instructions. I just want to use my Evo to run Reasons sequencer. I know it can be done. I am happy for all the people who can. I just wanna join the club.
Ok… nvm. I got that part to work. Now I am getting a sorry message saying: “sorry! The application Finger Play MIDI (process com.flatfingerplay has stopped unexpectedly. Please try again.
When are you getting that error? Did you manage to connect to the server from your phone?
it closes before i can now…idk why.
Ok, I’m not sure why that might be.. Are you connected to your computer with USB? And have you got the sdcard mounted? Is WIFI turned on on your phone?
I am not connected to the computer with usb…do i need to be? I am not sure what you mean by having the sdcard mounted. I am connected on the same wifi though.
No you shouldn’t have to be connected with USB and everything you say sounds fine. What phone are you using?
Sprint Evo. I tried to connect through a different midi app also, and I am pretty sure I followed the directions, but to no avail. I think maybe there is some sort of security issue on the network maybe. Are there some things that I need to have open that I might have restricted in terms of network security.
When you get the Force Close dialog, can you press the Report button? It will send a crash report to me which should give me some more info about the problem.
Very strange bug this..
Thanks for the app, having lots of fun with it. I can’t seem to get layouts to work on a Droid. Tried various ways of editing and it doesn’t seem to change anything. I setup the folder and xml file on the Droid and I can select the xml file in FingerPlay MIDI but it doesn’t seem to change anything. Any ideas?
Volume Fader doesnt seem to work with traktor!?
It sems to act like a button rather than a fader no matter what setting you have it on in the software.
Anyone know why?
Ignore last post … played around and all understood now. User Error.
Would really like to see anyone elses layouts though to see what the possibilities are.
I don’t understand what the possiblities are as the xml file has nothing to do init with regards to the midi notes the buttons give out. So if for example i added a new button, how would i assign a midi command to it?
Or am i missing the idea and this can’t be done?
Can i label my buttons and sliders maybe?
@Gav The possibilities are quite limited for now. I want them to be fully customizable with labels and what midi events they send but I haven’t implemented it yet. It’s on my todo list.
Thanks for the response. This is a great app as it is though very good work.
Just one thing though which would make it amazing would be the ability to communincate with the server through USB. Wifi is a bit of a killer when it comes to music as it can cause latency spikes which affect the audio that is playing.
The ability to use this without wifi would make this a great app in my eyes and i would definitely pay for it then.
Hi,
Awesome app. I’ve set the code up on my machine but haven’t had a chance to look too far into it yet.
I can’t seem to get the custom layout to work. I put it in a folder in the root dir of my sdcard as FingerPlayMIDI/layout.xml but when I go to the settings and try to select a layout it gives me a blank list with just a cancel button.
Any ideas?
Also I’ve noticed the screenshots at the top of this page have icons down the side whereas the app on my phone has a slider to select pages. Have I got an old version somehow or is the slider new?
Ok I stepped through the code on my phone and found that line 77 of FingerPlayActivity.java seems to have the problem.
File xmlFile = new File(Environment.getExternalStorageDirectory() + “/FingerPlayMIDI/” + mSettingsModel.layoutFile);
mSettingsModel.layoutFile is returning Null.
I’m still very new to android dev so I’m not sure if I’m looking in the right direction.
In settings_view.xml I tried changing this:
into an EditTextPreference like so:
My plan was to just type in the name of the file but this just crashes the app when I go to the settings page.
Guess I’ll keep plugging away until I get it but if you know what’s going on please let me know.
Thanks for making such a cool app and making it open source
Argh the xml code was blanked out in the message.
I tried changing this:
. PreferenceCategory android:title=”Layout”.
.ListPreference
android:key=”settings_layout_file”
android:title=”Layout”
android:summary=”Select MIDI controllers layout.”
android:dialogTitle=”Select a layout file”
/.
./PreferenceCategory.
into this:
. PreferenceCategory android:title=”Layout”.
.EditTextPreference
android:key=”settings_layout_file”
android:title=”Layout”
android:summary=”Select MIDI controllers layout.”
android:dialogTitle=”Select a layout file”
/.
./PreferenceCategory.
(With lessthan and greaterthan replaced by dots, hopefully that doesnt get edited out aswell)
@Aaron Cool that you’re doing something with the source code! Shame that it’s not working the way it should
.
layoutFile will be null if you haven’t set it to anything in the settings page and since the app crashes before you can get to the settings page and change its value it will always be null
.
Can you send me the whole Java stack trace?
@gav Yeah, I’ve realized just how important USB is while trying to debug FingerPlay. It’s awful having to deal with ip addresses and ports but Android doesn’t really allow you to use the USB from your applications. You can get around it if you download the ADB debugger from the Android SDK but I need to make some changes to the app and the server for that to work.
It’s on my todo list
Turns out I’m an idiot. I had named the file layout.txt instead of layout.xml.
It seems to be working properly now.
Now to mess around with a good layout for controlling ableton
.
I’ve only just started playing with this app but I can tell already that I am going to waste a lot of time on it. It’s brilliant! I use it with Midi Yoke and the FingerPlay server and managed to get it set up and running with a basic set pretty quickly.
My only downside so far is that on Win 7, the run.bat file doesn’t work (due to the java -jar… command I think) but double clicking on the FingerPlayServer.jar file works fine. Is there a way to manually stop the server without shutting down?
Great app. Works well with HTC desire and Reaper. Does any know if its possible to label controls or use a gui based app to design new layouts?
This is a great app, and I really hope you continue development. This is so valuable to electronic musicians, and some of us, for various reasons, don’t use IPhones!
I’d be happy to donate if it’ll spur you to get us some more customization options! Just being able to visually modify the XML file would help a lot, and these days everything has MIDI-learn, just make sure you don’t duplicate CC#s and everything will sort itself out.
@Tiger The only way to stop the server right now is to close the console window but maybe in the future I’ll add a proper window for the server.
@simbo It’s not yet possible to label the controls or design the layouts using a gui. It’s on my todo list.
@chris Thanks! I want to have a gui and better customizations but I’ve been working on another project these last few months so it’s not there yet. Money wouldn’t help, but if you could somehow make the days longer that would be awesome!
How do you specify the OSC commands for the controls?
I’d like to be able to use FingerPlayMIDI to control Ardour through the OSC interface. The commands ardour expects are detailed here: http://ardour.org/osc_control
For now all I get are commands like this:
/fingerplay/control/1 ,i 61
/fingerplay/control/2 ,i 82
/fingerplay/control/0 ,i 0
I’d like to send commands like:
/ardour/transport_stop
/ardour/transport_play
/ardour/ffwd
/ardour/rewind
/ardour/access_action Common/Save
/ardour/access_action Transport/Record
… and so on
Are there any docs detailing the format of the layout.xml file?
As I Start it from the command line with:
java -jar FingerPlayServer.jar I get this error massage:
java.net.SocketException: Unrecognized Windows Sockets error: 0: JVM_Bind
So what do I have to do to get it up and runnin?
@hulk Are you using Windows 7? It could be an issue with its UAC settings. You can try disabling it like this:
Control Panels->Categories -> System & Security – >Review your systems status -> Change UAC settings -> Never notify me.
Or try starting the server on another port like this:
java -jar FingerPlayServer.jar 63000
with 63000 being some random port number.
Paul, Right now there’s no way to change the messages sent from the controllers but I’m aiming to one day make it completely configurable.
For now can you pass the messages through OSCulator and have it send the correct data to Ardour?