Advanced Scene Switcher

Advanced Scene Switcher 1.32.2

beesarr

New Member
I am very sorry about that!
I will try to look into it as soon as I can (which probably will only be tomorrow, unfortunately).

Which version of the advanced scene switcher are you using?
Which OS are you using?

I thought I had tested the latest advanced scene switcher release with the OBS 32 beta releases and it was working fine.
I will make sure to verify that again tomorrow.
If you haven't done so already it might be worth a shot simply installing the most recent release once again.

Pinging @Daniel-House-1242 since he reported the same problem.
Having this same issue!

On Windows 11

Using Advanced Scene Switcher 1.31.0

OBS Version 32.0.01

Plugin no longer works, and brings up the prompt, "The plugin installation seems to be corrupted and might crash! Please make sure the plugin was installed correctly!". Was working fine before updating my OBS about a couple weeks ago. Thank you in advance for the help!
 

Warmuptill

Active Member
Having this same issue!

On Windows 11

Using Advanced Scene Switcher 1.31.0

OBS Version 32.0.01

Plugin no longer works, and brings up the prompt, "The plugin installation seems to be corrupted and might crash! Please make sure the plugin was installed correctly!". Was working fine before updating my OBS about a couple weeks ago. Thank you in advance for the help!
Just to avoid a misunderstanding: You seem to facing a different kind of issue.
The original problem was indeed an outdated installation of the plugin being used, which was very old and thus not compatible with OBS 32.
At least the last 5 releases or so are all compatible with OBS 32.

The problem on your end seems to be a partial / corrupted installation of the plugin.
The plugin tries to create the default macro condition and action and fails to do so and thus you see this message.

Did you manually install the plugin or use the installer?
Or you using OBS in "portable" mode?
Did you ever manually move your OBS installation to a different folder?

You can find more information about how to install the plugin manually without the installer here:
 

zagorskey

New Member
I will try to look into it.

What do your macros look like?
Maybe I can think of a workaround.


That should be doable using a macro like this:
View attachment 115862
You will of course have to adapt the channel name, the "!MyChatTrigger", and scene accordingly.
Hi again,
I can see that Exeldro has now updated the Aitum Vertical plugin to 1.6.1 with:
- Add option for other plugins to get and switch scene

Could you please look into this so that our vertical scenes/sources based on the new OBS canvas system could be used again in our Advanced Scene Switcher macros?

99% of my macros are currently based on Scene Item visibility leading to a chain reaction once a vertical source is shown.
 

Warmuptill

Active Member
Hi again,
I can see that Exeldro has now updated the Aitum Vertical plugin to 1.6.1 with:
- Add option for other plugins to get and switch scene

Could you please look into this so that our vertical scenes/sources based on the new OBS canvas system could be used again in our Advanced Scene Switcher macros?

99% of my macros are currently based on Scene Item visibility leading to a chain reaction once a vertical source is shown.
You can find a first release which supports getting sources from other canvas' such as the Aitum Vertical plugin here on GitHub:
You will have t be logged into GitHub to be able to download it at the bottom of the page.
If that should be problem, let me know, and I will try to share the build some other way.

1760809026824.png


Let me know if you face any issues in that test build.
 

VOXBUENOGAMING

New Member
Hello! So I had updated both OBS and Advanced Scene Switcher to the latest versions, but Adv Scene Switcher is not showing up underneath the TOOLS tab. I've tried uninstalling and reinstalling multiple times to no avail, and would just like some insight about the problem with a possible fix. Has this problem come up before?
 

Warmuptill

Active Member
Hello! So I had updated both OBS and Advanced Scene Switcher to the latest versions, but Adv Scene Switcher is not showing up underneath the TOOLS tab. I've tried uninstalling and reinstalling multiple times to no avail, and would just like some insight about the problem with a possible fix. Has this problem come up before?
The most likely scenario is that at some point you have manually moved the location of your OBS installation.
In that case the installer is assuming OBS is at a different location on your filesystem compared to where it actually is and puts the files in the wrong location.

You can work around this problem by manually installing the plugin using the contents of the zip archive.
 

VOXBUENOGAMING

New Member
The most likely scenario is that at some point you have manually moved the location of your OBS installation.
In that case the installer is assuming OBS is at a different location on your filesystem compared to where it actually is and puts the files in the wrong location.

You can work around this problem by manually installing the plugin using the contents of the zip archive.
I went and installed OBS and all under the C Drive, and things were recognized instantly. Thank you so much!
 

Warmuptill

Active Member
I have released a beta version of the upcoming update for the Advanced Scene Switcher plugin on GitHub:
If anyone is willing to give it a try short feedback, if everything works as expected would be much appreciated!
This is especially true for the MacOS variant, as currently I don't have a way to test it.

Here is a change list (more details, including screenshots of some of the changes are on the GitHub release page):

Important notes:​

  • The minimum supported OBS version is OBS 31.1.1.
  • Please make sure to back up your settings!
  • If you run into any issues, please either post in the OBS forums or create an issue on GitHub!

Additions:​

  • Added the option to set Twitch stream tags.
  • Added the option to set content classification labels of a Twitch stream.
  • Added the option to change the language of a Twitch stream.
  • Added support for commercial start event in the Twitch condition.
  • Added the option to enable, disable, and toggle macro highlighting to the "Macro" action.
  • Added the option to check if a macro's actions were recently performed.
    This is intended to be used as another possibility to reduce the frequency the actions of a given macro are executed.
  • Added the option to en-, disable, and toggle the OBS preview.
  • Improved the "File" condition type:
    • Added support for file existence check.
    • Added support for "is file" check.
    • Added support for "is folder" check.
    • Added more macro properties.
  • Added the option to select "Any" in applicable scene item selections.
    This should enable some users to simplify their macros.
  • Added the option to group macro docks into a single dock window.
    You can find more information here: https://github.com/WarmUpTill/SceneSwitcher/wiki/Macro-docks
  • Added "canvas" selection support to various scene item actions and conditions.
    The option to select the canvas will be visible if more than one canvas is available, for example, when the Aitum Vertical plugin is installed.
  • Added the option to check the current scene of the "Aitum Vertical" plugin to the "Scene" condition.
  • Improved the "Switch scene" action:
    • Added the option to switch to the next and previous scenes in the scenes list.
    • Added the option to switch to the scene at a given index of the scenes list.
    • Added support to switch the current scene of the "Aitum Vertical" plugin.
  • Added the option to automatically start the plugin on a given scene as was previously possible with the removed "Scene Trigger" tab.

Other changes:​

  • A warning will now be displayed if an invalid script file is detected in the "Script" macro segments.
  • Added the option to disable the shutdown confirmation dialog.
  • Slightly improved visibility of highlighted macro segments in light themes when selecting macro properties.
  • Keep current transform setting selection when switching sources in the "Scene item transform" action and condition.
  • Added macro property to the "Media" condition indicating which source matched the given parameters.
  • Updated zh-CN locale (Tiefsee5037008).
  • Always enable selecting the location at which to install the plugin when running the Windows installer, even if the plugin is already installed.
  • Certain dependencies have been marked as optional in the generated deb package for Linux.
  • Minor UI cleanup.

Fixes:​

  • Fixed multi-action stream deck buttons not triggering macros correctly.
  • Fixed that the connection to the Twitch event server was lost when an invalid channel is selected.
  • Fixed Twitch event server connection not being able to reconnect.
  • Fixed queued nested macros duplicating their conditions and actions.
  • Fixed certain drop down menus cutting off a few characters of the displayed text.
  • Fixed macro property selections of nested macros not being saved.
  • Fixed a potential freeze when closing OBS.
 

NudelForce

New Member
Hi, sorry if this has been asked before, but what I found about "python" in this discussion did not fit my question.
I have set up the plugin and it is working. Before I sent a hotkey as a trigger action. But now I wanted to execute a python script when I switch scenes. However the script does not seem to get executed.
How can I get the log the python script spits out?

This is my code:

Python:
from pythonosc.tcp_client import SimpleTCPClient

def main():

    ip = "192.168.178.27"
    port = 16284
    preset_id = 0

    client = SimpleTCPClient(ip, port)
    client.send_message("/OBSBOT/WebCam/Tiny/TriggerPreset", [0, preset_id])
    print(f"Sent OSC message to /OBSBOT/WebCam/Tiny/TriggerPreset with preset_id={preset_id}")

if __name__ == "__main__":
    main()

I want to send the command to my OBSBOT camera to set it to a preset. When I execute the script in VS Code it works.
 

beesarr

New Member
Just to avoid a misunderstanding: You seem to facing a different kind of issue.
The original problem was indeed an outdated installation of the plugin being used, which was very old and thus not compatible with OBS 32.
At least the last 5 releases or so are all compatible with OBS 32.

The problem on your end seems to be a partial / corrupted installation of the plugin.
The plugin tries to create the default macro condition and action and fails to do so and thus you see this message.

Did you manually install the plugin or use the installer?
Or you using OBS in "portable" mode?
Did you ever manually move your OBS installation to a different folder?

You can find more information about how to install the plugin manually without the installer here:
Thank you for the reply!

I had tried to reinstall the program before to see if that was the issue, but since I did a manual install, it probably didn't install properly. After following your guide I was able to reinstall the plugin properly this time!

Before updating my OBS to OBS 32, I had no issue with the plugin, but after, it had stopped working. After reinstalling and seeing the plugin was now working properly but not running my macros, I checked my plugin settings and realized half of my macros had been reset. More specifically, the part of every macro after the "If this, then this.." the "..then this" part was reset to be blank. It got reset with the update I assume, but I was able to set it back up and get it working! So for anyone having this particular problem, I suggest checking if you're having the same issue and following my steps! A bit confusing, but I'm glad to be back to being able to use the plugin!!
 

Garryk

New Member
Hello!

For some reason, the issue still persists occasionally, and reward events from Twitch sometimes don't arrive. I'm attaching the relevant logs.

Thank you!
 

Attachments

  • no_reward_2.txt
    300.6 KB · Views: 11
  • no_reward_1.txt
    48.9 KB · Views: 8

Warmuptill

Active Member
Hi, sorry if this has been asked before, but what I found about "python" in this discussion did not fit my question.
I have set up the plugin and it is working. Before I sent a hotkey as a trigger action. But now I wanted to execute a python script when I switch scenes. However the script does not seem to get executed.
How can I get the log the python script spits out?

This is my code:

Python:
from pythonosc.tcp_client import SimpleTCPClient

def main():

    ip = "192.168.178.27"
    port = 16284
    preset_id = 0

    client = SimpleTCPClient(ip, port)
    client.send_message("/OBSBOT/WebCam/Tiny/TriggerPreset", [0, preset_id])
    print(f"Sent OSC message to /OBSBOT/WebCam/Tiny/TriggerPreset with preset_id={preset_id}")

if __name__ == "__main__":
    main()

I want to send the command to my OBSBOT camera to set it to a preset. When I execute the script in VS Code it works.
Can you share a screenshot how you have set up your macro to execute the python script?

The most likely problems, if you are using the "Run" action are:
  • A relative path is used and thus the file cannot be found.
  • The script path is not passed correctly to the python executable.
If you are using the "Script" action it should be as simple as just pasting the code from your "main" function into the "run" function, and adding the required imports.
Should look something like this:
1761062644457.png


Thank you for the reply!

I had tried to reinstall the program before to see if that was the issue, but since I did a manual install, it probably didn't install properly. After following your guide I was able to reinstall the plugin properly this time!

Before updating my OBS to OBS 32, I had no issue with the plugin, but after, it had stopped working. After reinstalling and seeing the plugin was now working properly but not running my macros, I checked my plugin settings and realized half of my macros had been reset. More specifically, the part of every macro after the "If this, then this.." the "..then this" part was reset to be blank. It got reset with the update I assume, but I was able to set it back up and get it working! So for anyone having this particular problem, I suggest checking if you're having the same issue and following my steps! A bit confusing, but I'm glad to be back to being able to use the plugin!!
Thanks for the update!

I assume this might have been caused by the plugin running but not being fully initialised due to the broken install.
It only kept the part of the settings it was able to "understand" and discarded the rest.

I added code to still keep the settings even it doesn't understand them at the moment with the recent beta release.
So hopefully those types of issues will resolves themselves in the future once the broken installation is fixed again.
Hello!

For some reason, the issue still persists occasionally, and reward events from Twitch sometimes don't arrive. I'm attaching the relevant logs.

Thank you!
Thanks and sorry! I will look into it!
Did it only happen yesterday or on other days as well?
(Background: Just want to make sure it is not simply a side effect of the AWS outage)
 

Garryk

New Member
Can you share a screenshot how you have set up your macro to execute the python script?

The most likely problems, if you are using the "Run" action are:
  • A relative path is used and thus the file cannot be found.
  • The script path is not passed correctly to the python executable.
If you are using the "Script" action it should be as simple as just pasting the code from your "main" function into the "run" function, and adding the required imports.
Should look something like this:
View attachment 116208


Thanks for the update!

I assume this might have been caused by the plugin running but not being fully initialised due to the broken install.
It only kept the part of the settings it was able to "understand" and discarded the rest.

I added code to still keep the settings even it doesn't understand them at the moment with the recent beta release.
So hopefully those types of issues will resolves themselves in the future once the broken installation is fixed again.

Thanks and sorry! I will look into it!
Did it only happen yesterday or on other days as well?
(Background: Just want to make sure it is not simply a side effect of the AWS outage)
This has happened very rarely since your last update. But yesterday, it happened almost every time I received events from Twitch.
 

JayLIve

New Member
Hi, I'm trying to figure out how to automate something. I have a scene, and I would like to send a JSON code to a device at a specific point. I have the Advanced Scene Switcher installed, and have the below setup. If I past that https code into a web browser it works perfect, however when I start "scene" and wait 5 secconds, it doesn't seem to trigger. I am very new to programing so I'm assuming I'm doing something wrong. how can I get this to work?

1761080791055.png
 

Attachments

  • 1761080181011.png
    1761080181011.png
    17.9 KB · Views: 11
Last edited:

Warmuptill

Active Member
Hi, I'm trying to figure out how to automate something. I have a scene, and I would like to send a JSON code to a device at a specific point. I have the Advanced Scene Switcher installed, and have the below setup. If I past that https code into a web browser it works perfect, however when I start "scene" and wait 5 secconds, it doesn't seem to trigger. I am very new to programing so I'm assuming I'm doing something wrong. how can I get this to work?

View attachment 116221
You will have to split the URL and the query parameter like this:

1761122504157.png


I will see if I can implement some sort of automation for that step to make it more user friendly.
 

NudelForce

New Member
Can you share a screenshot how you have set up your macro to execute the python script?

The most likely problems, if you are using the "Run" action are:
  • A relative path is used and thus the file cannot be found.
  • The script path is not passed correctly to the python executable.
If you are using the "Script" action it should be as simple as just pasting the code from your "main" function into the "run" function, and adding the required imports.
Should look something like this:
View attachment 116208
Thanks for your reply
I used an absolute path, so that shouldn't be the issue.
1761206892013.png

I changed it to an inline script, like in your screenshot: (note: I switched the IP settings but that stillt works executing from vs code)
Python:
import obspython as obs
from pythonosc.tcp_client import SimpleTCPClient

def run():
  ip = "127.0.0.1"
  port = 16284
  preset_id = 0

  client = SimpleTCPClient(ip, port)
  client.send_message("/OBSBOT/WebCam/Tiny/TriggerPreset", [0, preset_id])
  print(f"Sent OSC message to /OBSBOT/WebCam/Tiny/TriggerPreset with preset_id={preset_id}")

Unfortunately that still doesn't work from OBS.
I know the condition is triggered because I put a System Tray message in the execution part just before the python part which shows up.
Also, this def run() and import obspython as obs I didn't know of. Where is the documentation for that?
 

Warmuptill

Active Member
Thanks for your reply
I used an absolute path, so that shouldn't be the issue.View attachment 116234
I changed it to an inline script, like in your screenshot: (note: I switched the IP settings but that stillt works executing from vs code)
Python:
import obspython as obs
from pythonosc.tcp_client import SimpleTCPClient

def run():
  ip = "127.0.0.1"
  port = 16284
  preset_id = 0

  client = SimpleTCPClient(ip, port)
  client.send_message("/OBSBOT/WebCam/Tiny/TriggerPreset", [0, preset_id])
  print(f"Sent OSC message to /OBSBOT/WebCam/Tiny/TriggerPreset with preset_id={preset_id}")

Unfortunately that still doesn't work from OBS.
I know the condition is triggered because I put a System Tray message in the execution part just before the python part which shows up.
Also, this def run() and import obspython as obs I didn't know of. Where is the documentation for that?
I assume the auto generated wrapper code enabling the communication with the advanced scene switcher is missing in your script file.
(A warning will be printed if that is detected in the recent beta release)

You can find documentation regarding this specific issue and scripting in general here in the wiki:
 
Top