merged from lp:mixxx
added gain knob and a basic LED mapping
include saved build falgs from custom.py in branch virtualization
Code style fixes in EngineMaster
Add Hercules Mk4 Support, fixes https://bugs.launchpad.net/mixxx/+bug/1213752
Added Federico Briata to contributor list. Thank you very much!
Allow out-of-range values for control objects.  Map out of range values to max for midi conversion
Fix number position not showing out-of-bound values
don't need setValue any more
Min/maxing should be normalized at 1.0 == 127, not 128.  Midi is 0-127.
We do need to explicitly ignore skin-connected signals
use "playposition" as the update CO for wnumberpos, it updates less often than "visual_playposition"
moved instatiation of cuecontrol and clockcontrol to enginebuffer
removed not working m_pPlayButton connection
fixed play latching during cue preview, fixes Bug #1216433
Simplify the AudioPath name generation

Remove the duplicated "indexed" path name generation and just let the
indexed path types generate the name themself. This also make things
simpler for future types that might need another naming.
Add dedicated outputs for the left, right and center buses

The bus outputs make it possible to use the samplers in setups using
an external mixers.
Revert midi back to 14-114
Fix the math
Fix the math
fix waveform on kill buttons change