forked from rc/aircox
34 lines
1.8 KiB
Markdown
34 lines
1.8 KiB
Markdown
# 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_monitor**: update/create, check and clean diffusions; When a diffusion is created its type can be set on "unconfirmed" (this depends on the approval mode).
|
|
* **sound_monitor**: check for existing and missing sounds files in programs directories and synchronize the database. Can also check for the quality of file and synchronize the database according to them.
|
|
* **sound_quality_check**: check for the quality of the file (don't update database)
|
|
|
|
|
|
## Requirements
|
|
* Sox (and soxi): sound file monitor and quality check
|
|
* requirements.txt for python's dependecies
|
|
|