Advanced Scene Switcher

Advanced Scene Switcher 1.36.1

There is no crash log available and I cannot get into the setting on the plug in as it crashes as soon as I try to load OBS with the plug in activated. I can only open OBS in safe mode if Advanced Scene Switcher is active.

I really don't want to have to do a complete clean install of OBS and the plug in as I have quite a bit set up in my scenes that would require a few hours to put it all back together again.
 
There is no crash log available and I cannot get into the setting on the plug in as it crashes as soon as I try to load OBS with the plug in activated. I can only open OBS in safe mode if Advanced Scene Switcher is active.

I really don't want to have to do a complete clean install of OBS and the plug in as I have quite a bit set up in my scenes that would require a few hours to put it all back together again.
Can you share your scene collection json file?

You can usually find it here:
C:\Users\<your username here>\AppData\Roaming\obs-studio\basic\scenes

Maybe the plugins settings are somehow corrupted and are causing the issue.

If you are familiar with json files / syntax you can try to remove the "advanced-scene-switcher" block from the file.
(But always keep a backup of the original file just in case).
 
This is the only scene JSON available besides the back up. I am not a fan of modifying files unless I am 100% sure what I am doing.

I added the .txt to the end of the file to allow it to be uploaded.
 

Attachments

This is the only scene JSON available besides the back up. I am not a fan of modifying files unless I am 100% sure what I am doing.

I added the .txt to the end of the file to allow it to be uploaded.
Thanks for sharing your settings!
I think I have spotted the problematic macro:

1788453958639.png


The "Show Image" macro will cause an endless loop:

If the source "Subscribe" in your case - or "Color" in my adapted macro - becomes active - which happens on OBS startup - it will execute a random macro from a list of macros.
That list of random macros only contains a single macro - the "Show Image" macro itself.
Thus it executes the "Show Image" macro.
This in turn then again picks a random macro to execute, of which there is only a single possible selection, ... and so on.

Usually you should be greeted by this popup in case such a freeze was detected:

1788454168845.png


If you choose to not start the plugin, you should be able to open the settings dialog and disable the problematic macro.

In case that is not an option for you, I have attached the "cleaned up" version of your scene collection file, in which the "Show Image" macro was removed.

Hope that helps!
 

Attachments

Last edited:
Thank you. That fixed it. The subscribe macro was created through AI (and I guess I learned not to trust it). What I was trying to do was create a scene that would flash a "Subscribe" image onto the screen for about 20 seconds on a random time period of at least 5 minutes between each occurance and it must stay on screen if the scene shifts while it is on screen. If all that makes sense. I was told to create a scene with the image and then build the macro and I was doing that when the whole thing came down on me.

So I am not sure if it is (a) possible and (b) if using the plug in is the correct way to go about it.
 
Thank you. That fixed it. The subscribe macro was created through AI (and I guess I learned not to trust it). What I was trying to do was create a scene that would flash a "Subscribe" image onto the screen for about 20 seconds on a random time period of at least 5 minutes between each occurance and it must stay on screen if the scene shifts while it is on screen. If all that makes sense. I was told to create a scene with the image and then build the macro and I was doing that when the whole thing came down on me.

So I am not sure if it is (a) possible and (b) if using the plug in is the correct way to go about it.
That is good to hear!

I would suggest to set it up like this:
1788459776353.png


The tricky part will be the "it must stay on screen if the scene shifts while it is on screen".
I think what you are looking for here is this plugin:

If you choose to go the "downstream-keyer" route you probably have to use the "Hotkey" action instead of "Scene item visibility" to show / hide the source.
The "Hotkey" action type will allow you to interact with the hotkey functions offered by other plugins.
(The hotkeys themselves don't need to be bound to any key)
 
I hope, it hasn't been answered the last 250 pages before, so I have accidentally overseen it.

As we're working with a Skaarhoj Panel, which is firing up the "Makros" via websocket, I'm trying to do this:

- first press uf button "Makro1" brings a scene to program with a different transition
- now the e.g. SloMo plays it contents
- next press on the button "Makro1" switches to another camera (unfortunately there is no preview to select)

I tried with variables, but then the transitions toggles directly for and back ;)

set a variable "skript1v" to 0 -> if variable is 0 then switch to scene, set variable to 1 -> and here is the next IF missing.

Any hint, how to solve this "thing"?

Thanks in advance
 
I hope, it hasn't been answered the last 250 pages before, so I have accidentally overseen it.

As we're working with a Skaarhoj Panel, which is firing up the "Makros" via websocket, I'm trying to do this:

- first press uf button "Makro1" brings a scene to program with a different transition
- now the e.g. SloMo plays it contents
- next press on the button "Makro1" switches to another camera (unfortunately there is no preview to select)

I tried with variables, but then the transitions toggles directly for and back ;)

set a variable "skript1v" to 0 -> if variable is 0 then switch to scene, set variable to 1 -> and here is the next IF missing.

Any hint, how to solve this "thing"?

Thanks in advance
Hopefully I understood the problem correctly:
You want the same trigger to cause different effects based on what "state" you are currently in.
In the initial state it should trigger a scene switch to, let's say 'Scene A'.
In the next state it should instead switch to 'Scene B'.
And so on.

There are multiple ways to achieve this.
You could use variables or you could simply "un-/pause" macros as needed.

Your macro setup could look something like this:

1788719795534.png

1788720000785.png

... and so on ...

You might also want to create a macro which sets the initial state when the plugin is started, which might look something like this:

1788719941053.png


I hope that helps!
 
Hopefully I understood the problem correctly:
You want the same trigger to cause different effects based on what "state" you are currently in.
In the initial state it should trigger a scene switch to, let's say 'Scene A'.
In the next state it should instead switch to 'Scene B'.
And so on.

There are multiple ways to achieve this.
You could use variables or you could simply "un-/pause" macros as needed.

Your macro setup could look something like this:

View attachment 121136
View attachment 121139
... and so on ...

You might also want to create a macro which sets the initial state when the plugin is started, which might look something like this:

View attachment 121138

I hope that helps!
Thanks :) I'll give it a try :) Reply will take some days, as I´m out on production till Friday
 
Found an interesting issue today while trying to use the Run action with a python script. Using `os.getenv` to retrieve environment variables does not work, but works just fine running from my terminal. Is there some different context that the Run action uses that strips away user environment variables?
 
Found an interesting issue today while trying to use the Run action with a python script. Using `os.getenv` to retrieve environment variables does not work, but works just fine running from my terminal. Is there some different context that the Run action uses that strips away user environment variables?
Which OS are you experiencing this issue on?
Is the whole environment cleared or just a few variables?

I just gave it a quick try on Windows with this macro / script combination and it produced the expected output:

1788901330906.png


Python:
import os


with open("C:/Users/Admin/Downloads/tmp/out.txt", "w") as f:
    for key in sorted(os.environ):
        env_str = f"{key}={os.environ[key]}\n"
        f.write(env_str)

Just a guess:
Could it be that the terminal process and OBS process already have a different set of environment variables and thus the spawned child processes' environment differs as well?
(For example, the terminal might parse some terminal specific file(s), like .bashrc, but an application launched from a GUI / desktop launcher might not)
 
Back
Top