Muzak Theory is a Java program designed to help you learn music theory by relating commonly used scales and chords.
The program allows you to "cross-check" various scales and chords and tells you what chords you can play with what scales. Its been really helpful for me in learning new scales and chords on guitar.
MuzakTheory
* contains core classes for the program.
* Scales and Chords are represented as Groups
* also contains Java Swing GUI code to run as a Java application (Java GUI not up-to-date)
MuzakTheoryGWT
* contains Java classes for program to run in Google Web Toolkit via Google App Engine
* using SmartGWT for front-end http://code.google.com/p/smartgwt/downloads/list
* using GWTX for PropertyChange support http://code.google.com/p/gwtx/