add selectable waveforms
attenuate signals before mixing
clean up some things in main()
remove noteTransferTo
add pitch bend
Merge! ..and fixed the envelope phase reset.

Seems like we did some of the same stuff, slightly deferent. Nice with the pitch bend.

The stuff that i changed from what you added in the merge:
* Exchanged your oscillator functions to use blocks.
* Replaced #define defined frequencyToNote with a inline function, http://www.parashift.com/c++-faq/inline-vs-macros.html
* Removed the divide by number of inputs in JJMixer.I think it was my idea from the beginning but It feels incorrect and i removed it from out first implementation on purpose.  Maybe we should check this out: http://www.vttoth.com/CMS/index.php/technical-notes/68
* Made the envelope to work as before you removed transferToNote (phase not reseted on transfer). Maybe we should add a setting for it if you changed it intentionally.