Settings#

In Settings, you manage Placeholder, templates, and timetables.

Hint

A Schedule describes a day and consists of Templates. A template describes the structure of a cast and consists of placeholders. A Placeholder describes a slot within a cast. Above all of these is the Weekly Planning, where each day is assigned a Schedule.

Audio#

Openers, bumpers, and stingers are defined in the station settings and in cast administration within placeholders and templates.

These settings are applied in a bottom-up cascade, meaning that settings in placeholders override settings in templates, and settings in templates override settings in the station settings.

There are the following audio types:

  • opener: Played at the beginning of a cast. Can only be defined in the station settings.

  • bumper: Played between the individual elements of a cast. The bumper is also used for beds within news items. In this case, one audio file containing both elements must be produced.

  • stinger: Played at the end of a news item (if defined within a placeholder) or at the end of a cast (if defined in the station settings or template).

Each audio element requires information about the audio file (fileId) and the mix settings (mix).

JSON Schema Audio#

{
   "$schema": "https://json-schema.org/draft/2020-12/schema",
   "type": "object",
   "properties": {
      "fileId": {
         "type": "object",
         "properties": {
            "$oid": {
               "type": "string",
               "description": "MongoDB ObjectID"
            }
         },
         "required": ["$oid"]
      },
      "mix": {
         "type": "object",
         "properties": {
            "volume": {
               "type": "string",
               "description": "Volume in dB, where 0 dB = 100%"
            },
            "padding": {
               "type": "integer",
               "description": "Padding in ms"
            },
            "cuein": {
               "type": "integer",
               "description": "Cue-in in ms"
            },
            "startnext": {
               "type": "integer",
               "description": "Start next in ms"
            },
            "cueout": {
               "type": "integer",
               "description": "Cue-out in ms"
            },
            "fadeoutduration": {
               "type": "integer",
               "description": "Fade-out duration in ms"
            }
         }
      },
      "minSlotIndex": {
         "type": "integer",
         "description": "Specifies the slot from which the bumper should be played"
      }
   },
   "required": ["fileId", "mix"]
}

Examples#

Example of the audio element configuration in the station settings:

{
   "opener": {
      "fileId": {
         "$oid": "aaaaaaaaaaaaaaaaaaaaaaaa"
      },
      "mix": {
         "volume": "-13dB",
         "cuein": 0,
         "startnext": 7250,
         "cueout": 12000
      }
   },
   "bumper": {
      "fileId": {
         "$oid": "bbbbbbbbbbbbbbbbbbbbbbbb"
      },
      "minSlotIndex": 2,
      "mix": {
         "volume": "-13dB",
         "padding": -500,
         "cuein": 0,
         "startnext": 800,
         "cueout": 560
      }
   }
}

Example of the audio element configuration within a placeholder:

{
   "bumper": {
      "fileId": {
         "$oid": "cccccccccccccccccccccccc"
      },
      "mix": {
         "volume": "-13dB",
         "startnext": 650,
         "fadeoutduration": 200
      }
   },
   "stinger": {
      "fileId": {
         "$oid": "dddddddddddddddddddddddd"
      },
      "mix": {
         "volume": "-13dB",
         "cueout": 9500
      }
   }
}

Outputs#

Important

For pre-produced broadcasts (on_tape), the cron job is always started five minutes before the broadcast. For live broadcasts (live), the cron job runs after the scheduled start, depending on the planned duration + tolerance defined in the template.

JSON Schema Output#

{
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
                "type": {
                        "type": "string",
                        "enum": ["newslineTxt", "httpPost", "backupPdf"]
                },
                "url": {
                        "description": "URL for sending the data. Used for `httpPost` and `backupPdf`",
                        "type": "string"
                },
                "format": {
                        "description": "File format. Used for `httpPost`",
                        "type": "string",
                        "enum": ["mp2", "mp3", "wav"]
                },
                "host": {
                        "description": "Hostname of the FTP server. Used for `newslineTxt`",
                        "type": "string"
                },
                "user": {
                        "description": "Username for the FTP server. Used for `newslineTxt`",
                        "type": "string"
                },
                "password": {
                        "description": "Password for the FTP server. Used for `newslineTxt`",
                        "type": "string"
                },
                "path": {
                        "description": "Path on the FTP server. Used for `newslineTxt`",
                        "type": "string"
                },
                "skipSlotIndexes": {
                        "description": "Slots that should not be sent. Used for `newslineTxt`",
                        "type": "array",
                        "items": {
                                "type": "integer"
                        }
                }
        },
        "required": ["type"]
}

Example#

{
        "audioExport": {
                "type": "httpPost",
                "format": "mp2",
                "url": "http:\/\/…"
        },
        "pdfBackup": {
                "type": "backupPdf",
                "url": "http:\/\/…"
        },
        "newslineExport": {
                "type": "newslineTxt",
                "host": "hostname",
                "user": "username",
                "password": "password",
                "path": "\/",
                "skipSlotIndexes": [
                        0
                ]
        }
}