LateNight: Make sure coverart setting is persisted
Add a BindProperty transformation for boolean Not
explicit cast to bool
Deere: Use new <Not> transformer
Merge pull request #413 from ywwg/not-transformer

Add a BindProperty transformation for boolean Not
Skip unloadable tracks in the AutoDJ queue. Fixes Bug #1396931.

* On track load failed remove the failed track from the queue and load
  the next track from the queue to the deck.
* Update existing on-enable test cases to check what happens after
  receiving track load success signals.
* Add test case for ADJ_ENABLE_P1LOADED state failing to load the
  first track.
* Add test case for ADJ_ENABLE_P1LOADED state failing to load the
  second track after successfully loading the first track.
* Add test cases for single-deck-playing AutoDJ enable failing to load a
  track in the non-playing player.
* Add test cases for P1FADING / P2FADING mode successfully loading a
  track and failing to load a track.
Add a note to prevent removal of a redundant looking set.
Fix comment.
Wait until the first track load request succeeds before removing the
track from the queue.

If the first track in the queue fails to load then the track that is
eventually loaded is not removed from the queue and the second track
loaded by AutoDJ will be a duplicate of the first track. Fix this by
waiting until the first track starts playing in the ADJ_ENABLE_P1LOADED
state to remove the track from the queue.
Spacing.
Merge branch 'autodj'
Found another place to inhibit no-sound warning.
oops
Delete obsolete include directives
New SoundSource/AudioSource API

This is the first step towards a better/cleaner SoundSource API.
The operations for reading audio data have been moved into the
new abstract base class AudioSource.

Currently SoundSource inherits from AudioSource for technical reasons.
This is too much much coupling that needs to be broken up. I have
already some ideas on how to resolve it, but first this work needs to
be integrated.

During the refactoring I've noticed, that the quality and maturity of the
audio decoders for different file types greatly varies:

Good/mature:
- FLAC
- Ogg
- Opus
- WavPack
- libsndfile

Mediocre:
- MP3

Ugly/inefficient:
- M4A
- ModPlug

Untested AudioSource API:
- Apple CoreAudio
- Windows Media Foundation

Unfinished AudioSource API (just a hack):
- FFmpeg

Especially the code for the M4A decoder should be revised and cleaned up as
soon as possible, followed by a review of the MP3 decoder. Reading audio
data must work as stable and efficient as possible. This has priority over
the improvement of the internal software architecture!