This repository has been archived by the owner on Oct 19, 2022. It is now read-only.
Releases: mansuf/discord-ext-music
Releases · mansuf/discord-ext-music
v0.3.0
Note
There may be tons of bug in the module, if you found it please report to issue tracker
Improvements
- Optimized PyAV music sources stream.
- Optimized pydub equalizer.
Fix bugs
- Fixed All of miniaudio music sources malfunctioning when decoding, for more information about what sources are affected see below:
MP3toPCMAudio.from_file()
MP3toPCMAudio.from_data()
FLACtoPCMAudio.from_file()
FLACtoPCMAudio.from_data()
VorbistoPCMAudio.from_file()
VorbistoPCMAudio.from_data()
WAVtoPCMAudio.from_file()
WAVtoPCMAudio.from_data()
- Fixed
LibAVOpusAudio.seek()
error caused by unconverted floating numbers. - Fixed a deadlock when stopping audio caused by
MusicClient.stop()
is waiting audio player thread to exit. - Fixed after function is called in audio player when
MusicClient.stop()
is called. - Fixed WAVAudio malfunctioning if given stream is valid wav.
- Fixed after function called when voice is disconnected
New features
- Added new opus encoder using PyAV library.
- Added equalizer support for PyAV-based music source for
LibAVPCMAudio
- Added
Playlist.get_pos_from_track()
to retrieve track position from given track - Added
MusicSource.volume
property to return current volume. - Added
MusicSource.equalizer
property to return current equalizer. - Added
MusicClient.playlist
property to retrieve current playlist inMusicClient
- Added
MusicClient.set_playlist()
to set new playlist. - Added
MusicClient.volume
property to return current volume from music client. - Added
MusicClient.set_volume()
to set volume music source in music client. - Added
MusicClient.equalizer
property to return current equalizer from music client. - Added
MusicClient.set_equalizer()
to set equalizer in music client. - Added hook on_disconnect on MusicClient.
- Added hook on_player_error on MusicClient.
Breaking changes
- Replaced
Equalizer
andSubwooferEqualizer
withpydubEqualizer
andpydubSubwooferEqualizer
. - Removed module
discord.ext.music.voice_source.av.encoder
as it unused because new opus encoder. - Removed
LibAVAudio
as it unused. - Replaced
LibAVError
withStreamHTTPError
- Removed
MusicClient.register_after_callback()
, replaced with:MusicClient.before_play_next()
MusicClient.after_play_next()
- Removed
Track.stream_url
attribute andstream_url
parameter - Player error handling now are called from
MusicClient.on_player_error()
v0.2.0
Note
There may be tons of bug in the module, if you found it please report to issue tracker
New features
- Added API Documentation
- Added
WAVtoPCMAudio
miniaudio-based music sources. - Added Keyword-arguments only in
Track.__init__()
, all Keyword-arguments will be setted inTrack
class attributes.
Fixed bugs
- Fix unhandled error "cannot allocate memory in static TLS block" when importing
discord.ext.music.voice_source.av
on ARM-based CPU.
NOTE: The error is not fixed automatically inside python, because you need to fix it manually outside python. The solution is given inside the error.
Removals
- Removed
WorkerError
exception class as it unused. - Removed
ConverterError
exception class as it unused.
Improvements
- Improved how next song playback system work in
MusicClient
Breaking changes
- Changed module name from
discord.ext.music.voice_source.pyav
todiscord.ext.music.voice_source.av
- module
discord.ext.music.equalizer
no longer raising error when you try to import it. - module
discord.ext.music.voice_source.miniaudio
no longer raising error when you try to import it. - module
discord.ext.music.voice_source.av
no longer raising error when you try to import it. - Now
PCMEqualizer
andSubwooferPCMEqualizer
will raise error when you dont have the required modules and try to create it. - Changed name
WavAudio
toWAVAudio
- Calling
LibAVOpusAudio.recreate()
now will close the stream before re-creating it. - Now
LibAVAudioStream.seek()
method will directly seek to the stream instead of re-creating it.
First Release (v0.1.0)
This is first release of discord-ext-music
. There may be tons of bug in module, if you found it please report to issue tracker
EDIT: in PyPI discord-ext-music
webpage, the github repository url was mistaken, this is fixed in main branch, and will be changed in next release. I'm very very sorry for this.
discord-ext-music
An easy-to-use music extension for discord.py
Features
- It's easy to use
- Have all playback and playlist controls (skip, previous, seek, rewind, and etc..)
- Thread-safe playback controls
- Built-in equalizer and volume adjuster for PCM codec audio (pydub and scipy required)
- Built-in thread-safe playlist
- Can play most supported sources from FFmpeg libraries and it embedded into python! (PyAV required)