A radio automation based on MPD.
Find a file
boyska 3f5823403c
Some checks failed
Install and run tests / test (3.10) (push) Failing after 6s
Install and run tests / test (3.11) (push) Failing after 6s
Install and run tests / test (3.12) (push) Failing after 6s
Install and run tests / test (3.13) (push) Failing after 6s
Install and run tests / test (3.8) (push) Failing after 5s
Install and run tests / test (3.9) (push) Failing after 5s
Build documentation / build (push) Successful in 5m41s
Build documentation / deploy (push) Successful in 2m12s
exclude .ssh directory from being deleted
2025-03-02 14:57:52 +01:00
.forgejo/workflows exclude .ssh directory from being deleted 2025-03-02 14:57:52 +01:00
doc/source link to well-known URLs in PyPI 2025-03-01 14:15:36 +01:00
larigira FIX multiple exclusions not working 2025-03-01 14:46:14 +01:00
.drone.yml drone matrix 2018-08-21 01:12:41 +02:00
.flake8 formattazione con black 2019-06-25 13:49:54 +02:00
.gitignore add more API to doc 2025-03-01 13:29:22 +01:00
.pylintrc pylintrc added 2017-01-19 11:57:44 +01:00
.readthedocs.yaml readthedocs refresh 2025-02-28 23:29:38 +01:00
.travis.yml drone CI badge in readme 2018-08-23 01:46:42 +02:00
conftest.py http testing 2014-10-27 00:44:55 +01:00
ISSUE_TEMPLATE.md issue template 2021-03-04 23:27:16 +01:00
MANIFEST.in serve jqueryui static files 2016-09-15 10:34:03 +02:00
oldsetup.py modernize build system 2025-02-28 21:02:43 +01:00
pyproject.toml release 1.4.1 2025-03-01 14:18:49 +01:00
README.md clean up summary 2025-03-01 01:54:54 +01:00
RELEASE.md improve release doc: how to upload stable 2025-03-01 14:49:00 +01:00

larigira

Latest Version Read the documentation

About

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
  • python3.8 or greater
    • gevent as an async framework
    • flask to provide web interface and rpc
  • tinydb 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. It also means that you can easily replace specific parts of your radio automation.

The "continous playing" part is separated from the "events" part. larigira can be run to perform one, the other, or both.

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. Apart from running an MPD server, there is no additional setup.

You will find some command in your PATH now; they all begin with larigira, so the usual <TAB><TAB> is a good way to explore them ;)

The name

larigira mai la sbaglia...

-- https://www.youtube.com/watch?v=K9XJkOSSdEA