Skip to content
Snippets Groups Projects
Forked from AURA / engine
1704 commits behind, 521 commits ahead of the upstream repository.

Aura Engine Features

This page gives a more detailed overview of the Aura Engine features.

Input

Play audio from multiple sources

It's possible to air playlists with music or recordings stored on the filessystem, via external streams or live from a studio.

Dynamic switching of sources

TODO extend: * switch the soundserver at the correct time to a given source for a specific show

Output

Record output to filesystem

TODO extend:  * record what is broadcasted

Stream output to an Icecast Server

TODO extend:  * stream to an icecast server

Multichannel Line-out

TODO extend:  * play to line-out

Blank Detenction / Silence Detecter

The engine offers a simple way to detect scenarios where no music is on air. It possible to configure the sensitivity of the Silence Detector and automatically transition play-out to a Fallback Playlist (see Auto Pilot).

Auto Pilot a.k.a. Fallback Handling

In case there is no schedule delivered by Steering, engine provides multiple fallback handling scenarios. The available fallbacks are evaluated in following order:

  1. Timeslot Fallback:

  2. Show Fallback:

  3. Station Fallback:

3.1 Station Fallback via remote playlist

3.2 Station Fallback via local music folder

Note: All filenames in the music folder should be ASCII encoded, otherwise this may cause engine failures.

API Endpoints

Track Service API: These endpoints provide information on the played tracks, their schedules and shows.

  • /api/v1/trackservice .............. Returns all Track Service entries for the current day
  • /api/v1/trackservice/$ID .......... Returns a Track Service entry by ID
  • /api/v1/trackservice/current ...... Returns the track currently playing
  • /api/v1/trackservice/day/$DAY ..... Returns all tracks for a given day formated as YYYY-MM-DD

The Swagger Specification of a Track Service entry as YAML looks like this:

    components:
    schemas:
        TrackService:
        properties:
            album: {}
            artist: {}
            duration: {}
            fallback: {}
            id: {}
            schedule_start: {}
            title: {}
            track_start: {}
        type: object
    info:
    title: Swagger API Specification for Aura Engine
    version: 1.0.0
    openapi: 3.0.2
    paths: {}

Reporting API: Create monthly reports using this endpoint.

  • /api/v1/report/$MONTH ...... Returns all playout details for the given month in the format YYYY-MM
schemas:
    Report:
      properties:
        fallback_type: {}
        id: {}
        playlist_id: {}
        schedule.category: {}
        schedule.is_repetition: {}
        schedule.languages: {}
        schedule.musicfocus: {}
        schedule.schedule_end: {}
        schedule.schedule_id: {}
        schedule.schedule_start: {}
        schedule.show_funding_category: {}
        schedule.show_hosts: {}
        schedule.show_id: {}
        schedule.show_name: {}
        schedule.show_type: {}
        schedule.topic: {}
        schedule.type: {}
        schedule_fallback_id: {}
        show_fallback_id: {}
        station_fallback_id: {}
        track: {}
        track_start: {}
      type: object
  info:
  title: Swagger API Specification for Aura Engine
  version: 1.0.0
  openapi: 3.0.2

Schedule API: Retrieves information on the programme.

  • /api/v1/schedule/upcoming .. Returns the next three schedules, after the one currently playing.
schemas:
    Schedule:
      properties:
        id: {}
        schedule: {}
        schedule_id: {}
        schedule_start: {}
        show_hosts: {}
        show_id: {}
        show_name: {}
        show_type: {}
      type: object
  info:
  title: Swagger API Specification for Aura Engine
  version: 1.0.0
  openapi: 3.0.2

Clock API: Retrieve all data relevant for a studio clock.

  • /api/v1/clock .............. Returns the current show, next show, playlist and time left until the next show.
schemas:
    Clock:
      properties:
        current: {}
        next: {}
        track: {}
        track_id: {}
        track_start: {}
      type: object
  info:
  title: Swagger API Specification for Aura Engine
  version: 1.0.0
  openapi: 3.0.2

Web Applications

  • /app/trackservice ................. Web Application for displaying the Track-Service
  • /app/clock ........................ Web Application for displaying the studio clock

Read more