UniversityRadioYork/playslave-plusplus — pull request #24 by CaptainHayashi (2014-09-03 17:38:51+00:00)
Title: LibSoX migration

# LibSoX

This pull request replaces ffmpeg with LibSoX. LibSoX is basically like ffmpeg, but with a nice, moderately high-level API.

Why is this necessary? The AudioSource is riddled with bugs, quirks, and scary low-level code, and is definitely not in keeping with the 'hackable' philosophy. LibSoX has a very nice API, and does almost everything between getting a file path and spitting out samples itself.

The disadvantage is that, from experience with getting this to work with VS2013, it looks like LibSoX will be much more difficult to build. Not sure what it'll be like for other platforms (I'm already having nightmares about the situation on Debian stable), but it got so hectic that I had to add a list of things to do when building on VS.

This pull request isn't quite merge-worthy yet: it needs testing and refactoring, and might need to be rebased or merged over master a few times. Here's a nice todo list:

## Todo

### Platforms
* [x] Windows, 32-bit, Visual Studio
* [ ] Windows, MinGW
* [ ] FreeBSD 10
* [ ] Linux (of some form)

### Format Testing
* [x] MP3
* [x] Ogg Vorbis
* [ ] FLAC
* [ ] WAV

### Lipstick
* [ ] Remove any unnecessary ffmpeg artefacts
* [ ] Clang format
* [ ] Document