- Use print function for nacl library warning
- Use BufferedIO instead of StringIO on Python3, we're dealing with
bytes here
- Fix MRO issue w/ BufferedOpusEncoder
- Fix race condition on loading url information within YoutubeDLPlayable
* First pass at voice sending
* more voice
* Refactor playables a bit, general fixes n stuff
* Cleanup
* Voice encryption, dep version bump, etc fixes
* Remove debugging, don't open a pipe for stderr
* Refactor playables
This is still a very lose concept, need to think about what the actual
differences between encoders and playables are. Also some rough edges in
general with the frame/sample calculations.
However, this still feels miles ahead of the previous iteration.
* Properly reset state when resuming from a pause
* rework playables/encoding/etc a bit
* Add a proxy, allow for more pipin'
* Cleanup, etc
* Fix resuming from a pause lerping music timestamp
* Fix some incorrect bounds checks, add MemoryBufferedPlayable
- s/DiscoClient/Client (was redundant and looked ugly)
- move cached_property to functional utils
- abstract client configuration out to a ClientConfig
- command line utility is now completely isolated from the client
- add ETF (using erlpack) support, optionally enabled via command line
flags (and only works on 2.x because of erlpack)
- Refactor the way gateway events are built a bit
- Add documentation on utilities