Here's a really simple example;
dim fb as xpOutputFrameBuffer
dim scene as xpScene
dim dir as xpSceneDirector
engine.GetOutputFrameBuffer(0, fb)
if fb.GetSceneOnLayer(100, scene)
scene.GetSceneDirectorByName("IN", dir)
dir.PlayRange(dir.Duration, 0)
end if
if fb.GetSceneOnLayer(103, scene)
scene.GetSceneDirectorByName("IN", dir)
dir.PlayRange(0, dir.Duration)
end if
This script will get any scenes on layers 100 and 103 and play the "IN" scene director if it finds them. As Garner said if you keep your naming consistent this will make it easy to make buttons in Dashboard that fire a lot of different graphics.
It just occurred to me while writing this you could probably set a range of layers for XPression to check in the script rather than specific layers like I have done. If not you could certainly write a loop to check a bunch.
------------------------------
Simon Redmile
Senior Graphic Programmer & Designer
Ross Video
Bristol United Kingdom
------------------------------
Original Message:
Sent: 04-01-2022 20:14
From: Aleksander Stalsberg
Subject: Keypress in script
Let me see if I understand this correctly:
- You use the regular Xpression API to trigger a scene online with the "Sequence In" in DashBoard.
- Then you would use the Keyboard/API Shortcuts in Xpression, set up with a script, and trigger specific Scene Directors in that scene with a Visual Basic script.
- Then use DashBoard and trigger that API script in Xpression?
I've been thinking about a way to trigger specific Scene DIrectors from DashBoard myself. I feel like that's one of the things missing from the XPression API in DashBoard, the ability to take a scnee online with a specific Scene Director. Not sure how that would implement combined with Transition Logic however.. But yeah, I'm missing a way to run specific scene directors from buttons.
------------------------------
Aleksander Stalsberg
Inland Norway University of Applied Sciences/Lillehammer Icehockey Club
Norway
Original Message:
Sent: 04-01-2022 13:10
From: Garner Millward
Subject: Keypress in script
The script targets any scene that is online on a certain channel/layer and triggers scene directors by their name. So if you name your scene directors the same name in any scene with scene directors that you want to control, your buttons can be agnostic and trigger any scene that is online in those layers.
Original Message:
Sent: 04-01-2022 05:19
From: Justus van der hulst
Subject: Keypress in script
So i had a bit of time to have a quick look.
I'm under the impression that when i want to control scene directors with buttons in dashboard, my only option is through gpi/rosstalk taking actual scenes with an id in my sequence, am i correct?
------------------------------
Justus van der Hulst
Live Graphics Operator
Euro Media Group
Hilversum, The Netherlands
Original Message:
Sent: 03-29-2022 10:41
From: Justus van der hulst
Subject: Keypress in script
One word! WOW!
That looks inspiring!
Looks like the sky is the limit..
I have the lastest Dashboard installed right now...gonna take a dive.
Thanks!
------------------------------
Justus van der Hulst
Live Graphics Operator
Euro Media Group
Hilversum, The Netherlands
Original Message:
Sent: 03-29-2022 09:15
From: Aleksander Stalsberg
Subject: Keypress in script
I'd definetly recommend using DashBoard for what you're trying achieve here.
This way you not only have the power of scripting behind you, but you can also create a DashBoard that really "anyone" can use with minimal training, and not having to be relying on that everyone knows your shortcuts etc.
If you want to take this even a step further, if you decide to go for DashBoard, you can technically do calls to external sources like JSON etc and build tables of stats etc inside DashBoard and use those to create your graphics again. Even if you decide to use sources like Excel to handle the stats/info etc for players, you can then use that table, and a selector (like jersey number) in DashBoard to pull the data for that player into a graphics.
Say you type in the jersey number 23, then that will go into the Excel sheet and fill out all the info you have on that player when the graphics goes online.
Just an example. Hit me up if you want some clues and hints on this. Been developing this myself for the last few years for our local hockey team big screen.
This DashBoard pulls data from external sources for stats and player info, listeners for live game clock feed, while talks to both Xpression, Graphite Mixer, Behringer X32 Audio Mixer, QLAB and through MIDI server also to our lighting board, controlling the entire venue from one panel.
------------------------------
Aleksander Stalsberg
Inland Norway University of Applied Sciences/Lillehammer Icehockey Club
Norway
Original Message:
Sent: 03-28-2022 15:57
From: Justus van der hulst
Subject: Keypress in script
Impressive!
------------------------------
Justus van der Hulst
Live Graphics Operator
Euro Media Group
Hilversum, The Netherlands
Original Message:
Sent: 03-28-2022 13:54
From: TAMER ABDELAZIZ
Subject: Keypress in script
Hi dears,
i have anther way using Dashboard its very powerful
------------------------------
TAMER ABDELAZIZ
ONTV
Original Message:
Sent: 03-26-2022 20:27
From: Justus van der hulst
Subject: Keypress in script
In a few months some greater soccer events are coming up, where wel will most probably will be showing the match clock.
I've been playing around and trying stuff, so i will have things prepared for use.
This match clock will contain several elements that are controlled by several scenedirectors. Some of these elements i would like to control through keypresses, actual situation; keypress ctrl-1 would be the first red card for the home team, ctrl-2 the second, etc... Is this possible with script? Can i start a scenedirector with a keypress thats coded?
Something like this in VB?
Private Sub TextBox1_KeyPress(sender As Object, e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress If Asc(e.KeyChar) = 97 Or Asc(e.KeyChar) = 65 Then MsgBox("hello") End IfEnd Sub
------------------------------
Justus van der Hulst
Live Graphics Operator
Euro Media Group
Hilversum, The Netherlands
------------------------------