A brief introduction...

November 4th, 2011
I joined the Jalmus project in September 2011, after spending a lot of time trying to improve it.
When I first started looking at it, I found out that almost the whole source code was written in french, which made me think "Hey, this is not really open source !". So I started to translate it in english, to allow other people to contribute to a project that claims to be "open".
I gave my contribution and I was happy to do it.
After a while though, I stumbled into divergences with the Jalmus author. My point of view, as a developer, is to write functionalities suitable for everyone, and for any scenario of the program. Probably not the same view of the author.
In the end I've been "warmly" invited to leave the project and do my own "fork" of Jalmus, moreover, saying "thank you" for this.

Actually....that is exactly what I did !

For 20 days I started working from scratch on ScoreDate. I wrote the code from a blank page, and now it has almost nothing to do with Jalmus. (I only kept some parts for you guys to recognize the functions !)
ScoreDate is really open source, it's completely written in english and, when I could, I commented the code to explain what it does.
In the end, 3 months ago I knew nothing about Java. Now I do and this time I really have to say "thank you" to Jalmus for that !

Why ScoreDate ?

Following a list that highlights ScoreDate features compared to Jalmus.

ScoreDate Jalmus
Look & Feel Uses latest Java technology to render a colorful and easy-to-use interface Uses the old Java "metal" theme
Latency Latency is not needed anymore ! It is present in the MIDI setting menu in case a very slow computer needs it Jalmus needs this option to compensate the bad software design. It consumes a lot of CPU and renders the whole score+notes+answers every 10ms, which causes a delay between a note keypress and the answer rendering
Game preferences Saves almost all game preferences so when the program is opened is ready to be used Users have to set game preferences every time
Localization Autodetects system language. If supported auto set it, otherwise the user can manually select language User has to set language manually
Clefs number Supports up to 4 clefs. 2 at the same time on any game 2 Clefs maximum. Double clef supported only in inline game
Clefs types Supports Alto and Tenor clefs No support for such clefs
Notes range User can set a range for each clef. Up to 3 rows above or below the score Limited ranges of notes. Can't exercise on notes out of the staff on score game
Game speed Can select any speed from 40 to 200 BPM Timing is pre-fixed. Can't exercise on precise times
Chords Random chords are generated accordingly to clef ranges and accidentals. User can select on which tonality to train Chords are generated randomly indipendant from the tonality. This results in a difficult exercise that might not be accessed by beginners musicians
Game score Gives you a score when playing a game. This can be funny and can encourage the users to improve themselves There is no score
Game precision Shows the precision when playing a game. This can encourage the users to improve themselves There is no precision