An universal wrapper (and useful tool) to make event / commands in python
Project description
PyPlaylist
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()
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()
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.event("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()
pl.add_playlist(name="test1", playlist=["music/bip1.mp3", "music/bip2.mp3"])
pl.add_playlist(name="test2", playlist=["music/bip1.mp3", "music/bip2.mp3"])
pl.add_music("test1", "music/bip3.mp3")
pl1 = pl.get_playlist("test1")
pl1.play()
pl2 = pl.get_playlist("test2")
pl2.play()
print("starting...")
@pl.event("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.2.3.tar.gz
(5.7 kB
view hashes)
Built Distribution
Close
Hashes for easy_playlist-1.2.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 00858df11ac406a39786a39f1a888ea00a08b4af758cf22e9a66a332fa2f7892 |
|
MD5 | ff2939bb800dc5c8b27d846d531b3cd2 |
|
BLAKE2b-256 | 03935af395486ea5ac1d7c41142b112d189ce6febe4ed9ca7d3e35376c46aebe |