Set Digital Signage Trigger in SmilControl-CMS

If your digital signage requirement profile involves more than just playing media content in a loop, you will start to look at triggers. The ability to set triggers is one of the key features that differentiates our software from standard media players like the VLC and other. In this tutorial, you will learn how to skillfully integrate triggers into your digital signage playlist using simple case studies.

What are Digital Signage Triggers?

Digital signage triggers interrupt current operations, such as playing a video, and initiate new actions. Triggers are based on various events, such as mouse clicks, screen touches, keyboard presses, timings, and more.

Usually, digital signage playlists contain several media items, such as videos, images, animations, web pages, etc. A media player plays these one after the other and starts again from the beginning. This is a classic playlist loop. By setting triggers, you interrupt and control the loop.

In our CMS, you start the creation in the playlist overview. Triggerable elements are videos, images, widgets and internal playlists. The system displays a button with a lightning bolt for these media. With this, you start the settings dialog.

Trigger Icon
Call trigger settings

One thing first: Triggered elements are not part of the normal playlist loop and are only displayed when the trigger is called. Exceptions are touch triggers. But we will get to that later.

Time-based Triggers

Time-based triggers represent a most common use case. At certain times, on certain days, a certain media should run. Radio and TV station programs for example even operate exclusively time-based.

Simple Time-based Trigger


On December 6th, at 9 a.m., a video is to be played on all screens in a fashion boutique with multiple displays, as the current loop is to be interrupted.


Open the trigger setting and create a time trigger as in the video below shown. Once a trigger is set, the button will turn light green. This helps to keep track of which media contains a trigger.

A first simple trigger

Repeating Time Triggers


On December 6, starting at 9:00 a.m., the current playlist loop should be interrupted, and a video will play every hour on the hour until the store closes at 8:00 p.m.


We extend the current trigger setting to include 11 repeats for every hour.

Repeated time triggers
Trigger repetition (click to zoom)

Multiple Repeats

Up to now, these have been relatively simple time triggers. Let's increase the requirement a little bit.


Starting from the first Tuesday of 2023, the playlist loop in a shop window is to be interrupted every three hours starting at midnight. At the same time, the video is to be played additionally every hour on the hour every day at lunchtime.


Since at 12 and 3 pm the video is triggered anyway, we need two additional triggers with daily repetition at 1 and 2 pm respectively.

By the way, there are several ways to go here. You could theoretically add the video to the playlist twice more and then set separate triggers for it. In some cases, this also makes sense. Especially if we combine this with conditional play. You will read about this in the next chapter.

Multiple time-based triggers
Multiple trigger repetitions (click to zoom)

Combination with Conditional Playback

Let's make the requirements even more difficult.


The screen in the shop window interrupts the playlist loop every 3 hours. At lunchtime, the video runs additionally at the top of every hour. However, we would like to exclude these midday shows on weekends.


We put the video in question in the playlist twice. Once with the 3-hour trigger and once with the daily double trigger at 1 and 2 pm. However, the latter only gets the permission to display the videos from Monday to Friday.

Trigger with conditional playback

The button for setting the display time is located to the left of the trigger and is symbolized by a clock.

Summary Time-based Triggers

We have chosen a generic approach for timing controls at SmilControl. Of course, the concept seems more complex and requires more explanation at the beginning. However, once understood, it leaves an extremely flexible scope due to the combination possibilities. Thus, it is possible to map future requirements that not even be considered at the time of development.

Access Keys

Access keys or hotkeys may come from a normal keyboard or a specially constructed sensor panel. The usage is relatively “painless”. You assign one or more access keys to the relevant media in the trigger dialog. These keys can only contain alphanumeric characters from the so-called ASCII character range. This means no special characters.

Access keys are convenient for interactive information systems with limited content. In museums or exhibitions, visitors can access information at a terminal using a control panel.

Zugriffstasten einstellen
Access keys in the trigger dialog

Touch or Mouseclick Events

Interactions using a touch or click events are also easy to explain. They define what should happen when a user taps or clicks on a currently displayed image or video with the mouse or a touch-sensitive screen.

We find this kind of touch functionality in digital totems in department stores or hotels. When someone touches the screen, a store opens or specific information are displayed.

In the SmilControl CMS, you can provide each element in the playlist with such a trigger. In this case, the element itself is considered a trigger and is not removed from the playlist loop, but only the triggered media or playlist.

Set touch trigger
Touch on image starts the Lake Ambient video

Network Triggers

One interesting but also complex type of trigger are network triggers. More sophisticated player software for digital signage often integrates a web server. This offers an interface on which, among other things, commands and triggers are transmitted.

The exciting thing about network triggers is that they can be addressed by local software or widgets, as well as over the network.

This sounds more abstract than it seems at first. Therefore, a practical example.

Barcode Scanner


Customers can scan the barcode of a product in a supermarket to get additional information on a screen.


We assign one or more barcodes to the corresponding information image or video in the playlist.

The barcode scanner transmits his code into a small software that has to be created, which sends the signals to the Player-API. This can be done both locally and over the network. This means that it doesn't matter whether the scanner is attached directly to the player or is a stand-alone device with an integrated mini-PC.

NetzSet network triggers
Network triggers for various encodings



A tactile signage totem at a hotel entrance hall displays a map with several interactive areas. Each touch either launches a video, a spa booking form, other interactive applications, or lead to a secured website. Except for the website, everything must run locally for security reasons.


We compose a playlist where all these jump targets are recorded and assigned to network triggers. Then we build a small HTML UI as a widget with the corresponding local trigger calls via localhost on the device.

At this point, someone might argue that this could also be done with a single large web application. After all, HTML also plays videos. But:

Advantages: Implementation with On-Board Tools

Instead of developing a large, complex web application bloated by the videos, we implement the vast majority of the requirement with on-board tools. Only the widget UI needs to be developed. Which is usually more manageable than a complex web app with integrated videos and interactive functionalities.

Since both the videos and the other jump targets are handled separately from the UI, the maintenance effort is significantly reduced. On the other hand, if we realize local updates with a single application, much more data is transferred. In case of errors, it delays diagnosis and correction.

That was still Far from All

We are only scratching the surface of what is possible with SMIL in this introduction. Triggers can also be language settings. A video comes with multiple language tracks, and the device decides autonomously which country it is in.

Triggers also perform synchronization tasks and can be fired on completion, the repetition, or the start of an element. A large part of the possibilities have not yet been integrated into the CMS. On the one hand, they have not been requested so far and on the other hand, they would significantly complicate the user interface.


Triggers are essential for serious digital signage. However, the subject remains complex and difficult to implement in a user-friendly front-end. The generic approach allows for flexible solutions. Nevertheless, at a certain level of complexity, it becomes confusing without concrete planning and documentation.

Gravatar Nikolaos Sagiadinos
Author: Niko Sagiadinos
Developer & Co-Founder SmilControl – Digital Signage
Visit me on: LinkedIn or GitHub


Do you have further questions?

Our contact data

SmilControl GmbH
Niederaue 1a
D-30419 Hanover


☎ +49 (0) 511 - 96 499 560

Local court Hanover
HRB 221981
VAT-Id: DE 281 780 194

Authorized to represent:
Nikolaos Sagiadinos