Advanced Scene Switcher

Advanced Scene Switcher 1.28.1

Warmuptill

Active Member
So far I haven't run into major issues.

I do have a pondering question though. For some reason, it's taking 2-2.5 sec for it to run this sequence. The transition is a 1000ms fade - but since 'Wait for Transition' is unchecked; I'd imagine it should run the blur filter immediately - yet it isn't:
View attachment 77162

It's set to check on 200ms interval, but it didn't seem to make a difference from 300ms.

Thanks!

Edit:
I'm seeing like 2000 memory leaks in my Logs but I'm uncertain which plugin is causing it. Just thought I'd mention.
If you leave out the "scene changed" condition and just use the "current scene is ..." part it should start your actions as soon as the transition begins.
I assume you added the "scene changed" part to avoid endlessly triggering these actions while the caster scene is active.
I would instead recommend adding a time restriction to the "current scene is" condition by clicking on the small clock icon.

So far I had not observed any memory leaks on my end.
If you are certain that the scene switcher is causing these please export your current scene switcher settings and I will try to reproduce the leak on my end.

Hope that helps!
 

lindenkron

Member
If you leave out the "scene changed" condition and just use the "current scene is ..." part it should start your actions as soon as the transition begins.
I assume you added the "scene changed" part to avoid endlessly triggering these actions while the caster scene is active.
I would instead recommend adding a time restriction to the "current scene is" condition by clicking on the small clock icon.

So far I had not observed any memory leaks on my end.
If you are certain that the scene switcher is causing these please export your current scene switcher settings and I will try to reproduce the leak on my end.

Hope that helps!

Super helpful!

It wasn't immediately clear that 'For at most' was an indicator of how long it could trigger for; it sounded like "If scene XXX for at most 1 seconds" would indicate how long you were on the scene for; not how long the If statement would trigger for. Glad to know this functionality is in there, that's why I had previous scene change on indeed :)

I don't think the leaks are on your end either - just mentioned it incase you we're like "yes I'm aware and looking into it". If you don't think there's any; I don't think it's your plugin either!

The version you linked previously have worked well so far; not had any issues and using the timer now avoids the delay issue I had before!

Thanks!
 

lindenkron

Member
A little feedback, perhaps it's just my personal opinion:

1637341214167.png

Not having these as full length name makes it a little hard/confusing to get the correct thing - seeing as I don't always remember what I called things :D

Edit
1637341424726.png


Okay so it shows on the 2nd filter full length. Now I'm really confused :P
 

lindenkron

Member
Also, I had this same issue with one of Exeldro's Plugin windows - Would it be possible to add the ability to "leave" the window while having 'Advanced Scene Switcher' window open; but enabling the ability to click things in the back without having to close the Advanced Scene Switcher window?

It's really nice for work flow that you don't constantly gotta close it, open filters, open advanced scene switcher again, close advanced scene switcher, go to filters to find/edit something, open Advanced Scene Switcher again.

Exeldro made a change so you could keep Transition Table open, and still do things with OBS - was hoping that'd be possible here as well :)
 

Warmuptill

Active Member
A little feedback, perhaps it's just my personal opinion:

View attachment 77182
Not having these as full length name makes it a little hard/confusing to get the correct thing - seeing as I don't always remember what I called things :D

Edit
View attachment 77183


Okay so it shows on the 2nd filter full length. Now I'm really confused :P
Thanks for pointing that out!
Fix is available below.

Also, I had this same issue with one of Exeldro's Plugin windows - Would it be possible to add the ability to "leave" the window while having 'Advanced Scene Switcher' window open; but enabling the ability to click things in the back without having to close the Advanced Scene Switcher window?

It's really nice for work flow that you don't constantly gotta close it, open filters, open advanced scene switcher again, close advanced scene switcher, go to filters to find/edit something, open Advanced Scene Switcher again.

Exeldro made a change so you could keep Transition Table open, and still do things with OBS - was hoping that'd be possible here as well :)

A build with this change will be available here in a few minutes:
 

Warmuptill

Active Member
Hey!
I can't figure out how to implement the action:
There are scenes, they are all randomly repeated, each scene has media (rtsp webcam links).
How to make sure that if the connection with the camera is lost, the scene will automatically disappear from the random?
And it automatically appeared when a connection with a webcam appeared)

Sorry for the text, it is translated from the cyrillic)
Thanks! :)
I now implemented a first draft of a functionality which could be used to achieve what you want to do.
The new functionality can be found on the macro tab in the action section and is called "Random".
This action type will allow you to execute a random macro from a predefined list of macros, but crucially paused macros will be ignored.
So combining this with separate macros which pause / unpause macros if the image of certain sources is frozen you can exclude macros to be chosen randomly.

So you setup might look something like this in the end:

A few actions to actually switch scenes and wait a certain amount of time (similar to the entries on the Random tab)
SceneSwitchAction.PNG

A macro that will continuously try to randomly run any of the defined random scene switches
RandomAction.PNG

And macros which pause your scene switch macros if certain conditions are met. (For example the image is frozen for 10s)
PauseAction.PNG


A build with this functionality will be available here in a few minutes:

Note that you have to be logged into GitHub to be able to download it.
Let me know if that is an issue for you.

Hope that helps!
 

lindenkron

Member
The more I explore this plugin, the more I discover I can automate. It's quite entrancing.

I've however come across another small hiccup that I'm not entirely sure how to battle. I'll paint the scenario below:

I have a caster scene. Now; depending on which scene I'm coming from, the transition will differ. Coming from the Intro scene has a rather long transition - that also ends approximately 2~ seconds before the video file actually ends (I blame creative!).

Now the issue is, that this results in Adv-ss not being able to detect neither "Wait for transition to complete" or "Previous Scene is" until the actual file is done playing; despite the animation visually having ended.

What I'm trying to achieve is to automatically switch the audio feeds volume up/down accordingly; but at the right time. And only when coming from intro.

At the moment all I can achieve is 2 seconds after they're on screen (so they'll start talking early while still being muted) or while the stinger is still playing.

Is it not possible to detect a 'Previous Scene' before a stinger has finished playing? It doesn't appear so at the moment.

If I could do as shown in the image below; I could adjust the Wait duration to fit when I want the volumes to go up and down - but unfortunately this never adjusts the volume.

I also have a similar issue (think it's not registering Previous scene is) with trying to make adjustments only when its not coming from Intro.
1637381073809.png


Looking forward to trying the new builds tomorrow!
Thanks again,
-Lind
 

Warmuptill

Active Member
The more I explore this plugin, the more I discover I can automate. It's quite entrancing.

I've however come across another small hiccup that I'm not entirely sure how to battle. I'll paint the scenario below:

I have a caster scene. Now; depending on which scene I'm coming from, the transition will differ. Coming from the Intro scene has a rather long transition - that also ends approximately 2~ seconds before the video file actually ends (I blame creative!).

Now the issue is, that this results in Adv-ss not being able to detect neither "Wait for transition to complete" or "Previous Scene is" until the actual file is done playing; despite the animation visually having ended.

What I'm trying to achieve is to automatically switch the audio feeds volume up/down accordingly; but at the right time. And only when coming from intro.

At the moment all I can achieve is 2 seconds after they're on screen (so they'll start talking early while still being muted) or while the stinger is still playing.

Is it not possible to detect a 'Previous Scene' before a stinger has finished playing? It doesn't appear so at the moment.

If I could do as shown in the image below; I could adjust the Wait duration to fit when I want the volumes to go up and down - but unfortunately this never adjusts the volume.

I also have a similar issue (think it's not registering Previous scene is) with trying to make adjustments only when its not coming from Intro.
View attachment 77206

Looking forward to trying the new builds tomorrow!
Thanks again,
-Lind
Maybe I am missing something crucial but shouldn't a condition like this do the trick?

StrangeTransition.PNG


> Is it not possible to detect a 'Previous Scene' before a stinger has finished playing?
If the "wait for transition to complete" box is checked the current scene check will still return the transition that is currently being transition away from.

I am not really happy with the name of this option so if you have better suggestion let me know :)
 

lindenkron

Member
Maybe I am missing something crucial but shouldn't a condition like this do the trick?

View attachment 77212

> Is it not possible to detect a 'Previous Scene' before a stinger has finished playing?
If the "wait for transition to complete" box is checked the current scene check will still return the transition that is currently being transition away from.

I am not really happy with the name of this option so if you have better suggestion let me know :)

Yes, that did the trick since I'm only using the transition for this specific scene change. However; if I were to use it in two places I don't seem to have a way to specify to only do it if previous scene is X.

The option is there; but it seems to only check after the transition has finished as I stated above. I know it's a problem that's really hard to understand when writing in text.

Without checking 'Wait for transition'; it seems to only "check" previous scene after the transition has occured. The issue here is, if you have a alpha stinger, the casters/camera would most likely be visible prior to the actual file (stinger) finishing playing - so (in my specific case) checking for a previous scene won't be validated until after the stinger has finished - which delays the volume changes by 2-3 seconds.

I tried to explain it above, but I understand why it can be hard to understand the exact issue of the scenario I've run into.

However, checking for the intro > caster scene transition and then running a wait on that seemed to do the trick.

Perhaps the other way works as well but I'm just doing something wrong; am unsure.

Thanks for the help though!
-Lind

Edit:
Also having the issue where this is triggering; despite the transition being 'Stinger'.
1637427207915.png
 

lindenkron

Member
Sorry if it feels like I'm spamming; there's just so many things here it's really hard not to type a lot when getting into it.

So; small request - would it be possible to have arguments: perhaps be default no box; and added with a plus? Or removable with minus.
1637428954651.png

I just use it to run files, I'm not sure what the arguments are for (I'm sure there's really cool things you can do with it) but when I add a few it just takes up a lot of space and gets a little messy.

Secondly; I can't get it to run VLC playlist files. Simply nothing happens when I use run for it. It seems to run the close_vlc.bat just fine; but the .xspf file doesn't seem to run.
1637428966615.png


I tried the new build from above and I've not had any issues yet! =)

Again, thanks so much - sorry for taking up this much of your time :)
 

khaver

Member
Feature request: Add a checkbox on all macro actions with optional title and message to display a system tray notification when an action runs.

I see you added a checkbox in the general tab to display a notification when the plugin is activated. While that's nice, it would also be nice to have the option to display them whenever an action is triggered. Right now I'm using an os.execute in a lua script to run a utility, specifically created to displays a tray notification (SystemTrayMessage.exe), whenever the recording starts and stops, but the os.execute function flashes a cmd window in the middle of the screen when it runs something. Annoying when someone is controlling presentation software on the same computer. You do have a Run action which I could use to run the tray message utility, but it would be better to have it native in the plugin.

Thanks for such a great plugin.
 

Warmuptill

Active Member
Without checking 'Wait for transition'; it seems to only "check" previous scene after the transition has occured.
Correct, when this option is checked during a scene transition the scene being transitioned to is being returned.
If it is not checked the scene being transitioned away from is being returned.

I think the confusing part here is what is defined as the "previous" scene while a scene transition is currently active.

The plugin currently only updates the previous scene when a scene transition completed and not while a transition started.
For your specific case you will have to solely rely on the current scene check.

Also having the issue where this is triggering; despite the transition being 'Stinger'.
That particular option which transition is currently selected as the default transition in OBS.
Transition.PNG

It does not care about transition overrides or whether a transition is currently active.
You might be looking for the "transition active" check.
TransitionActive.PNG


Sorry if it feels like I'm spamming; there's just so many things here it's really hard not to type a lot when getting into it.
Haha, no worries - I am happy to help and am glad you are interested in using the plugin! :)

So; small request - would it be possible to have arguments: perhaps be default no box; and added with a plus?
Good suggestion - I will look into it!

Secondly; I can't get it to run VLC playlist files. Simply nothing happens when I use run for it. It seems to run the close_vlc.bat just fine; but the .xspf file doesn't seem to run.
An xspf file itself is not executable.
You will have to launch VLC (or some other media player) and provide the the xspf file as an argument.
Here is an example - note that the "file:///" part is important when you want to use absolute paths with VLC it seems.
RunVLCPlaylist.PNG


Feature request: Add a checkbox on all macro actions with optional title and message to display a system tray notification when an action runs.
Thanks for the suggestion!
This should be rather easy to implement.
But I will probably go for a slightly different approach and instead add a separate action just for displaying notifications to the system tray.
 

Warmuptill

Active Member
So; small request - would it be possible to have arguments: perhaps be default no box; and added with a plus?
I added automatic resizing of lists to the "run" and "random" actions:
Args.PNG

A build with this change will be available here in a few minutes:

Feature request: Add a checkbox on all macro actions with optional title and message to display a system tray notification when an action runs.
I now added a new "system tray notification" action:
Systray.PNG

A build including the new system tray macro action is available here:
Note that you have to be logged into GitHub to download the build - let me know if that is an issue for you.
 

lindenkron

Member
Correct, when this option is checked during a scene transition the scene being transitioned to is being returned.
If it is not checked the scene being transitioned away from is being returned.

I think the confusing part here is what is defined as the "previous" scene while a scene transition is currently active.

The plugin currently only updates the previous scene when a scene transition completed and not while a transition started.
For your specific case you will have to solely rely on the current scene check.
Ah. That's unfortunate since there's really no way of doing proper scene:
A > B do this
C > B do something else
if you want it to happen sometime during the transition, if they're using same scene transition

That particular option which transition is currently selected as the default transition in OBS.
View attachment 77238
It does not care about transition overrides or whether a transition is currently active.
You might be looking for the "transition active" check.
View attachment 77239
Ah I see. That confused me a bit; but it makes sense now.

An xspf file itself is not executable.
You will have to launch VLC (or some other media player) and provide the the xspf file as an argument.
Here is an example - note that the "file:///" part is important when you want to use absolute paths with VLC it seems.
View attachment 77241
Okay.. so I can see why this might be a bit more flexibile in some scenarios; but it's certainly not very user friendly. Is there a reason there's no 'Open' option like the StreamDeck has?
1637507618689.png


I added automatic resizing of lists to the "run" and "random" actions:
View attachment 77254
That definitely takes up less space.
 

Warmuptill

Active Member
So, with the latest build above (1ecd754) it's still got large boxes for arguments:
View attachment 77257
That is the wrong build.
The new one is named 48c526f.

You probably have 5 different builds downloaded so it is probably very easy to mix them up :P

Ah. That's unfortunate since there's really no way of doing proper scene:
A > B do this
C > B do something else
if you want it to happen sometime during the transition, if they're using same scene transition
Maybe I still don't fully understand, but should this not do what you are looking for?
AtoB.PNG

CtoB.PNG

Okay.. so I can see why this might be a bit more flexibile in some scenarios; but it's certainly not very user friendly. Is there a reason there's no 'Open' option like the StreamDeck has?
I was simply not aware of there being a demand for it :)
I will look into - thanks for the suggestion!
 

lindenkron

Member
That is the wrong build.
The new one is named 48c526f.

You probably have 5 different builds downloaded so it is probably very easy to mix them up :P
Ah, I downloaded the bottom one (The one you replied to someone else with), I was really confused because I double checked. I tried the one above; and that one works! :)

Maybe I still don't fully understand, but should this not do what you are looking for?
View attachment 77258
View attachment 77259
Perhaps? I'll try; The logic just eludes me a bit "If Scene = A & If Scene = B" I never thought this could return true - since your only on one scene at a time?

I was simply not aware of there being a demand for it :)
I will look into - thanks for the suggestion!
That'd be great! Simplifying opening various files of any kind would be useful in a lot of scenarios.

I'll let you know when I've tested your suggestion above! :)
 

Warmuptill

Active Member
Perhaps? I'll try; The logic just eludes me a bit "If Scene = A & If Scene = B" I never thought this could return true - since your only on one scene at a time?
The important part is the state of the "wait for transition to complete" checkbox.
The first "scene" condition will check the scene being transitioned to and the second one the one that is being transitioned from.

That'd be great! Simplifying opening various files of any kind would be useful in a lot of scenarios.
I have implemented your request for the run action as a fallback option in the mean time.
So if the currently entered settings are a valid way to start a process the old method will be used.
If not (and no arguments were provided) the "Stream Deck open" way will be used.
A build should be available here in a few minutes:
 
Last edited:

lindenkron

Member
So I tested your method. I got it to trigger only once using this method:
1637516059703.png

With a 200ms checking time. If anyone else asks for help :) Without the 04-Casters "For at most" it would trigger the Macro twice.

I'm still not entirely sure how the logic above works tbh with you; even reading you explanation like 10 times hehe. But if it works it works!

I'll download the new version and try it out.

Also, I'm not sure this is the updates fault; but I've never had a crash like this before. It happened while switching back and forth testing Adv-ss;
(Links to the text in OBS Discord Support Channel, I assume you're in there)

Thanks for your time helping me figure this stuff out.
 
Top