README.rst 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. =========
  2. larigira
  3. =========
  4. .. image:: https://travis-ci.org/boyska/larigira.svg?branch=master
  5. :target: https://travis-ci.org/boyska/larigira
  6. :alt: Build status
  7. .. image:: https://img.shields.io/pypi/v/larigira.svg
  8. :target: https://pypi.python.org/pypi/larigira
  9. :alt: Latest Version
  10. About
  11. -------
  12. A radio automation based on MPD. Larigira will sit right to your mpd player and
  13. will keep your playlist never empty. It will also manage a db of "events", so
  14. that you can schedule shows, play jingles every X minutes, etc.
  15. Software stack
  16. ---------------
  17. * MPD, of course
  18. * python3.5 or greater
  19. - gevent as an async framework
  20. - flask to provide web interface and rpc
  21. * tinydb as an embedded database
  22. Why? (aka design features)
  23. --------------------------
  24. Reinventing a player is a bad idea. MPD provides an eccellent base.
  25. Separating the player from "action loops" makes it easy to work on this. For
  26. example, you can stop larigira for some minutes, and the audio will keep
  27. playing. It also means that you can easily replace specific parts of your radio
  28. automation.
  29. The "continous playing" part is separated from the "events" part. ``larigira``
  30. can be run to perform one, the other, or both.
  31. The "audio generation" part can be used separately by any script that you like.
  32. Installation
  33. -------------
  34. Just run ``python setup.py install``. It will, of course, also work in a
  35. virtualenv. Apart from running an MPD server, there is no additional setup.
  36. You will find some command in your PATH now; they all begin with ``larigira``,
  37. so the usual ``<TAB><TAB>`` is a good way to explore them ;)
  38. The name
  39. ---------
  40. larigira mai la sbaglia...
  41. -- https://www.youtube.com/watch?v=K9XJkOSSdEA