Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement two step routing like on BM Videohub #157

Closed
cyblex1 opened this issue Oct 10, 2021 · 19 comments
Closed

Implement two step routing like on BM Videohub #157

cyblex1 opened this issue Oct 10, 2021 · 19 comments
Labels
enhancement New feature or request supported-by-lib Should be quick to do

Comments

@cyblex1
Copy link

cyblex1 commented Oct 10, 2021

It would be nice to be able to do the routing of Aux/Out like on the Videohub:
First select Output next select the source.
Otherwise you need a lot of pages to assign all the outputs.
I tried to do this the other way: First setting a custom variable with the source afterwards i tried to assign a output button, but i was not able to use a custom variable as the source.

As we use a constellation there are 24 Outs with possible 40+internal sources (MEs, etc)
Also the same is for all the mutliview positions. As there are 16 positions times 4 mutliviews that is a lot of buttons for full flexibility.

@Julusian Julusian added enhancement New feature or request supported-by-lib Should be quick to do labels Oct 30, 2021
@BoguschMedia
Copy link

i don't have a constellation model but in some forums there were infos about the option to use the videohub protocol to switch the outputs. so this would be a good workarround.
but longterm there is a need for having a solution of saving buttons with a variable-based switch. as more and more models coming out having more and more outputs.

@jalmar2000
Copy link

If you could also be able to add the same variable to the feedback part of an aux source selection then we would also be able to see the current source showing on the selected output.

@jalmar2000
Copy link

i don't have a constellation model but in some forums there were infos about the option to use the videohub protocol to switch the outputs. so this would be a good workarround. but longterm there is a need for having a solution of saving buttons with a variable-based switch. as more and more models coming out having more and more outputs.

We have received our 4M/E constellation today and I can confirm that this indeed works and even recognizes the inputs and outputs aswell.

@Julusian
Copy link
Member

cc @davidjoshuaford

I am wondering if it would be sufficient to do #187 (for to the outputs) instead?
With custom variables, It doesn't sound necessary for this module to implement the full two step flow itself.

Instead you can, set a 'destination' custom-variable with one set of buttons. And then other buttons can use that variable as the destination in their routing. Or they can set a second 'source' custom-variable so that you can have a dedicated take button.
And you can use the builtin 'compare variable' feedbacks to indicate what is currently selected.

This doesnt even sound like it is going to be any more work to use

One quirk that bugs me about the implementation in the videohub module is that upon reconnection, it sets the current destination to 1. I kept routing to that accidentally enough, that I created a 'fix output 1' button on my routing page. But with the custom-variables, you have the ability to define the startup destination.

@cyblex1
Copy link
Author

cyblex1 commented Nov 21, 2022 via email

@Julusian
Copy link
Member

@cyblex1 try in the latest beta. I did some updates last night which include #187, so it should be possible to do this manual flow now

@davidjoshuaford
Copy link

Hi @Julusian , the custom variable routing is working well, thanks.

Two things I've found:

Feedback states need to accept custom variables for AUX status, and ME for PGM/ PVW: I believe what I'm looking for was in Videohub... the active destination that was selected would be conditional to showing the feedback state for an Input.

ie... I have an array of input buttons 1-20 for example. If I select AUX1, I want the aux feedback on each button to only be highlighted if the input is in AUX 1. So that when I then select AUX 3 for example, I'm only seeing feedback on the buttons as it relates to AUX 1.

Screenshot 2022-11-29 at 7 08 12 PM

Let me know if I missed how this could be achieved through the 'compare variable' feedbacks.

Secondly, is it possible to write an expression in the "Input ID" field?

For example, In the screenshot below, I'm trying to multiply the Input ID "1" by a custom variable called "opA" (for Operator A, to be able to separate out ME2 or AUX switching to an Operator B if necessary). opA would be selectable to 1 or to 0 on a different button, effectively to create an On or Off state.... multiplying the ID number by 1 keeps the number the same (on), and multiplying the number by 0 makes it 0...voiding the ID field for an "off" state.

Screenshot 2022-11-29 at 7 15 49 PM

@amcchord
Copy link

FYI you can use the videohub module with an atem constellation and it just works. It’s an undocumented feature.

@davidjoshuaford
Copy link

Hey @amcchord , I have tried that, but I do find the videohub module to be constantly connecting/disconnecting...plus from an administration perspective I find it more reliable to only have 1 module per atem, rather than 2 :)

@davidjoshuaford
Copy link

@Julusian would it be possible to implement the two step variable routing beyond the PGM/ PVW/ AUX, to also include MP1/ MP2, DSK 1&2, SS Boxes 1-4, USKs 1-4? This would greatly help simplify page builds and usability.

@Julusian
Copy link
Member

Julusian commented Feb 1, 2023

It is now possible to use variables in some feedbacks, so hopefully this is possible.
It doesnt allow for parsing expressions like the 1*$(...) you are trying in that screenshot, hopefully that isnt necessary?

@davidjoshuaford
Copy link

It doesn't work for "internal: Variable: Check value" nor "internal: Variable: Compare two variables". This is because it's just comparing 2 values, rather than 3.

Is there a way you can think of to isolate the different AUX feedback?

@davidjoshuaford
Copy link

Apart from isolating aux/pvw/pgm feedback, I see in the ATEM variables there are input IDs for SS, USK, DSK as well, but no associated actions, like there are for:

atem: ME: Set Program input from variables
atem: ME: Set Preview input from variables
atem: Aux/Output: Set source from variables

Could we please get the same "Set SS/USK/DSK input from variables" actions?

@Julusian
Copy link
Member

Julusian commented Feb 3, 2023

There should now be the following actions available (depending on hardware support)

Screenshot from 2023-02-03 21-16-22

@davidjoshuaford
Copy link

Amazing! I'll check it out, thanks.

Variables for Media Players and Media Pool Stills would be wonderful (if you have the bandwidth!)

@davidjoshuaford
Copy link

Hi Julian,

I've had more time to play with these variables and am getting stuck on the feedback for

atem: ME: One ME preview source from variables
atem: ME: One ME program source from variables

The Program and Preview feedback variables don't seem to be updating correctly.

Screenshot 2023-04-04 at 8 51 55 PM

The short name codes will reflect the correct input, but the feedback for Program or Preview don't update.

By contrast, the AUX variables do.

For example, here PVW, PGM, and AUX are stacked on the same button. Each of these variables are assigned the values:

0 = off
1 = ME1
2 = ME2
3 = ME3 etc

Screenshot 2023-04-04 at 8 34 08 PM

For example, to select PVW and switch off the PGM and AUX states, the raw custom variables are updated on a different button:

$(internal:custom_pvw) = 1
$(internal:custom_pgm) = 0
$(internal:custom_aux) = 0

Screenshot 2023-04-04 at 8 45 25 PM

In this example, even though Input 2 (CamB) has been selected for Preview and is showing in the shortname (left yellow highlight), it is not highlighting the Preview variable for Input 2 (right yellow highlight).

Screenshot 2023-04-04 at 8 48 12 PM

Any thoughts?

David

@davidjoshuaford
Copy link

Hi Julian,

To the best that I've been able to trouble shoot, it appears there's a problem with the variable feedback for Program and Preview:

atem: ME: One ME preview source from variables
atem: ME: One ME program source from variables

For example the ME variable field on the Preview feedback does not work with either a numeral (ie ME = 1), or a variable (where the variable =1 for ME1), but it does work when the field is blank.

Screenshot 2023-04-12 at 10 11 25 AM

Here's an example where:

$(internal:custom_pvw) = 0
$(internal:custom_pgm) = 0
$(internal:custom_aux) = 1

Yet, in the screen shot below, you can see that Program and Preview feedbacks are still active, despite their variables being set to "0", which should nullify them, so that only AUX feedback is seen while AUX = 1.

Screenshot 2023-04-12 at 9 52 56 AM

@Julusian
Copy link
Member

Yep, I forgot to account for the zero indexing in those feedbacks...
I have pushed a fix which will bubble through to the builds in a few hours

@davidjoshuaford
Copy link

Wonderful, thanks! It was perplexing me..!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request supported-by-lib Should be quick to do
Projects
None yet
Development

No branches or pull requests

6 participants