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

Roberto,

I plan to continue to update the group on my progress (until I'm told to cut it out :-) ).

I did have a breakthrough last night.  I found out why I couldn't select songs to play.  I was sending the piano the song_id and the album_id (which seemed to make perfect sense), but the piano wants the album_id and the song sequence number, so, for example, "play the third song from album 1024"

I've got it all working now so I can peruse the pianosoft and the user sections as a tree-view, select the song I want to hear, and press play.  It's actually quite fun.  The piano does have a natural behavior that is a bit counter-intuitive...Once you play a song, the piano will continue to play the next song on the album when that one is finished, and it will keep on going...No big deal, really.

The software needs some more things.  The ability to search with wildcards, support for the other "folders" (usb, floppy, etc), the ability to export the database, and ability to print a report on the database.  Ultimately, I'd REALLY love for it to be able to update the database (just the simple notion of correcting spelling/case/titles would be great!).  I think this is also trivial though.  There's really nothing on the list that is difficult at all....it's all just time.

That being said, I'd love to release this even as is so people can start playing with it...but how many of you are even interested?  It also has absolutely no error checking in it at all, currently.

-Kevin

----- Original Message ----
From: ipermedia <r.fasciani@...>
To: disklavier@yahoogroups.com
Sent: Wednesday, November 7, 2007 8:15:53 AM
Subject: [disklavier] Re: Alternative to tablet and PDA for MKIV









  


    
            Hi Kevin,

please let me know about your progress in this develop, I hope to

contribute as soon as mu DKV will work again.

Thanks



Roberto



--- In disklavier@yahoogro ups.com, Kevin Goroway <kgoroway@.. .> wrote:

>

> 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@yahoogro ups.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 

> 

> 

>     

>   

> 

>     

>     

> 

> 

> 

> 

> 

> 

> 

> 

> 

> 

> 

> 

> 

> 

> 

> 

> 

> 

> 

> 

> 

> 

> 

>     

>   

> 

>     

>     

> 

> 

> 

> 

> <!--

> 

> #ygrp-mkp{

> border:1px solid #d8d8d8;font- family:Arial; margin:14px

0px;padding: 0px 14px;}

> #ygrp-mkp hr{

> border:1px solid #d8d8d8;}

> #ygrp-mkp #hd{

>

color:#628c2a; font-size: 85%;font- weight:bold; line-height: 122%;margin: 10px

0px;}

> #ygrp-mkp #ads{

> margin-bottom: 10px;}

> #ygrp-mkp .ad{

> padding:0 0;}

> #ygrp-mkp .ad a{

> color:#0000ff; text-decoration: none;}

> -->

> 

> 

> 

> <!--

> 

> #ygrp-sponsor #ygrp-lc{

> font-family: Arial;}

> #ygrp-sponsor #ygrp-lc #hd{

> margin:10px 0px;font-weight: bold;font- size:78%; line-height: 122%;}

> #ygrp-sponsor #ygrp-lc .ad{

> margin-bottom: 10px;padding: 0 0;}

> -->

> 

> 

> 

> <!--

> 

> #ygrp-mlmsg {font-size:13px; font-family: arial, helvetica, clean,

sans-serif;}

> #ygrp-mlmsg table {font-size:inherit; font:100% ;}

> #ygrp-mlmsg select, input, textarea {font:99% arial, helvetica,

clean, sans-serif;}

> #ygrp-mlmsg pre, code {font:115% monospace;}

> #ygrp-mlmsg * {line-height: 1.22em;}

> #ygrp-text{

> font-family: Georgia;

> }

> #ygrp-text p{

> margin:0 0 1em 0;}

> #ygrp-tpmsgs{

> font-family: Arial;

> clear:both;}

> #ygrp-vitnav{

> padding-top: 10px;font- family:Verdana; font-size: 77%;margin: 0;}

> #ygrp-vitnav a{

> padding:0 1px;}

> #ygrp-actbar{

> clear:both;margin: 25px

0;white-space: nowrap;color: #666;text- align:right; }

> #ygrp-actbar .left{

> float:left;white- space:nowrap; }

> .bld{font-weight: bold;}

> #ygrp-grft{

> font-family: Verdana;font- size:77%; padding:15px 0;}

> #ygrp-ft{

> font-family: verdana;font- size:77%; border-top: 1px solid #666;

> padding:5px 0;

> }

> #ygrp-mlmsg #logo{

> padding-bottom: 10px;}

> 

> #ygrp-vital{

> background-color: #e0ecee;margin- bottom:20px; padding:2px 0 8px 8px;}

> #ygrp-vital #vithd{

>

font-size:77% ;font-family: Verdana;font- weight:bold; color:#333; text-transform: uppercase; }

> #ygrp-vital ul{

> padding:0;margin: 2px 0;}

> #ygrp-vital ul li{

> list-style-type: none;clear: both;border: 1px solid #e0ecee;

> }

> #ygrp-vital ul li .ct{

>

font-weight: bold;color: #ff7900;float: right;width: 2em;text- align:right; padding-right: .5em;}

> #ygrp-vital ul li .cat{

> font-weight: bold;}

> #ygrp-vital a{

> text-decoration: none;}

> 

> #ygrp-vital a:hover{

> text-decoration: underline; }

> 

> #ygrp-sponsor #hd{

> color:#999;font- size:77%; }

> #ygrp-sponsor #ov{

> padding:6px 13px;background- color:#e0ecee; margin-bottom: 20px;}

> #ygrp-sponsor #ov ul{

> padding:0 0 0 8px;margin:0; }

> #ygrp-sponsor #ov li{

> list-style-type: square;padding: 6px 0;font-size: 77%;}

> #ygrp-sponsor #ov li a{

> text-decoration: none;font- size:130% ;}

> #ygrp-sponsor #nc{

> background-color: #eee;margin- bottom:20px; padding:0 8px;}

> #ygrp-sponsor .ad{

> padding:8px 0;}

> #ygrp-sponsor .ad #hd1{

>

font-family: Arial;font- weight:bold; color:#628c2a; font-size: 100%;line- height:122% ;}

> #ygrp-sponsor .ad a{

> text-decoration: none;}

> #ygrp-sponsor .ad a:hover{

> text-decoration: underline; }

> #ygrp-sponsor .ad p{

> margin:0;}

> o{font-size: 0;}

> .MsoNormal{

> margin:0 0 0 0;}

> #ygrp-text tt{

> font-size:120% ;}

> blockquote{margin: 0 0 0 4px;}

> .replbq{margin: 4;}

> -->

> 

> 

> 

> 

> 

> 

> 

> ____________ _________ _________ _________ _________ __

> 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.