Advanced Scene Switcher

Advanced Scene Switcher 1.32.6

hi i would like to be able to make the macro ( IF recording / then start recording vertical) or (IF recording / hit HOTKEY)
is this poseble ?
Something like this should do the trick:
1767032982612.png

(Just to mention it: The hotkey does *not* need to be bound to any key for plugin to be able to "press" it)
 
I'm having a problem with the HTTP macro action, which I think may be a MacOS permissions issue, but I can't track it down. I have a few URLs that are called, which are really just commands to my PTZ cameras to call preset positions (I'm not actually showing a browser on stream). When a macro calls the URL, nothing happens. If I turn on verbose logging, it says it did send the HTTP request, with no further entries about any problems:
10:25:56.728: [adv-ss] running actions of test url

10:25:56.728: [adv-ss] sent HTTP request (GET) to URL "http://192.168.0.113/cgi-bin/ptzctrl.cgi?ptzcmd&poscall&1" with content type "application/json" with body "--enter text--" with headers "-" with parameters "-" with timeout "1.00 seconds"

This used to work, but stopped when I migrated to a new computer. If I put a browser source in a scene, that works -- loading that scene sends the URL and the camera moves. I don't have any custom firewall settings, but Apple is always tinkering with that sort of thing so my guess is it's something blocking the ASS process, but not the OBS process, from touching the LAN. OBS itself does have the necessary permissions to use the local network. One possibly relevant thing is that the cameras are on a VLAN, so the IP address is in a different subnet than the internet connection, but the computer in question has access to both VLANs.

I'm on MacOS Sequoia 15.6.1, OBS 32.0.04, and ASS 1.32.5.
 
I'm having a problem with the HTTP macro action, which I think may be a MacOS permissions issue, but I can't track it down. I have a few URLs that are called, which are really just commands to my PTZ cameras to call preset positions (I'm not actually showing a browser on stream). When a macro calls the URL, nothing happens. If I turn on verbose logging, it says it did send the HTTP request, with no further entries about any problems:


This used to work, but stopped when I migrated to a new computer. If I put a browser source in a scene, that works -- loading that scene sends the URL and the camera moves. I don't have any custom firewall settings, but Apple is always tinkering with that sort of thing so my guess is it's something blocking the ASS process, but not the OBS process, from touching the LAN. OBS itself does have the necessary permissions to use the local network. One possibly relevant thing is that the cameras are on a VLAN, so the IP address is in a different subnet than the internet connection, but the computer in question has access to both VLANs.

I'm on MacOS Sequoia 15.6.1, OBS 32.0.04, and ASS 1.32.5.
Depending on how old the version of the Advanced Scene Switcher is, which you were previously using on your old computer, and if you imported the settings or manually recreated the macro, a different implementation of the HTTP action might be in use now.

Can you give this build a try, which should be done in a few minutes?
It changes how the http parameters are handled.
Unfortunately, you will have to be logged into GitHub to be able to download it.
If that is a problem let me know and I can try to share it some other way.
 
Last edited:
Depending on how old the version of the Advanced Scene Switcher is, which you were previously using on your old computer, and if you imported the settings or manually recreated the macro, a different implementation of the HTTP action might be in use now.

Can you give this build a try, which should be done in a few minutes?
It changes how the http parameters are handled.
Unfortunately, you will have to be logged into GitHub to be able to download it.
If that is a problem let me know and I can try to share it some other way.
Thanks - gave that a try, it doesn't see to have fixed it. I tried deleting and recreating the HTTP actions, but that didn't help. Should I try creating entirely new macros? (Did that too already for a one-action test macro, but not the complicated ones)
 
Thanks - gave that a try, it doesn't see to have fixed it. I tried deleting and recreating the HTTP actions, but that didn't help. Should I try creating entirely new macros? (Did that too already for a one-action test macro, but not the complicated ones)
Sorry, I believe a bug slipped into the build I shared above.
Can you give this build a try?

Is there any way to check what - if anything - is being received on the application side?
 
Hi, I have 8 video sources displayed, and I would like to rotate the audio for each source every 30 seconds. For example, audio from Video 1 for 30 seconds, 7 others muted, then mute audio 1, and unmute audio from Video 2 for 30 seconds, (audio from video 3 to video 8 remain muted), with the audio continuing to rotate and then loop back to Video 1 after Video 8. Thanks.
 
I could write you some code to do that in AdVSS. Do you want to have some indication visually on which source you are monitoring? or is the VU showing green enough?
 
Yes, I think a visual indication like a red border would be helpful to display which one is the audio source. Thanks.
1768247916474.png


I built the sequence, just writing up a little install / how-to so that you can shoehorn it into your environment to meet your needs.
Wont be long. But as you can see in the screen shot, program out is showing 8 different sources simultaneously on the same window. And you'll see everything is muted and the volume is mute/unmute.
 
Ok, here's the code. Done in OBS 32.0.4 and AdvSS 1.32.6
"audiosources.json.txt" thats the json file for OBS that I built. Removed the .txt file

AdvSS-MacroCode.txt - That is the actual macro if you want to import it seperately.
"RedBox.jpg" is the overlay that puts a red box around the item being monitored.

Once you import your JSON, you'll need to point to that RedBox.jpg.
Its also going to say "missing BarsTone. That is just a video file I was using to test. Just replace it with your own video source.

INSTRUCTION/EXPLANTION:

So i created 8 Scenes, and in each scene there are 3 items.
1>"RedBox" is what is used when a particular scene is active and displayed around the video.
2> Text - This was just an identifier of the video that i put on the screen. You dont need that and can remove it.
3> Media Source = this played the Testpattern for my testing, but you can remove that and replace it with a video source that you are monitoring

1768249729074.png


MAIN OUT - This is just the program out that I was using. The way the macro works is if that scene is showing, it will activate the macro. And then if its not active, the macro will stop (once its gone through all 8). This means that if you detected a problem, you could click on that source and do whatever you need to do, and then when you bring back the MAIN OUT it will start again automatically.
1768249848508.png


The Macro I did is made up of 9 macros.
1768250205279.png

Monitor Source 1 - 8. These just trigger the individual screens, unmuting/muting each and showing the red box around the video.
"Start-Monitor" when the script kicks off, will mute all inputs for you and kicks off the first script. When #8 is reached, the thing loops back and starts over again.

In AdvSS "Variables" tab, you can set the delay, in seconds, between each change.

In this example its set to 2 seconds.
1768250310026.png


When "MAIN OUT" is active, the script just goes between each source.

1768250387948.png

If you want to change that MAIN OUT to reflect something in your system already, then you can adjust it here

1768250425890.png


Also you'll note that "START-MONITOR" will be sometimes in a "PAUSED" state (no check mark). This is to prevent it from running over and over. The script will pause it. And when you run the script new, it will automatically run, so you dont have to mess with it.

To get the red box, i'm running a chroma key filter. So anything in green shows the video, and gives that red outline.

1768250523283.png


Hopefully you'll find this useful.
Theres some other neat stuff you can do with AdvSS. Could easily, for example, have a green box around the one you are listening to, and then automatically show RED box around any sources that have no, or too little sound. AdvSS can monitor for stuff like that.

I know there are a few different ways to do this, but this seemed like a method that you could translate probably into your existing OBS configuration.
Y92!
 

Attachments

Last edited:
A little depth into the macro.
1768251285723.png


Each run, the system unmutes the appropriate channel, sets the visibility for the box to active (red box around active window)
then waits "X" seconds, then mutes, the channel, removes the visibility of the box, and calls the next macro in line.

Monitor #8 does the same, but its last command is to "UNPAUSE" START-MONITOR. And when that is un-paused, assuming MAIN OUT is active, it starts the loop all over again. If MAIN OUT is not, then the script pauses allowing you to make adjustments.

You can dock AdvSS onto your desktop for easy start/stop of the system

1768251535682.png
 
Back
Top