How to make a Video Switcher compatible with Layer Sets?

Sometimes, it’s very handy to have the switching capabilities of the video switcher layer inside of the Layer Sets available. Automatic (complex) openers, or a planned show flow. Why pressing extra buttons, when you can include the video switchers functionality directly at the layer sets?

This looks more complex, than it is:

Download the demo here (free):
https://drive.google.com/file/d/1WFML7viXyg098KlgM8_44kH2DMAB-l2Z/view?usp=sharing
You can use this as a general Template if your documents are based on up to 9 views.

About the Script(s):

1. The Globals

// I plan to use layerOn($var) to switch
// In stead of httpRequest(), which needs a static URL. I want to use this as a template,
// which is "save-as" save. When I abuse layerOn(), I have to terminate the signal url with
// a #-character (to override the normal command-magic, which would follow).


// CUTs:
setGlobal($cut1, "88E5423E-D17D-4B47-B304-C39AE78B7331/signals/tvGroup_Control__Cut_1_TypeSignal#")
setGlobal($cut2, "88E5423E-D17D-4B47-B304-C39AE78B7331/signals/tvGroup_Control__Cut_2_TypeSignal#")
setGlobal($cut3, "88E5423E-D17D-4B47-B304-C39AE78B7331/signals/tvGroup_Control__Cut_3_TypeSignal#")
setGlobal($cut4, "88E5423E-D17D-4B47-B304-C39AE78B7331/signals/tvGroup_Control__Cut_4_TypeSignal#")
setGlobal($cut5, "88E5423E-D17D-4B47-B304-C39AE78B7331/signals/tvGroup_Control__Cut_5_TypeSignal#")
setGlobal($cut6, "88E5423E-D17D-4B47-B304-C39AE78B7331/signals/tvGroup_Control__Cut_6_TypeSignal#")
setGlobal($cut7, "88E5423E-D17D-4B47-B304-C39AE78B7331/signals/tvGroup_Control__Cut_7_TypeSignal#")
setGlobal($cut8, "88E5423E-D17D-4B47-B304-C39AE78B7331/signals/tvGroup_Control__Cut_8_TypeSignal#")
setGlobal($cutBelow, "88E5423E-D17D-4B47-B304-C39AE78B7331/signals/tvGroup_Control__Cut_Below_TypeSignal#")

// DISSOLVEs
setGlobal($dis1, "88E5423E-D17D-4B47-B304-C39AE78B7331/signals/tvGroup_Control__Dis_1_TypeSignal#")
setGlobal($dis2, "88E5423E-D17D-4B47-B304-C39AE78B7331/signals/tvGroup_Control__Dis_2_TypeSignal#")
setGlobal($dis3, "88E5423E-D17D-4B47-B304-C39AE78B7331/signals/tvGroup_Control__Dis_3_TypeSignal#")
setGlobal($dis4, "88E5423E-D17D-4B47-B304-C39AE78B7331/signals/tvGroup_Control__Dis_4_TypeSignal#")
setGlobal($dis5, "88E5423E-D17D-4B47-B304-C39AE78B7331/signals/tvGroup_Control__Dis_5_TypeSignal#")
setGlobal($dis6, "88E5423E-D17D-4B47-B304-C39AE78B7331/signals/tvGroup_Control__Dis_6_TypeSignal#")
setGlobal($dis7, "88E5423E-D17D-4B47-B304-C39AE78B7331/signals/tvGroup_Control__Dis_7_TypeSignal#")
setGlobal($dis8, "88E5423E-D17D-4B47-B304-C39AE78B7331/signals/tvGroup_Control__Dis_8_TypeSignal#")
setGlobal($disBelow, "88E5423E-D17D-4B47-B304-C39AE78B7331/signals/tvGroup_Control__Dis_Below_TypeSignal#")

2. About the “sVideo Switcher”-Script

Afterwards I create an Automation Layer with several Variants. These Variants I use together with several other switching at the Layer Sets.

At the Variants I simply call

layerOn(...)

Instead of “…” I use $cut1 or $dis3.

3. Aboout creating from scratch:

If you want to do this from scratch, you can right click onto the button “cut 1” of your video switcher layer to copy the necessary Endpoint, which would be valid for your document. :slight_smile:

By the way:
With this method you’re able to make all layers with boolean and/or other toggles compatible to Layer Sets.

Notice: mimoLive renders from bottom to top, so your main-Script with constants and “Global Variables” should be placed at the very bottom.

Hi JoPhi, thanks for the Script, I tried do run a Switcher with the Automation Layer.
It works with to turn the layer on, but I am not able to turn on Solo_A :-((
Which Mistake I made?

Thanks for help

Holger

setVariable($Split5, “54E56D83-2C29-437F-84A0-8BA4C3581EE0”)
setVariable($Solo_A, “54E56D83-2C29-437F-84A0-8BA4C3581EE0/signals/tvGroup_Control__Solo_A_TypeSignal#”)

layerOn($Split5)
sleep(2.0)
layerOn($Solo_A)

The documentation confuses me, perhaps it would be good to include more examples there from the colleagues from Boinx. I have now solved this with httpRequest. That works well.

At the Automation layer, not everything works currently as intended. Some API-endpoinds do only work, when modified a bit. Some kind of workaround. I’m happy about the httpRequest().

The Automation layer is provided as it is, and I hope that it will be updated soon. There are lots of requests about its features. (On the first hand: more consistencys.)

However, it’s underrated and still a proof of concept. The more interesting it is, the faster the development could be. That’s why I try to show some basics around it to bring readers on the taste. :blush:

1 Like

Thanks JoPhi, I learned so much from you.

mimoLive is the best product on the market but the documentation is very lousy. Thank you JoPhi, how does it look next week 27.04 until 16 o’clock with you? Would you like to receive the rest via email or are you always live at mimo?

1 Like

I check my mails once all three weeks (99.9% advertisement/spam/scam). When.mimoLive is the subject, I regularly read here at the forum and certainly at https://m.me/uMIMOtuts