Rank: Advanced Member
Groups: Registered
Joined: 5/27/2017(UTC) Posts: 93 Location: Greater St Louis Area Thanks: 67 times Was thanked: 20 time(s) in 13 post(s)
|
I'm in the odd possession of being a programmer who is faced with scripting in vMix, and hitting a brick wall in assessing the scope of variables and flexibility of the environment. My first and most important question is: do I have access to variables of GLOBAL scope? When I press a button on my controller, can it execute a script to populate a list of global scope with input info for a given number of inputs? is there a single example of code that I can see that sets and evaluates global variables? This was intended for DWAM (Guillaume), but his inbox is over-limit ;). Let's not kill the guy with questions, shall we?!? My thought is that I could create a pair of MultiViews that can be dynamically adapted to: - any number of inputs between 1 and 10/12 (assuming inputs 1 through 8/10 are participants between either SRT or vMixCall).
- a given input could be designated as "Host",
- a given input or none (also read as "logo" or "hashtag") can be "Guest",
- and the remainders can be "Panel" inputs, to be arranged using some simple math to be positioned along the bottom of the screen.
- MultiView A would be the focus for the majority of the time.
- MultiView B would be the transitional input in between changes.
- When Guest is changed from [none] or [current guest] to a new guest input (likely using midi input):
- Multiview B would be updated to move the correct input into the "guest" position, and
- an assigned "placeholder" (likely a logo) would be moved into its location,
- MERGE transition from the current input to MultiView B
- make the exact same changes to MultiView A
- CUT to MultiView A (with no noticeable change)
This solves a problem where I currently use 28 x-keys and 28 Inputs (21 Multiviews and 7 vMixCall inputs) to control for only 10 (2 multiviews and 8 vMixCall inputs) variations of participants: 5, 6 and 7-person groups. Does this make sense? Am I barking up the wrong tree? Many thanks for your thoughts. Best, Chad
|
|
|
|
Rank: Advanced Member
Groups: Registered
Joined: 12/27/2012(UTC) Posts: 5,243 Location: Belgium Thanks: 294 times Was thanked: 960 time(s) in 794 post(s)
|
The XML API info is your best bet to use
|
|
|
|
Rank: Advanced Member
Groups: Registered
Joined: 2/23/2019(UTC) Posts: 561
Thanks: 62 times Was thanked: 131 time(s) in 119 post(s)
|
I've learned a lot from doggy and especially his Scripting for dummies thread (Thanks again!), and I think I also picked up from him that you can pull text from a title and use it for other purposes. I can't get my head around the XML API yet, so here is another idea (disclaimer - I'm not a programmer and will see pitfalls only when I stand right before them): You could use a title input with 7 fields (guest, panel1, panel2... panel6) as a "variable container" and put the corresponding input numbers of your call inputs into the fields, and additionally create a "short-time virtual input".
- Multiview A is live - Update the guest and panel fields in the title via one of seven shortcuts - Start Script: * create virtual input of Multiview A * cut to virtual input * get input numbers for guest and panels from title input * set them to multiview overlays * merge to Multiview A * close virtual input
|
|
|
|
Rank: Advanced Member
Groups: Registered
Joined: 12/27/2012(UTC) Posts: 5,243 Location: Belgium Thanks: 294 times Was thanked: 960 time(s) in 794 post(s)
|
Is what i do lot. Using hidden title textblocks to hold "variables" especially from datasources but sometimes the api xml.
|
|
|
|
Rank: Advanced Member
Groups: Registered
Joined: 3/20/2014(UTC) Posts: 2,721 Location: Bordeaux, France Thanks: 243 times Was thanked: 794 time(s) in 589 post(s)
|
Sorry Chad, I just found your post a few minutes ago. Not sure you still need help for this one, anyway with Doggy and dmwkr, you were in good hands...
Your post shows how important Dynamic Inputs will be in vMix 24. Can't wait it's released especially with these Covid times when we have to deal with so many vMixCalls inputs, multiviews layouts and countless shortcuts to produce virtual shows. I hope Martin will deliver soon, vMix 24 would be helpful right now ! My Akai Mini cannot cope with the situation any longer and even with vMix UTC and Panel Builder at the rescue, things are getting way to complex to handle, we need an easy way to reduce shortcuts programming and project operating !!!
Bien à toi Guillaume
|
|
|
|
Rank: Advanced Member
Groups: Registered
Joined: 5/27/2017(UTC) Posts: 93 Location: Greater St Louis Area Thanks: 67 times Was thanked: 20 time(s) in 13 post(s)
|
No worries, DWAM! I've tabled the project to pay attention to day-job matters, but have been able to use text input fields to store variables that I care about for other needs.
I can't wait for Version 24... and Dynamic Inputs will be very interesting when released... I'm withholding excitement for when I can see their function "in anger".
I maintain that we need a reliable and efficient method to GET in addition to SET (which is already quite simple for existing elements, but not for our own objects/references). I know I'm in good company in this forum with you, and that we've all experienced times when it'd be so nice to simply code the way we code in life and not have to build functionality from bubblegum and toothpicks :).
Best,
Chad
|
|
|
|
Rank: Newbie
Groups: Registered
Joined: 1/16/2021(UTC) Posts: 9 Thanks: 1 times Was thanked: 1 time(s) in 1 post(s)
|
Originally Posted by: doggy Is what i do lot. Using hidden title textblocks to hold "variables" especially from datasources but sometimes the api xml. Hi Doggy, Are you somehow posting text into data sources or the API XML using scripting in vMix. I am trying to do something relatively simple, allowing the operator to intentionally pan/zoom the live camera vs the one in preview using the same keys. But I need to preserve a state change, ideally through a global variable. Thanks!
|
|
|
|
Rank: Advanced Member
Groups: Registered
Joined: 12/27/2012(UTC) Posts: 5,243 Location: Belgium Thanks: 294 times Was thanked: 960 time(s) in 794 post(s)
|
Originally Posted by: tomGix Hi Doggy, Are you somehow posting text into data sources or the API XML using scripting in vMix. No Quote:I am trying to do something relatively simple, allowing the operator to intentionally pan/zoom the live camera vs the one in preview using the same keys. But I need to preserve a state change, ideally through a global variable.
Thanks! Asmentioned before one can use a title textfield to hold a global variable but since v24 also a DynamicValue. check the "scripting for dummies" post Writing values to a txt file or alike is also an option
|
|
|
|
Rank: Newbie
Groups: Registered
Joined: 1/16/2021(UTC) Posts: 9 Thanks: 1 times Was thanked: 1 time(s) in 1 post(s)
|
Thanks, I feel stupid now but I have been away from programming and even scripting in vMix for a while.
The answer was right there and I missed it.
Tom
|
|
|
|
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