Extensions to radio station settings

This is a compilation of open work from [EPIC] Basic radio station administration (aura#221 - closed):

Sub Tasks

{
  ...,
  "imageRequirements": {
    "host.image": { "frame": { "aspectRatio": [1, 1], "shape": "round" } },
    "show.logo": { "frame": { "aspectRatio": [1, 1], "shape": "rect" } },
    "show.image": { "frame": { "aspectRatio": [16, 9], "shape": "rect" } },
    "note.image": { "frame": { "aspectRatio": [16, 9], "shape": "rect" } },
  }
}
  • Fix: The line-in channel ids mistakenly start with index 1, instead they should start with 0.
  • Ability to upload/select images in the admin UI.
  • API docs: Properties are not listed correctly, possibly no JSON schema applied. See comment below.
  • Validate JSON fields in Admin UI per JSON Schema describing the different fields (Channels, CBA domains and others in the future).
  • For aura#244, add property micro.showId to the programme wrapper. As a result this section looks something like the following. There is a separate micro wrapper, because other Micro Programme management settings will follow at a later stage.
        "programme": {
            "micro": {
              "showId": 2              
            }
            ...
        }
  • Playout section: Add a way to set music pool identifier (folder name) and description. It is used for the fallback show and for any coming music pool features. In the given example "fallback" referes to the pool directory name and "Random Music" is the display name. The display name is for example used for virtual timeslots as the episode title.
        "playout": {
            "pools": {
              "fallback": "Random Music"
            }
        }
  • Improve structure of fallback and add reference to music pools. The defaultPool ref is needed to set the pool name for virtual timeslot episode titles (#120 (closed)) and is also used for any coming music pool features.
        "programme": {
            ...
            "fallback": {
              "showId": 1
              "defaultPool": "fallback"
            }
        }
Edited by David Trattnig