Difference between revisions of "Extended Properties"
Line 90: | Line 90: | ||
* <code>speed</code>: <code>slow-motion-video</code> <big>{{icon|slow-motion-video}}</big> | * <code>speed</code>: <code>slow-motion-video</code> <big>{{icon|slow-motion-video}}</big> | ||
− | '''Note: To use this property, the corresponding <code>button:{BUTTON_ID}:action</code> property must also be set, otherwise this property is ignored.''' | + | '''Note: To use this property, the corresponding <code>button:{BUTTON_ID}:action</code> property must also be set, otherwise this property is ignored. If you set the icon to <code>"default"</code>, the default icon is used.''' |
|- | |- | ||
| <code>button:{BUTTON_ID}:key</code> || <code>{KEY}</code> || | | <code>button:{BUTTON_ID}:key</code> || <code>{KEY}</code> || |
Revision as of 12:44, 10 August 2021
These properties can be used for special use cases and are only valid for version 0.1.140+. Please ensure that you are using the correct version, because the syntax in previous versions can be different. Each property is a key-value pair of type string
and can be set in the properties
property of a Content Item Object. The dynamic properties can also be set via an action at runtime. For more information, please see Internal Actions.
Note: It is also possible to set values of type boolean
or number
as non-string
values (e.g. "true"
→ true
or "123"
→ 123
).
Syntax[edit]
Property | Value | Example | Dynamic | Description |
---|---|---|---|---|
button:{BUTTON_ID}:action |
{ACTION} |
|
Yes |
Sets up a custom player button action (all buttons except the eject button are supported). By default, the following actions are executed.
Note: To use this property, the corresponding |
button:{BUTTON_ID}:display |
{BOOLEAN_VALUE} |
|
No |
Shows/Hides a player button (all buttons except the eject button are supported). |
button:{BUTTON_ID}:enable |
{BOOLEAN_VALUE} |
|
Yes |
Enables/Disables a player button (all buttons except the eject button are supported). |
button:{BUTTON_ID}:focus |
{BOOLEAN_VALUE} |
|
Yes |
Focuses a player button (if player is loaded). |
button:{BUTTON_ID}:icon |
{ICON} |
|
Yes |
Sets up a custom player button icon (all buttons except the eject button are supported). By default, the following icons are used.
Note: To use this property, the corresponding |
button:{BUTTON_ID}:key |
{KEY} |
|
No |
Sets up a player button shortcut key. |
control:load |
{LOAD_MODE} |
|
No |
Sets up the player control load mode. If the mode is set to |
control:type |
{CONTROL_TYPE} |
|
No |
Sets up the player control type. If the type is set to |
image:action |
{ACTION} |
|
No |
Sets up a custom slideshow image action (replacement for the default slideshow image action). By default, the action Note: For property actions, it is not possible to provide an action-related |
image:extension |
{LABEL} |
|
No |
Sets up an additional slideshow image extension label (displayed in the slideshow labels). This property supports Inline Expressions. |
image:trigger |
{ACTION} |
|
No |
Sets up a slideshow image trigger. Note: For property actions, it is not possible to provide an action-related |
info:image |
{URL} |
|
Yes |
Sets up a player info image. The area of the image is 128x416 (WxH) pixels at layout resolution 720p (192x624 at 1080p). The image is sized to fill the entire width (by keeping the ratio) and is positioned at the top. Note: To use this property, the |
info:text |
{TEXT} |
|
Yes |
Sets up a player info text. This property supports Inline Expressions. Note: To use this property, the |
label:duration |
{LABEL} |
|
Yes |
Sets up the player duration label (overrides the default duration value of the video/audio player with a custom value). If the custom value contains the |
label:extension |
{LABEL} |
|
Yes |
Sets up an additional player extension label. This property supports Inline Expressions and Live Inline Expressions. |
label:position |
{LABEL} |
|
Yes |
Sets up the player position label (overrides the default position value of the video/audio player with a custom value). If the custom value contains the |
label:speed |
{LABEL} |
|
Yes |
Sets up the player speed label (overrides the default speed value of the video/audio player with a custom value). If the custom value contains the |
progress:color |
{COLOR} |
|
Yes |
Sets up the player progress color. |
progress:marker:enable |
{BOOLEAN_VALUE} |
|
Yes |
Enables/Disables the player progress marker. |
progress:type |
{PROGRESS_TYPE} |
|
Yes |
Sets up the player progress type ( |
resume:key |
{RESUME_KEY} |
|
No |
Sets up a resume key to store/restore the content position. If the key is set to Note: The key is stored as hash code on the local device. Stored keys can be cleared with the |
resume:position |
{RESUME_POSITION} |
|
Yes |
Sets up a fix resume position in seconds or percentage to start the content from there. |
trigger:{TRIGGER_KEY} |
{ACTION} |
|
Yes |
Sets up a video/audio trigger. Note: For trigger key |
video:duration |
{VIDEO_DURATION} |
|
Yes |
Sets up a custom video duration in seconds. If a custom duration is set, only that duration is displayed during playback. It can be used for live data or ads to disable/override the progress feature. The duration |
video:position |
{VIDEO_POSITION} |
|
Yes |
Sets up a custom video position in seconds. If a custom position is set, only that position is displayed during playback and it is not possible to seek to another position (instead a |
video:speed |
{VIDEO_SPEED} |
|
Yes |
Sets up a custom video speed. If a custom speed is set, only that speed is displayed during playback and it is not possible to change it (instead a Note: The actual video speed is not changed. For example, if the custom video speed is set to x0.5, the actual video may still be playing at normal speed. |
video:state |
{VIDEO_STATE} |
|
Yes |
Sets up a custom video state. If a custom state is set, only that state is displayed during playback and it is not possible to change it (instead a
Note: The actual video state is not changed. For example, if the custom video state is paused, the actual video may still be in the playing state. |
Example[edit]
Screenshot[edit]
Code[edit]
{
"type": "pages",
"headline": "Extended Properties Test",
"template": {
"type": "separate",
"layout": "0,0,2,4",
"icon": "msx-white-soft:movie",
"color": "msx-glass"
},
"items": [{
"title": "Video 1",
"playerLabel": "Video 1",
"action": "video:http://msx.benzac.de/media/video1.mp4",
"properties": {
"button:content:icon": "info",
"button:content:action": "info:Live info executed.",
"label:duration": "Live",
"label:extension": "{ico:msx-red:live-tv}",
"progress:color": "msx-red",
"progress:type": "reverse:time:[H:]M:ss"
}
}, {
"title": "Video 2",
"playerLabel": "Video 2",
"action": "video:http://msx.benzac.de/media/video2.mp4",
"properties": {
"button:content:icon": "info",
"button:content:action": "info:Ad info executed.",
"button:forward:enable": "false",
"button:rewind:enable": "false",
"button:restart:enable": "false",
"button:speed:enable": "false",
"label:extension": "{txt:msx-yellow:Ad}",
"progress:color": "msx-yellow",
"progress:type": "text:s",
"progress:marker:enable": "false"
}
}, {
"title": "Video 3",
"playerLabel": "Video 3",
"action": "video:http://msx.benzac.de/media/video4.mp4",
"properties": {
"button:content:icon": "info",
"button:content:action": "info:Video info executed.",
"label:extension": "{ico:msx-blue:local-play}",
"progress:color": "msx-blue",
"progress:type": "percentage",
"trigger:midpoint": "info:Midpoint of video reached.",
"trigger:third_quartile": "dialog:none"
}
}, {
"badge": "Extended",
"title": "Video 4",
"titleFooter": "0.1.130+",
"playerLabel": "Video 4",
"action": "video:http://msx.benzac.de/media/video5.mp4",
"properties": {
"button:content:icon": "info",
"button:content:action": "info:Video info executed.",
"button:rewind:icon": "thumb-down",
"button:rewind:action": "info:Thumb down executed.",
"button:forward:icon": "thumb-up",
"button:forward:action": "info:Thumb up executed.",
"button:restart:display": "false",
"button:speed:display": "false",
"label:extension": "{ico:msx-white:ondemand-video} Extended",
"progress:type": "time:[H:]M:ss",
"control:type": "extended",
"info:image": "http://msx.benzac.de/img/icon.png",
"info:text": "Placeholder for additional video information."
}
}, {
"badge": "Extended",
"title": "Video 5",
"titleFooter": "0.1.130+",
"playerLabel": "Video 5",
"action": "video:http://msx.benzac.de/media/video3.mp4",
"properties": {
"button:content:icon": "info",
"button:content:action": "panel:request:interaction:program@http://msx.benzac.de/interaction/live.html",
"button:restart:display": "false",
"button:rewind:display": "false",
"button:play_pause:display": "false",
"button:forward:display": "false",
"button:speed:display": "false",
"label:extension": "{ico:msx-white:access-time} {now:time:hh:mm:ss}",
"label:position": "...",
"label:duration": "...",
"control:type": "extended",
"trigger:load": "interaction:load:http://msx.benzac.de/interaction/live.html",
"trigger:complete": "player:auto:restart",
"info:text": "This video is controlled by an interaction plugin to simulate a live stream.",
"live:channel": "0",
"live:program": "-1"
}
}]
}