43 lines
1.1 KiB
Text
43 lines
1.1 KiB
Text
|
larigira
|
||
|
=========
|
||
|
|
||
|
A radio automation based on MPD. Larigira will sit right to your mpd player and
|
||
|
will keep your playlist never empty. It will also manage a db of "events", so
|
||
|
that you can schedule shows, play jingles every X minutes, etc.
|
||
|
|
||
|
Software stack
|
||
|
---------------
|
||
|
|
||
|
* MPD, of course
|
||
|
* python2
|
||
|
* gevent as an async framework
|
||
|
* flask to provide web interface and rpc
|
||
|
* celery for task dispatching
|
||
|
* ejdb as an embedded database
|
||
|
|
||
|
Why? (aka design features)
|
||
|
-----
|
||
|
|
||
|
Reinventing a player is a bad idea. MPD provides an eccellent base.
|
||
|
|
||
|
Separating the player from "action loops" makes it easy to work on this. For
|
||
|
example, you can stop larigira for some minutes, and the audio will keep
|
||
|
playing. Also, you can replace it.
|
||
|
|
||
|
The "continous playing" part needs to be separated from the "events" part.
|
||
|
`larigira` can be run to perform one, the other, or both the duties.
|
||
|
|
||
|
The "audio generation" part can be used separately by any script that you like.
|
||
|
|
||
|
Installation
|
||
|
-------------
|
||
|
|
||
|
Just run `python setup.py install`. It will, of course, also work in a
|
||
|
virtualenv.
|
||
|
|
||
|
The name
|
||
|
---------
|
||
|
|
||
|
> larigira mai la sbaglia
|
||
|
|