Difference between revisions of "Extended Properties"
Line 132: | Line 132: | ||
Sets up the player control reuse mode. If the mode is set to <code>"retain"</code>, <code>"play"</code>, or <code>"restart"</code> and the video/audio base data matches the active one (i.e. <code>id</code>, <code>index</code>, <code>number</code>, <code>type</code>, <code>url</code>, <code>label</code>, <code>background</code> etc. are the same), the active video/audio data is reused. In case of <code>"retain"</code>, the active video/audio play/pause state is retained. In case of <code>"play"</code>, the active video/audio is played again (if it was paused). In case of <code>"restart"</code>, the active video/audio is restarted. By default, the active video/audio data is never reused and is the new data is applied and the video/audio is retuned. | Sets up the player control reuse mode. If the mode is set to <code>"retain"</code>, <code>"play"</code>, or <code>"restart"</code> and the video/audio base data matches the active one (i.e. <code>id</code>, <code>index</code>, <code>number</code>, <code>type</code>, <code>url</code>, <code>label</code>, <code>background</code> etc. are the same), the active video/audio data is reused. In case of <code>"retain"</code>, the active video/audio play/pause state is retained. In case of <code>"play"</code>, the active video/audio is played again (if it was paused). In case of <code>"restart"</code>, the active video/audio is restarted. By default, the active video/audio data is never reused and is the new data is applied and the video/audio is retuned. | ||
− | '''Note: Please note that if the active video/audio data is reused, all extended properties of the new data (e.g. <code>"control:type"</code>, <code>"progress:type"</code>, <code>trigger:{TRIGGER_KEY}</code>, etc.) are ignored, because the ative ones are reused.''' | + | '''Note: Please note that if the active video/audio data is reused, all extended properties of the new data (e.g. <code>"control:type"</code>, <code>"progress:type"</code>, <code>"trigger:{TRIGGER_KEY}"</code>, etc.) are ignored, because the ative ones are reused.''' |
|- | |- | ||
| <code>control:transparent</code> || <code>{BOOLEAN_VALUE}</code> || | | <code>control:transparent</code> || <code>{BOOLEAN_VALUE}</code> || |
Revision as of 10:09, 18 November 2021
These properties can be used for special use cases and are only valid for version 0.1.58+. 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 | Since Version | Description |
---|---|---|---|---|---|
button:{BUTTON_ID}:action |
{ACTION} |
|
Yes | 0.1.111 |
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 | 0.1.130 |
Shows/Hides a player button (all buttons except the eject button are supported). |
button:{BUTTON_ID}:enable |
{BOOLEAN_VALUE} |
|
Yes | 0.1.111 |
Enables/Disables a player button (all buttons except the eject button are supported). |
button:{BUTTON_ID}:focus |
{BOOLEAN_VALUE} |
|
Yes | 0.1.111 |
Focuses a player button (if player is loaded). |
button:{BUTTON_ID}:icon |
{ICON} |
|
Yes | 0.1.111 |
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 | 0.1.132 |
Sets up a player button shortcut key. |
control:action |
{ACTION} |
|
No | 0.1.140 |
Sets up a custom player control action (replacement for the action that is executed if the OK key is pressed while the video/audio is in foreground). By default, the action Note: For property actions, it is not possible to provide an action-related |
control:load |
{LOAD_MODE} |
|
No | 0.1.111 |
Sets up the player control load mode. If the mode is set to |
control:return |
{RETURN_MODE} |
|
No | 0.1.140 |
Sets up the player control return mode. If the mode is set to |
control:reuse |
{REUSE_MODE} |
|
No | 0.1.142 |
Sets up the player control reuse mode. If the mode is set to Note: Please note that if the active video/audio data is reused, all extended properties of the new data (e.g. |
control:transparent |
{BOOLEAN_VALUE} |
|
No | 0.1.142 |
Indicates if a corresponding content background can be transparent when this video/audio is active. By default, the content background is set to a semi-transparent gray to darken the underlying video/audio and make the content more visible. If this video/audio is suitable for transparent mode (e.g. dark atmospheric background videos), this property can be set to Note: To use this property, the |
control:type |
{CONTROL_TYPE} |
|
No | 0.1.130 |
Sets up the player control type. If the type is set to |
image:action |
{ACTION} |
|
No | 0.1.111 |
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 | 0.1.111 |
Sets up an additional slideshow image extension label (displayed in the slideshow labels). This property supports Inline Expressions. |
image:trigger |
{ACTION} |
|
No | 0.1.111 |
Sets up a slideshow image trigger. Note: For property actions, it is not possible to provide an action-related |
info:image |
{URL} |
|
Yes | 0.1.130 |
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 | 0.1.130 |
Sets up a player info text. This property supports Inline Expressions. Note: To use this property, the |
label:duration |
{LABEL} |
|
Yes | 0.1.111 |
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 | 0.1.111 |
Sets up an additional player extension label. This property supports Inline Expressions and Live Inline Expressions. |
label:position |
{LABEL} |
|
Yes | 0.1.111 |
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 | 0.1.130 |
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 | 0.1.111 |
Sets up the player progress color. |
progress:marker:enable |
{BOOLEAN_VALUE} |
|
Yes | 0.1.111 |
Enables/Disables the player progress marker. |
progress:type |
{PROGRESS_TYPE} |
|
Yes | 0.1.111 |
Sets up the player progress type ( |
resume:key |
{RESUME_KEY} |
|
No | 0.1.111 |
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 | 0.1.111 |
Sets up a fix resume position in seconds or percentage to start the content from there. |
trigger:{TRIGGER_KEY} |
{ACTION} |
|
Yes | 0.1.58 |
Sets up a video/audio trigger. Note: For trigger key |
video:duration |
{VIDEO_DURATION} |
|
Yes | 0.1.128 |
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 | 0.1.128 |
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 | 0.1.128 |
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 | 0.1.128 |
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"
}
}, {
"badge": "Extended",
"title": "Video 6",
"titleFooter": "0.1.140+",
"playerLabel": "Video 6",
"action": "video:http://msx.benzac.de/media/video6.mp4",
"properties": {
"control:type": "extended",
"control:action": "[player:show:execute|player:pause]",
"trigger:foreground": "player:auto:play",
"button:play_pause:icon": "default",
"button:play_pause:action": "[player:play_pause|player:hide_play]",
"info:text": "This video shows a quick play/pause function.{br}{ico:msx-white:play-arrow} If you press {txt:msx-white:OK} while the video is in foreground, it is paused.{br}{ico:msx-white:play-arrow} If you return to foreground, it is resumed.{br}"
}
}]
}