Merge remote-tracking branch 'upstream/master' into filter_ramping
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
Merge branch 'master' into DJO-hacks-trunk
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 branch 'master' into DJO-hacks-trunk
Merge pull request #421 from ywwg/skincheck-first

Put audio device check last in the startup flow.
Merge branch 'master' into DJO-hacks-trunk
Better support for SVG slider handles.

* Scale WSliderComposed handle to the width or height of the widget.
* Update Deere slider handles to look more like classic Deere -- still
  missing the dropshadow.

Raster handles are usually custom-built to be the same width/height as
the slider so this should not affect most existing skins.
Add slider backgrounds modeled after classic Deere.
Merge pull request #423 from rryan/slider

Better support for SVG slider handles.
Merge pull request #419 from ywwg/mastersync-remove-filebpm

BeatMap: Fix bpm and sync behavior with beatmaps.
Disable log spam for the (common) case of no beatgrid with quantize enabled.
Merge branch 'master' into DJO-hacks-trunk
LateNight: Move buttons around so that they don't move when they are clicked.