A library to easily manage your playlists in python
Project description
easy-playlist
A library to easily manage yours playlists in python
Getting started
Installation
This library will work with python 3.6+
PyPi : pip install easy-playlist
GitHub : Github
Usages
This library will work with any .mp3 files It's was desinged to work with bots in general
Code example
Simple tasks
from easy_playlist import Playlists
pls = Playlists()
pl = pls.add_playlist("test")
# pl = pls.get_playlist("test")
# add music to your playlist
pl.add_music("path_to_music.mp3")
pl.add_music(["path_to_music.mp3", "path_to_other_music.mp3"])
# trigger the timer
# this will take the first song of the playlist
pl.play()
# pause the timer
pl.pause()
# resume the timer
pl.resume()
# stop the current music and trigger the timer for the next one
pl.next()
# stop the current music and trigger the timer for the previous one
pl.previous()
# stop the timer and the music
pl.stop()
# IMPORTANT
# when you don't need to use the playlist anymore do this
# this library use a thread to calculate the time
pl.exit()
To make it work with a bot
from easy_playlist import Playlists
# any bot library
bot = Bot()
pls = Playlists()
pl = pls.add_playlist("test")
# pl = pls.get_playlist("test")
# code example
@bot.command()
def add_music(music):
pl.add_music(music)
@bot.command()
def pause():
pl.pause()
bot.pause_music()
@bot.command()
def resume():
pl.resume()
bot.resume_music()
@bot.command()
def play(music):
pl.play(music)
bot.play_music(music)
@pl.on_music_over()
def music_over(data):
print(f"{data.playlist.name} {data.music.name} is over, playing next now")
pl.next()
bot.play_music(pl.get_current().file)
An other code to explain
pl = Playlists()
pl1 = pl.add_playlist(name="test1", playlist=["music/bip1.mp3", "music/bip2.mp3"])
pl2 = pl.add_playlist(name="test2", playlist=["music/bip1.mp3", "music/bip2.mp3"])
pl.add_music("test1", "music/bip3.mp3")
# pl1.add_music("music/bip3.mp3")
# pl1 = pl.get_playlist("test1")
# pl2 = pl.get_playlist("test2")
pl1.play()
pl2.play()
print("starting...")
@pl.on_music_over()
def music_over(data):
print(f"[{data.playlist.name}] {data.music.name} is over, next song now!")
if data.playlist.is_over():
print(f"Playlist {data.playlist.name} is over")
data.playlist.clear()
return
data.playlist.next()
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
easy-playlist-1.7.2.tar.gz
(6.1 kB
view details)
Built Distribution
File details
Details for the file easy-playlist-1.7.2.tar.gz
.
File metadata
- Download URL: easy-playlist-1.7.2.tar.gz
- Upload date:
- Size: 6.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.11
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6643752bfa47f3aaeddd16b737d20f6f739c60ff880a2d7c9f44297447845b6d |
|
MD5 | 14221a20a5f00fff31c2ddba8c915c2a |
|
BLAKE2b-256 | bd078013488f398a12b2f268fedb618e56e76fb8909fd55b51cd7aeb39b77af2 |
File details
Details for the file easy_playlist-1.7.2-py3-none-any.whl
.
File metadata
- Download URL: easy_playlist-1.7.2-py3-none-any.whl
- Upload date:
- Size: 6.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.11
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | cbcb49de37846896dd9c5a3158bdcd145e30ccb71dc42eb38c92023bf5d194a5 |
|
MD5 | 50063bc770f02745966a57b9ed634b05 |
|
BLAKE2b-256 | 505cdcb37d4a0d06d0029a1bb64d02e0f0d9686452f1057526f128e8299514e1 |