Showcontrol¶
Showcontrol is the scheduler powering automated playback in the humboldt-forum. The preferred way of control is using the webinterface, alternatively the api can be used directly.
SystemD services¶
ShowControl usually starts as a systemd user service.
__showcontrol__: Scheduler, OSC server, Web Interface
OSC Commands¶
/showcontrol/pause f
1.0: Sends stop and mute message to Reaper and jumps to first video to get a black image 0.0: Resumes schedule
/showcontrol/track i
track number: Pause schedule, unmute reaper and play track number track number
/play f
Receives playing state from Reaper. This is only meant as a callback. It’s not supposed to be used directly.
1.0: Set playing state to True and resume video players 0.0: Set playing state to False and pause video players
/showcontrol/reboot f
Not tested yet! Doesn’t work probably because the showcontrol machine is part of this is list, but it doesn’t make sure that itself is the last one.
1.0: Reboots all system machines from showcontrol_config.yml
ShowControl YAML Syntax¶
Filename: _showcontrol_config.yml_
The ShowControl config file set ip and port of Reaper’s and of ShowControl’s OSC servers. Every machine of the seamless installation is listed with name, ip, user and used services.
For the specifics of the syntax look at the Humboldt Forum configuration.
Schedule YAML Syntax¶
Filename: _schedule.yml_
The schedule file consists of events with following structure:
- audio_index: 1
command: play
day_of_week: 0,1,2,3,4,5,6
hour: 9
minute: 0
second: 0
video_index: 0
The _schedule.yml_ can be generated from a _blockplan.yml_, blocks and tracks files with the _schedule_generator.py_ script.
Tracks¶
All tracks are found in the _tracks_ directory. Beside the scheduling information like audio and video indices and duration, there are descriptive information like the title in German and English and a description. This information is to be used for the generation of the infopanel SVGs.
Track example file:
brunnen:
title: Brunnen der Sonne
title_en: Well of the Sun
audio_index: 2
video_index: 1
duration:
minutes: 16
seconds: 14
description: >
Brunnen description text
Blocks¶
Tracks are grouped in blocks. Blocks have a overall length in minutes and a track padding in seconds.
Example block file:
default:
length: 80
track_padding: 10
tracks:
1: trailer
2: brunnen
3: sufi
4: trailer
5: oksus
6: datenerhebung
Blockplan¶
There’s only one blockplan.yml in use currently. It’s just a list of blocks.
Blockplan file:
default:
blocks:
1: default
2: default
3: default
4: default