1

Rotate and Seek Plugin

Updated: April 14, 2016

The "rotateplus" plugin has two features: Image/Video Rotation and Video Seek. BrightAuthor versions 4.3.0.x and later support presentation rotation natively, but only for 90-degree clockwise (i.e. portrait mode) orientation. Use the rotation features of this plugin in a Landscape presentation if you need need to rotate elements using another orientation.

Adding the plugin to your presentation

  1. Navigate to File > Presentation Properties > Autorun.
  2. Click Add Script Plugin.
  3. Locate and select the "rotateplus" .brs script downloaded from this FAQ.
  4. Ensure the plugin Name is specified as "custom".

The attached "addplugin" video shows how to add a generic plugin and send a plugin command. The second video, "rotate1video", shows how to use an event handler to send the rotate command before your video plays. 

Rotate

  • Rotation is supported for images and videos.
  • Rotation is only supported on the HDx22, ,XDx30, XDx32, and 4Kx42 models. The HD220/1020 series and LS422 players do not support rotation.
  • Rotation is only supported using progressive output, so you can use 1920x1080x60p, but not 1920x1080x60i.
  • You can't rotate if you're outputting 4K.
  • Rotation takes effect when the image or video playback starts, so the rotation needs to be applied before entering the video state.
  • Be sure the presentation is created for Landscape orientation, not Portrait.  Clock and Ticker zones can be rotated in the Zone Properties.  Text in Live Text states can be rotated by setting the Text Parameters for the text item.

You can send the rotate command using either UDP or the Send -- Plugin Message command. Since the plugin supports plugin messages, you can attach the Send -- Plugin Message command to any file or event in your BrightAuthor project. 

To trigger a rotation, the Plugin Message or UDP command must be formatted as follows:

rotate![zone_name]![rotate_type]

Examples

  • rotate!r90 -- Rotates video/images 90 degrees.
  • rotate!main!r90 - Rotates the video zone named "main" 90 degrees.

Rotation Parameters

  • norot -- no rotation
  • r90 -- 90 degree clockwise rotation
  • r180 -- 180 degree rotation
  • r270 -- 270 degree clockwise (90 degree anticlockwise) rotation
  • mirror -- horizontal mirror
  • m90 -- mirror and 90 degree clockwise rotation
  • m180 -- mirror and 180 degree rotation (a vertical reflection)
  • m270 -- mirror and 270 degree rotation (a transpose).

Seek

To trigger a seek, the Plugin Message or UDP command must be formatted as follows:

seek![zone_name]![video_position]

zone_name: The name of the Video Only or Video or Images zone containing the video you wish to perform seek on.

video_position: The position (in milliseconds) to seek to in the current video. The seek will not occur if the position is past the end of the video file.

Examples

  • seek!5000 - Jumps to the 5000 millisecond position in the video.
  • seek!mainzone!5000 - Jumps to 5000 milliseconds position in video in zone named "mainzone"

Ticker

The "ticker" command lets you create a scrolling ticker. This feature is supported natively in BrightAuthor versions 4.1.1.x and later. The plugin has both an add string mode and an add file mode. The two can’t be mixed.

  • Ticker!scroll – Creates a new scrolling ticker that’s hidden. This uses the plugin default dimensions.
  • Ticker!show – Shows the ticker zone.
  • Ticker!hide – Hides the ticker zone.
  • Ticker!solid – Makes the ticker background solid black.
  • Ticker!transparent – Makes the background for the ticker zone disappear.
  • Ticker!scroll!x!y!width!height -- Creates a ticker with at coordinates "x" and y", with "width" and "height" dimensions. You cannot create a ticker that’s less than 20 pixels wide, and less than 20 pixels tall.

Note: There’s no support for changing text or background color currently.

Adding and Removing Text Strings

These commands assume the initial ticker!scroll command has been called:

1a. Ticker!Place your string here

or

1b. Ticker!Add!Your string here

Adds a string to your ticker as long as your aren’t in file mode. Each time you call it, it adds a string to the end.


2. Ticker!Replace!Your string here

Adds the latest string to the end, and removes the first string in the queue. So, if you have 5 strings scrolling, and call the replace command it bumps the oldest string and adds your newest string.


3. Ticker!clear 

Removes all strings from the ticker.

 

4a. Ticker!mymessage.txt

or

4b. Ticker!file!mymessage.txt

Adds the specified .txt file to the ticker (miscellaneous files can be added to a presentation using the File > Presentation Properties > Files tab). Since you can’t mix adding files and adding individual strings, the ticker zone is reset before the file is added. Once you add a text file, you can’t add individual strings again unless you call ticker!scroll to recreate the tickerzone.

Adding the plugin

AddPlugin__Custom_.JPG

  

Adding a Send -- Plugin Message command

PluginCommand-RotateR90__Custom_.JPG




Addplugin-sendplugincommand.mp4
rotate1video.mp4
rotateplus-tckv7.brs

69 comments

  • 0
    Avatar
    Stanislav Konyukhov

    Where do i enter this codes? Can you upload picture please

    Will plugin rotate video in the preview? 

  • 0
    Avatar
    Lyndon

    You can do the commands two ways by default. One is to send a udp command. THe plugin listens on port 555 for udp commands. You can change that port in the plugin.

     

    The other is to use the advanced command, SEND, and choose PLUGIN Message for the type of command you want to send. If you only have one plugin attached, it's automatically selected. I"m attaching images.

     

    Send - Plugin Message - Rotate!r90

    PluginCommand-RotateR90__Custom_.JPG

  • 0
    Avatar
    Lyndon

    I updated the plugin. It now also supports the new scrolling ticker feature that's in the latest 4.8 firmware, but not yet added to BrightAuthor. Ticker information above...

     

  • 0
    Avatar
    Antoncharleslieberman

    Coincidentally I was just double checking to see if BA had a seek function, so this is very enticing. I have a couple questions related to this and the new firmware in general:

    I'd like to be able to toggle between videos with different embedded subtitle tracks, without having to start from the beginning when a new language is selected during a video. Is there a way to keep track of the position in video1, and if video2 is selected, use the seek function to start video2 at the same position you left video1? 

    Will the new firmware by any chance support ELO's PCAP touch screens? IIRC the last firmware version did not, and I had to revert to an older version (and correspondingly old version of BA).

    thanks!

  • 0
    Avatar
    Lyndon

    If you can send me the output from our calibration script, and touch capture script with that screen connected, I can ask your developers to see why it doesn't work. A few months ago we went onsite with elo and did a lot of testing.  What firmware did you test with?

    There isn't currently exposed features that lets you track where you are in the video.

  • 0
    Avatar
    Antoncharleslieberman

    I'm just asking if you know if PCAP is supported with the latest firmware. When I was making the presentations for PCAP touch screens, BS Support mentioned that the current firmware (at the time) didn't support PCAP but the previous version did, so that's what I used. I'm not in a position right now to test whether or not the newest firmware and BA work with those PCAP units.

    Is there a way I can track a position within a video using a custom script? I suppose if the Seek function can be used to skip ahead (within a video) a certain number of milliseconds from the current position, I could make that work as well.
  • 0
    Avatar
    Lyndon

    I'm checking if I have any info on the pcap support. Current tracking position isn't exposed. If added video timecode events to each video, then you could track those positions. 

  • 0
    Avatar
    Clifford Steinberg

    The text seems to stutter at certain times, not consistently smooth scrolling.  Do you experience the same?

  • 0
    Avatar
    Lyndon

    Can you send the test project you're using, and the dimensions you're scrolling...?

  • 0
    Avatar
    Lyndon

    Can you send the test project you're using, and the dimensions you're scrolling...?

  • 0
    Avatar
    Clifford Steinberg

    The dimensions of the ticker zone I am creating are 1877 x 130 (W x H).  

  • 0
    Avatar
    Clifford Steinberg

    Has anyone had a chance to look at this?

  • 0
    Avatar
    Romeo

    Smooth scrolling with this ticker is not going to be possible with FW 4.8.x. In order to get smooth scrolling you'll need the new rendering engine which is included with FW 5.0.x

  • 0
    Avatar
    Clifford Steinberg

    Would I be able to get FW 5.0.X? I have the XD models.

  • 0
    Avatar
    Lyndon

    It's a few weeks from release. fw 5.0 is expected by the end of this month. 

  • 0
    Avatar
    Thomas S Dorr

    Will this allow rotation of ATSC (clearqam) on an XD1230?

  • 0
    Avatar
    Lyndon

    Clifford, 5.0 is out now just for the 4k. It's coming for the other players.

     

    Thomas, yes, you can rotate the RF input or HDMI input but you need slightly newer firmware than what's posted. For 4.8 firmware you need .112 at least. 

  • 0
    Avatar
    Ken Rerdon

    How do you get to the second image that is above "Media Properties"/ Advanced.

     

  • 0
    Avatar
    Alex K.

    File > Presentation Properties > Autorun.

  • 0
    Avatar
    VincentM

    Hi, with the rotate and seek plugin, is it possible to seek from the current time to a time plus x milliseconds or minus x milliseconds? (jump backward or forward)

    thanks!

  • 0
    Avatar
    Lyndon

    The plugin currently only seeks to an absolute time. It would need to know what the current time in the video is. There isn't currently a call that provides that information. 

  • 0
    Avatar
    Ken Rerdon

    I have been trying everything but still can not get an image zone to rotate 90 deg to play from an HD 1020 to a monitor in portrait orientating.

    Steps I am taking:

    File: . Create new >

    set: location to save, type HD1020, HDMI, Portrait, res- 1920x1080x60p, no over scan>

    Select single zone portrait template>

    File> "Presentation Properties, Auto Run >

    Add Script Plug In

     name "Custom and locate>

    insert 3 .jpgs that are in portrait position into interactive play list>create loop>

    go to Media Properties> Advanced>

    Add Entry Command> Send, Send Plugin Message,  custom selects automatically, copy and paste "Rotate!r90" from this page above>

    I then save and publish the presentation to my play.

    After 50 times I still cant get it to rotate90r

  • 0
    Avatar
    Alex K.

    Have you tested the same with videos? Do the videos rotate?

  • 0
    Avatar
    Ken Rerdon

    I just tested a video file, it did not work either.

    On this test I also changed the name of the zone from "Video or Images" to Main and modified the command to "rotate!main!r90

  • 0
    Avatar
    Brandon

    Ken - two things:

    1. You need to apply the rotation before the media state is entered.  Putting it on the media state (video) itself won't show an effect.  Put the command on the state leading to the video, or put it on an event handler that leads to the video.
    2. Targeting a specific zone by name was broken in v3.  It should be fixed in v4 (updated in the post).
  • 0
    Avatar
    Brandon

    v5 now in OP.  Ticker strings are no longer forced to lowercase.

  • 0
    Avatar
    Ken Rerdon

    Can .jpg files be rotated in v5?

     

  • 0
    Avatar
    Julian

    No, they can't. "Rotate" plugin v5 works only with video files.

  • 0
    Avatar
    Vic Hoste

    Is it in any way possible to rotate a HTML page 180°? 

  • 0
    Avatar
    Melissa Baker

    Just installed the ticker autorun file in order for it to scroll.  Aside from that, is there anything else I need to do to make it scroll?  I don't find the initial instructions very clear.

Please sign in to leave a comment.