Replaced 'anfft' dependency with 'pyFFTW'.
Added queueCall() convenience function so we don't have to manually add stuff to the queuedCallbacks list.
Modified onSongChanged to take songInfo as well, and changed analyzer to write a header row of frequencies to the CSV.
Updated loadSongSettings for the change to onSongChanged.
Replaced anfft usage with pyFFTW, clarified code, added comments, added frequency list functionality, and split logic into calculating spectrum slices and windows.
Merge remote-tracking branch 'origin/master' into pyfftw
Replaced 'RPi.GPIO' dependency with 'pyserial'.
Renamed lights to lights_gpio.
Added new serial-driven light controller as lights.py.
Added config option to switch between GPIO-driven and serial-driven light controllers.
Corrected serial device, and added spin-loop to wait for the startup message from the controller board.
Corrected player.py to actually be runnable.
Pass messageQueue through to the superclass __init__ in PyGameProcess, do a non-blocking wait for PyGame events, etc.
Removed all pygame references from SampleGen, added checks to ensure self.file isn't None in SampleGen, moved pygame initialization to a more correct spot, and fixed crash from trying to send a buffer through a Queue instance.
Merge branch 'pyserial'
Merge branch 'pyserial'
Merged serial changes from master