vMix Forums
»
General
»
General Discussion
»
How to quickly re-assign inputs to layers in multiview
Rank: Advanced Member
Groups: Registered
Joined: 3/22/2020(UTC) Posts: 50 Location: River Hills Thanks: 3 times Was thanked: 2 time(s) in 2 post(s)
|
I have a number of camera inputs (cam-1, cam-2, ... cam-n). I have a multiview with two layers and another multiview with three layers. What is the best way for me to quickly assign a given camera to one of the layers? I know I could make shortcuts for every possible assignment, but with n cameras and 5 layers that would be n*5 shortcuts and could be more trouble than it's worth.
|
|
|
|
Rank: Advanced Member
Groups: Registered
Joined: 7/28/2019(UTC) Posts: 351 Location: Santa Rosa Thanks: 1 times Was thanked: 53 time(s) in 51 post(s)
|
You could use virtual sets instead? Then you just pick the cameras from the side.
Otherwise, VMix 24 has a new dynamic input feature that might be some help.
|
|
|
|
Rank: Advanced Member
Groups: Registered
Joined: 12/27/2012(UTC) Posts: 5,223 Location: Belgium Thanks: 293 times Was thanked: 955 time(s) in 790 post(s)
|
Originally Posted by: Vince Beck You could use virtual sets instead? Then you just pick the cameras from the side.
Otherwise, VMix 24 has a new dynamic input feature that might be some help. Have a look here
|
|
|
|
Rank: Advanced Member
Groups: Registered
Joined: 10/6/2020(UTC) Posts: 98 Was thanked: 21 time(s) in 21 post(s)
|
Without getting into scripting, the new shortcuts for the Dynamic Input feature in v24 made it really simple to set up Source and Destination buttons for multiviews on my streamdeck recently.
For each source, I added a shortcut 'SetDynamicInput1 Value=x', and then for each destination, a 'SetMultiViewOverlay' shortcut using the 'Dynamic1' value to supply the input number of the new source.
With the current stable build of Companion, I had to add a 'custom' command, but I believe that the latest beta build has built-in support for dynamic inputs.
|
|
|
|
Rank: Advanced Member
Groups: Registered
Joined: 12/27/2012(UTC) Posts: 5,223 Location: Belgium Thanks: 293 times Was thanked: 955 time(s) in 790 post(s)
|
Originally Posted by: matkeane Without getting into scripting, the new shortcuts for the Dynamic Input feature in v24 made it really simple to set up Source and Destination buttons for multiviews on my streamdeck recently.
For each source, I added a shortcut 'SetDynamicInput1 Value=x', and then for each destination, a 'SetMultiViewOverlay' shortcut using the 'Dynamic1' value to supply the input number of the new source.
With the current stable build of Companion, I had to add a 'custom' command, but I believe that the latest beta build has built-in support for dynamic inputs. how many buttons did you use for how many inputs and layers?
|
|
|
|
Rank: Advanced Member
Groups: Registered
Joined: 10/6/2020(UTC) Posts: 98 Was thanked: 21 time(s) in 21 post(s)
|
On that project, I had 3 live cameras and 4 vMix Calls, so a row of 7 SRC buttons. There were about half-a-dozen Multiviews (PIP with slide, PIP Cam and Call, 2x Calls/Cams, etc), with 1 or 2 (and just one with 3) switchable layers.
Obviously if you have dozens of sources and even more destinations, it's going to get messy !
Most of the time I already have multiple layer changes assigned to a button per speaker according to the show notes, so the SRC/DEST buttons are mostly there for last-minute changes ("Hey it looks like call 4 has a question for call 1, can you put them both in the 2-up ?")
|
|
|
|
Rank: Advanced Member
Groups: Registered
Joined: 2/23/2019(UTC) Posts: 556
Thanks: 62 times Was thanked: 130 time(s) in 118 post(s)
|
Another way (not saying the best, but if your workflow includes a lot of "mouse clicking" in vMix it may fit your style): There is the "Hover" entry you can choose as input for SetMultiViewOverlay shortcuts. You just move your mouse cursor over the camera input and hit the shortcut.
|
|
|
|
Rank: Advanced Member
Groups: Registered
Joined: 3/22/2020(UTC) Posts: 50 Location: River Hills Thanks: 3 times Was thanked: 2 time(s) in 2 post(s)
|
Thanks for the great suggestions. I tried SetMultiViewOverlay, and it works, but I found I needed to use "DynamicInputn" as the index/input value (e.g., 2,DynamicInput1). The online doc does not mention this, but I got lucky with the guess. I think this is a great feature, but I see two drawbacks: 1) There are only 4 dynamic inputs. Not sure how I would use the feature to select 5 or more cameras. 2) The SetDynamicInput shortcut does not take effect immediately on the inputs where it is used. I still need to press the shortcut key that does the SetMultiViewOverlay to actually have it take effect. So, I just can't go plucking a row of keys to quickly observe the effects of each SetDynamicInput. Maybe this should be a feature request.
|
|
|
|
Rank: Newbie
Groups: Registered
Joined: 10/8/2020(UTC) Posts: 8 Location: Berlin
|
|
|
|
|
Rank: Advanced Member
Groups: Registered
Joined: 10/6/2020(UTC) Posts: 98 Was thanked: 21 time(s) in 21 post(s)
|
Originally Posted by: Bob Brazner Thanks for the great suggestions. I tried SetMultiViewOverlay, and it works, but I found I needed to use "DynamicInputn" as the index/input value (e.g., 2,DynamicInput1). The online doc does not mention this, but I got lucky with the guess. I think this is a great feature, but I see two drawbacks: 1) There are only 4 dynamic inputs. Not sure how I would use the feature to select 5 or more cameras.. Originally Posted by: Bob Brazner 2) The SetDynamicInput shortcut does not take effect immediately on the inputs where it is used. I still need to press the shortcut key that does the SetMultiViewOverlay to actually have it take effect. So, I just can't go plucking a row of keys to quickly observe the effects of each SetDynamicInput. Maybe this should be a feature request. The SetDynamicInput shortcut works in a similar way to setting & getting a variable in scripting - it allows you to store a value (which camera Input you selected) and then use that value in another command (set the multiview layer to the camera input). So you only need one DynamicInput value to handle all your sources. So DynamicInput1 might be used for your multiview layer switching, leaving the other 3 DynamicInputs free for some other use. If you want to speed up the process of previewing different cameras in the multiviews, you could setup your shortcuts the other way around - choose the destination first and set DynamicInput1 as the Input number of the multiview, then add a SetMultiViewOverlay shortcut to each source and use Dynamic1 as the value. That way you can hit the button for the multiview layer you want to update, then keep hitting the source buttons (which will keep updating the same multiview) until you are happy with the look. So yes, it's a 2-step process, but that makes it more flexible than before where, as you said in your first post, you would have needed to setup buttons for all possible combinations or add multiple shortcuts to one button.
|
|
|
|
Rank: Newbie
Groups: Registered
Joined: 6/21/2017(UTC) Posts: 9 Location: Las Vegas
Thanks: 1 times
|
Originally Posted by: dmwkr Another way (not saying the best, but if your workflow includes a lot of "mouse clicking" in vMix it may fit your style): There is the "Hover" entry you can choose as input for SetMultiViewOverlay shortcuts. You just move your mouse cursor over the camera input and hit the shortcut. I use the "hover" input a lot when assigning a particular input to a particular "mix" or "output2,3,4". I then assign the various mixes and outputs to my multiview's "boxes". This allows me to dynamically assign any input within vmix to a box by just hovering over the input and selecting the button (on my Akai APCmini) that assigns an input to the specific mix or output. However, when trying to use Companion, I can't see how to do what I think your suggesting. Within the KEY DOWN/ON ACTION section for a key, my "action" is: vmix: SetMultiViewOverlay - Set Input as Multiview Overlay Layer Delay: blank Options: Multiview Input: 3 (this is a two-box virtual set) Layer: 3 (this is the left-most box) Input to use on Layer: Hover This doesn't work. If the Input to use on Layer is set to "Dynamic1" and that variable has been set elsewhere, it works. I would REALLY like to be able to hover over an input, assign it to a DynamicX variable, and have that dynamic variable assigned to a multiview layer.
|
|
|
|
Rank: Member
Groups: Registered
Joined: 3/3/2019(UTC) Posts: 17 Location: Buenos Aires Thanks: 1 times Was thanked: 3 time(s) in 3 post(s)
|
Originally Posted by: matkeane If you want to speed up the process of previewing different cameras in the multiviews, you could setup your shortcuts the other way around - choose the destination first and set DynamicInput1 as the Input number of the multiview, then add a SetMultiViewOverlay shortcut to each source and use Dynamic1 as the value. That way you can hit the button for the multiview layer you want to update, then keep hitting the source buttons (which will keep updating the same multiview) until you are happy with the look.
So yes, it's a 2-step process, but that makes it more flexible than before where, as you said in your first post, you would have needed to setup buttons for all possible combinations or add multiple shortcuts to one button.
Ey Matkeane. How are you?. Could you expand this idea? I think i understand what you suggest but im not being able to make it work When i use the the SetDynamicInput1 to store the input value and then give that value to the SetMultiviewOverlay (Index, Dynamic1) it works perfctly. But im trying to do it, as you said, the other way around. By selecting the destination box first (multiview layer or Index) and then the Input i want on that box. But im not sure how to set the shortcuts to store the layer and then call back that variable on the SetMultiviewOverlay shortcut. It seems that its not possible to use that varible ( Dynamic1) to modify the Index parameter I have also tryed to SetDynamicValue ant then transfer the Value to the Index. But it doesn't work neither. Actually, what im looking for is the folowing way to work: 1-Having the Multiview i want to modify in the preview monitor. 2-Select the Layer i want to change (i call them boxes) 3-Then the Input i want in that layer. Like a matrix. Destination first. Feed later. The other way works great but i feel that it is opposite than the usual logic. I just want to improve it a little bit and maybe im not thinking clearly. Thanks for your time!!
|
|
|
|
Rank: Advanced Member
Groups: Registered
Joined: 3/22/2020(UTC) Posts: 50 Location: River Hills Thanks: 3 times Was thanked: 2 time(s) in 2 post(s)
|
|
|
|
|
Rank: Advanced Member
Groups: Registered
Joined: 10/6/2020(UTC) Posts: 98 Was thanked: 21 time(s) in 21 post(s)
|
@pablodna:
Yeah, as you'd discovered, using dynamic values doesn't entirely work for DST -> SRC switching because it doesn't seem to be possible to use a DynamicValue to modify an Index parameter, so you can choose which MultiView to update, but not which layer. I guess a workaround would be to use the MoveMultiViewOverlay shortcut when you select the MultiView, so that the layer to be updated always had the same Index, but that might have some unwanted side-effects if you're using merge transitions.
I'm not sure why a DynamicValue can't be used to populate the Index parameter of a shortcut. For example, the other day I was hoping to be able to use a DynamicValue to make deferred selection to a DataSource, so that lower-thirds could be selected at the same time as preparing the next guest call in a multiview, but only calling the DataSourceSelectRow shortcut on the next transition. In the API XML, the DynamicValues seem to be stored as integers, so it seems like it could work - maybe Martin can chime in and explain, or perhaps it's time for another feature request !
|
|
|
|
Rank: Member
Groups: Registered
Joined: 3/3/2019(UTC) Posts: 17 Location: Buenos Aires Thanks: 1 times Was thanked: 3 time(s) in 3 post(s)
|
Originally Posted by: matkeane @pablodna:
Yeah, as you'd discovered, using dynamic values doesn't entirely work for DST -> SRC switching because it doesn't seem to be possible to use a DynamicValue to modify an Index parameter, so you can choose which MultiView to update, but not which layer. I guess a workaround would be to use the MoveMultiViewOverlay shortcut when you select the MultiView, so that the layer to be updated always had the same Index, but that might have some unwanted side-effects if you're using merge transitions.
I'm not sure why a DynamicValue can't be used to populate the Index parameter of a shortcut. For example, the other day I was hoping to be able to use a DynamicValue to make deferred selection to a DataSource, so that lower-thirds could be selected at the same time as preparing the next guest call in a multiview, but only calling the DataSourceSelectRow shortcut on the next transition. In the API XML, the DynamicValues seem to be stored as integers, so it seems like it could work - maybe Martin can chime in and explain, or perhaps it's time for another feature request ! Ey man! Thank you for your answer. Thats whats i thought. I've never used MoveMultiViewOverlay but it seems a little bit tricky thing to do, for something that should be simple. Anyway, the reverse way works great. I've been testing it in live events and the only "complicated" stuff is make your mind to work reversed of the usual logic. With no greats knowledge in scripting...If the variables are stored like Integers and the Index value is an Integer value.....should work...we are not so far jaja Thanks!!
|
|
|
|
Rank: Newbie
Groups: Registered
Joined: 5/6/2021(UTC) Posts: 1 Location: FCDSCS
|
What is the best way for me to quickly assign a given camera to one of the layers? I know I could make shortcuts for every possible assignment, but with n cameras and 5 layers that would be n*5 shortcuts and could be more trouble than it's worth. vidmate download instasave
|
|
|
|
Rank: Advanced Member
Groups: Registered
Joined: 12/27/2012(UTC) Posts: 5,223 Location: Belgium Thanks: 293 times Was thanked: 955 time(s) in 790 post(s)
|
Originally Posted by: kumar3vineet What is the best way for me to quickly assign a given camera to one of the layers? I know I could make shortcuts for every possible assignment, but with n cameras and 5 layers that would be n*5 shortcuts and could be more trouble than it's worth. Shortcut SetMultiviewOverlay or SetLayer with Hover as input specified = 1 shortcut per layer needed or check video in post 3
|
|
|
|
Rank: Member
Groups: Registered
Joined: 3/3/2019(UTC) Posts: 17 Location: Buenos Aires Thanks: 1 times Was thanked: 3 time(s) in 3 post(s)
|
Hi kumar3vineet
If you just want to use your keyboard without using the mouse:
Using SetDynamicInput1 to store the input value and then give that value to the SetMultiviewOverlay (Index, Dynamic1) it works perfctly. You will need N keys for the inputs and 5 for the Layers, in your case
Example: keys F1-F12 SetDynamicInput1 Value: input nº 1-12
Keys numeric pad 1-5 SetMultiviewOverlay (Index, Dynamic1) Input: Preview or the composing you want to modify
Bye!
|
1 user thanked pablodna for this useful post.
|
|
|
Rank: Advanced Member
Groups: Registered
Joined: 10/6/2020(UTC) Posts: 98 Was thanked: 21 time(s) in 21 post(s)
|
Somebody asked me for more details about how I set up DEST -> SRC switching with dynamic inputs, so I thought I'd put a bit more detail in here. On my Streamdeck, I started by adding the Destination buttons, with the Multiviews in which I want to switch a layer. My first Multiview is Input 21, and I'm using DynamicInput4 as I use 1 & 2 for other things. So on the first Destination button I added a custom command : Code:Run custom command: SetDynamicInput4 Value=21
Then I add my Source buttons. In this case, I'll add in 4 cameras (Inputs 1-4) as possible sources. For each of the 4 cameras, I'll add a button with a 'SetMultiViewOverlay - Set Input as Multiview Overlay Layer' action, and then fill out the fields as follows : Code:Multiview Input: Dynamic4
Layer: 1
Input to use on Layer: 1
(Camera Input 1) So, hitting the Destination button stores its Input number in Dynamic4, and the camera Source buttons use that as the target for the 'SetMultiViewOverlay' command. As pablodna mentioned earlier in this thread, the limitation is that the 'Layer' field doesn't accept dynamic variables as an argument, so this setup can only target 1 pre-defined layer in a multiview, unless you want to reorder the multiview layers so that layer 1 is always the target layer. Anyway, hope that helps !
|
|
|
|
Rank: Member
Groups: Registered
Joined: 10/11/2020(UTC) Posts: 20 Location: rome
|
What about if we want to expand the concept. Look here, at the gif image. https://github.com/bitfo...yers--multiview-overlaysUsing bitfocus companion it seem to be possible to route together Input with multilayer, Layer and input for the specific layer. In the page the developer of the companion wmix module says that is possible to route an input into a specific layer of a multilyered input. If you press the buttons you can choose first the box (the multilayered input to modify) than on the second row you have buttons to select the layer you want to change and the third row just let you choos the content for that layer.... I'm trying to do the same using the SetMultiViewOverlay - Set Input as Multiview Overlay Layer function but it is not possible to use dynamicValueX for the "Layer" param, but I can use DynamicInputY for the first Input and "Input to use on Layer" params... do you have any idea on how could be possible to use a var for the Layer in order to reach that goal using bitfocus companion?
|
|
|
|
vMix Forums
»
General
»
General Discussion
»
How to quickly re-assign inputs to layers in multiview
Forum Jump
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.
Important Information:
The vMix Forums uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close