The scrolling note display on Piano Booster is a cross between the a standard musical notation and the Piano Roll type display you get on sequencers and on games like guitar hero. The vertical placement of the notes uses the standard musical notation but the horizontal position of the notes does not use standard notation but instead the notes are placed on a time grid that indicates when the note should be played.
Piano booster has been designed so that you can equally well read the music from the printed sheet music, in particular the wrong note sound enables you to keep your eyes on the sheet music as you can hear if you are playing the right or wrong notes. I would really encourage the users of Piano Booster to print out or buy the musical score and read the music from the paper copy. I intend to add features that will make this easer like adding bar numbers that you can cross reference to the printed score.
Ideally Piano Booster would display the full musical score with all the slurs but and dynamic markings etc (but remember you can still get all this from the printed sheet music) however there are a number of difficulty's with this which are listed below.
The midi data captures the data from a live performance and so normally does not contain all the information need to recreate the musical score. For example there are normally no dynamic marking or note slurs etc in the midi data. Also the way the musician performs the piece means that they can vary from the musical score quite a bit. For example if the pianist uses the sustain pedal should all the notes be extended to when the sustain pedal is released? It is possible to enter the music in “step time” so that that the midi data corresponds exactly to musical score but these generally sound dead and mechanical.
A printed musical score does not place each notes on a fixed time grid but will vary the length of the each bar and the placement of each note so that the printed score looks beautiful. However if you try to scroll a music that is not on fixed time grid then the scrolling speed would have to slow down and speed up depending on the length of the bar. It would be very disconcerting seeing a scrolling display that does not move at a constant speed.
It is technically quite difficult (and very time consuming) to recreate the proper musical notation from the midi data. (Does any body know of any library code that will do this?). Especially drawing the note beams and calculating where the rests should go.
This leaves the question what to do about the note durations, I shall probably as the first step just add display the note duration as horizontal line coming out of the back of the note like on guitar hero (but with an option to turn this feature off). The next step would be just to display the correct note duration type but without any note beaming and without any rests displayed. When we have this we could decide what to do next to improve the display.
In the long term it is probably best that Piano Booster sticks to the placing the each note on the horizontal time grid so that so that it retains it's game like features. As a result the scrolling notes will not always look ideal especially when the notes get crowded.
Please remember that this is an Open Source project and so you a free to make your own contributions to the code or the documentation. Midi files that can be distributed with the project would be especially welcome.
Yes, I'll definitely be doing a play from bar eventually as I want it for my self. If you are desperate for it now then just edit the midi file and delete everything before the bar you want to start from. You can even copy the bar you want multiple times to get a looping effect.