2016-02-22, 05:16
I traced back the new issue that was created with 0.7.31 which was the disappearing menu and have fixed that.
I also see the circumstances which you must be hitting with that latest error, even though I haven't been able to reproduce. You must be hitting that section of code with playOriginal, which means you have never transcode enabled in settings, but I wasn't hitting it when I had it enabled. Fixed it anyways for 0.7.32. Doing some more testing.
Prior to playing with your latest error, I was trying to figure out the logic around stopping download with playback is stopped. The concept mentioned earlier with tapping into the player module would work but lost at least 2 hours troubleshooting with it. Methods for onplaybackstopped was not triggering. Discovered with playing around that unless you sleep for at least a few nano seconds while downloading, none of the player interrupts are executed. It's like it is too busy cycling through downloading chunks that it misses the interrupts. As soon as I put a sleep statement for a few nano seconds after writing a chunk, the interrupts (when player clicks stop) are captured. Lucky, I don't think a few nano seconds will matter when downloading chunks. At least it is now working (download terminates if player clicks stop).
I also see the circumstances which you must be hitting with that latest error, even though I haven't been able to reproduce. You must be hitting that section of code with playOriginal, which means you have never transcode enabled in settings, but I wasn't hitting it when I had it enabled. Fixed it anyways for 0.7.32. Doing some more testing.
Prior to playing with your latest error, I was trying to figure out the logic around stopping download with playback is stopped. The concept mentioned earlier with tapping into the player module would work but lost at least 2 hours troubleshooting with it. Methods for onplaybackstopped was not triggering. Discovered with playing around that unless you sleep for at least a few nano seconds while downloading, none of the player interrupts are executed. It's like it is too busy cycling through downloading chunks that it misses the interrupts. As soon as I put a sleep statement for a few nano seconds after writing a chunk, the interrupts (when player clicks stop) are captured. Lucky, I don't think a few nano seconds will matter when downloading chunks. At least it is now working (download terminates if player clicks stop).