Advanced Scene Switcher

Advanced Scene Switcher 1.28.1

Warmuptill

Active Member
I downloaded Advanced Scene Switcher a few days ago and tried to do image recognition in OBS. After some research, it seems that image recognition can be done by changing the “Source” to “Video” in the following picture, but I can't find the “Video” button.
View attachment 104542
help. My video option has disappeared as well.
I have just released a new version which does include the necessary binaries once again.
However, it might still be necessary that you install the latest release of the the Microsoft Visual C++ Redistributable, which can be found here.

I do see something in the logs. It just says: Failed to bind token server to localhost 8080! I'm not sure what else to look out for to solve the issue.

The whole log file seems too long to post on here so I'll just provide the link.

That either means that you have some sort of firewall in place which prevents binding to that port or something is already using that port.
You might be able to find out which process is using this port by running netstat -a -b.

If you can't figure out what the issue is we can also try to modify your settings file and manually enter the token there.
Feel free to contact me directly in this case (just to avoid accidentally leaking your token here).
 

Klayy

New Member
I have just released a new version which does include the necessary binaries once again.
However, it might still be necessary that you install the latest release of the the Microsoft Visual C++ Redistributable, which can be found here.


That either means that you have some sort of firewall in place which prevents binding to that port or something is already using that port.
You might be able to find out which process is using this port by running netstat -a -b.

If you can't figure out what the issue is we can also try to modify your settings file and manually enter the token there.
Feel free to contact me directly in this case (just to avoid accidentally leaking your token here).
I figured it out. Thank you for the showing me how to find the process. I found that "AgentServices.exe" was taking up that port and I ended the process in Task Manager. My account is now connected and I've learned a new CMD command.

Thank you so much :)
 

PNO

New Member
Hi. Attempting to upgrade to 1.26.4, I'm presented with this dialog. Have never seen such a message before.

Occurring on multiple instances when loading this version.

Reverted back to 1.26.3 for the moment.

Let me know what other information you need to assist.

Thank you!

1718186430183.png
 

PNO

New Member
Hi. Attempting to upgrade to 1.26.4, I'm presented with this dialog. Have never seen such a message before.

Occurring on multiple instances when loading this version.

Reverted back to 1.26.3 for the moment.

Let me know what other information you need to assist.

Thank you!

View attachment 104572
Disregard. Saw your message regarding needing updated visual C++
 

ProgramDeez

New Member

Display Image File Name from Image Slideshow - Possible in Advanced Scene Switcher?


Trying to find a way to display the file name of the image that is currently being shown from within an 'Image Slideshow' source. The idea would be that as the image changes in the slideshow, the file name would change to that of the new image also.

Hoping to get this to work for an image slideshow that is pulling from a directory, rather than a static list of images entered into the 'Image Files' field, which I believe complicates obtaining the file name of the current image being displayed.

Not sure if it is possible, but was curious if there is a way for Advance Scene Switcher to perform this type of function. If so, I would greatly appreciate any insight as to how to best go about implementing this. Thanks for any help in advance!
 

Harambethegrey

New Member
Good evening guys, hope everyone is doing well!

I just installed Advanced Scene Switcher and it's working fine, however I can't seem to figure out the following:

I am streaming League of Legends, which consists of 2 windows: League Client and League Client (Ingame).

My idea was to do a scene transition automatically like this:

League Client Closes -> proceed on Scene Transition -> Open League Client (Ingame).

I managed to achieve this in the macro section, but I don't know how to make it automatic, cause right now I have to press a button in order to start it.

Any help is appreciated!
 

Warmuptill

Active Member

Display Image File Name from Image Slideshow - Possible in Advanced Scene Switcher?


Trying to find a way to display the file name of the image that is currently being shown from within an 'Image Slideshow' source. The idea would be that as the image changes in the slideshow, the file name would change to that of the new image also.

Hoping to get this to work for an image slideshow that is pulling from a directory, rather than a static list of images entered into the 'Image Files' field, which I believe complicates obtaining the file name of the current image being displayed.

Not sure if it is possible, but was curious if there is a way for Advance Scene Switcher to perform this type of function. If so, I would greatly appreciate any insight as to how to best go about implementing this. Thanks for any help in advance!
While this should already be possible with the current version by using the "Slide Show" condition type it should be a lot easier in the following test build:
It adds the option to directly query the file name of an image slide show and adds support for the "slideshow_v2" source type.
Unfortunately, you will have to be logged into GitHub to be able to download this build.
Let me know if that should be a problem for you.

When you are using this build you should be able to achieve what you are looking for by setting up a macro similar to this example:
1718402785132.png

It boils down to "if the currently displayed slide of the source "Image Slide Show" changed assign the file name of the file being displayed to the variable "Slide Show File" and set the "Text" settings value of the "Text(GDI+)" source to the value of that variable".

Let me know if you run into any issues with that build or if you have any questions!
Hope this helped! :)

Good evening guys, hope everyone is doing well!

I just installed Advanced Scene Switcher and it's working fine, however I can't seem to figure out the following:

I am streaming League of Legends, which consists of 2 windows: League Client and League Client (Ingame).

My idea was to do a scene transition automatically like this:

League Client Closes -> proceed on Scene Transition -> Open League Client (Ingame).

I managed to achieve this in the macro section, but I don't know how to make it automatic, cause right now I have to press a button in order to start it.

Any help is appreciated!
If you want to automate the detection of the "League Client Closes" scenario I would recommend to use either the "Process" or the "Window" condition type.
 
Last edited:
OBS is not generating a crash log, but I have been wotking on a long macro, and I start/stop adv-ss from time to time when I notice errors I need to fix. Lately after 3-4 stops, it'll hang/freeze (keeps playing, but only whatever was happening at the time of the freeze, just saying its not like a "pause" freeze, but an "animated" freeze, no buttons work but things continue playing, except audio, hope that makes sense) OBS but not technically crash, but it never recovers and you have to kill OBS with Task Manager.
 

ProgramDeez

New Member
While this should already be possible with the current version by using the "Slide Show" condition type it should be a lot easier in the following test build:
It adds the option to directly query the file name of an image slide show and adds support for the "slideshow_v2" source type.
Unfortunately, you will have to be logged into GitHub to be able to download this build.
Let me know if that should be a problem for you.

When you are using this build you should be able to achieve what you are looking for by setting up a macro similar to this example:
View attachment 104608
It boils down to "if the currently displayed slide of the source "Image Slide Show" changed assign the file name of the file being displayed to the variable "Slide Show File" and set the "Text" settings value of the "Text(GDI+)" source to the value of that variable".

Let me know if you run into any issues with that build or if you have any questions!
Hope this helped! :)


If you want to automate the detection of the "League Client Closes" scenario I would recommend to use either the "Process" or the "Window" condition type.
Responded on GitHub, but wanted to respond here as well for completeness also. Please feel free to respond to whichever you prefer, no need to keep both going.

"Thanks so much for your reply! Incredibly helpful! I mostly have been able to replicate your example, however am running into an issue when it comes to selecting for the 'Action Type' in the 'Variable' section. Under 'Variable' > 'Set to macro property' > 'Slide Show File' > '--sele...' I am unable to access any action types in the dropdown or being able to write anything in this field.

I did try to implement the build you shared, but I am unsure that I properly integrated, as it seems like this may be the cause of the issue. Please let me know if that is the case or if you believe there is another way I could go about resolving. Appreciate the assistance again!

My replicated example below for reference:"
 

Attachments

  • OBSIssue.PNG
    OBSIssue.PNG
    31.9 KB · Views: 17

Warmuptill

Active Member
OBS is not generating a crash log, but I have been wotking on a long macro, and I start/stop adv-ss from time to time when I notice errors I need to fix. Lately after 3-4 stops, it'll hang/freeze (keeps playing, but only whatever was happening at the time of the freeze, just saying its not like a "pause" freeze, but an "animated" freeze, no buttons work but things continue playing, except audio, hope that makes sense) OBS but not technically crash, but it never recovers and you have to kill OBS with Task Manager.
Thanks for reporting the issue!
Can you export your settings to a file and share them with me?
Then I will try to replicate the setting on my side.
 
I have like 10 things I need to make duck audio on multiple sources, thats really involved with filters, it seems, I was wondering id theres an easier way to make like 3 sources duck if anything in sceneN plays?

sorry for my spelling, I caught the betes, and its taking my vision lately, need to see an eye doc.
 

rez1coder

New Member
Two consecutive hotkeys aren't running correctly. I'm on Windows 10 using Ashmanix Countdown Timer.

My macro:

If streaming is running and current scene is Starting Soon
hotkeys - frontend - Set the timer
hotkeys - frontend - Start the timer

I could make a workaround, but doesn't work if I'm on the "Starting Soon" scene.

If streaming is running and not current scene is Starting Soon,
hotkeys - frontend - Set the timer
Switch scene to Starting Soon
hotkeys - frontend - Start the timer

I tried with another (unchecked) macro between the hotkeys: if not current scene is Starting Soon, switch scene to Starting Soon. Still breaks.
 

rez1coder

New Member
Two consecutive hotkeys aren't running correctly.

If streaming is running and current scene is Starting Soon
hotkeys - frontend - Set the timer
hotkeys - frontend - Start the timer
In this case, the two hotkeys are of same plugin. They are being pressed simultaneously. Rather, expected behavior is execute one key, then execute another. Not at the same time.

An option like "Wait until this hotkey is pressed" would solve the problem.
 

Warmuptill

Active Member
Two consecutive hotkeys aren't running correctly. I'm on Windows 10 using Ashmanix Countdown Timer.

My macro:

If streaming is running and current scene is Starting Soon
hotkeys - frontend - Set the timer
hotkeys - frontend - Start the timer

I could make a workaround, but doesn't work if I'm on the "Starting Soon" scene.

If streaming is running and not current scene is Starting Soon,
hotkeys - frontend - Set the timer
Switch scene to Starting Soon
hotkeys - frontend - Start the timer

I tried with another (unchecked) macro between the hotkeys: if not current scene is Starting Soon, switch scene to Starting Soon. Still breaks.
In this case, the two hotkeys are of same plugin. They are being pressed simultaneously. Rather, expected behavior is execute one key, then execute another. Not at the same time.

An option like "Wait until this hotkey is pressed" would solve the problem.

Can you elaborate on what exactly breaks? (Unfortunately I am not familiar with the Timer plugin you mentioned)
Have you considered adding a "Wait" action between the two hotkey presses?
1718554640883.png


I don't think implementing a "wait until hotkey is pressed" option is feasible, if I am understanding what you are trying to do correctly.
(I assume you mean something like "wait until the actions to be performed by the hotkey press are completed")
This would require the plugin to interpret what each OBS hotkey is intended to do and then check if that process is completed.
 

AaronD

Active Member
In this case, the two hotkeys are of same plugin. They are being pressed simultaneously. Rather, expected behavior is execute one key, then execute another. Not at the same time.

An option like "Wait until this hotkey is pressed" would solve the problem.
Adding to what Warmuptill said, emulated hotkeys are not even pressed and released (2 events) like you'd imagine from a physical keyboard. They're each a single event, at a single instant in time. With no Wait in between, and with no way to know what the effect is and when it's done or not, consecutive hotkeys *are* effectively simultaneous, along with the first non-hotkey action that follows.
 

rez1coder

New Member
Can you elaborate on what exactly breaks? (Unfortunately I am not familiar with the Timer plugin you mentioned)
Two hotkeys of same plugin pressed at the same time, does nothing. It's like pause + start at the same time. Timer plugin does nothing.
Have you considered adding a "Wait" action between the two hotkey presses?
Whoa, this solved my problem.
(I assume you mean something like "wait until the actions to be performed by the hotkey press are completed")
Correct
This would require the plugin to interpret what each OBS hotkey is intended to do and then check if that process is completed.
Seems a lot of work. "Wait" function does the job right now.
 

Onioniyoni

New Member
I am brand new to advanced scene switcher. I have three scenes that I want to switch automatically to a timer when I’m streaming or recording.
—Every 7 minutes I want a “scene A” to switch to “scene B” and every 7 mins switch “scene B to “scene C.” Then have “scene C” switch back to “scene A” and repeat/loop until end of recording/stream—

How do I do this? I need picture instructions because I can not!
721DA947-7F26-4D97-88DD-994163D6A6E8.jpeg


8D5A6C10-D933-4774-95D0-BE46B9D78D3C.jpeg
 

AaronD

Active Member
I am brand new to advanced scene switcher. I have three scenes that I want to switch automatically to a timer when I’m streaming or recording.
—Every 7 minutes I want a “scene A” to switch to “scene B” and every 7 mins switch “scene B to “scene C.” Then have “scene C” switch back to “scene A” and repeat/loop until end of recording/stream—

How do I do this? I need picture instructions because I can not!
View attachment 104703

View attachment 104704
Use lots of macros! One for each step:
  • Step 1
    • Condition:
      • Scene _ for A seconds
    • Action:
      • Switch to Scene 1
  • Step 2
    • Condition:
      • Scene 1 for B seconds
    • Action:
      • Switch to Scene 2
  • Step 3
    • Condition:
      • Scene 2 for C seconds
    • Action:
      • Switch to Scene 3
  • ...
  • Step _
    • Condition:
      • Scene [_-1] for ? seconds
    • Action:
      • Switch to Scene _
Looping is easy, just by having the last one create the condition that the first one is looking for.
1718669108801.png

1718669124035.png

1718669142286.png

1718669149165.png

I didn't do *exactly* as you asked, so I could show you a better way still, of doing videos. Regardless of length, this video will transition right at the end, using the last 1/2-second for a 1/2-second transition.

And I made this one loop too, using the same method as the text version above.
 

AaronD

Active Member
I also like to set the scan interval as short as it goes. "Check conditions every" 50ms. Or if it goes faster now, do that. The difference is in the accuracy of the 1/2-second at the end of a video, as I've shown here, and it gives better responsiveness overall anyway. The tradeoff is slightly higher CPU usage, which I don't notice at all on my rig.

If you're using that setting to intentionally slow down some logic, that's generally not a good programming style...
 
Top