Skip to main content

A library to easily manage your playlists in python

Project description

easy-playlist

A library to easily manage yours playlists in python

Getting started

  1. Installation
  2. Usages
  3. Code example
  4. Documentation

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


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)

Uploaded Source

Built Distribution

easy_playlist-1.7.2-py3-none-any.whl (6.1 kB view details)

Uploaded Python 3

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

Hashes for easy-playlist-1.7.2.tar.gz
Algorithm Hash digest
SHA256 6643752bfa47f3aaeddd16b737d20f6f739c60ff880a2d7c9f44297447845b6d
MD5 14221a20a5f00fff31c2ddba8c915c2a
BLAKE2b-256 bd078013488f398a12b2f268fedb618e56e76fb8909fd55b51cd7aeb39b77af2

See more details on using hashes here.

File details

Details for the file easy_playlist-1.7.2-py3-none-any.whl.

File metadata

File hashes

Hashes for easy_playlist-1.7.2-py3-none-any.whl
Algorithm Hash digest
SHA256 cbcb49de37846896dd9c5a3158bdcd145e30ccb71dc42eb38c92023bf5d194a5
MD5 50063bc770f02745966a57b9ed634b05
BLAKE2b-256 505cdcb37d4a0d06d0029a1bb64d02e0f0d9686452f1057526f128e8299514e1

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page