Yahoo Groups archive

Disklavier

Index last updated: 2026-04-28 23:20 UTC

Message

Re: [disklavier] Re: Alternative to tablet and PDA for MKIV

2007-11-07 by Kevin Goroway

Matt, I'm going to reply to this directly since it's probably outside the scope of this group...

But here's an update for anyone following along.

I got my linux installation working, and was able to sniff the traffic.  I have a good capture now, and I can try to find out why I am unable to do some of the things I want to do.  

I did notice something very interesting that I hadn't seen mentioned before.  It turns out that the tablet interface interacts with the piano differently from the PDA.  I hadn't expected this at all, but instead of using XML to request album information, the tablet instead uses HTTP to access a php page on the server.  I'm surprised they bothered to have two ways to query the same information.  Since it's noise in my captures at the moment, I plan to turn off the tablet and concentrate on the PDA.  I hope to revisit the tablet interface to see if there is anything more interesting there.

-Kevin

----- Original Message ----
From: Matthew Teeter <mrmuk7@...>
To: disklavier@yahoogroups.com
Sent: Tuesday, November 6, 2007 9:07:27 PM
Subject: Re: [disklavier] Re: Alternative to tablet and PDA for MKIV









  


    
            Hi Kevin, 

When you say you've been unable to get our software to work, do you mean specifically the command that switches albums/songs fails, or no commands work?  

We tested the software with firmware 2.0
 and it appeared to work.  Perhaps you are using the 2.1 firmware?  Does the connection on port 3191 connect successfully?

The PRC and TRC used to send an identifier along with their messages to the piano.  Our software did not supply an identifier, with no ill effects.  But that is probably why it is prompting you to upgrade :-).  Cute.


You shouldnt have to install Linux just to sniff wireless traffic.  I used Ethereal on Windows and it worked great.

Matthew


On 11/6/07, Kevin Goroway
 <kgoroway@yahoo. com> wrote:












  


    
            
Update on my progress.

All of the database stuff that I've tried has been pretty simple, so the ability to fetch albums and songs is pretty much complete.


I ran into quite a bit of difficulty once I tried controlling the piano from my java app though (this uses a separate connection).  I can make it do a lot of the simple things (play, stop, etc), but I can't select a different song/album.  It seems that the research paper and project are either out of date (I've been unable to make the project itself work), or I'm just doing something wrong.  What's there already though works well.  The UI and Socket are on separate threads, and there is a thread that heartbeats "<active/>"
 with the piano every 3 seconds.

I did notice that the piano is sending me XML that indicates that I should pop up a message box informing the user that the software is out of date running version "too old to tell", and that they should update to 
2.0.  :-)  That makes me wonder how much of the protocol has changed.

So, I've ended up having to install linux so I can get a wireless card into "monitor" mode so that I can sniff the traffic.  I'll do that tonight to try to solve the simplest of cases (waking up from standby, and selecting an album/song).


-Kevin

----- Original Message ----
From: Kevin Goroway <
kgoroway@yahoo. com>
To: disklavier@yahoogro ups.com
Sent: Friday, November 2, 2007 8:07:13 AM

Subject: Re: [disklavier] Re:
 Alternative to tablet and PDA for MKIV









    
            
Matt, and Chris,


Thanks so much for joining our conversation!  The background is very interesting.

Matt, I think you've done a wonderful job under the circumstances, and it's opened up a world of possibilities.

I'm wrapping up a pure java implementation that doesn't try to mimic the PRC at all.  Instead it's basically a song and album browser (with search capabilities) and the ability to play them once you find them.  I'm also planning to include the ability to dump your songs and albums to a CSV file so you can move them wherever you'd like (excel, access, whatever), and a rudimentary reporting view so that you can at least get a hardcopy of what you have on your
 Disklavier.  

Like Matt, I program for a living (well, mostly manage now), and with 3 kids at home I don't get much time to write code when I get there...besides, I also want to actually play piano! :-)  So, it may take a little while to actually wrap this up, but it's already got some real functionality.  I plan to release it as source so that others can continue it, and hopefully flesh it out to be more of a tablet/pda replacement.


Thanks again for joining us, and any insight you can provide would be most helpful!

-Kevin


----- Original Message ----
From: mrmuk7 <mrmuk7@gmail. com>
To: disklavier@yahoogro 
ups.com
Sent: Thursday, November 1, 2007 10:40:56 PM
Subject: [disklavier] Re: Alternative to tablet and PDA for MKIV









    
            Hello all,



I'm certainly surprised and pleased to see such enthusiasm regarding

our software controller for the Disklavier.  I never expected anyone

to actually scrutinize those development notes I made while working on

the project :-)



As Chris mentioned, we choose Flash initially because we suspected the

original software used Flash due to its transparency effects and

animations.  It also seemed like a good choice because it had a built

in class called XMLSocket which would conveniently send XML on ports >

1024, just like the original software.  It is too bad we never got

access to some of Yamaha's UI Elements; with those in place, the

software would have a much more familiar feel to less technical users.



In retrospect, I do agree that the overall architecture of the

software is somewhat of a hack due to the java backend running in a

separate process.  Note that this whole thing was thrown together in

about 4 months with only one person working on it, and no help from

Yamaha, so I had little time to evaluate and implement a more elegant

solution. 



We had already invested a large amount of time in Flash when I

realized I needed a direct database connection.  I couldn't find any

free Flash plugins/source that could send SQL statements

synchronously.  A few existed, but they cost money, and we wanted the

software to be completely free and redistributable.  To get around

this problem, I implemented the Java backend, which of course takes

XML from the Flash app, restructures it into a query, and then sends

the results back to the Flash app asynchronously. 



If members here are interested in rearchitecting the program, I would

 be wary of Flash.  It is not what I would consider an elegant or

powerful language.  Even the simplest tasks took hours to accomplish,

and in the version I was using (Flash 8), there were very annoying

bugs.  For example, in certain cases, the program compilation is

actually affected by where you place comments in the code! 

Ridiculous, I know.  That's not to say that if you didn't use Flash,

you couldn't make a pretty interface.  There are a lot of great

alternatives now that look as good, if not better, than Flash...

including things you can do with WPF 3.0 and Silverlight (though I

haven't worked with them first-hand myself).



When we were asking Yamaha if we could publish the paper disclosing

details of their software, they mentioned that they might incorporate

additional security precautions in future versions.  I don't know if

that is a good or bad thing, but I certainly hope they keep the

protocol open and easy for third party devs to access.  Plus, judging

by their current history of software releases, this shouldn't happen

any time soon.



Regardless of Yamaha's position, a community of Disklavier users

enthusiastic about improving the capabilities of their instrument will

only serve to promote Yamaha's product.  I'll be happy to stop by here

every so often and provide any insight I can.  I do work full time now

doing software development, so when I come home at the end of the day,

writing software is usually quite low on my activity list; but I still

live near the University and will be happy to support any development

efforts that commence (testing, troubleshooting, different firmwares,

etc).



I can help you get the software working if you would be so kind as to

post details such as: firmware version, PostgreSQL JDBC driver

version, java version, exact error messages, and the like.  I know of

at least 3 people around the world that have got it working successfully.



Thanks for your interest!





    
  









____________ _________ _________ _________ _________ __
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 

http://mail. yahoo.com
 
    

  








____________ _________ _________ _________ _________ __
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 

http://mail. yahoo.com 


    
  

    
    























    
  

    
    




<!--

Attachments

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.