Advanced Scene Switcher

Advanced Scene Switcher 1.28.1

lindenkron

Member
Yeees
Fixed scene item selection not saving index when multiple instances of the source with the same name are available.

I thought I was going out of my mind, having this specific thing not working and always being wrong. Didn't even occur to me that it wasn't saving it. Just checked. Update time!

Thanks WarmUpTill <3!
 

mintosan

New Member
Hello, Iam new to OBS and the likes. Today I have been setting up various Scenes for a podcasting show.

I have currently 3 Scenes (3x Camera's and 3x RODE Mics.) I can switch between the scenes in OBS but I want to be able to automatically switch when someone speaks on their Mic. then When multiple people speak, It will change to the wide camera view.

I have tried to play in the Audio settings, So when Mic 1 is active, Scene 1 is active. When Mic 2 is active, Scene 2 is active etc. When multiple then go to Scene 3 (Wide) It for some reason isn't switching for me.

Using latest OBS, Mac and its a 64 bit.
Any advice?
 

Warmuptill

Active Member
Ok got it to work now but how can I default a wide angle camera first, then switch to close up when someone speaks?
You could set up macros similar to this example and add an additional macro to handle the case when nobody is speaking:
Let me know if you need more details.
 

Daspaddy

New Member
I'm trying to setup a Macro that switches Scene, when Lightroom is in focus. But the current foreground window always indicates "StatusIndicator". That never changes. Does anybody have an idea what that is or how to get focus on another window?
Running MacOS Ventura with OBS 28.1.2 and ASS 1.19.2

And another question. I'm also trying to enable/disable a source. But that never works. ASS indicates, that the macro is executed but the source will not switch. I see the hint that sources can't be globally controlled by the OBS UI. But what does that mean?

Thanks
Patrick
 

Attachments

  • Bildschirm­foto 2022-11-14 um 15.46.41.png
    Bildschirm­foto 2022-11-14 um 15.46.41.png
    98.8 KB · Views: 23
Last edited:

Warmuptill

Active Member
Hi @Warmuptill please helpme sorry for my english

if scene is A then hotkey Alt+e , this works but the same hotkey continues to be pressed and this causes me problems, how can I make it so that when I go to a scene A or B or C the Hotkey Alt+e is activated only once once and when you exit those scenes to any other the same hotkey Alt+e is activated again once. I use it as a switch with another program in windows that if it is in one of those scenes it is activated and when it exits those scenes it must be deactivated. The only way that program accepts me is by pressing the same hotkey again. How do I do it, thank you, your program is incredible.

I'm trying to setup a Macro that switches Scene, when Lightroom is in focus. But the current foreground window always indicates "StatusIndicator". That never changes. Does anybody have an idea what that is or how to get focus on another window?
Running MacOS Ventura with OBS 28.1.2 and ASS 1.19.2

And another question. I'm also trying to enable/disable a source. But that never works. ASS indicates, that the macro is executed but the source will not switch. I see the hint that sources can't be globally controlled by the OBS UI. But what does that mean?

Thanks
Patrick
Seems like there were some changes introduced in Ventura that break the window title checking.
Unfortunately I didn't get the chance yet to investigate this further.

As an alternative to the Window condition you could try to use the Process condition type.
It might allow you to achieve what you are trying to do.

Regarding your second question, you likely want to use the "Scene item visibility" action instead.
Disabling a source globally (meaning not just on a particular scene using the eye icon) is usually not something that is desired.

Hope that helps!
Let me know if you have any questions.
 

Daspaddy

New Member
Seems like there were some changes introduced in Ventura that break the window title checking.
Unfortunately I didn't get the chance yet to investigate this further.

As an alternative to the Window condition you could try to use the Process condition type.
It might allow you to achieve what you are trying to do.

Regarding your second question, you likely want to use the "Scene item visibility" action instead.
Disabling a source globally (meaning not just on a particular scene using the eye icon) is usually not something that is desired.

Hope that helps!
Let me know if you have any questions.
Process works. And Scene Item as well. Thank you. ;-)
 

Poodmund

New Member
I was trying to set up a macro that looked at the current scene to trigger (enable) a filter that has been applied to a scene (not a source) but in the Filter options it seems that you can only choose from the list of sources and not any of the scenes. Is this intended or is this just a niche, edge case that hasn't been considered yet?
 

tankman

New Member
Is it true that this plugin can replace Pixelmatch the switcher plugin? So for example, if video is showing a certain message or screen image then the plugin can be programmed to switch to a different scene?
 

Rediflow

New Member
I have a request for further updates...
On my system, I have quite a heavy async between my Virtual Cam Video and VCable output Audio, If I route it e.g. in any Webmeeting software. Only way to get it sync is to give my Video sources a 500ms delay and my Audio Sources a -950 ms delay. If I record or Stream directly, those Settings are to be switched off. I can automate the delay Filter setting for the Video with the advanced Scene Switcher per Macro or on any Stream Deck via Hot Keys. For the -950ms Audio delay, I have not found a automation solution, yet.
It has to be configured in the advanced audio Properties under Sync offset. Unfortunately I have not found a Hotkey or other setting to Automate this... Is there way, you could include advanced audio Properties in your Macro templates. Or does anyone know a solution how to either kill the heavy delay in the VCable output or how to automate the advanced audio properties Sync offset Setting?
 

Kenshin9977

New Member
On Windows the "run" action doesn't seem to do anything with some .exe (no all of them though)
The log clearly indicates it tries to launch the program
18:27:02.169: [adv-ss] Macro Macro 1 returned 1
18:27:02.169: [adv-ss] running macro: Macro 1
18:27:02.169: [adv-ss] run "E:/1. Vidéos_Audios/OBS/Streamlabs/yuzu_install.exe"
But nothing happens. Same thing happen if I try through a shortcut file pointing to the program.
If I try to run a .bat file which start the program it works but through the extension it tells me Windows can't find a program of this name.
start /d "E:\1. Vidéos_Audios\OBS\Streamlabs" yuzu_install.exe
The program works if I launch it through the GUI or through the terminal.
I also tried with some program I developped and compiled using pyinstaller and ran into the same issue. You can also try with the yuzu installer that can be downloaded here : https://yuzu-emu.org/downloads/
 

serenmew

New Member
Hey there o/
Loving the plugin, was wondering if there is any way to set source settings through a text file. This would be extremely useful for me. For example I would like to use an external program to generate a settings file, then have the advanced scene switcher read the text file and set the settings for a source accordingly.

Thanks for all the hard work on this plugin!
 

serenmew

New Member
I have a request for further updates...
On my system, I have quite a heavy async between my Virtual Cam Video and VCable output Audio, If I route it e.g. in any Webmeeting software. Only way to get it sync is to give my Video sources a 500ms delay and my Audio Sources a -950 ms delay. If I record or Stream directly, those Settings are to be switched off. I can automate the delay Filter setting for the Video with the advanced Scene Switcher per Macro or on any Stream Deck via Hot Keys. For the -950ms Audio delay, I have not found a automation solution, yet.
It has to be configured in the advanced audio Properties under Sync offset. Unfortunately I have not found a Hotkey or other setting to Automate this... Is there way, you could include advanced audio Properties in your Macro templates. Or does anyone know a solution how to either kill the heavy delay in the VCable output or how to automate the advanced audio properties Sync offset Setting?
I do not know a way to do this, however this would be hugely useful to me as well!
 

AaronD

Active Member
I have a request for further updates...
On my system, I have quite a heavy async between my Virtual Cam Video and VCable output Audio, If I route it e.g. in any Webmeeting software. Only way to get it sync is to give my Video sources a 500ms delay and my Audio Sources a -950 ms delay. If I record or Stream directly, those Settings are to be switched off. I can automate the delay Filter setting for the Video with the advanced Scene Switcher per Macro or on any Stream Deck via Hot Keys. For the -950ms Audio delay, I have not found a automation solution, yet.
It has to be configured in the advanced audio Properties under Sync offset. Unfortunately I have not found a Hotkey or other setting to Automate this... Is there way, you could include advanced audio Properties in your Macro templates. Or does anyone know a solution how to either kill the heavy delay in the VCable output or how to automate the advanced audio properties Sync offset Setting?
Huh. I was sure I'd seen an audio delay in the list of filters, but I don't see it now. Sure would be nice if there was! Maybe that setting being somewhere else is a relic from a very early version of OBS that had a much simpler mindset?
 

serenmew

New Member
Huh. I was sure I'd seen an audio delay in the list of filters, but I don't see it now. Sure would be nice if there was! Maybe that setting being somewhere else is a relic from a very early version of OBS that had a much simpler mindset?
OBS Audio delay is done through "sync offset" in "advanced audio properties" so there isn't a filter for it
 

Warmuptill

Active Member
I was trying to set up a macro that looked at the current scene to trigger (enable) a filter that has been applied to a scene (not a source) but in the Filter options it seems that you can only choose from the list of sources and not any of the scenes. Is this intended or is this just a niche, edge case that hasn't been considered yet?
I am not sure I fully understand the issue.
It should be possible to select scenes in the "Filter" condition and actions.
Filter.PNG

Or are you specifically referring to the "Current scene" placeholder?



Is it true that this plugin can replace Pixelmatch the switcher plugin? So for example, if video is showing a certain message or screen image then the plugin can be programmed to switch to a different scene?
You can indeed look for patterns in video sources using the "Video" condition type.
For general information about the video condition have a look at this wiki entry:
For an example have a look at this wiki entry:



I have a request for further updates...
On my system, I have quite a heavy async between my Virtual Cam Video and VCable output Audio, If I route it e.g. in any Webmeeting software. Only way to get it sync is to give my Video sources a 500ms delay and my Audio Sources a -950 ms delay. If I record or Stream directly, those Settings are to be switched off. I can automate the delay Filter setting for the Video with the advanced Scene Switcher per Macro or on any Stream Deck via Hot Keys. For the -950ms Audio delay, I have not found a automation solution, yet.
It has to be configured in the advanced audio Properties under Sync offset. Unfortunately I have not found a Hotkey or other setting to Automate this... Is there way, you could include advanced audio Properties in your Macro templates. Or does anyone know a solution how to either kill the heavy delay in the VCable output or how to automate the advanced audio properties Sync offset Setting?
Thanks for the suggestion!
I have implemented the option to set / check the sync offset of sources in this build:
Sync.PNG

Should be finished in a few minutes.
You will have to be logged into GitHub to be able to download it.
Let me know if you run into any issues!



Hey there o/
Loving the plugin, was wondering if there is any way to set source settings through a text file. This would be extremely useful for me. For example I would like to use an external program to generate a settings file, then have the advanced scene switcher read the text file and set the settings for a source accordingly.

Thanks for all the hard work on this plugin!
Not yet unfortunately - once I get around to improving the variable support something like this will probably be possible.



On Windows the "run" action doesn't seem to do anything with some .exe (no all of them though)
The log clearly indicates it tries to launch the program

But nothing happens. Same thing happen if I try through a shortcut file pointing to the program.
If I try to run a .bat file which start the program it works but through the extension it tells me Windows can't find a program of this name.

The program works if I launch it through the GUI or through the terminal.
I also tried with some program I developped and compiled using pyinstaller and ran into the same issue. You can also try with the yuzu installer that can be downloaded here : https://yuzu-emu.org/downloads/
Could it maybe be that "yuzu-emu" requires additional arguments?
I am not familiar with this particular application at all unfortunately, but are you sure that you want to start the installer and not the application itself instead? (E.g. "yuzu.exe")
 

AaronD

Active Member
OBS Audio delay is done through "sync offset" in "advanced audio properties" so there isn't a filter for it
Yes. I was just imagining how that one bit of processing might have gotten *there*, while everything else uses a different UI. If there isn't anything else, only a sync delay, then it makes sense to put it there and allow negative. Then at some point, someone needed OBS to be a halfway-decent audio rack as well (at least in the set-and-forget sense), so then the filters were added. But the sync delay stayed where it was for backwards compatibility? And like you said, it already existed, so no need to also make a filter for it?

Just speculation, to satisfy my need for a plausible explanation for everything. I tend to remember "why", while "what" goes in one ear and out the other.

At least it's included in the API "somehow", so it can still be automated regardless.
 

serenmew

New Member
Yes. I was just imagining how that one bit of processing might have gotten *there*, while everything else uses a different UI. If there isn't anything else, only a sync delay, then it makes sense to put it there and allow negative. Then at some point, someone needed OBS to be a halfway-decent audio rack as well (at least in the set-and-forget sense), so then the filters were added. But the sync delay stayed where it was for backwards compatibility? And like you said, it already existed, so no need to also make a filter for it?

Just speculation, to satisfy my need for a plausible explanation for everything. I tend to remember "why", while "what" goes in one ear and out the other.

At least it's included in the API "somehow", so it can still be automated regardless.
I'm not a developer so I can only speculate as well. But some useful information to know is that the audio monitoring feature in obs does not pay attention to filters at all. For example setting a video delay of 1000ms will delay video and audio in the final mix by 1 second, but audio monitoring will be unchanged. This is a big headache, but probably some sort of programming limitation. I'd assume this is why there's no audio filter delay. That being said, probably a discussion for another thread.

Thanks a lot to Warmuptill for making the build with audio offset capabilities! Looking forward to the future of this project.
 

Rediflow

New Member
Thanks for the suggestion!
I have implemented the option to set / check the sync offset of sources in this build:
Sync.PNG

Should be finished in a few minutes.
You will have to be logged into GitHub to be able to download it.
Let me know if you run into any issues!

Thanks for the fast effort. Just one Issue: I need negativ 950 ms (That's the max OBS let me set in the negativ, but fortunately enough).
1668611389036.png

With your new Macro Template, I can insert 0 and postiv Values only.
 

Warmuptill

Active Member
Thanks for the fast effort. Just one Issue: I need negativ 950 ms (That's the max OBS let me set in the negativ, but fortunately enough).
View attachment 88853
With your new Macro Template, I can insert 0 and postiv Values only.
Ah sorry, I thought that only a positive sync offset was possible for some reason - Thanks for pointing that out!
A build with adjusted limits (-950 to 20000) will be available here in a few minutes:
Let me know if you notice any further issues!
 
Top