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

67 comments

  • 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.

  • 0
    Avatar
    Sylvain Bigand

    With HD222, rot180 works but rot90 didn't. Is this a limitation ?

  • 0
    Avatar
    Lyndon

    Both should work. What firmware version were you testing on? Can you send the bpf file?

  • 0
    Avatar
    Sylvain Bigand

    HD1022 with f/w 5.1.33 Beta

  • 0
    Avatar
    Scott Staley

    I'm trying to use the plugin on an XD1132 and the unit will not load at all when I add the v5 plugin. It flashes an error and I have to remove the SD card and re-publish without the plugin.

  • 0
    Avatar
    Lyndon

    Can you send us the ba project file, the bpf file?

  • 0
    Avatar
    Lyndon

    Added version 7 of the plugin. It now rotates images in addition to videos. 

  • 0
    Avatar
    Jake Peery

    Can I rotate live video on the XD1132?

  • 0
    Avatar
    Eric

    Where can I find the mentioned plugin v7 for rotation of images and videos?  "Added version 7 of the plugin. It now rotates images in addition to videos. "  

    Thanks in advanced!

  • 0
    Avatar
    Alex

    It's attached at the bottom of the forum post.

  • 0
    Avatar
    Jaap

    Is there a way to use this plugin to play audio only? I tried but it will start at the beginning of the file.

  • 0
    Avatar
    Jaap

    Update: my last message of 2 days ago isn’t publish yet but we found a solution for our problem. It seems audio only works on the HD222 with one zone of the type type Video images. But it won’t in a second audio only zone like we wanted. By the way it won’t in an audio only zone at all. So we took a XD1032 with two type video images zones and it works. We now can control video full screen from the first zone and audio from the other zone. We use this to make an interactive game while the video is looping.

    Rather unique situation we wanted I admit but it would be great if this functionality would be made available for audio only zone in the HD222.

    Specs of the audio where mp3 48Khz 128kbps, we didn’t had success with WAV file yet.

  • 0
    Avatar
    Jaap

    Update2: I tested the ls322 and the ls422 for the seek command though the functionality is descripted in Object Reference Manual it does not work with this plugin. On the HD222 the seek function works in one zone (video/images). Can anyone verify this conclusion? My firmware version (LS) is 5.1.62.

  • 0
    Avatar
    Don Karunarathna

    Hi, I v got XD1132 and trying to rotate the live video as per the rotation and seek plugin. Where can I find the V7 plug in since the older one does not work.

  • 0
    Avatar
    Alex

    Hi Don,

    Plugin v7 is attached at the bottom of the post, below the screenshots. I'm also attaching it to my comment.

  • 0
    Avatar
    Bill

    Hi Support,

    Is there anyway to use this plugin to advance 3 minutes every time a button is hit?  I am using a timer video and will need to advance the video 3 minutes for every button push on GPIO 3.  Was curious if there is a way to determine the current play time and just add 180000 milliseconds to seek to.  Any advice or way to accomplish this would be great!

  • 0
    Avatar
    Lyndon

    yes. I sent you an example of the changes via the support ticket you opened. I'll post it here as well.

     

  • 0
    Avatar
    Zack

    Hi Support, I´m also interested in the same as Bill above but I cannot find the example script posted

  • 0
    Avatar
    Hugo Cavalié

    Hello

    I have the new LS423, The rotate is it supported?

  • 0
    Avatar
    Markus Huber

    Hi, if i attache this plugin my XD234 totally crash and i cant upload anymore presentations via loca network.

    Are the new players not supported?

  • 0
    Avatar
    Lyndon

     

    where'd you download the plugin from? if you downloaded it from the github, you have downloaded an html file and not the raw text file. The plugin should work fine with the 234. I don't have anything it there that I recall that should lead to model specific crash. 

  • 0
    Avatar
    Markus Huber

    Hey, I downloaded it from Github, but it was a .brs file. Now i downloaded the rotateplus-tckv7.brs

    Now I dont get any crashes, but seek command doenst work:

    UDP, Port 555:

    seek!main!2500

    seek!main!2500<CR>

    seek!5000<CR>


    Any suggestions?

  • 0
    Avatar
    Lyndon

     

    Is the plugin actually running? Just because you publish it, doesn't mean it's running. So, you can log into the player, and go to the log tab. When you publish, enable debugging to the system log. You can then see if there was an eval error or if you see messaging saying the plugin is invalid.

     

    Please send a link to your bpf file. That way I can see how the plugin is added. But, getting confirmation from the log is helpful. 

  • 0
    Avatar
    Markus Huber

    Now it works fine, repulishing did the job. Dont know the issue.

    Thanks a lot for your help!

    Is there a possibility to fade to white? And to fade in?

  • 0
    Avatar
    Matt Krebs

    We're having trouble with this script in BA:connected. It worked fine for us in BrightAuthor legacy but the debugging log throws an error that the log is invalid.

    Is the seek command supported in BA:connected?

     

     

  • 0
    Avatar
    Lyndon

     

    it might not be the seek command. The plugin does a number of things and it may be it's referring to an object path that doesn't existing in bacon or has moved. This rotate and seek plugin was written in 2015, with a few changes along the way. Some of its features were written before they ever existed in brighatuthor.  what line of the autorun is it crashing on? which version of the script are you using?

     

  • 0
    Avatar
    Bas Drissen

    Hi Lyndon,

    I was testing with the Seek command, it kind of works, but it only has jumps of 10s (10,000ms).

    When I send "Seek!14000" for example, the video jumps to 20,000, and this only for blocks of 10,000ms.
    Any idea of this?

    Model: XD1034
    Boot Version: 7.1.42
    Boot Extra Version: 7.1.42
    Firmware Version: 8.0.94
    Video: MP4 H.265 

  • 0
    Avatar
    Lyndon

    Same behavior on multiple videos? Seeking on all videos fail this way? How's the video encoded? 

  • 0
    Avatar
    Bas Drissen

    I did test it on another video, which worked out better, but still had some jumps of 2s

    10,000 jumps:
    MPEG-H Part2/HEVC (H.265) (hvc1) with AAC audio
    1920*1200
    Frame rate: 30

    2,000 jumps:
    H.264 MPEG-4 AVC (part 10) ( avc1) with AAC audio
    1920*1080
    Frame rate 25

    What would be the best method / encoding for the Seek option?

  • 0
    Avatar
    Bas Drissen

    Hi Lyndon,

    Any ideas for best practice for the Seek command, to get a smaller window to start videos than 2s?
    Especially because the command is about seeking of milliseconds.

    Thanks in advance.

Please sign in to leave a comment.