https://github.com/codl/autoplay
A learning playlist autofiller for MPD
https://github.com/codl/autoplay
Last synced: 8 months ago
JSON representation
A learning playlist autofiller for MPD
- Host: GitHub
- URL: https://github.com/codl/autoplay
- Owner: codl
- License: bsd-3-clause
- Created: 2010-08-03T23:29:51.000Z (almost 16 years ago)
- Default Branch: master
- Last Pushed: 2017-02-15T16:21:27.000Z (over 9 years ago)
- Last Synced: 2025-08-30T16:42:02.787Z (10 months ago)
- Language: Python
- Homepage:
- Size: 69.3 KB
- Stars: 25
- Watchers: 5
- Forks: 3
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: COPYING
Awesome Lists containing this project
README
autoplay
========
a daemon that keeps your [MPD][] playlist filled with the music you actually listen to.
[MPD]: http://mpd.wikia.com (Music Player Daemon)
Requirements
------------
* python 3.x
* python-mpd2
If you have pip installed, a simple `pip install -r requirements.txt` should do the job.
Usage
-----
```
autoplay.py [command]
command can be one of :
radio [on|off|toggle] : switches between radio mode and stat collection only
trigger [number] : sets how many tracks must be in the playlist at all times
info [filename] : gives some info on the specified track, or the currently playing track
start
stop (synonym: kill)
loglevel [debug|info|notice|warning|error]
help
version
```
To have autoplay start automatically, you may add `autoplay.py start > /dev/null &` to your `.profile` or `.bash_profile`.
Installation
------------
Make sure you have all dependencies installed, then put `autoplay.py` anywhere in your `$PATH`.
Configuration
-------------
Autoplay will connect to the server according to environment variables `MPD_HOST` and `MPD_PORT`.
The defaults are :
```sh
MPD_HOST="127.0.0.1"
MPD_PORT="6600"
```
A password can be used by using the syntax `MPD_HOST="password@host"`.
If the variable `MPD_MUSIC_DIR` is set, Autoplay will use it to flag symlinks or hardlinks as duplicates.
How it works
------------
Autoplay gives each song a *karma* rating based on how often it adds that song, and how often that song is played.
Usually, bad songs have karma under 0.25, *meh* songs have karma between 0.25 and 0.60, and good songs are over 0.60. A song that is often added by the user to the playlist will have a karma over 1.
When a song is played, there is a *cooldown time* (default 12h) during which autoplay cannot add it. This way, the same songs cannot be spammed over and over.