Rank: Advanced Member
Groups: Registered
Joined: 10/23/2015(UTC) Posts: 458 Thanks: 20 times Was thanked: 227 time(s) in 129 post(s)
|
One controller to rule them allConfigurable controller for vMix, working through official web API. Switching, scripting, titling, monitoring, routing and many more use cases are possible with UTC widget system. Tips and use casesThere is no official documentation yet, but I'm work on it (slooooowly). First steps into describing all features UTC WikiHere's thread with use cases and tips for UTC, maintained by DWAM. vMix UTC how to get started, use cases and tipsDownloadsUniversal Title Controller (updated 07.11.2022)Source Code on GitHubGeneric Xml Data Provider for UTCNDI Monitor Data Provider for UTC (updated 01.01.2019) NDI Monitor Data Provider for UTC (dshow version) (updated 10.08.2018) Changelog
07.11.2022: ! vMix26 compatibility fix 07.02.2021: +High Precision Timer (1/10 sec) +Fixed widgets get lost when moved to renamed page 25.01.2021: + Renaming pages ! Fixed crash bug with info about clr in windows event manager 14.01.2021: ! List widget does not clear text if items were changed + Returned +/- buttons for score widget + Minimum scale is 0,5 now 11.01.2021: ! External Data Provider code revert to more stable 01.01.2021 version ! Fixed Google Sheets does not receive data 04.01.2021: + GoogleSheets Data Provider ! State Dependency led changed from Red/Lime to Gray/Red ! Stored external data provider should load if no file found 01.01.2021: ! Bugfixes for timer widget 31.12.2020: + PlayList widget to control List inputs + Timer widget can be in "Table" mode 24.12.2020: ! Fixed ExecLinks not working 17.12.2020: + MIDI Device widget now send parameter for scripts. It's variable named P 24.10.2020: + Reset button for NDI Monitor data provider ! Fixed updaticg period always resetting to 1000 20.10.2020: + Custom style for Score widget + Win command to start windows applications + xpath(path) function in addition to _(path). For those, who better know XPaths 14.10.2020: ! Fixed: "Reverse" checkbox in timer widget was too big + Added "Loading" indicator 13.10.2020: ! Fix for WaitForCompletion comand, it has timeout of 5min now 12.10.2020: ! Fixed OnCompletion event of timer fired AFTER completion + High precision timer added 08.10.2020: ! NDI monitor should work ! Scoreboard widget now correctly set zero values 07.10.2020: ! Log fixed ! Some bugfixes + Added possibility to make "Sticky" regions. Sticky regions move widgets inside them + Added "Duplicate Selected" option 04.10.2020: ! Performance fixes ! Added pages and Prev/Next/Set -Page commands ! try/catch on create OnWidgetUI for Xml/Excel data providers 26.09.2020: ! All state dependency checking (and volume updating) is now looks through XmlDocument, not Object Reflection. It should improve CPU performance ! Fixed crash on touch events 21.09.2020: ! Fixed hotkeys worked only once 20.09.2020: + Low Bandwidth Mode and Audio switch for NDI monitor + Open Last At Start option + Open Log Folder button near Enable Logging switch ! Some properties are grouped to reduce vertical height of properties window 17.09.2020: + Added Mix support in scripting + Translation +/-=X into UTC expresion, so you can use familiar +=1 to increment values + Added pop-up to indicate that user can add widgets now ! Timers now driving by one clock (tick at the same time) 27.08.2020: + Added non-executable commands (command will be switched off and not executed, but used in state dependency) ! NDI monitor works in low-bandwidth mode now ! All converters rewrited in the same manner 17.08.2020: ! Fixed handling big images ! Fixed SetTextColor function 13.08.2020: ! Fixed dependency LED was hidden always 11.08.2020: + XmlDataProvider accept returns into XPath property + Button widget are a bit redesigned, now Image Buttons can have text above image ! Fixed some bugs, related to buttons 04.08.2020: ! XmlDataProvider now can read xml attributes + InputSelector example 01.08.2020: + Added ability to use variables into title mapping + Added "Use In State Dependency" check, to select which function is used for state dependency ! Fixed lost focus in settings, broken in previous version 31.07.2020: + Added push buttons + Added hotkeys for push buttons + Added ELSE command ! Bugfixes 21.07.2020: ! Clock widget rewritten ! Some visual changes 10.07.2020: ! Fixed clock widget 02.07.2020: + TextField style (only text or filename) + All vMix shortcuts are now in Functions.xml + [T] - index helper in script builder ! Bugfixes 21.06.2020: + T-Bar widget + One-Step-Back Undo ! Fixed Excel Data Provider bug 19.06.2020: + Excel Data Provider + Conception of "Pages" - now user have Main and Data pages. On data page user can place widgets, which are not needed in production. Like buttons, which are used only with ExecLink or proxy text fields + Button script logger for debugging your scripts + Icon with (?) which should be helpful for beginners + Redesign of settings and static variables ! Fixed bug with mappings, active after widget deleting ! Bugfixes 14.06.2020: + Update checker added ! Fixed broken timer widget 13.06.2020: + Toggles for audiobusses for volume widget + Toggle for mute input/bus for volume widget + Hotkeys for volume widget + Hotkeys section into widget properties now collapsable ! Bugfixes 10.06.2020: + Slider widget renamed to Volume widget + Added busses C-G to volume widget + Added audio meters to volume widget + Added text editor for scripts (support autocompletion) + Updated NDI lib ! Bugfixes 11.12.2019: + Global static variables option ! Fixed draft API call to not use http:// 22.10.2019: + Colorize inside buttons + API function to send commands to another vMix instances (without binding to UTC) + ExpandEnvironmentVariables into Image + expandvariables expression function ! Fixed: zero values into score widget treat as empty 03.10.2019: + Slider widget to control audio volume, without UV meters =( ! Fixed: expressions doesn't work into index parameter of function 02.07.2019: + Automatically executing button scripts on controller loaded + Not password lockable widgets 17.06.2019: + Exclamation sign on functions, that doesn't have assigned input ! Fixes into ValueChanged function ! Now you can remove looped button 12.06.2019: + New native ValueChanged function + Blocks into script editor 16.04.2019: + Accessing list items via API + Accessing Inputs by input number 06.04.2019: ! Expressions into ExecLink string parameter 01.04.2019: ! Region widget below anothers ! StringParameter now doesn't need quotes 28.03.2019: ! Clock widget now show really next scheduled event ! Properties redesign 27.03.2019: + Opening controllers from command line 24.03.2019: + New format for DataSourceSelectRow function: now you can use expressions in [Index] parameter + Now External Data Providers comes with UTC, they are shown in Widget menu under External Data widget ! Fixed memory leak into NDI monitor ! Removed "Register Filters" functionality, new NDI monitor is stable enough without dshow ! Now Region widget adds below all widgets 22.03.2019: + Protect controller with password (push SHIFT, when locking controller) ! Fixed scrolling by mouse wheel, scroll horizontally with SHIFT ! Fixed duplicated widgets appear below original 18.03.2019: + New Region widget. It can be used to create "groups" or info for UTC operator. + Ability to make standart widgets transparent, so you can move regions and don't affect another widgets. ! Small bug fixes 17.03.2019: + Focus hotkey in TextField & List controls + Picture icons on button controls + Captionless controls + Accessing elements by name in _() function ! Fixed: state dependent buttons don't react on main state changes ! Update State is now called Sync 01.01.2019: + New NDI monitor in addition to old, try it if you have problems with dshow version + Fixed some issues in MIDI widget 10.08.2018: + NDI monitor now has ability to trigger multiview inputs + LIVE toggle commands ! ExternalaData widget changes 01.08.2018: + FileSystem path select button onto text field widget + LIVE switch for all text-based widgets 21.05.2018: ! Logging now should really be disabled. ! Install filters button for people with non working NDI data provider. 13.02.2018: ! UTC check for registered NDI Source filter for working with NDI monitor data provider. 12.02.2018: + Rugby score style ! New NDI Monitor provider 01.02.2018: + Score widget styles + String manipulation functions ! Bug fixing 29.01.2018: + Build date into title + More user-friendly one-key shortcuts ! Some styling updates ! Buttons now have borders, lost when I added blinking on executing ! Bugfixing 05.01.2018: + MULTISELECT widgets: select many widgets at one time 26.11.2017: ! Now in lock mode close button just disables 16.11.2017: + Exit confirmation & locking close button 08.11.2017: + Blinking border on executing buttons ! Bugfixes of expressions & conditions 04.11.2017: + Scheduling for days of week ! Active state buttons now updates only if state really changed 25.10.2017: ! Containers now should work better ! Updated NDI SDK (should work with NDI monitor, but I'm not sure) ! [Performance improvement] Active state watcher now works in background, so interface freezes should goes out ! [Performance improvement] Active state watcher should check state only for updated inputs 27.07.2017: ! Added VLC input, so UTC now understand state with this kind of input ! Updated NDI SDK 28.05.2017: + Conditions & in-script variables feature + Widget-wide scaling 27.03.2017: + Gropuing into script commands, thanks to DWAM ! Fixed widget copying/templating 23.03.2017: ! Fixed not working External Data widget 22.03.2017: ! UI changes 20.03.2017: + Simple clock (scheduler) widget ! New icons, which not depend on Segoe UI Symbol ! Bugfixing 06.03.2017: ! Fixed crash on vMix 19 01.03.2017: + On Completion link in Timer Widget ! Fixed stability bugs 27.02.2017: ! Fixed recording/streaming dependencies updating 08.02.2017: + New MIDI Device widget - map your ExecLinks to MIDI keys. ! Script command parameters redesigned ! New state dependency path walker 05.02.2017: !! GUID version is now main + Learn hotkey button + Scripting design is changed + There is now small led, indicating problems in script. Generally for state dependent buttons ! Small bugfixes 22.01.2017: + State direct functions 16.12.2016: ! Now all libraries packed into exe ! Pause button doesn't start not started timer 10.11.2016: + Restart data checkbox in External Data Widget 23.10.2016: + State dependent buttons 18.10.2016: + Tags into list items 04.10.2016: ! Bug with multiple title mappings through many widgets ! Bug when previous widgets not clearing on controller loading 29.09.2016: ! Broken list widget 27.09.2016: ! More precise timer 26.09.2016: + DataSource property in list widget 12.09.2016: - Sorting into list widget 24.08.2016: + Recognizing input type, so SetImage API function called on image inputs instead of SetText 10.08.2016: ! Bug in MultiState widget 20.07.2016: ! Bug in serializing vMix state with unknown transitions 19.07.2016: + Ability of disabling external data widget + New Multi State widget 13.07.2016: ! Bug in getting state from external IP
Old versions
If you have any problems, please attach last log to your post. It's in "Documents/vMix UTC/logs" folder. Also It's better to look at windows event viewer (because crash can be not added to log).Feel free to post comments. P.S. Thanks button is in the bottom right corner of UTC window
|
73 users thanked elgarf for this useful post.
|
corporatejames on 6/23/2016(UTC), stigaard on 6/24/2016(UTC), Speegs on 6/25/2016(UTC), stevespaw on 7/20/2016(UTC), igoreha on 7/21/2016(UTC), a4k on 7/21/2016(UTC), Jedda on 7/21/2016(UTC), mburel1980 on 8/12/2016(UTC), kamal on 8/12/2016(UTC), vijay6672 on 8/13/2016(UTC), AlexSandr on 8/18/2016(UTC), Siroki on 9/21/2016(UTC), fLipz on 10/26/2016(UTC), vadim_d on 11/23/2016(UTC), calamityjane on 12/13/2016(UTC), DWAM on 1/18/2017(UTC), Stavlin on 1/23/2017(UTC), sim on 2/14/2017(UTC), Chircanu on 2/18/2017(UTC), liwarnyamannya on 9/4/2017(UTC), bluesgeek on 9/14/2017(UTC), Ario on 9/22/2017(UTC), NewsworthyVision on 10/11/2017(UTC), RichShumaker on 10/27/2017(UTC), RobLambert on 11/30/2017(UTC), Brutuss on 1/27/2018(UTC), Slimus on 2/16/2018(UTC), MycroBeat99 on 5/10/2018(UTC), sinc747 on 6/1/2018(UTC), maven2 on 7/17/2018(UTC), Snooker Loopy on 8/6/2018(UTC), QuiapoChurch on 8/17/2018(UTC), arc on 10/20/2018(UTC), edhorn on 11/1/2018(UTC), edd on 11/2/2018(UTC), monamiga on 11/11/2018(UTC), ThomasK on 11/25/2018(UTC), timbrian on 12/12/2018(UTC), Reinaldo on 12/31/2018(UTC), MickeyMJJ on 1/5/2019(UTC), mjgraves on 1/16/2019(UTC), DannyGudkov on 1/16/2019(UTC), airvoron on 2/25/2019(UTC), pikamons on 3/11/2019(UTC), bgbenni on 6/10/2019(UTC), shuizhiyu on 9/8/2019(UTC), NeObr on 10/28/2019(UTC), eddiojp on 1/23/2020(UTC), chasseb on 5/7/2020(UTC), Otaldo on 5/12/2020(UTC), musy2010 on 10/22/2020(UTC), JAIRODJ on 11/12/2020(UTC), TheMadPear on 1/13/2021(UTC), AgentPete on 2/13/2021(UTC), Luisoxl on 3/13/2021(UTC), serdary on 10/3/2021(UTC), omo on 11/20/2021(UTC), nikosman88 on 12/26/2021(UTC), baicast on 1/25/2022(UTC), samirbridi on 2/9/2022(UTC), shcho on 3/4/2022(UTC), MEENO on 5/18/2022(UTC), swcreative on 11/9/2022(UTC), jcnad on 2/2/2023(UTC), fenki86 on 3/23/2023(UTC), Florent13 on 4/6/2023(UTC), batuhan on 6/22/2023(UTC), Moxro on 9/22/2023(UTC), 14chaio on 1/14/2024(UTC), avsoundguy on 3/13/2024(UTC), fanDYNAMO on 3/31/2024(UTC), davevdberg on 6/3/2024(UTC), mcmcomp on 11/14/2024(UTC)
|
|
Rank: Guest
Groups: Joined: 1/13/2010(UTC) Posts: 230
Was thanked: 3 time(s) in 3 post(s)
|
I can not download the program.....I get an error
|
|
|
|
Rank: Advanced Member
Groups: Registered
Joined: 10/23/2015(UTC) Posts: 458 Thanks: 20 times Was thanked: 227 time(s) in 129 post(s)
|
Bandit62 wrote:I can not download the program.....I get an error Fixed.
|
|
|
|
Rank: Advanced Member
Groups: Registered
Joined: 10/23/2015(UTC) Posts: 458 Thanks: 20 times Was thanked: 227 time(s) in 129 post(s)
|
Bandit62 wrote:how is it installed, how do I use this program
There are some videos, that I shot before: video 1video 1,5video 2video 3Just start vMixController.exe.
|
1 user thanked elgarf for this useful post.
|
|
|
Rank: Advanced Member
Groups: Registered
Joined: 8/2/2015(UTC) Posts: 364 Location: Sydney Thanks: 283 times Was thanked: 76 time(s) in 62 post(s)
|
Works great. Xml data feed works very well. Have a few suggestions but will come back to up once I have setup my template for the controller almost finished. Complete with team linups and scorebug button controls. Will post screenshot when done.
Thanks @elgarf great job.
|
|
|
|
Rank: Advanced Member
Groups: Registered
Joined: 3/12/2015(UTC) Posts: 482 Location: Kansas City, MO USA Thanks: 151 times Was thanked: 75 time(s) in 57 post(s)
|
Can't wait to try it!
We have a client that this might be perfect for.
Thanks, Steve
|
|
|
|
Rank: Advanced Member
Groups: Registered
Joined: 10/10/2015(UTC) Posts: 322 Location: Siroki Brijeg Thanks: 8 times Was thanked: 27 time(s) in 24 post(s)
|
For me its interesting the yellow and red card, substitution, team line ups Is it able to do this with yours controller?
How to put our own graphics for subs, line ups, and red/yellow card?
thank you very much
|
|
|
|
Rank: Advanced Member
Groups: Registered
Joined: 10/23/2015(UTC) Posts: 458 Thanks: 20 times Was thanked: 227 time(s) in 129 post(s)
|
@Siroki, controlller only can change text of xaml vMix titles, so you need to put your graphics into xaml title, then you can control them through controller. For red/yellow card you can create two titles, map list widget for them. You need also put two button widgets, which shows that titles on overlay (one at time). For substitutions and team line ups you also need make your own xaml titles.
|
|
|
|
Rank: Advanced Member
Groups: Registered
Joined: 8/2/2015(UTC) Posts: 364 Location: Sydney Thanks: 283 times Was thanked: 76 time(s) in 62 post(s)
|
Are you able to add the shortcuts for the replay functions? I need ReplayMarkInOutLive and ReplayMarkInOutRecorded - and set time interval eg 5 (secs) ReplayPlayLastEvent, ReplayExportLastEvent These can be set by button if that is easy to add. I have attached a image with layout. Also be good to have start/stop stream and record. All functions are working well so if can had those functions easily that would be awesome controlling from laptop to main production pc. So can give to another person to control scorebug etc. Have a few a questions regarding the xml data feed but will get back to you. corporatejames attached the following image(s): VmixUTC-SKTV.jpg (230kb) downloaded 571 time(s).You cannot view/download attachments. Try to login or register.
|
1 user thanked corporatejames for this useful post.
|
|
|
Rank: Advanced Member
Groups: Registered
Joined: 8/5/2013(UTC) Posts: 280 Location: Poland Thanks: 29 times Was thanked: 40 time(s) in 37 post(s)
|
I just needed to write a script, to control the same game time on 2-3 graphics - and this tool let me set it up in few clicks. Great, thanks. Tiny donation for You, elgarf.
+1 for corporatejames request.
|
|
|
|
Rank: Advanced Member
Groups: Registered
Joined: 10/23/2015(UTC) Posts: 458 Thanks: 20 times Was thanked: 227 time(s) in 129 post(s)
|
@corporatejames, if you need some additional functions, and don't want to wait update, you can edit Functions.xml in program folder. There is simple format, you can add your functions by analogue with existing ones. @r@wisla, thank you :-)
|
1 user thanked elgarf for this useful post.
|
|
|
Rank: Advanced Member
Groups: Registered
Joined: 8/2/2015(UTC) Posts: 364 Location: Sydney Thanks: 283 times Was thanked: 76 time(s) in 62 post(s)
|
elgarf wrote:@corporatejames, if you need some additional functions, and don't want to wait update, you can edit Functions.xml in program folder. There is simple format, you can add your functions by analogue with existing ones. @r@wisla, thank you :-) Thanks @elgarf. Happy to wait, more of a feature request. But thanks for the letting me know about the functions.xml file. I will have a play tomorrow. With the standard xml feed that I posted in the image above. Can you call the xml url once and then select all the xml nodes then assign to title fields or do you have to do as I have and add a separate object for each one that you want pull the value from? As you see I have the url about 14 times for each team (teamid=80 and teamid=91) and have to change all the values of the teamid if want to change teams. Would easier to just change url once for each team. I think request is similar to what have in the weather demo video. But do pull the team name value once and update several xaml titles at the same time so don't have to manage them. Thats a real time saver. Also update scores on scorebug and half time xaml at the same time. Excellent feature. Great job.
|
|
|
|
Rank: Advanced Member
Groups: Registered
Joined: 10/23/2015(UTC) Posts: 458 Thanks: 20 times Was thanked: 227 time(s) in 129 post(s)
|
@corporatejames, you can select more than 1 row, and map each row to title: Row 1 to title 1, Row 2 to title 2, Etc.
But I don't know which XPath query you need to make.
Rows are looped, so if you have two rows, third title mapped to the first row, and fourth to the second.
|
|
|
|
Rank: Advanced Member
Groups: Registered
Joined: 4/16/2013(UTC) Posts: 406 Location: Iowa Thanks: 281 times Was thanked: 32 time(s) in 29 post(s)
|
Looks very interesting! I'll have to try it out too!
|
|
|
|
Rank: Advanced Member
Groups: Registered
Joined: 8/5/2013(UTC) Posts: 280 Location: Poland Thanks: 29 times Was thanked: 40 time(s) in 37 post(s)
|
elgarf wrote:Also you can take any external data (I'll publish external data API later (maybe)), at this time there is Generic Xml Data Provider, which can take any data from XML file, located somewhere in internet. Excuse my lack of knowledge, but: - I created an "external data" widget - left update period (1000) and set file path to vMixGenericXmlDataProvider.dll - added some inputs and titles in Title Mapping section - pasted URL of XML file, added xpath => 23 rows were loaded. And now what..? ;)
|
|
|
|
Rank: Advanced Member
Groups: Registered
Joined: 10/23/2015(UTC) Posts: 458 Thanks: 20 times Was thanked: 227 time(s) in 129 post(s)
|
@r@wisla, now every row must be mapped to corresponding title :) You must see, that first title of external data title mapping section gets value from the first row of selected xml data.
|
|
|
|
Rank: Advanced Member
Groups: Registered
Joined: 8/2/2015(UTC) Posts: 364 Location: Sydney Thanks: 283 times Was thanked: 76 time(s) in 62 post(s)
|
elgarf wrote:@corporatejames, you can select more than 1 row, and map each row to title: Row 1 to title 1, Row 2 to title 2, Etc.
But I don't know which XPath query you need to make.
Rows are looped, so if you have two rows, third title mapped to the first row, and fourth to the second. Do you have more instructions for this? I have these details: <DocumentElement xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <teamlist> <Row> <No1>5</No1> <Name1>ADSADASD</Name1> <Position1>ASD</Position1> <TeamName>KINGS</TeamName> <HomeBG> E:\XXXXX\XXXX.png </HomeBG> <CoachName>X</CoachName> <AstCoach1>XXXX</AstCoach1> <AstCoach2>XXXX</AstCoach2> </Row> <Row> <No2>6</No2> <Name2>xxxx</Name2> <Position2>xxx</Position2> <TeamName>KINGS</TeamName> <HomeBG> E:\xxx\xxxx.png </HomeBG> <CoachName>xxxxxx</CoachName> <AstCoach1>xxxx</AstCoach1> </Row> </teamlist> </DocumentElement> urL http://localhost:8085/RosterXML-SK2.asp?TeamID=80 xPATH //teamlist/Row Returns 2 rows In the settings I have Title mapping TeamA-linup Title = Number TeamA-linup Title = PlayertName TeamA-linup Title = Position TeamA-linup Title = Number TeamA-linup Title = PlayertName TeamA-linup Title = Position But this results in the the output of all the data in the number field and not splitting them up in each title. Do I have have the xml layout or VmixUTC? XML seems ok as it results in 2 rows.
|
|
|
|
Rank: Advanced Member
Groups: Registered
Joined: 10/23/2015(UTC) Posts: 458 Thanks: 20 times Was thanked: 227 time(s) in 129 post(s)
|
If you can change xml representation, it will be better to have: Quote:<DocumentElement xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <teamlist> <Row> <No>5</No> <Name>ADSADASD</Name> <Position>ASD</Position> <TeamName>KINGS</TeamName> <HomeBG> E:\XXXXX\XXXX.png </HomeBG> <CoachName>X</CoachName> <AstCoach1>XXXX</AstCoach1> <AstCoach2>XXXX</AstCoach2> </Row> <Row> <No>6</No> <Name>xxxx</Name> <Position>xxx</Position> <TeamName>KINGS</TeamName> <HomeBG> E:\xxx\xxxx.png </HomeBG> <CoachName>xxxxxx</CoachName> <AstCoach1>xxxx</AstCoach1> <AstCoach2></AstCoach2> </Row> </teamlist> </DocumentElement> Then you can make next XPath: //teamlist/Row/No|//teamlist/Row/Name|//teamlist/Row/Position Or you can select all elements inside row //teamlist/Row/* You don't need to select whole row, you need to select every (or some) element/s inside row.
|
|
|
|
Rank: Advanced Member
Groups: Registered
Joined: 8/2/2015(UTC) Posts: 364 Location: Sydney Thanks: 283 times Was thanked: 76 time(s) in 62 post(s)
|
Yeap that seemed to work. I had to change my code generating the xml file from my SQL Database (CMS) But Now gives me clean list for all 12 players and if there is only a couple players selected for the team in the database it will list in the xml blank values up the 12 players so that it does not loop data in the XAMl titles roster list.
Also adding extra functions to the function.xml worked as well for streaming, recording, and replay functions
Thanks.
Will post new screen shot when I'm done.
|
|
|
|
Rank: Advanced Member
Groups: Registered
Joined: 8/5/2013(UTC) Posts: 280 Location: Poland Thanks: 29 times Was thanked: 40 time(s) in 37 post(s)
|
Thank you elgarf & corporatejames
|
1 user thanked r@wisla for this useful post.
|
|
|
Important Information:
The vMix Forums uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close