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
<!--Message
Re: [disklavier] Re: Alternative to tablet and PDA for MKIV
2007-11-07 by Kevin Goroway
Attachments
- No local attachments were found for this message.