aircox-radiocampus/aircox
2017-06-27 20:58:29 +02:00
..
locale/fr/LC_MESSAGES work on panels 2017-05-17 20:55:34 +02:00
management add 'live' log type, and handle it in streamer 2017-06-27 20:58:29 +02:00
static/aircox add logo to static files 2017-05-08 23:38:50 +02:00
templates/aircox work on timezone 2017-05-10 17:19:59 +02:00
__init__.py issue #1: synchronise programs' schedules and later diffusions (update, delete); fix signal import in apps 2016-10-13 01:22:14 +02:00
admin.py add date into diffusion menu in wagtail nav; get larger menus in back-office 2017-05-14 22:33:11 +02:00
apps.py fix bugs on signals 2016-11-14 13:35:15 +01:00
connector.py fix bugs on signals 2016-11-14 13:35:15 +01:00
controllers.py change technic to detect running liquidsoap instance 2017-01-11 09:39:55 +01:00
middleware.py select current station in cms' admin 2017-05-15 21:31:01 +02:00
models.py add 'live' log type, and handle it in streamer 2017-06-27 20:58:29 +02:00
README.md rename diffusions_monitor to diffusions 2017-04-06 17:04:49 +02:00
settings.py settings.AIRCOX_DEFAULT_USER_GROUPS: multiple groups with customizable permissions 2016-12-29 19:07:39 +01:00
signals.py work on timezone bug -- still need run checks 2017-05-11 16:29:05 +02:00
tests.py merge aircox and aircox_instance 2016-10-10 15:04:15 +02:00
urls.py fix bugs on signals 2016-11-14 13:35:15 +01:00
utils.py work on timezone bug -- still need run checks 2017-05-11 16:29:05 +02:00
views.py work on panels 2017-05-17 20:55:34 +02:00

Aircox Programs

This application defines all base models and basic control of them. We have:

  • Nameable: generic class used in any class needing to be named. Includes some utility functions;
  • Station: a station
  • Program: the program itself;
  • Diffusion: occurrence of a program planified in the timetable. For rerun, informations are bound to the initial diffusion;
  • Schedule: describes diffusions frequencies for each program;
  • Track: track informations in a playlist of a diffusion;
  • Sound: information about a sound that can be used for podcast or rerun;
  • Log: logs

Architecture

A Station is basically an object that represent a radio station. On each station, we use the Program object, that is declined in two different types:

  • Scheduled: the diffusion is based on a timetable and planified through one Schedule or more; Diffusion object represent the occurrence of these programs;
  • Streamed: the diffusion is based on random playlist, used to fill gaps between the programs;

Each program has a directory in AIRCOX_PROGRAMS_DIR; For each, subdir:

  • archives: complete episode record, can be used for diffusions or as a podcast
  • excerpts: excerpt of an episode, or other elements, can be used as a podcast

manage.py's commands

  • diffusions: update/create, check and clean diffusions based on programs schedules;
  • import_playlist: import a playlist from a csv file, and associate it to a sound;
  • sound_monitor: check for existing and missing sounds files in programs directories and synchronize the database. It can check for the quality of file and update sound info.
  • sound_quality_check: check for the quality of the file (don't update database);
  • streamer: audio stream generation and control it;

Requirements

  • Sox (and soxi): sound file monitor and quality check
  • requirements.txt for python's dependecies