-
David Trattnig authoredDavid Trattnig authored
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:
-
Timeslot Fallback:
-
Show Fallback:
-
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 asYYYY-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 formatYYYY-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