I considered it might be useful to have something exposed that allows the end-user to set these if they want, but our current code doesn't allow for that. It'll remain an internal feature for the time being.
* getters for decibel and logarithmic volume
I don't really understand where the conversion numbers come from but having this allows for an easy way to get the volume back based on what method you used to set it. I think the math is right, but yeah I've just used the conversion numbers from the other methods.
* fix trailing spaces
- Rename Guild#updateChannelPositions -> setChannelPositions
- Allow Guild#setChannelPositions to take ChannelResolvables
- Prioritise ClientDataResolver#resolveChannel's string case
- Minor cleanup
* VoiceConnection rework
- improves codebase
- removes concept of pending connections
- attempts to fix memory leaks by removing EventEmitter listeners
- makes voice connections keep track of its own channel when it is moved by another user
- allows voice connections to reconnect when Discord falls back to another voice server or a region change occurs
- adds events for some of the aforementioned events
* Removed unused code
* More clean up / bugfixes
* Added typedefs to Status and VoiceStatus constants
* Added opus stream support, added volume interface
* Remove setImmediate
* Fix weird syntax error
* Most useless commit ever
You're welcome, @PgBiel
* Fix potential memory leak with OpusScript
Emscripten has the tendency to not free resources even when the Opus engine instance has been garbage collected. Thanks to @abalabahaha for pointing this out.
* Typo
* VoiceReceiver.destroy: destroy opus encoder
* Added try catch so that decode errors aren't fatal
* Tweaked the usage of the warn event and updated jsdocs
* Moved method into class for webpack scoping reasons