Ramp filter when rechaching frequency limits
Moved the diable fading to filteriir and cleaned up the filter effect code
used fading for the moog ladder as well
Merge remote-tracking branch 'upstream/master' into filter_ramping
BeatMap: Fix bpm and sync behavior with beatmaps.

YOUR BPM INDICATOR IS LYING TO YOU.  Since a beatmap
doesn't have a constant bpm, using the "file_bpm" value
for sync and slider display is misleading.  This commit introduces
a new ControlObject, "local_bpm", which represents the average
bpm value around the closest 8 beat span.  It's still a fairly
noisy value, so it may require tuning.  This local_bpm
value is used to display the visual_bpm, so now you can
watch the bpm of your crazy track change over time.  Also it's
used for master sync, so you can watch the pitch slider
of your track wobble around as it tries to stay in sync.

TESTED=existing tests pass, and some new tests for the bpm averaging function.
clarifying comment
Fix waveform concurrency issues. Potentially fixes Bug #1383404.

* Use const shared pointers for waveforms.
* Move all std::vector sizing operations to the Waveform constructor. No
  vector state is allowed to change after the constructor finishes.
* Clarify comments.
* Remove waveform mutex usage in WOverview variants.
* Use the track's waveform pointer to atomically swap the waveform
  rather than mutating the waveform in place.
* Remove unused code.
Review comments.
notes
More review comments.
Merge pull request #420 from rryan/waveform

Fix waveform concurrency issues. Possible fix for Bug #1383404
Add stub implementation for SoundSourceFFMPEG::parseCoverArt().
Add effects preferences page.

Currently has a single tab that shows you the available effects. The tab
widget leaves room for future pages (e.g. quick effects, chain config,
etc.). The available effects page will be where you import and configure
external effects once we support external plugins.
Merge pull request #400 from daschuer/filter_ramping

Filter ramping
Add NULL pointer check.
Deere skin: Swap FILTER and KEY button order in mixer column. Fixes https://bugs.launchpad.net/bugs/1399549
Put audio device check last in the startup flow.
LateNight: Implement SizeAwareStack for lower half of UI.

Now the effects rack, samplers, and library will appear and disappear depending on the
size of the window.  Each state needs its own COs, so there is some
odd jumping around as the window size changes.  But most users don't
spend a lot of time resizing the window so it's not a dealbreaker.

TODO: need to hide the "effects" and "samplers" buttons when Big Library
mode is engaged
Tracks specified on the command line need to be processed after we know
we have a working sound card.
Merge pull request #421 from ywwg/skincheck-first

Put audio device check last in the startup flow.