Skip to content


ShowControl can be used via OSC messages (used by the SeamLessControl GUI application) or by using the web interface.

SystemD services

ShowControl usually starts as a systemd user service.

  • showcontrol: Scheduler, OSC server, Web Interface

The web interface using the Gtk broadway web backend is deprecated. It was managed by systemd user services too.

  • seamlesscontrol: SeamLessControl GUI application as web service
  • broadwayd: Gtk web backend

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 script.


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:

  title: Brunnen der Sonne
  title_en: Well of the Sun
  audio_index: 2
  video_index: 1
    minutes: 16
    seconds: 14
  description: >
    Brunnen description text


Tracks are grouped in blocks. Blocks have a overall length in minutes and a track padding in seconds.

Example block file:

  length: 80
  track_padding: 10
    1: trailer
    2: brunnen
    3: sufi
    4: trailer
    5: oksus
    6: datenerhebung


There's only one blockplan.yml in use currently. It's just a list of blocks.

Blockplan file:

    1: default
    2: default
    3: default
    4: default