Skip to content

playlist_manager

pierre drezet edited this page Aug 20, 2025 · 1 revision
Play Manager class="toc_span_items"> Misc ↓ <span

class="toc_span_items"> Params ↓ Ports ↓

Manages parsing SMIL playlists and controlling media players. The function block manages downloading content and subsequently asserts time-triggered ouput events as defined in the SMIL playlist.

The SMIL format is defined in https://www.w3.org/TR/SMIL20/cover.html . The following functions are supported:

Section and Media Entries

  • seq : SMIL sequence list. All content is played in sequence
  • par : SMIL par list. All content is started at the same time, unless a start time is specified.

Content Entries

  • media : Specify remote or locally stored media URL using src= attribute. e.g. (src="http://a.b.c/d/e.mp3" or src="/d/e.mp3" for locally downloaded).
  • img : Specify remote or local image URL using src= attribute. e.g. (src="(http://a.b.c/d/e.jpg" or src="/d/e.jpg" for locally downloaded).
  • smilText : Specify immediate text to display (e.g. &ltsmilText&gtHello There!</smilText>
  • audio : same as media
  • video : same as media

Section and Content Attributes

  • begin : wallclock time values only as below
  • end : wallclock time values only as below
  • dur : relative duration times as HH:MM:SS, seconds (e.g. 22s), minutes (e.g. 10.5min or 10.5m), hours (e.g. 1.5h)
  • class : Free text that is output for content.
  • region : layout ID defined in the &ltlayout> header section
  • xml:id : ID that is output for all media

SMIL timing synatx is extended with the following wall-clock related features to allow various repeat rates:

  • Daily : HH:MM:SS
  • Weekly : wTHH:MM:SS
  • 2 weekly : W1wTHH:MM:SS / W2wTHH:MM:SS
  • monthly : ddTHH:MM:SS
  • yearly : mm-ddTHH:MM:SS
  • Once only : YY-mm-ddTHH:MM:SS
This SMIL parser supports layout features, with specific extensions to allow dynamic layouts using xml:id to reference layout themes.
  • textstyle IDs to be used in regions
  • textstyle region IDs mapped to layouts
  • root aspect ration (used to trigger screen orientation changes)

e.g.

<textarea "="" cols="100" rows="20"><smil xmlns="http://www.w3.org/2001/SMIL20/Language"> <head> <meta content="0,0" name="tableconfig_55"/> <textstyling> <textstyle textfontfamily="Arial" textfontsize="Small" xml:id="TextStyle_55_normal"></textstyle> <textstyle textfontfamily="Arial" textfontsize="Small" xml:id="TextStyle_55_title"></textstyle> <textstyle textfontfamily="Arial" textfontsize="Small" xml:id="TextStyle_55_table"></textstyle> </textstyling> <layout> <root-layout height="900" width="1600"></root-layout> <region bottom="0%" left="0%" right="100%" textstyle="TextStyle_55_title" top="50%" xml:id="RegionId_55_0"></region> <region bottom="50%" left="0%" right="100%" textstyle="TextStyle_55_normal" top="100%" xml:id="RegionId_55_1"></region> </layout> </head> <body> <seq begin="wallclock( 00:00:00 )" end="wallclock( 23:59:00 )" xml:id="SectionId_55"> <media dur="50s" region="RegionId_55_1" src="/_data/01 Silver.m4a"></media> <media dur="1:30" region="RegionId_55_0" src="/_data/02 Nocturnal Me.m4a"></media> <media dur="1.5h" region="RegionId_55_0" src="/_data/08 My Kingdom.m4a"></media> </seq> </body> </smil> </textarea>
name type default min. max. description
Ports Top ↑ Misc ↓ class="toc_span_items"> Params ↑
In Ev.
New Playlist Triggers reading a new playlist (see parameters for initialisation options)
Started PI
Last Ended Must be asserted if a media object finishes.
Next URL This must triggeref for all files that have been downloaded after the respective file has been downloaded and usually after the "got" event has been processed.
Got This is the local filename of a downloaded file after the appropriate "local path" prefix has been prepended (usually a copy of the output below).
Set Paths This should be asserted when a media file has been downloaded for local play to indicate it can be found locally.
Data In
Playlist path This is the local file system path of a SMIL file.
ID The item ID to be played, as defined by the outputted ID
ID The item ID of an played object after it has ended (including endings caused by instructions by this function block)
ID The item ID of a downloaded file as defined by the get ID outout.
URL This is a media URL if the content is not found locally (e.g. has a http:// prefix on the media name, which implies it should be streamed, rather than downloaded and played locally.)
Local File This is the local filename of a downloaded file after the appropriate "local path" prefix has been prepended (usually a copy of the output below).
DL URL
DL Local This is the URL of any file that has been downloaded after the remote media download server URL has been prepended
start mode
Data Out
Playlist path Copy of the playlist filename concetanted on to the download path (if provided).
ID The ID of a media object that is to be played.
Media File This is the local filesystem path to a media oject to be played.
Type This is an optional W3C SMIL meda type string
Volume
Fade
class This is an optional W3C SMIL object class string that might be included in SMIL
Text This any text (instead of media) in the SMIL file to display
Region
URL This is a media URL if the content is not found locally (e.g. has a http:// prefix on the media name, which implies it should be streamed, rather than downloaded and played locally.)
ID The ID of a file that needs to be downloaded.
Local File This is the local filename of a downloaded file after the appropriate "local path" prefix has been prepended.
-------------
-------------
-------------
-------------
start time This identifies the next media start time in the playlist
Stop time The next time when the current media, will be instructed to stop
Region JSON
AR JSON
Out Ev.
--------------
Play Now
play remote
Play Stop
------------
Get
------------
Tried All
------------
Earliest
New Layout
Misc Top ↑ Ports ↑ class="toc_span_items"> Params ↑
State Machine Stateless.
Toolbox GUI/Level1. Version v2.1.
Licence Type MPL2.0 Component Supplier inx ltd.
Minumum DCC A0000 Profiles

Core Components

Events & Triggers

State Management

  • STATE - Represents a State in Lucid
  • state_condition - Event driven state condition --> transition and actions
  • state_debug - To debug state machines this function block is required.
  • state_manager - Each state machine is defined by a State Manager

Array & Data Structures

Buffers & Queues

Primitive Data Constants

Data Converters

Boolean Logic



Mathematics

Alebraic Evaluation

Mathematical Operators

Inequalities

Trigonometry

Other Functions

Data Selection

  • indexed_mux_int - Indexed Mux Int
  • indexed_mux_str - Indexed Mux String
  • map_int - Map Int
  • mux_1b - mux_1b
  • mux_1i - mux_1i
  • mux_1r - mux_1r
  • mux_1s - mux_1s
  • mux_2b - MultiplexTwo Input Bool
  • mux_2i - MultiplexTwo Input Int
  • mux_2r - MultiplexTwo Input Real
  • mux_2s - MultiplexTwo Input String
  • mux_3b - MultiplexThree Input Bool
  • mux_3i - MultiplexThree Input Int
  • mux_3r - MultiplexThree Input Real
  • mux_3s - MultiplexThree Input String
  • mux_4b - MultiplexFour Input Bool
  • mux_4i - MultiplexFour Input Int
  • mux_4r - MultiplexFour Input Real
  • mux_4s - MultiplexFour Input String
  • mux_8b - 8-Input Indexed Boolean Multiplexer Function Block
  • mux_8i - 8-Input Indexed Integer Multiplexer Function Block
  • mux_8r - 8-Input Real Number Multiplexer Function Block
  • mux_8s - Number Multiplexer Function Block
  • num_mux - Numeric Multiplexer Function Block

Data Processing & Parsers

Database & Storage

Demultiplexers

String Functions

File Operations



Basic IO Components

GPIO & Hardware I/O



Graphics and UI Components

GUI & User Interface

User Input

  • keypress - Reads key presses & control keys

Unity & Web Integration

  • inx-unity - Provides media and animation widget interface
  • unity2 - Unity 3D
  • webkit - JavaScript/WebKit Interface (Obsolete)

Language & Localization



Media Components

Audio & Media

Digital TV & Media Control



Communications Components

TCPIP Network & Communication

Wireless & LPWAN Networks

Fieldbus Comms



Digital Signal Processing

  • ADC Polled Analogue to Digital converter.
  • ADC_continuous Advanced ADC supporting clocked ISR modes and advanced signal averaging.
  • FFT8 Fast Fourier Transform of 8 bit binary input data
  • FIR8 Finite Impulse Response filter for 8 bit binary data.
  • IIR8 Infinite Impulse Response filter for 8 bit binary data.
  • [calibrate](ADC calibrate) - Calibrates the ADCs


Control Systems Components

PID Controllers



Machine Learning & Machine Vision

  • mv_camera - Provides access to camera input data image streams
  • mv_idsplay - Renders camera image streams.
  • mv_resize - Resizes an image using given interpolation method
  • mv_crop - Crops and image width and height at a give offset
  • mv_apriltag_reader Plain Old Prgramming AprilTag Reader
  • ml_tflite_inference Machine learning model inference.
  • ml_osvm Online iterative machine learning (training& inference).


Platform Components

System Utilities

  • reboot - Reboot the device
  • rtc - RealTimeClock - provdes date/time from RTC device or OS.
  • rtinfo - RuntimeInfo (e.g. MAC/IP address, memory,... )
  • scheduler - Weekly Scheduler
  • system_exec - Executes linux shell commands
  • rng - Random Number Generator (may use hardware RNG)

Time Components

Application Management

Over the Air Update (OTA)

  • ota - OTA Function Block for updating firmware
  • ota_data_parser - Assembles OTA data files from Devman.


Non-functional Components

Some function blocks that can be used Lucid app are for visual/organisation purposes only and do not translate into any executable ert-components.

Sub System Input/Output Ports

-Note this file is autogenerated from ert-config help files and may not currently be complete or properly categorised!

Clone this wiki locally