Advanced Scene Switcher

Advanced Scene Switcher 1.28.1

Destroy666

Member
Hi there,
First and foremost, I'd like to thank you for the plug-in, what a great tool this is!

I have a rather simple question that baffles me a little. I made a schedule to run streams at certain time of a day and all works great if I keep OBS open. However, if I minimize OBS window, the macro doesn't run. "Hide OBS to tray" and your plugin works again?

Is there any reason why "minimize" stops Advanced Scene Switcher from working?

Windows 11 21H2 (updating to 23H2), OBS 30.2.3 (64), Advanced Scene Switcher 1.28.1
Make sure your windows power settings or anything else don't hinder processes that are in background. E.g. https://support.microsoft.com/en-us...-windows-4f32dffe-b97c-40e8-a790-3ca10373a1ef
 

Lycanthrope -R-

New Member
I'm afraid I may have found a glitch (or a limitation I wasn't aware of).
Adv. Scene Switcher 1.28.1
OBS 30.2.3

I have a few macros that trigger upon transitioning to certain scenes. For instance, mic on when switching to Scene X, mic off when switching to Scene Y. The thing is, it stopped acknowledging certain scenes when transitioning to them.

View attachment 109431

Take the above screenshot. It's configured to mute the mic for this list of scenes. It works if you switch to e.g., my Loading or Break overlays, but doesn't work if you switch to e.g., my Stream Start or Intro Videos overlay despite them all being in the same list. I can check using the green flashes when the macro is working and when it's not.

It worked perfectly fine until maybe a week or 2 ago. Maybe 1.28.0 broke it.

The full list of ones I have that don't work anymore are named:
  • Stream Start Overlay
  • Intro Videos
  • Stream End Overlay
  • Black Screen
Are words like "Stream" or "Intro" considered invalid now for some reason? Or is this maybe a bug?

Thanks for any help that can be provided.
I figured out what the problem is. It had nothing to do with the names.

If you set a listener for "Transitioning to X scene", but the scene has a "transition override" set on it, Advanced Scene Switcher doesn't recognize that the transition is happening.

I don't think it applies here, but this occurs despite what transition application setting is checked in the General menu side.

I believe this is new unwanted behavior starting from ver. 1.28.0. I'd appreciate it if this could be looked into.
 

Warmuptill

Active Member
I figured out what the problem is. It had nothing to do with the names.

If you set a listener for "Transitioning to X scene", but the scene has a "transition override" set on it, Advanced Scene Switcher doesn't recognize that the transition is happening.

I don't think it applies here, but this occurs despite what transition application setting is checked in the General menu side.

I believe this is new unwanted behavior starting from ver. 1.28.0. I'd appreciate it if this could be looked into.
Thank you very much for narrowing down the area of the issue!
A build with a fix will be available here in a few minutes:
You will have to be logged into GitHub to be able to download it - let me know if that should be an issue.

Unfortunately, I was unable to reproduce the issue with a fresh Windows install.
So at the moment I am at a bit off a loss on how to investigate this issue further.

Feature request (file under Nice to Have)

Have the ability in the Macro tab to search for Macros name
Thanks for the suggestion!
I will add it to the list.
 

noripico

New Member
Hi. Thanks for the great plugin. I've been using this for months. A couple of days ago, I have updated the OS to Windows 11 24H2 from 23H2 and HTTP function stopped working. Other macros work fine. Do you have any idea to solve this issue?
 

noripico

New Member
Hi. Thanks for the great plugin. I've been using this for months. A couple of days ago, I have updated the OS to Windows 11 24H2 from 23H2 and HTTP function stopped working. Other macros work fine. Do you have any idea to solve this issue?
I have reinstalled the plugin, and it is working fine now. So please forget this. Sorry for the disturbance.
 

MrGhost

Member
I just discovered something today, and you have undoubtedly discussed this at some point in the past because I discovered it on my own. The "Behavior -- Pause when not visible" selection in the source!

This blew my mind as a user of the A.S.S. It just seems like a total outrage.

When did this get put into OBS settings choices?

How is my source supposed to see the sources to switch, when they have paused due to not being visible?

Have you done anything to counteract the problems to A.S.S. that have been caused by this?
 

AaronD

Active Member
I just discovered something today, and you have undoubtedly discussed this at some point in the past because I discovered it on my own. The "Behavior -- Pause when not visible" selection in the source!

This blew my mind as a user of the A.S.S. It just seems like a total outrage.

When did this get put into OBS settings choices?

How is my source supposed to see the sources to switch, when they have paused due to not being visible?

Have you done anything to counteract the problems to A.S.S. that have been caused by this?
I think that setting exists to resume playback at the same point when you switch back to that scene, instead of starting over, or continuing to play unseen and then coming back at whatever point it happens to be by then.

If it also affects control-ability for a plugin, then I'd call that a problem. Probably in OBS proper, for not exposing it to the plugin, not in the plugin itself for not using what's not exposed to it. Just a guess.

Ideally, the entire rig should work as if it were an analog rack with all of the connections and controls available all the time, and freely patch-able. Nothing suddenly appears or disappears; it's all present all the time, and always available, even if it's not routed to any output at the moment. The controls can (and should) be automated - some in OBS and the rest in plugins like this one - but the key is that *everything* is *always* available. No exceptions, ever. If it's different from that, then I'd definitely call it a problem!
 

MrGhost

Member
I just discovered something today, and you have undoubtedly discussed this at some point in the past because I discovered it on my own. The "Behavior -- Pause when not visible" selection in the source!

This blew my mind as a user of the A.S.S. It just seems like a total outrage.

When did this get put into OBS settings choices?

How is my source supposed to see the sources to switch, when they have paused due to not being visible?

Have you done anything to counteract the problems to A.S.S. that have been caused by this?
this was specifically on my NDI sources got from the
I think that setting exists to resume playback at the same point when you switch back to that scene, instead of starting over, or continuing to play unseen and then coming back at whatever point it happens to be by then.

If it also affects control-ability for a plugin, then I'd call that a problem. Probably in OBS proper, for not exposing it to the plugin, not in the plugin itself for not using what's not exposed to it. Just a guess.

Ideally, the entire rig should work as if it were an analog rack with all of the connections and controls available all the time, and freely patch-able. Nothing suddenly appears or disappears; it's all present all the time, and always available, even if it's not routed to any output at the moment. The controls can (and should) be automated - some in OBS and the rest in plugins like this one - but the key is that *everything* is *always* available. No exceptions, ever. If it's different from that, then I'd definitely call it a problem!
This is specifically in the NDI sources. My NDI sources were pausing when not visible, and my NDI source changes the A.S.S. macro due to a correlation coefficient video matching for the source. But I found it today and it was pausing. This may be something new with the newest version of the NDI plugin DistroAV is the new name they changed to from OBS-NDI due to OBS wanting not to be used in the name I think.

Well I use that to grab the scene from the computer next to the OBS computer, when the mouse is moving over there (and moving the video due to mouse zoom and follow) or other times when there is a large percent activity from the 8 oscilloscopes running over there. I have had really dead activity from the A.S.S. lately so I have been trying to find the sources of the problems. Also I have noticed some times when the scene was definitely paused and not moving when it got switched to.
 

MrGhost

Member
...sometimes I switch to scenes with the streamdeck. Actually been using it more lately than usual, for turning on and off the A.S.S. (which can be done on both computers using bitfocus companion) and then switching to the scenes with the oscilloscopes. I have had to do that a lot lately and when I switch to it with the streamdeck button sometimes I noticed it was frozen (which never happened before updating OBS and A.S.S. and the DistroAV plugin).

Whether it's OBS putting the setting into the DistroAV because it's a plugin or the DistroAV itself, I felt this was definitely a new component and worthy of a bit of discussion in the Advanced Scene Switcher thread because it can really gum things up for the switcher.

Today's bit of sleuthing began when I noticed that there was no changing at all when I would go into the Macro settings and try and select an area of the scene to focus on for the video matching. I was like, "how can it do video matching when the video is not moving at all?" and so I looked deeper into the source, and lo and behold there was the new setting and it was set to pause my source when it was not visible.

I was somewhat outraged.
 

AaronD

Active Member
this was specifically on my NDI sources got from the

This is specifically in the NDI sources. My NDI sources were pausing when not visible, and my NDI source changes the A.S.S. macro due to a correlation coefficient video matching for the source. But I found it today and it was pausing. This may be something new with the newest version of the NDI plugin DistroAV is the new name they changed to from OBS-NDI due to OBS wanting not to be used in the name I think.

Well I use that to grab the scene from the computer next to the OBS computer, when the mouse is moving over there (and moving the video due to mouse zoom and follow) or other times when there is a large percent activity from the 8 oscilloscopes running over there. I have had really dead activity from the A.S.S. lately so I have been trying to find the sources of the problems. Also I have noticed some times when the scene was definitely paused and not moving when it got switched to.
Ah! So it *is* still available, but just hung on the last frame that it received, and so Adv. SS is cheerfully running the video condition on a static image (more like a legitimate stream of identical frames, by the time Adv. SS gets it) and (probably) doing as expected with that.

I wonder if there's a way to tell that OBS is not actually receiving new data? *Something* in there has to know, but does that knowledge actually go anywhere? *That's* the question, that I don't know the answer to.

At any rate, I think Adv. SS is working correctly; it's OBS itself that needs a tweak. Expose a flag if it's not already, and then Adv. SS (and everything else too) can use that flag.
 

AaronD

Active Member
Today's bit of sleuthing began when I noticed that there was no changing at all when I would go into the Macro settings and try and select an area of the scene to focus on for the video matching. I was like, "how can it do video matching when the video is not moving at all?" and so I looked deeper into the source, and lo and behold there was the new setting and it was set to pause my source when it was not visible.

I was somewhat outraged.
Good PSA though, for other Adv. SS users.
 

MrGhost

Member
Ah! So it *is* still available, but just hung on the last frame that it received, and so Adv. SS is cheerfully running the video condition on a static image (more like a legitimate stream of identical frames, by the time Adv. SS gets it) and (probably) doing as expected with that.

I wonder if there's a way to tell that OBS is not actually receiving new data? *Something* in there has to know, but does that knowledge actually go anywhere? *That's* the question, that I don't know the answer to.

At any rate, I think Adv. SS is working correctly; it's OBS itself that needs a tweak. Expose a flag if it's not already, and then Adv. SS (and everything else too) can use that flag.
Well, there is only the problem of this being some kind of unannounced change.

Once I realized it is there, I was easily able to change the setting to play video even when not visible. Just that the default behavior was to pause video source when not visible! As I said I was pretty astounding that they would change this in such a merciless fashion as if they were completely oblivious that people were switching their scenes in the background. It would be easy to feel picked upon like Helen Keller in such a situation, with her furniture being moved. I can't be everywhere at once.

I have something like 3 different sources that all use the same NDI source in OBS, and I switched this off in two of them, but I missed a third and continued on with my live stream today and watching it back I could see the points at which the frozen oscilloscopes hung for a second when the scene switched to them. I will have to go in next time and make sure that third source is also unpaused.

I had problems with literally everything today every camera, the WLAN driver, several Oscilloscopes went dead midway, a MIDI device was off and not on when I was first in the DAW. .....Scenes were dead in scene switcher. It was really horrendous. If you want to watch a guy who is really irritated by his cameras and computer programs, and cusses a lot you can watch my live stream on Rumble from today. It is a lot of working with the A.S.S. today, (maybe around 1 hour and 5 minutes I was looking at the A.S.S. and stuff) and everything seems to need to be power cycled at some point. But I still got some pretty groovy music going for the last hour of the program. Winter Solstice Live, Music Sysnthesizersy
 
Last edited:

AaronD

Active Member
Well, there is only the problem of this being some kind of unannounced change....As I said I was pretty astounding that they would change this in such a merciless fashion as if they were completely oblivious...
It's not the first time they've done that, or the most spectacular. V27 to V28 was an unannounced disaster! Broke pretty much all the plugins with no warning whatsoever, in a way that deleted all of their settings even if you downgraded back! Hope you kept complete documentation *already*, of how to rebuild it all from scratch! 'Cause you're going to...

The change that they made then, really needed to be done - update the Qt graphics and internal management framework from an outdated version that was out of support already, to the current version at the time - but the complete lack of communication of what that would do, and the lack of an actual upgrade path that would keep what it could and backup everything, was absolutely atrocious! Seems like they haven't learned yet...

So user beware! And keep a complete set of documentation up to date, always! You never know when you'll need it to rebuild entirely from scratch again.

And of course, DO NOT UPGRADE (or change anything at all for that matter) SHORTLY BEFORE SOMETHING IMPORTANT! Find a time when you *can* rebuild from scratch if you have to, and troubleshoot enough to figure out that you do have to.

Essentially, YOU manage the machine. Don't let it manage itself. Turn all of the automatic maintenance off, and then DO IT yourself, manually, on *your* schedule.
 

MrGhost

Member
It's not the first time they've done that, or the most spectacular. V27 to V28 was an unannounced disaster! Broke pretty much all the plugins with no warning whatsoever, in a way that deleted all of their settings even if you downgraded back! Hope you kept complete documentation *already*, of how to rebuild it all from scratch! 'Cause you're going to...

The change that they made then, really needed to be done - update the Qt graphics and internal management framework from an outdated version that was out of support already, to the current version at the time - but the complete lack of communication of what that would do, and the lack of an actual upgrade path that would keep what it could and backup everything, was absolutely atrocious! Seems like they haven't learned yet...

So user beware! And keep a complete set of documentation up to date, always! You never know when you'll need it to rebuild entirely from scratch again.

And of course, DO NOT UPGRADE (or change anything at all for that matter) SHORTLY BEFORE SOMETHING IMPORTANT! Find a time when you *can* rebuild from scratch if you have to, and troubleshoot enough to figure out that you do have to.

Essentially, YOU manage the machine. Don't let it manage itself. Turn all of the automatic maintenance off, and then DO IT yourself, manually, on *your* schedule.
I am pretty sure that the problem is inside the NDI plugin now called DistroAV. Today was the first day where I had all 3 of my NDI sources set to not be paused, and the first time in over a month that the A.S.S. did not seem dead on its feet. Glad to have the old switching actions back. It really made a large amount of a difference to the switcher that it could track the sources and they weren't paused.

But I do see that it is inside the NDI source and that is only there when you have the plugin installed. So I am holding back from putting the blame for this monster option on the OBS program.
 

MrGhost

Member
Probably bring it up in the DistroAV forum...could have different default setting ideally.
 

Attachments

  • behavior.jpg
    behavior.jpg
    82.3 KB · Views: 7

Sally S.

New Member
Whenever streaming restarts, it shows a massage saying there isn’t a broadcast.
When I try to manually choose the default one I prepared it doesn’t show till I visit YouTube Studio and manually dismiss the Live Completed message.

Then I have to go back to OBS and choose that broadcast manually.

How to automate that?
 

AaronD

Active Member
Whenever streaming restarts, it shows a massage saying there isn’t a broadcast.
When I try to manually choose the default one I prepared it doesn’t show till I visit YouTube Studio and manually dismiss the Live Completed message.

Then I have to go back to OBS and choose that broadcast manually.

How to automate that?
I think that's a YouTube thing, more than Adv. SS.

YouTube used to have an awesome API - a way for automated things to control it, like scripts, this plugin, etc. - but they killed it because it was getting horribly abused by spambots. Some of that functionality is back now, but not all. So there's still some manual involvement on the site itself, that can't be scripted or controlled remotely, probably to keep the spambots in check.

That said, my church's weekly stream *is* pretty much set-and-forget on YouTube's side. Stop sending it data, it times out after about 60 seconds, and then it ends that stream and sets up a new one with the same stream key. Start throwing data at the same key again, and the new stream starts. No more involvement than that...except to change the title and description for each week.

We make those changes on YouTube's site, not in OBS. OBS *only* knows about the stream key, so it throws its data to the right place, nothing more. And yes, it will happily start a new stream with no changes whatsoever, like when we forget...

The disadvantage to doing it that way, is that YouTube doesn't know when the next stream will start, and so it can't hype it up for you. You have to do that yourself, outside of YT. But since our audience already knows anyway, that's fine for us. YMMV.
 

AaronD

Active Member
...till I visit YouTube Studio and manually dismiss the Live Completed message.
I made a script that:
  1. Opens a web browser to YT's Live Dashboard page, and puts it on a dedicated monitor, then
  2. Starts OBS
I don't start OBS directly. In fact, none of my serious rigs start OBS directly. It's always through a script that does other things too.

Anyway, that gives me a way to see that the stream is in fact working correctly (about 10-20 seconds behind, which is normal), and shows me the "completed" message after it times out. As a natural part of shutting down, I dismiss that message.

So the solution for you might just be to make it a natural part of running the rig, and not the arduous additional thing that it is now. If you're there anyway, then the same thing becomes easy.
 

Skycron

New Member
Hi everyone, for various reasons, I am running OBS 29.1.1 and running Advanced Studio Switcher 1.23.0. (OBS 30 is not an option for me right now.) I have included a log file. The issue I am having is I am trying to do an audio crossfade per this tutorial (https://www.youtube.com/watch?v=JNZNzdsmIN4). However, when I launch the macro, although it says it is running, I still get the hard audio cut off between scenes rather than the nice crossfade I am trying to get. I've also attached some screenshots as to how I configured the macros. What am I doing wrong?

Screenshot (1).png

Screenshot (2).png
Screenshot (3).png

Thanks in advance!

And the logfile: https://obsproject.com/logs/TFQubp1Pt42YsA64
 
Top