Commit ae86a612 authored by David Trattnig's avatar David Trattnig
Browse files

Extended structure with links.

parent bee4fa22
......@@ -13,6 +13,7 @@ specifically build for the requirements of community radios.
- [Features](#features)
- [Architecture](#architecture)
- [Installation](#installation)
- [Read more](#read-more)
- [About](#about)
- [Resources](#resources)
......@@ -47,7 +48,14 @@ To learn more, checkout the [Engine Developer Guide](docs/developer-guide.md) or
- [Installation for Development](docs/installation-development.md)
- [Installation for Production](docs/installation-production.md)
- [Installation using Docker](docs/installation-docker.md)
- [Running with Docker](docs/running-docker.md)
## Read more
- [Configuration Guide](docs/configuration-guide.md)
- [Developer Guide](docs/developer-guide.md)
- [Engine Features](docs/engine-features.md)
## About
......
......@@ -27,6 +27,7 @@ This page goes into detail on what is possible to configure within the engine.
- [Install: I don't want to install all Liquidsoap Audio plugins. How?](#install-i-dont-want-to-install-all-liquidsoap-audio-plugins-how)
- [In the Liquidsoap Logs I get 'Error when starting output output_lineout_0: Failure("Error while setting open_pcm: Device or resource busy")!'. What does it mean?](#in-the-liquidsoap-logs-i-get-error-when-starting-output-output_lineout_0-failureerror-while-setting-open_pcm-device-or-resource-busy-what-does-it-mean)
- [How can I find the audio device IDs, required for settings in engine.ini?](#how-can-i-find-the-audio-device-ids-required-for-settings-in-engineini)
- [Read more](#read-more)
<!-- /TOC -->
......@@ -212,3 +213,14 @@ Well, this is - at least for me - a hard one. I could not manage to find correct
or
* invest in better hardware
## Read more
- [Overview](/README.md)
- [Installation for Development](installation-development.md)
- [Installation for Production](installation-production.md)
- [Running with Docker](running-docker.md)
- [Configuration Guide](configuration-guide.md)
- [Developer Guide](developer-guide.md)
- [Engine Features](engine-features.md)
# 1. Aura Engine Development Guide
# Aura Engine Development Guide
This page gives insights on extending Aura Engine internals or through the API.
<!-- TOC -->
- [1. Aura Engine Development Guide](#1-aura-engine-development-guide)
- [1.1. Architecture](#11-architecture)
- [1.2. Required Data Sources](#12-required-data-sources)
- [1.3. Provided API Endpoints](#13-provided-api-endpoints)
- [1.4. Components](#14-components)
- [1.5. Running the Engine](#15-running-the-engine)
- [1.6. Default ports used by Engine](#16-default-ports-used-by-engine)
- [1.7. Debugging Liquidsoap](#17-debugging-liquidsoap)
- [Aura Engine Development Guide](#aura-engine-development-guide)
- [Architecture](#architecture)
- [Required Data Sources](#required-data-sources)
- [Provided API Endpoints](#provided-api-endpoints)
- [Components](#components)
- [Running the Engine](#running-the-engine)
- [Default ports used by Engine](#default-ports-used-by-engine)
- [Debugging Liquidsoap](#debugging-liquidsoap)
- [Read more](#read-more)
<!-- /TOC -->
## 1.1. Architecture
## Architecture
AURA Engine as part of the AURA Radio Suite uses an modulear architecture
based on a REST API. All external information is retrieved using JSON data-structures.
To get the basic architectural overview, visit the [Aura Meta](https://gitlab.servus.at/autoradio/meta) repository.
## 1.2. Required Data Sources
## Required Data Sources
The AURA Project "**Dashboard**" provides the GUI to organize shows, schedules/timelsots
and organize uploads in form of playlists. Those playlists can be organized in timeslots
......@@ -46,7 +47,7 @@ to be played and its meta-data:
More information you can find here: <https://gitlab.servus.at/autoradio/meta/blob/master/api-definition.md>
## 1.3. Provided API Endpoints
## Provided API Endpoints
**Soundserverstate:** Returns true and false values of the internal In- and Outputs
......@@ -58,7 +59,7 @@ More information you can find here: <https://gitlab.servus.at/autoradio/meta/blo
/api/v1/trackservice/
## 1.4. Components
## Components
**aura.py**: It is the server which is connected to the external programme source (e.g. aura steering and tank), to liquidsoap and is listening for redis pubsub messages. This precious little server is telling liquidsoap what to play and when.
......@@ -68,7 +69,7 @@ More information you can find here: <https://gitlab.servus.at/autoradio/meta/blo
**Liquidsoap**: The heart of AuRa Engine. It uses the built in mixer, to switch between different sources. It records everything and streams everything depending on your settings in aura.ini.
## 1.5. Running the Engine
## Running the Engine
Aura Engine is consisting of two components: The Python Engine and Liquidsoap Core.
......@@ -83,7 +84,7 @@ It's important to start both components in the correct order:
./run.sh lqs
## 1.6. Default ports used by Engine
## Default ports used by Engine
Aura Engine requires a number of ports for internal and external communication.
......@@ -94,7 +95,7 @@ Those are the default port numbers:
* `5000` ... Svelte development mode; dynamically uses some other port if occupied
## 1.7. Debugging Liquidsoap
## Debugging Liquidsoap
Connect to Liquidsoap via Telnet
......@@ -119,3 +120,14 @@ Set the volume of mixer `input 0` to `100%`
Push some audio file to the filesystem `queue 0`
in_filesystem_0.push /path/to/your/file.mp3
## Read more
- [Overview](/README.md)
- [Installation for Development](installation-development.md)
- [Installation for Production](installation-production.md)
- [Running with Docker](running-docker.md)
- [Configuration Guide](configuration-guide.md)
- [Developer Guide](developer-guide.md)
- [Engine Features](engine-features.md)
......@@ -171,3 +171,13 @@ schemas:
* `/app/trackservice` ................. Web Application for displaying the Track-Service
* `/app/clock` ........................ Web Application for displaying the studio clock
## Read more
- [Overview](/README.md)
- [Installation for Development](installation-development.md)
- [Installation for Production](installation-production.md)
- [Running with Docker](running-docker.md)
- [Configuration Guide](configuration-guide.md)
- [Developer Guide](developer-guide.md)
- [Engine Features](engine-features.md)
......@@ -103,7 +103,7 @@ This includes the Liquidsoap audio engine, but does not start the API server.
./run.sh
```
**Run the Engine Core only**
**Run the Engine Core and Liquidsoap separately**
This requires to start the Liquidsoap component within some other terminal. This is helpful for
debugging purposes.
......@@ -119,7 +119,6 @@ debugging purposes.
```shell
./run.sh lqs
./run.sh api
```
**Run the Engine API**
......@@ -127,13 +126,24 @@ debugging purposes.
This requires to start the core component in another terminal.
```shell
./run.sh lqs
./run.sh api
```
In development mode Engine uses the default [Flask](https://palletsprojects.com/p/flask/) web server.
Please be careful not to use this type of server in your production environment.
Check out more ways of running the engine in the [Developer Guide](docs/developer-guide.md).
## Logging
All Engine logs for development can be found under `./logs`.
## Read more
- [Overview](/README.md)
- [Installation for Development](installation-development.md)
- [Installation for Production](installation-production.md)
- [Running with Docker](running-docker.md)
- [Configuration Guide](configuration-guide.md)
- [Developer Guide](developer-guide.md)
- [Engine Features](engine-features.md)
......@@ -229,3 +229,13 @@ Additionally you'll finde Supervisor specific logs under:
```
`/var/log/supervisor`
```
## Read more
- [Overview](/README.md)
- [Installation for Development](installation-development.md)
- [Installation for Production](installation-production.md)
- [Running with Docker](running-docker.md)
- [Configuration Guide](configuration-guide.md)
- [Developer Guide](developer-guide.md)
- [Engine Features](engine-features.md)
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment