Screen control widgets

From SpinetiX Support Wiki

Jump to: navigation, search

This page is related to Elementi Library.

Description

The screen control widgets can be used to send different commands to the connected screen, like power on / off the screen, mute / unmute, set a certain volume level, or select a screen input. They don't display any content.

These widgets are especially useful when the screen commands must be sent according to a predefined schedule; for instance, the Power.svg widget can be used to create a custom power saving schedule.


Note Notes:

Widgets

Icon screen control widgets.png

The following widgets are included within the "Screen Control" collection (previously called "Automation") of Elementi Library:

  • Power
    It is used for turning on or off the screen, depending on the "Command" property being set to "PowerOn" or "PowerOff".
    This widget might work without a serial connection, as explained in the note above.
  • Mute
    It is used for muting or unmuting the sound of the screen, depending on the "Command" property being set to "MuteOn" or "MuteOff".
  • Volume
    It is used for setting the screen volume to a certain level; expected value is between 0 and 100. The command that is triggered is "SetVolume", with the selected value passed as parameter.
  • Sources
    It is used for selecting a certain input source of the screen, from the following choices: HDMI1, HDMI2, VGA, AV1, AV2, AV3. The command that is triggered is "SelectInput", with the selected value passed as parameter.

Advanced

Each screen control widget allows modifying the command to be sent or its parameters directly from Elementi GUI; the specified command is simply passed to the finite state machine of the player through the auxCmd element present inside the widget code.

The "Power" and "Mute" widgets allow setting which command to be sent. For instance, the "PowerOn" command is described like this within the Power widget:

<auxCmd command="PowerOn" target="monitor"/>

Inside the serial port protocol file, something like this would be present:

<onStart command='PowerOn' goto='start'>
    <write data='&#xAA;%c{17}&#xFF;%c{1}%c{1}%c{18}'/>
</onStart>


The "Volume" and "Sources " widgets allows setting the parameter of the fixed command ("SetVolume" or "SelectInput") they are sending. In such cases, two finite states are required within the fsm file, for instance, the following code would allow to select the HDMI1 input:

<state xml:id='start'>
  [...]
  <onStart command='SelectInput' goto='select_input_start'>
  </onStart>
</state>
<state xml:id='select_input_start'>
    <onTest var='$PARAM1' stringEqualTo='HDMI1' goto='start'>
      <write data='%c{1}&#x30;&#x41;&#x30;&#x45;&#x30;&#x41;%c{2}&#x31;&#x31;%c{3}&#x72;&#x0d;'/>
    </onTest>
</state>

The full example can be found here.


Note Note:
To send other screen control commands, you need to change the name of the command to be sent within the widget (either from the XML Tree view or using a text code editor) and then implement that command within the fsm protocol file.
This page was last modified on 24 July 2017, at 21:06.