Rewrote from scratch. Downloader runs in the background, player in foreground