logo

Live Production Software Forums


Welcome Guest! To enable all features please Login or Register.

Notification

Icon
Error

Options
Go to last post Go to first unread
clafarge  
#1 Posted : Tuesday, March 17, 2020 1:57:18 AM(UTC)
clafarge

Rank: Advanced Member

Groups: Registered
Joined: 5/27/2017(UTC)
Posts: 93
Man
United States
Location: Greater St Louis Area

Thanks: 67 times
Was thanked: 20 time(s) in 13 post(s)
I've seen some creative solutions out there from some of you folks... hoping you have thoughts to help me solve this issue:

I have all vMixCall participants on Master as well as Bus A. I produce via Bus A so everyone in vMix can hear me but YouTube never has to hear the awful screech that is my voice. I'd like to be able to trigger a script/shortcut that would remove all participants from Master, and leave them on Bus A. This way, we can all chat "privately" while other audio is playing on Master. When the conversation is done, another click or another button would add them back to Master.

In reviewing my Shortcut options, I have plenty of ways to kill audio generally, but nothing to do this specific task.

Thoughts?

Thank you,

Chad
pm  
#2 Posted : Tuesday, March 17, 2020 3:38:09 AM(UTC)
pm

Rank: Advanced Member

Groups: Registered
Joined: 11/28/2015(UTC)
Posts: 184

Thanks: 10 times
Was thanked: 32 time(s) in 27 post(s)
Why not using AudioBusOn and AudioBusOff?

https://www.vmix.com/hel...utFunctionReference.html
clafarge  
#3 Posted : Friday, March 20, 2020 12:00:34 PM(UTC)
clafarge

Rank: Advanced Member

Groups: Registered
Joined: 5/27/2017(UTC)
Posts: 93
Man
United States
Location: Greater St Louis Area

Thanks: 67 times
Was thanked: 20 time(s) in 13 post(s)
PM,

I haven't done anything in the Scripting environment until your suggestion... the documentation is pretty rough, and I think I've sort of kludged my way through, but I now have what I need:

Function is RemoveCallersFromMaster():
Code:
Dim client As New System.Net.WebClient
Dim commands As New System.Text.StringBuilder
For i As Integer = 1 to 8
   commands.AppendLine("Function=AudioBusOff&Input=" + i.ToString() + "&Value=M")
Next
Dim postValues As New System.Collections.Specialized.NameValueCollection
postValues.Add("Function", "ScriptStartDynamic")
postValues.Add("Value", commands.ToString)
client.UploadValues("http://localhost:8088/API/", "POST", postValues)

I found the cleaner way to do it:
Code:
For i As Integer = 1 to 8
   API.Function("AudioBusOff", i, "M")
Next


Knowing how to pass parameters would make a difference.

Thank you for pointing that out.

Chad
Users browsing this topic
Guest
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.