brightsign / brightsign/video-mode-plugin

Multi-Screen Video Mode Plugin Not Setting Custom Resolution

Open
#6 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Brightscript
Stars
4
Forks
4
PR merge metrics
No merged PRs in 30d

Description

Hi,

I am trying to setup an XC4055 to use 3 outputs for an LED wall that has an expected output of 2400x1620 per output. I've copied the multi screen plugin example and updated it to use the Modeline defined resolution which I generated with cvt tool, that looks as follows,

`"Modeline 2400x1620x30p 330.25 2400 2584 2840 3280 1620 1623 1633 1679 -hsync +vsync" `

I set this for the three outputs I am using, I enable all the outputs, and update the transform to match the custom resolution. However, on the LED processor no matter what I've tried, the resolution stays at whatever is set in the Output Resolution of the Screens tab of the presentation.

I have tried the following variations of the plugin with no results.

```
Function SetVideoMode(videoModeInputs, bsp) As Object

print "video mode plugin, Series 5: SetVideoMode()"
' See details regarding multiScreen configuration -
' https://brightsign.atlassian.net/wiki/spaces/DOC/pages/1208025142/VideoMode+Multiscreen+Configuration
vm = CreateObject("roVideoMode")
sm = vm.GetScreenModes()

' For using BrightAuthor:Connected, it is recommended that the fullres modifier be added to prevent
' the zones from scaling across the entire canvas.
sm[0].name = "HDMI-1"
sm[0].video_mode = "Modeline 2400x1620x30p 330.25 2400 2584 2840 3280 1620 1623 1633 1679 -hsync +vsync"
sm[0].transform = "normal"
sm[0].display_x = 0
sm[0].display_y = 0
sm[0].enabled = true

sm[1].name = "HDMI-2"
sm[1].video_mode = "Modeline 2400x1620x30p 330.25 2400 2584 2840 3280 1620 1623 1633 1679 -hsync +vsync"
sm[1].transform = "normal"
sm[1].display_x = 2400
sm[1].display_y = 0
sm[1].enabled = true

sm[2].name = "HDMI-3"
sm[2].video_mode = "Modeline 2400x1620x30p 330.25 2400 2584 2840 3280 1620 1623 1633 1679 -hsync +vsync"
sm[2].transform = "normal"
sm[2].display_x = 4800
sm[2].display_y = 0
sm[2].enabled = true

sm[3].enabled = false

return sm

End Function
```

I tried using the "fullres" option but was not sure how that should be applied to the custom modeline resolution.

```
Function SetVideoMode(videoModeInputs, bsp) As Object

print "video mode plugin, Series 5: SetVideoMode()"
' See details regarding multiScreen configuration -
' https://brightsign.atlassian.net/wiki/spaces/DOC/pages/1208025142/VideoMode+Multiscreen+Configuration
vm = CreateObject("roVideoMode")
sm = vm.GetScreenModes()

' For using BrightAuthor:Connected, it is recommended that the fullres modifier be added to prevent
' the zones from scaling across the entire canvas.
sm[0].name = "HDMI-1"
sm[0].video_mode = "Modeline 2400x1620x30p 330.25 2400 2584 2840 3280 1620 1623 1633 1679 -hsync +vsync"
sm[0].transform = "normal"
sm[0].display_x = 0
sm[0].display_y = 0
sm[0].enabled = true

' Safeguard for models more than 1 HDMI outputs
if (sm[1] <> invalid and Instr(0, sm[1].name, "HDMI") <> 0) then
sm[1].name = "HDMI-2"
sm[1].video_mode="2400x1620x30p:rblank:fullres"
sm[1].transform = "normal"
sm[1].display_x=2400
sm[1].display_y=0
sm[1].enabled = true
end if

' Safeguard for models more than 2 HDMI outputs
if (sm[2] <> invalid and Instr(0, sm[2].name, "HDMI") <> 0) then
sm[2].name = "HDMI-3"
sm[2].video_mode="2400x1620x30p:rblank:fullres"
sm[2].transform = "normal"
sm[2].display_x=0
sm[2].display_y=4800
sm[2].enabled = true
end if

' Safeguard for models more than 2 HDMI outputs
if (sm[3] <> invalid and Instr(0, sm[3].name, "HDMI") <> 0) then
sm[3].enabled = false
end if

return sm

End Function
```

The BrightSign and LED processor seem to be able to make it work but it's doing a lot of processing on the video which should be a pixel perfect video and we are definitely seeing artifacts of scaling.

Appreciate any help I can get on this ASAP.

Thanks

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.