ucsb-cs56-projects / cs56-music-basic-synthesis-demo

-
0 stars 5 forks source link

Issue #18 and #19 #23

Closed rtwaltman closed 10 years ago

rtwaltman commented 10 years ago

@bronhuston

--ISSUE 18-- ~requested: 100

Completely cleaned build.xml to remove redundancies and unused portions. General usability and readability has been vastly improved. Descriptions have been added for all targets. Command line running for melodyGUI, single file melody, three file melody, full ADSR melody, and basicGUI has been implemented. Most targets have been rewritten for clarity, using Professor Conrad's build.xml files from labs as a reference. Javadoc URL had "13S" present in it, which I changed to "W14."

html subdirectory has been deleted.

README.md has been fullly updated to reflect changes to build.xml for command line running of various classpaths (-Darg). This includes multiple options for running different melodies.

As I have spent roughly 4 hours on this section alone, I have requested points to be 100. The build.xml needed many new options for different melodies to be run correctly, which required the implementation of -Darg. That took me awhile to learn, grasp, and play with so that everything worked correctly. The build.xml had LOTS of redundant property names and many non-working targets. As I had limited experience writing the build.xml files by hand, that took me quite some time as well. I also spent a significant amount of time trying to figure out why sound was throwing all kinds of errors before I started the README. That ended up being the result of putty, however, which was a relief. Editing the README took a significant amount of time as well, as I needed to play with the formatting quite a bit so that things were readable. This link ended up being useful: http://www.mediawiki.org/wiki/Help:Formatting.

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// --ISSUE 19-- ~requested: 250

Changed input handling to allow file formats that have midi values, scientific names, or frequencies given for pitch in the pitch duration volume format. We built a hashMap of the octaves 1-7, that's 84 available keys! Old formats for YellowSub.txt, MaryHadALittleLamb.txt, and Default.txt do not currently work as they are in the old incompatible format and need to be updated to use either midi, scientific name, or frequency for their pitch. As such, the README completed in Issue 18 needs to be rewritten. Note: Scientific name works for both flat and sharp inputs, as they refer to the same key. Ex: "C#6" and "Db6" may both be used and they will both generate the same frequency, as they are technically the same key.

All frequencies are generated via the key number and the function on this page: http://en.wikipedia.org/wiki/Piano_key_frequencies

Added a master volume control in both basicGUI and melodyGUI. The master volume control will adjust the volume of any saved notes through the melody GUI and then play them back accordingly when "play melody" is clicked, but does not currently work for playing single notes, as they are generated differently. Command line implementation of volume control is not fully implemented.

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// --ISSUE SUGGESTION-- ~requested: 100

Note that we have suggested a viable issue for this project's command line options. See: https://github.com/UCSB-CS56-Projects/cs56-music-basic-synthesis-demo/issues/24

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// --CODE REVIEW-- ~requested: 100

Dalin Wang and I (@dwang68 and @rtwaltman) did a last minute code review to try to scrub together some points in case we need them! Not to mention this game is pretty sweet!! Our code review was done here: https://github.com/UCSB-CS56-Projects/cs56-games-flood-it/pull/10/files

bronhuston commented 10 years ago

PROJ1 MOD REVIEW DONE