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-06 by Kevin Goroway

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@...>
To: disklavier@yahoogroups.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 
    
  

    
    




<!--

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.