# Advanced Scene Switcher



## Warmuptill (May 19, 2016)

Warmuptill submitted a new resource:

Automatic Scene Switching - Switches to specified scenes depending on which window is in focus



> A remake of the "Simple Scene Switcher"(https://obsproject.com/forum/resources/simple-scene-switcher.29/) for obs-studio.
> 
> *Installation
> *
> ...



Read more about this resource...


----------



## Xaiw (May 20, 2016)

Is there any possible way you can make a youtube tutorial explaining how to make this work?


----------



## Warmuptill (May 20, 2016)

Which step do you have problems with and what do you want me to elaborate on further? (note that this plugin will only work for 64 bit versions of OBS on windows since that is the version the person i made the plugin for uses)


----------



## ZeroWalker (May 20, 2016)

Ah awesome:D

Is it possible to have something like.

(If Game (application?) is Fullscreen, go to this Scene).
(If in Desktop, go to this scene).

Thanks:)


----------



## Warmuptill (May 20, 2016)

"If in Desktop" could mean several things. If you mean actually interacting with the shortcuts on your desktop and moving them around and so on, then the name of this application window should be "Program Manager". So if you want to switch to a scene named "Desktop Scene" when you are interacting with your Desktop, you would add the following line in the settings.txt file:

Program Manager, Desktop Scene

If you mean by "If in Desktop", that the Game (application?) is just not in focus, then no that is not possible at the moment. But you could just add a line saying to switch to a scene whenever you switch your other applications.


----------



## ZeroWalker (May 20, 2016)

i meant, in desktop = "Not in fullscreen".
So it's fairly easy in that regard, but i don'ät know if it can be implemented.

Ah well, thing is i just have Games, and then Desktop.
So other application can be anything.

Would be nice if Game Capture (capture fullscreen auto thingy) could be used, like.
If Game Capture is active, use this scene, if not, use that scene.

Thanks for explaining:)


----------



## Warmuptill (May 20, 2016)

I think i could add option to switch to a backup scene if no lines in the settings.txt file match the name of the window that is in focus. That should do the trick for your case. Ill see if i get around to doing that this weekend. (should be quite simple to implement)


----------



## ZeroWalker (May 20, 2016)

Ah, well that might work, though was it possible to detect fullscreen games, without adding every single game?
Or was that not possible?

Thanks.


----------



## Warmuptill (May 21, 2016)

Warmuptill updated Automatic Scene Switching with a new update entry:

Fixed a bug related to the settings file, added fullscreen detection, added backup scene, hotkey



> I added the option to use a hotkey to disable the plugin from switching scenes. This hotkey can be set in the settings menu of OBS (settings -> hotkeys -> toggle automatic scene switching). This might become useful in combination with the backup scene which will be explained next.
> 
> I also added the option to switch to a certain scene when no window name in the settings file is currently in focus and the option to switch to a certain scene when the window that is focus is in fullscreen mode....



Read the rest of this update entry...


----------



## ZeroWalker (May 21, 2016)

Oh that was fast, will try it out later, much appreciated!!


----------



## ZeroWalker (May 22, 2016)

Tried it and it seems to work as expected:)!


----------



## Warmuptill (May 22, 2016)

That's good to hear! Thanks for you feedback and for testing it!


----------



## LittleSleeper (May 23, 2016)

This plugin is not working at all for me. I don't even get a greeting message when I launch OBS studio the first time after adding the plugin. Did a clean install of OBS and the plugin. Any idea what the problem might be?


----------



## Warmuptill (May 23, 2016)

Are you using the 64 bit version of OBS studio?(only works on windows) Are you sure you put the files in the right directory?


----------



## ltarcada (May 23, 2016)

Had the same problem. Copied the *SceneSwitcher.DLL* from *obs-studio/obs-plugins/64bit/* to *obs-studio/bin/64bit/* and it worked like a charm after that.


----------



## Wolfbane (May 24, 2016)

Installed plugin and each time after I start OBS Studio I get this error.
Anyone know how to fix it ?

http://prntscr.com/b7o6hl


----------



## esevenf (May 25, 2016)

First of all: thank you so much for developing this. I was missing this feature a lot.

Unfortunately it doesn't seem to work for me.

My log file says:
19:15:45.496: LoadLibrary failed for '../../obs-plugins/64bit/SceneSwitcher.dll', error: 126
19:15:45.496: Module '../../obs-plugins/64bit/SceneSwitcher.dll' not found

Full log file here: http://pastebin.com/0mnCXuXQ

SceneSwitcher.dll is in the right location ( http://i.imgur.com/BLtB5XK.png ) and I am using the 64bit version of OBS-Studio.

Any ideas?


----------



## Warmuptill (May 25, 2016)

Warmuptill updated Automatic Scene Switching with a new update entry:

Fixed problem highlighted by Wolfbane (thanks!)



> Resolved the issue saying that "msvcp140d.dll" was missing. If you want to keep your old settings make sure you dont overwrite your old settings.txt file.
> 
> Sorry to anyone affected by this problem. It could have been easily avoided if I payed more attention.



Read the rest of this update entry...


----------



## esevenf (May 25, 2016)

This update fixed my issue as well.


----------



## Warmuptill (May 25, 2016)

That's good to hear! Sorry again, it was caused by a really stupid mistake I made.


----------



## GodBlessMiracle (May 26, 2016)

I have the same problem that esevenf had, the update didn't fixed it. Installed everything at the good place, running 64bit version and still not working..

I get this in the log : 

05:03:40.908: LoadLibrary failed for '../../obs-plugins/64bit/SceneSwitcher.dll', error: 126
05:03:40.908: Module '../../obs-plugins/64bit/SceneSwitcher.dll' not found

Any ideas?


----------



## Genette (May 29, 2016)

Warmuptill said:


> If people are actually interested in this plugin, i might add a few more functionalities of the original plugin (support wildcards for example).


Yes, please! The scene-switcher (with wildcards) is literally the only thing holding me back from migrating over to OBS Studio and I'm sure I'm not the only one.

Thanks a bunch!


----------



## Warmuptill (May 30, 2016)

Warmuptill updated Automatic Scene Switching with a new update entry:

Added a 32bit version,  Support for regular expression added



> The plugin is now also usable with the 32bit version of obs. To install it just download the updated plugin and merge the "obs-plugins" folder with the one of your OBS installation.
> 
> I also added support for the use of regular expressions in the settings file.
> So if you would want to switch to a scene named GC, whenever the window that is currently in focus contains "Google Chrome" somewhere in its title you would add the following line to your settings.txt file:
> ...



Read the rest of this update entry...


----------



## Bootscreen (May 31, 2016)

nice, but is it possible to get a scene ignore option? so that when i am on my pause scene your plugin do nothing?


----------



## Warmuptill (May 31, 2016)

you could use the hotkey (you can set it in the options menu of OBS: "toggle automatic scene switching") to temporarily disable it when you are on your pause scene. But i have not implemented an option for a scene that will disable the plugin.


----------



## drmonocle (Jun 1, 2016)

I got the plugin working fine, however the example for league of legends does not seem to work for me. I have tried a few things and had no success. Could this be because I am running a borderless window in game?


----------



## Warmuptill (Jun 1, 2016)

The example for League of Legends is just made up. I never played LoL myself, so I just assumed that the LoL window name would be the one named in the example file. If google doesnt lie to me the window name of the game client should be "League of Legends (TM) Client" and the launcher thingy they use is "PVP.net Client". So you could change the lines in the settings.txt file to:

League of Legends (TM) Client,LoLGameScene
PVP.net Client,LoLLauncherScene

if the scenes you want to switch to are named "LoLGameScene" and "LoLLauncherScene".

Alternatively you could use wildcards (if you are sure the LoL game client contains "League of Legends" somewhere in its window name):

.*(League of Legends).*,LoLGameScene

Note that this will switch to the LoLGameScene whenever *any* window contains the "League of Legends" string in its window name, which might be undesirable (Even your browser could trigger the scene switch).

I dont think borderless window mode should make a difference. I tested it with Heroes of the Storm, just to make sure, and it worked.


----------



## Warmuptill (Jun 1, 2016)

Warmuptill updated Automatic Scene Switching with a new update entry:

Fixed a problem when using regular expressions and backup scene / fullscreen scene at once



> I fixed an issue where when using a backup scene or a fullscreen scene the regular expression scenes would be ignored. (If you dont use both at the same time you dont need to update the dll)
> 
> I also changed the example settings file to no longer include the non function League of Legends example to avoid confusion.



Read the rest of this update entry...


----------



## RobertHall (Jun 2, 2016)

Hello.

I can't get it to work and I don't understand what I am doing wrong.
Followed the instructions, tried using the exact window name and wildcards but it simply never switches to any window.
Using OBS studio 0.14.2 x64 on Windows 10
Trying to use this specifically for league of legends.

My lines in the settings.txt are the following

```
League of Legends (TM) Client,LeagueGame
PVP.net Client,LeagueClient
```

My scenes are called LeagueGame and LeagueClient

Am I alone on this?

UPDATE: I noticed that in the plugin page the description says I should be greeted by a popup when starting OBS but that never happenes, could OBS be failing to load the plugin?

UPDATE 2: indeeeeeeeed

```
18:45:06.267: LoadLibrary failed for '../../obs-plugins/64bit/SceneSwitcher.dll', error: 126
18:45:06.267: Module '../../obs-plugins/64bit/SceneSwitcher.dll' not found
```
*
The problem is not solved.*
The file is there but OBS fails to... find it?

UPDATE 3: Installing Visual C++ 2015 libraries fixed the problem.

Let's make this work guys, this plugin should be in OBS studio by default!


----------



## Warmuptill (Jun 2, 2016)

Try installing the Visual C++ Redistributable for Visual Studio 2015. That might be the reason it is not loading for you.


----------



## RobertHall (Jun 2, 2016)

That worked! Please add it in the plugin information :)


----------



## vapeahoy (Jun 3, 2016)

Is there any chance of getting a way to write to a file what scene "automatic scene switching" plugin has switched to?
Or rather/even, a way for obs to just dump to file what scene is displayed as it were.
I am just asking because of multiple pc setups, it would be great to hide/show layers, pending on what is on screen from game pc..


----------



## DeLico (Jun 8, 2016)

Want to add a setting to be able to turn off the first window (The following setting were fond for Scene Switcher: )
I hate starting of the OBS is paused.


----------



## cwbshaw (Jun 10, 2016)

Hi....

First of all, I'm a newbie to OBS, so chances are I'm doing something wrong.

Anyway, I started using OBS studio on Windows 10 a few days ago and decided today to try out the automatic scene switcher. 

It is installed correctly, the Visual C++ stuff is installed and when I start OBS studio (64 bit) I DO get the message saying which settings were found for the SceneSwitcher plugin. My initial settings.txt file was:

(.*)(VLC)(.*),FSApp
(.*)(Firefox)(.*),DesktopWebcamPIP
Backup Scene Name,WebcamFS

But my scenes never switch. I have looked in the log file and it definitely loads the .dll, but there is no logging information on what window titles it is matching or not matching.

I have tried changing settings.txt....I've removed wildcards and put full window titles, removed the backup scene, but it never switches a scene when VLC or Firefox are selected as the active window.

Is there anyway to get logging information to see what the plugin is seeing as window titles?

A bit lost at this point, I'm open to suggestions.

Thanks in advance.


----------



## cwbshaw (Jun 10, 2016)

Hi....

Never mind....I think I found the problem. It works fine if I disable 'Studio Mode' in OBS. I don't see any mention of this in the overview document, and it wasn't obvious to me, but I just decided to try it and presto.

cwbshaw.


----------



## Lun (Jun 11, 2016)

For all those having not found issue:


```
18:45:06.267: LoadLibrary failed for '../../obs-plugins/64bit/SceneSwitcher.dll', error: 126
18:45:06.267: Module '../../obs-plugins/64bit/SceneSwitcher.dll' not found
```

You are probably using Win10 and by default all DLL's downloaded from elsewhere are blocked by windows with no notifications.

Right click > properties on SceneSwitcher.dll and choose to unblock it.
OR execute 
	
	
    



```
gci -r "C:\Program Files (x86)\obs-studio\" | Unblock-File
```
 command from Windows PowerShell with administrator privileges.


----------



## Lun (Jun 11, 2016)

OBS Studio always crashes while loading SceneSwitcher.

Note: Visual C++ Redistributables for Visual Studio 2015 are installed

Crash dump http://pastebin.com/Vy3r44t2
OBS Studio log http://pastebin.com/vt1VuVS7

Solved: be aware of empty new line on end of settings.txt file.

Thanks to Warmuptill


----------



## Sw33tP34 (Jun 21, 2016)

Hello!
Great plugin.  Its working well except for one issue.  I don't know if it is my config, or obs studio, or the plugin.

When I set a hotkey to toggle ASS (tehe just noticed that) it refused to save.  All other hotkeys hold place.  When I exit the program and relaunch that hotkey is cleared.  I use pause if that is part of the issue.

OBS STUDIO x64
0.14.2
I have the libraries installed and am running as administrator.


----------



## Warmuptill (Jun 22, 2016)

Hi, 
just tested the hotkey binding myself. It is not your OBS/config, it is caused by the plugin. I will get around to fixing it tomorrow i think. Thanks for pointing this out!


----------



## Warmuptill (Jun 23, 2016)

Warmuptill updated Automatic Scene Switching with a new update entry:

Fixed hotkey binding issue, added option to disable the start message



> Hotkeys bindings should now be saved and loaded as soon as a new binding has been used at least once (cant currently use obs_hotkey_save in obs_module_unload).
> 
> 
> If you want to disable the start up message you can now add the following line to your settings.txt file:
> ...



Read the rest of this update entry...


----------



## AndyMcProducer (Jun 23, 2016)

Few Things I found which others might and think its not working.
If your in studio mode nothing will happen, if you have multiple window names which may change when different projects etc are loads then use the (.*)()(.*) which works perfect.
If you want to Pause scene switch just click studio mode.

Like it says up top, you can set a Fullscreen window so I guess if you put a game in fs it will default to that and you can set a backup scene if something goes wrong or a window name changes and scene switcher doesn't show it.

Example of my settings.

(.*)(Project)(.*),CubaseChat
(.*)(MixConsole)(.*),CubaseMixerChat
Blank,Default Scene
Disable Start Message,Yes

I used the wild card (.*)()(.*) because my project window will be project - untitled or another name depending on what is loaded. So the wild card allows for anything else in the name.

Same for MixConsole, the name can be multiple variations after the MixConsole part.

CubaseChat and CubaseMixerChat are my scene names. I removed the spaces between the names to avoid any naming issues.

The scenes switch using the default transition, although it would be cool if we could set to any transition we have created.

I'm about to add another scene to my list which will be ChannelSettings, which when I open a channels settings (e.g. the EQ) then it will fullscreen it. Again this would be cool if there was a flag that could be set to enable/turn on an item in the sources. This way I could have an item overlay or however i have it setup when I click on it's window. But for now I'll duplicate the scene and have it overlaid in the duplicate scene.
It would be handy though as if I'm in the mixer and open the channel settings window then I don't want it change to the project window every time.


To find the window name click + on sources to add a Window Capture, click ok on thenext window, then on the Properties for 'Window Capture' select the drop down list next to where it says Window.
This is the names of windows, you want part if using (.*) or all of the name past the ':'
So you see in the image [notepad.exe]: settings.txt - Notepad
For this window only you'd do,

settings.txt - Notepad,scenename

for MixConsole - Untitled1 I selected the wildcard option (.*)(MixConsole)(.*) but this option is best used where one window is in use, so I can only have 1 mix console open at a time, same for channel settings.
Else if you had say multiple notepads and you set say (.*)(notepad)(.*),settings.txt - Notepad then clicking on different notepads will always show  just the notepad window named "settings.txt - Notepad".
So if you need to use multiple windows the wildcard option wouldn't be best and using full names.

Remember you don't need the [chrome.exe]:  part, just the name after that.







Lastly, if you have more than one window open with the same name, as I do here with the notepad, then scene switcher will select the first in the list.

BTW great adaption and great plugin.


----------



## hypnorus (Jun 23, 2016)

Hey, I got an issue with your plugin. It's not working. Log says

```
01:28:48.818: Loading module: SceneSwitcher.dll
01:28:48.818: obs-data.c: [obs_data_create_from_json] Failed reading json string (1): '[' or '{' expected near end of file
```
Can you advice something?


----------



## Warmuptill (Jun 24, 2016)

The Scene Switcher will still work even when this log message comes up in the OBS log files. It is caused during the check whether a hotkey binding to pause the Scene switcher is present. (I will try to prevent this log from appearing in a future version of this plugin, since it might cause confusion about whether the plugin is running or not) I assume you have not configured your settings.txt file correctly and that is the reason the Scene Switcher is not working for you.


----------



## Grot (Jun 25, 2016)

Is there any chance at all for a version that supports MacOS ? You know.. Having a multiplatform OBS with platform specific plugins is kind of like reliving OBS Classic all over again ;)


----------



## Sw33tP34 (Jun 25, 2016)

https://obsproject.com/forum/threads/automatic-scene-switching.48264/page-2#post-221925  THANK YOU :)


----------



## Warmuptill (Jun 29, 2016)

Warmuptill updated Automatic Scene Switching with a new update entry:

Added MacOS version, added options menu, bug fixes



> A version of this plugin for MacOS was implemented. The addition of this version caused some changes in the structure of the plugin, mainly the storage of the settings of the Scene Switcher.
> 
> The storage of the plugin is now set by OBS itself and thus makes it easier to ensure that the settings file can actually accessed and read by the plugin.
> 
> Since the new location of the settings file is rather hidden i chose to implement a simple UI to edit the settings (which i plan to improve upon...



Read the rest of this update entry...


----------



## Warmuptill (Jun 29, 2016)

Please report any problems you are experiencing with this new version. (Especially Mac users!) Feedback and suggestions are also much appreciated!


----------



## vapeahoy (Jun 29, 2016)

Any chance it will be possible to switch to a scene IF that scene is also fullscreen or when, rather, it is fullscreen. This so it doesnt capture a half-screen windowed output? Would be tremendously helpful for capturing entire displays for us capture card users.


----------



## Warmuptill (Jun 29, 2016)

Hm, i am not quite sure i understand your request correctly. Do you want to switch to a scene when the contents (the process or whatever that is being captured) are fullscreen? If so i am not quite sure if it is possible to access information about what is being captured. If you want to switch to a scene if the foreground window is fullscreen, that is already implemented. Or do you mean if the size of the scene inside the OBS preview window is the right size (or larger) to fill the whole preview window? If that is the case, that seems doable(but i am not 100% sure). Im not really familiar with the problem capture card users are experiencing. So an example would be great. But in general i am always open to suggestions.


----------



## vapeahoy (Jun 29, 2016)

Right ok, so we have now ability to capture a fullscreen scene with the FSscene right, but that captures any fullscreen. Even a browser that is fullscreen mode. Which is perfectly fine. What I am suggesting is that if f.ex Google chrome or Mario bros game is fullscreen, then capture it, if not, it does nothing, it just goes back to default scene. So window title must be X and it must be fullscreen, if not reside to default scene or whatever, as it currently does. I hope that explains it.


----------



## Warmuptill (Jun 29, 2016)

So basically just combine the already existing options of the fullscreen check with the window name check. That should be easy to implement. Just need to think of a sensible way of adding that to the settings UI (the currently available options for UIs are rather limited). I will probably just allow a 3rd value per line in the settings list. So to follow your example: _if "Mario bros game" is the title of the window in the foreground and it is fullscreen switch to scene named "MBScene"_   would translate to "_Mario bros game,MBScene,isFullscreen_". Do you think that would be acceptable?


----------



## vapeahoy (Jun 29, 2016)

Yes, that will be perfect. That would solve a lot of problems for basically *everyone* I think. Especially for those who is running a multiple pc streaming setup, or recording only even. It would mean an end to showing a "half" screen.
Having said that:
Currently when i am capturing, there is a small period of time in which the "display capture" source is not visible when switching to it. This is kinda cool, because it allows to show a image that is constantly there.

This means that f.ex let's say i am showing something in a browser, talking to someone in chat and discussing something. Then turning back to the game scene. IT shows then that picture in that scene, before it shows the display capture. I dont know what's causing that, but it's pretty cool i think. It doesnt seem to be any OBS related delay tho, as having obs running at the pc being captured, only adds about 5 ns delay to latency response tests.
I am simply mentioning that because I will test to see the eventual differences. Right now having a large fan in my floor to treat a water damage tho, so having some days off streaming.


----------



## Warmuptill (Jun 29, 2016)

Warmuptill updated Automatic Scene Switching with a new update entry:

Added "isFullscreen" options, fixed issue when loading settings



> Added the "isFullscreen" option for the Scene Switcher.
> 
> It functions as an optional condition for the Scene Switcher. The line "Overwtach,OW,isFullscreen" would only switch to the scene "OW" if the application with the name "Overwatch" is in Fullscreen (note windowed mode is not enough in Windows). If you want to remove that condition just remove the ",isFullscreen" part.



Read the rest of this update entry...


----------



## amsyar ZeRo (Jul 4, 2016)

@Warmuptill Heya!I like your plugin,but when I installed it it doesn't appear.No changes,I see.

EDIT:Did a restart and still no changes.I can confirm I put the plugin in obs-plugins.

Specs are in my signature.Using OS X El Capitan.


----------



## mpek (Jul 6, 2016)

I'd like to setup scene switching like this: 1. Scene switched shown is MPC. Then after a few seconds all other scenes should be switched to and shown a few seconds, after I loaded OBS.

My Scenes are called MPC, CAM1, CAM2 and CAM3 and I could make Backup Scene Name only to switch automatically for now. I was setting up Backup Scene Name,MPC and it switched everything to MPC.

My idea was to setup a round tripping switching, that every scene should be switched automatically one after another, let's say every 3 seconds and if we get very cool randomly in time and length source is shown. Is that roundtripping basically possible? What to type in for this to work?


----------



## Warmuptill (Jul 7, 2016)

Currently the feature you are describing is not implemented. It is possible to implement that for a future version of this plugin however.

Just so I understand your request correctly: Would the scene with the name "MPC" act as a trigger to activate the round trip switching in your example? Should the round trip switching stop as soon as every scene was shown once or should there be an option to loop forever?(that option could just involve setting the Backup Scene Name to the Scene that triggers the round trip). And finally do you think it would be acceptable for it to entered in the options following this format:

"Scene Round Trip,TriggerSceneHere,DelayHere,NextSceneHere,DelayHere,AnotherSceneHere,DelayHere,..."
So your example would be:
"Scene Round Trip,MPC,3,CAM1,3,CAM2,3,CAM3"


----------



## Bootscreen (Jul 9, 2016)

nice plugin, thanks =)

but is it possible to get an option to ignore scenes?
something like:
disabled,Start,Idle,End

Example:

My Scenes:
- Start
- Idle
- Pause
- End
- Game 1
....
- Game X

And i only want the automatic switch when i'm not in the Start, Pause or End Scene. 

I could use the hotkey, but an automation would be much nicer =)


----------



## erxct (Jul 9, 2016)

Hey! This is an awesome plugin and I'm glad somebody has finally made it. I've been successful in getting it to work, for the most part. I can set it up for switching to google chrome and (I play league of legends) my PVP.net client, however, whenever I actually get into a game of league, the window switches from PVP.net Client, to a different window called, League of Legends (TM) Client. Now when i put this into the scene setter i have it as, "League of Legends (TM) Client,ez" but it never switches to the scene automatically and i have to do it manually. Could it be because i have the game running in windowed border less? Thanks in advance. once this is solved it will be an amazing program.


----------



## Warmuptill (Jul 9, 2016)

Thanks for pointing that out. Fixing it!


----------



## Warmuptill (Jul 9, 2016)

Warmuptill updated Automatic Scene Switching with a new update entry:

Fix for brackets in window title not being checked for



> Just a fix for the issue pointed out by *erxct.*
> Titles containing brackets would wrongfully be interpreted as grouped regular expressions and their respective entry in the settings would not be recognized.
> 
> (example: League of Legends (TM) Client)



Read the rest of this update entry...


----------



## erxct (Jul 10, 2016)

Warmuptill said:


> Warmuptill updated Automatic Scene Switching with a new update entry:
> 
> Fix for brackets in window title not being checked for
> 
> ...



Awesome! Just tested and it worked perfectly! Thanks for being so quick, this is an awesome tool and I look forward to using it!


----------



## mpek (Jul 12, 2016)

When starting OBS 0.15.1 it crashes when ASS 0.4.2 is currently installed. Crash report attached.


----------



## mpek (Jul 12, 2016)

Warmuptill said:


> Currently the feature you are describing is not implemented. It is possible to implement that for a future version of this plugin however.
> 
> Just so I understand your request correctly: Would the scene with the name "MPC" act as a trigger to activate the round trip switching in your example? Should the round trip switching stop as soon as every scene was shown once or should there be an option to loop forever?(that option could just involve setting the Backup Scene Name to the Scene that triggers the round trip). And finally do you think it would be acceptable for it to entered in the options following this format:
> 
> ...



For testing purposes it would be very helpful if this is going on forever.
For some other occasion it would be nice to be able to set an endtime, e.g. like 17:59:59 (24hour time) one second before 6 o'clock p.m.


----------



## Warmuptill (Jul 12, 2016)

mpek said:


> When starting OBS 0.15.1 it crashes when ASS 0.4.2 is currently installed. Crash report attached.



I found the source of this crash and will fix it tomorrow. Thanks again for reporting this issue!


----------



## Warmuptill (Jul 13, 2016)

Warmuptill updated Automatic Scene Switching with a new update entry:

Added the pause scenes and the scene round trip, fixed a few bugs/crashes



> You can now specifiy scenes, which ,when selected, will pause the Scene Switcher.
> You can now add a Scene Round Trip (Switches to specified Scenes when the trigger scene is active and waits for the specified delay before switching to the next scene in the sequence)
> 
> Thanks to everyone that pointed out issues / crashes that were fixed!



Read the rest of this update entry...


----------



## ontdamian (Jul 21, 2016)

Hi, many thank for this plugin! It's awesome and very helpful for me. 

But one feature is missing as for my needs: switch to other window if is just active, not necessarily in focus. For example, I can play a movie by VLC in external window with separate console. So OBS is switching to the movie window. Backup Scene is also set to switch back in case of movie end. But since I press anything on the console - i.e. to increase volume, video window is not in the focus anymore and OBS is switching back to Backup Scene. It would be very helpful, to have possibility to stay on any window if is just active.

Thank again, good work!


----------



## Warmuptill (Jul 21, 2016)

ontdamian said:


> Hi, many thank for this plugin! It's awesome and very helpful for me.
> 
> But one feature is missing as for my needs: switch to other window if is just active, not necessarily in focus. For example, I can play a movie by VLC in external window with separate console. So OBS is switching to the movie window. Backup Scene is also set to switch back in case of movie end. But since I press anything on the console - i.e. to increase volume, video window is not in the focus anymore and OBS is switching back to Backup Scene. It would be very helpful, to have possibility to stay on any window if is just active.
> 
> Thank again, good work!



Thanks for the suggestion!

Unfortunately I am not sure how i would determine if a window is "active" or not. And i don't think it would be easy to implement either, but ill have a look into it. I could however add an option to specify window names, that, when they are in focus, will be ignored by the scene switcher (So it would not fall back to the Backup Scene, when you add the window name of your VLC console to that list). Would that work for you?

In the meantime you could just create a VLC scene and add it to the "Pause Scene Names" list. This would prevent the plugin from switching back when it would usually switch to a different scene (when you are changing the volume for example), but you would have to switch to a different scene manually after, since the scene switcher is paused while this scene is active.

Alternatively you could also just tell the scene switcher to switch to your VLC scene when the VLC console is in focus, aswell. (Which is probably the easiest way to do it, if you know the window name of this VLC console thingy :D)


----------



## Darksora (Jul 22, 2016)

Hello,
first of all thanks for this plugin! It's very fast and I haven't had any issues with it since the day i started using it :)
I have similar needs for a feature as ontdamian, so maybe i can add some input to the functionality :)
I don't really want to switch scenes through focusing other windows / applications. Because once i tab out of a game to write in chat and switch back to the game, it switches back to the Backup Scene and back to the game, pretty fast. I don't think viewers should notice when i'm tabbing out and this can be a distraction from the content i'm streaming.

So my suggestion is, make the focused attribute an optional attribute for every scene. So you don't have to use it only if you really want to. So that a scene gets displayed once a Window is currently opened or active (it doesn't have to be focused). That would fix the tabbing out issue.

Then you could even implement priorities to some scenes to ensure correct scene switching, once you close a window.
Something like this:







So in my example the highest Priority would be 1 and the lowest 5. So once i close League of Legends or win / lose the game, it should check if Dead By daylight is open, if not -> check if the next priority is open and so on and on. And if none are opened, the backup Scene should be displayed. Or make it the last scene with the least priority. Whatever you think is best.

I don't know if this is a good idea. It's just something i was thinking about and thought I would let you know. Maybe this can help :)

Thanks again and keep up the good work! :)


----------



## vapeahoy (Jul 22, 2016)

I think it's a horrible idea to have more games then any one running in the first place. I also dont have any problem with it going directly from game to browser scene if i wanted to, that's just a matter of setting up OBS scene transition correctly. If the plugin needs to do too many calls, it could start getting a resource hog. From what you describe you simply need to setup hotkeys yourself to switch directly to your game/apps. Adding that to this plugin would be another beast entirely.


----------



## RoflzNSyrup (Aug 1, 2016)

Warmuptill said:


> Thanks for the suggestion!
> I could however add an option to specify window names, that, when they are in focus, will be ignored by the scene switcher (So it would not fall back to the Backup Scene, when you add the window name of your VLC console to that list). Would that work for you?



Any idea if you'll ever get around to doing something like this? I'd love this feature. I don't want OBS switching to my Default scene because I responded to someone on Discord while playing Overwatch. The feature you're describing sounds like a perfect solution. When I'm playing overwatch and AltTab/Escape to Discord on second Monitor, OBS WON'T switch to Default. When I exit Overwatch to the desktop, OBS switches to Default.


----------



## Warmuptill (Aug 1, 2016)

Warmuptill updated Automatic Scene Switching with a new update entry:

Added "Ignore Window Names" option



> Added the option to ignore certain window names.
> 
> This option is useful if you want to the plugin to ignore certain window names and not switch to the specified scenes. (for example when you ALT Tab to your chat window or Teamspeak and don't want the plugin to switch away from the game scene or whatever scene is currently active)
> Just list the window names you want the plugin to ignore after the phrase "Ignore Window Names" like so:
> ...



Read the rest of this update entry...


----------



## moatdd (Aug 2, 2016)

I'd like to be able to switch scenes depending on the location of the mouse XY coordinates.

I used to use an autohotkey script that would do this so that I could hide various cameras and chat overlays whenever my mouse cursor went underneath them, but it's no longer possible to do this in OBS Studio because it won't respond to hotkeys sent via autohotkey unless it's the foreground application.

All I need is the ability to designate XY min/max rectangular regions and link them to specific scenes.


----------



## moatdd (Aug 2, 2016)

Never mind. Thanks for posting the source. I was able to add the feature myself.

Here's the revised switcher.cpp, in case you'd like to add this feature to the plugin.

And, for everyone else, here's a 32-bit build of the modded plugin. (I know nothing of compiling for x64)


Adding the following entry will make OBS change to the "TopMonitor" scene when the cursor enters the specified subregion:

<*0*x*0*.*1600*x*900*>,*TopMonitor*

The format is like so:
<*minX*x*minY*.*maxX*x*maxY*>,*sceneName*

If the cursor is sitting inside two overlapping regions, it will _prefer_ the smaller region.


----------



## FriGiN Goon (Aug 4, 2016)

I THINK I might be an idiot, but here is my config screen, end result is it doesn't do anything.

I fixed it nevermind. it was a syntax error.


----------



## MadonfireWoW (Aug 4, 2016)

Trying to get it to work for Starcraft II but i have no idea how.
I dont get anything about the code you need to put in. 
should it work with just gamename then a , and then your obs scene name and then isFullscreen ?
Example:          Starcraft II,SC2 ingame,isFullscreen
or do you need to put the (   ) somewhere or the "," cause i dont get it.
could someone please explain?
also does anyone know what the out of game and in game screens are called for Starcraft II?


----------



## vapeahoy (Aug 5, 2016)

it's easy:
window title, scene name in obs, parameter

f.ex
pixelstardustasterioidnightmare8k2016 (64-bit),pixelstardust,isFullscreen


----------



## Sean A McKinnon (Aug 13, 2016)

Ever since the latest release of OBS Studio (0.15.4) this plugin causes OBS to crash on close.  See attached crash log.  It doesn't happen if I uninstall the plugin by deleting the SceneSwitcher.dll files.

Edit: Also when the crash occurs, it doesn't properly release the cef-bootstrap.exe resource.  This causes a slow memory leak over time that can eventually lead to the PC running extremely slow until you go into Task Manager and manually End Task on that cef-bootstrap.exe process.


----------



## Kyle Clark (Aug 14, 2016)

Are there any delimiters for window names that have commas? For example, the window name for Rocket League is "Rocket Leage (32-bit, DX9)"

So, my entry looks like this:
Rocket League (32-bit, DX9),Game

I have a scene named "Game." Since Rocket League uses a comma in its name, this entry doesn't work.


----------



## vapeahoy (Aug 15, 2016)

Kyle Clark said:


> So, my entry looks like this:
> Rocket League (32-bit, DX9),Game
> 
> I have a scene named "Game." Since Rocket League uses a comma in its name, this entry doesn't work.



Well just read the manual next time, Kappa.

enter this and change accordingly after first comma :
Rocket League(.*)32(.*)DX9(.*), suckygamescene, fullscreenparameter here
And that should work just splendidly.


----------



## Warmuptill (Aug 15, 2016)

Sean A McKinnon said:


> Ever since the latest release of OBS Studio (0.15.4) this plugin causes OBS to crash on close.  See attached crash log.  It doesn't happen if I uninstall the plugin by deleting the SceneSwitcher.dll files.
> 
> Edit: Also when the crash occurs, it doesn't properly release the cef-bootstrap.exe resource.  This causes a slow memory leak over time that can eventually lead to the PC running extremely slow until you go into Task Manager and manually End Task on that cef-bootstrap.exe process.



I cant seem to find the source of this crash (I cant recreate it on my end). Is anyone else experiencing this issue? If so please send me your settings and crash log file if possible or any additional information you have about this crash. Sorry about this!


----------



## vapeahoy (Aug 16, 2016)

It happened here as well, but the plugin is working so strangely at times stopped using it. It's very unfortunate if it can't be fixed. Maybe just wait for the next obs version.


----------



## Warmuptill (Aug 17, 2016)

Warmuptill updated Automatic Scene Switching with a new update entry:

Added cursor position feature, crash fix



> Fixed the crash on closing OBS (hopefully, please report if it is still happening)
> 
> 
> Added the functionality of the cursor position check (implemented by *moatdd, *Thanks!):
> ...



Read the rest of this update entry...


----------



## Shadez69 (Aug 17, 2016)

Hi all, I'm not sure this is what I'm looking for but I want to be able to set obs to automatically switch between a set number of scenes automatically so I can leave it unattended and it would switch, whether randomly or at set intervals. Can anyone tell me if this is possible?

Thank you!


----------



## Nitrofski (Aug 18, 2016)

I recently got issues with scene duplicating and crossing over to another Scene Collection when one of them used this Scene Switcher. It was getting worse and worse over time, which forced me to fix the scene collection files manually. I am not 100% certain it is because of this plugin, but removing the Scene Switcher Options source seemed to fix the problem.

[EDIT]
I had other issues with being unable to delete Scenes in OBS, I had to clear them manually in the .json file, even if I had no active Scene Switcher Options sources. In runtime, it worked semi-fine (it was removed from the list but it was impossible to create a new one with the same name). Upon restarting OBS, though, all deleted scenes came back, and changed Source settings were restored.
Removing the plugin altogether was the only thing that fixed this issue.


----------



## Warmuptill (Aug 18, 2016)

Nitrofski said:


> I recently got issues with scene duplicating and crossing over to another Scene Collection when one of them used this Scene Switcher. It was getting worse and worse over time, which forced me to fix the scene collection files manually. I am not 100% certain it is because of this plugin, but removing the Scene Switcher Options source seemed to fix the problem.
> 
> [EDIT]
> I had other issues with being unable to delete Scenes in OBS, I had to clear them manually in the .json file, even if I had no active Scene Switcher Options sources. In runtime, it worked semi-fine (it was removed from the list but it was impossible to create a new one with the same name). Upon restarting OBS, though, all deleted scenes came back, and changed Source settings were restored.
> Removing the plugin altogether was the only thing that fixed this issue.



I will try to find the source of this issue. (Sent you a message)
Is anyone else experiencing this?


----------



## RytoEX (Aug 20, 2016)

Nitrofski said:


> I recently got issues with scene duplicating and crossing over to another Scene Collection when one of them used this Scene Switcher. It was getting worse and worse over time, which forced me to fix the scene collection files manually. I am not 100% certain it is because of this plugin, but removing the Scene Switcher Options source seemed to fix the problem.
> 
> [EDIT]
> I had other issues with being unable to delete Scenes in OBS, I had to clear them manually in the .json file, even if I had no active Scene Switcher Options sources. In runtime, it worked semi-fine (it was removed from the list but it was impossible to create a new one with the same name). Upon restarting OBS, though, all deleted scenes came back, and changed Source settings were restored.
> Removing the plugin altogether was the only thing that fixed this issue.





Warmuptill said:


> I will try to find the source of this issue. (Sent you a message)
> Is anyone else experiencing this?



Yes.  I experienced the same problem described by @Nitrofski when trying out the Automatic Scene Switcher plugin in early to mid July.  Removing the plugin stopped the duplication, though I still had to manually remove the duplicate scenes and sources.  I wasn't sure if it was this plugin or something else.  I wanted to do more thorough testing, but I had other things come up that got in the way.  I'm not sure what version of OBS Studio or this plugin I was using at the time.  If I had to guess, it would have been any stable release of OBS Studio from 0.14.2 to 0.15.2 and Automatic Scene Switcher 0.5.


----------



## Warmuptill (Aug 20, 2016)

Warmuptill updated Automatic Scene Switching with a new update entry:

Bug fix for Scene Round Trip scene duplication



> Resolved an issue that could cause the Scene Round Trip to duplicate scenes.
> 
> A scene is duplicated whenever the plugin is trying to switch to a scene that does not exist anymore, but does exist when the scene switcher is trying to figure out which scene to switch to. This problem still persists but should be a lot less frequent, theoretically. Please tell me if you still experience this issue!



Read the rest of this update entry...


----------



## AuroraDrag0n (Aug 21, 2016)

I would love to make the jump to OBS Studio, but there is only one thing that OBS can do that Studio can't with this plugin. 

Someone made a plugin that can tell the difference between League of Legends, and the League of Legends loading screen, which has the same window name. After setting up this plugin, it can't recognize the two, and for about 20 seconds, my overlays for the main game clash with the loading screen. 

If you could add or duplicate what the other guy did, I'd love to be able to use the new shiny features of Studio! 

Here is the link to his plugin: 

https://obsproject.com/forum/resources/league-of-legends-scene-switcher.30/


----------



## dodgepong (Aug 22, 2016)

Scene switching plugins in general are being hampered by the absence of a frontend API. I believe the frontend API is slated to be released within the next couple patches, so people can expect to see more/better plugins related to scene/source control once that happens.


----------



## Warmuptill (Aug 26, 2016)

Warmuptill updated Automatic Scene Switching with a new update entry:

Just a few bug fixes



> Fixed freeze that could occur when setting up long waiting delays and then trying to pause/stop (when changing the settings or using the pause hotkey mainly) the scene switcher during these waiting times.
> 
> Fixed possible memory leaks.
> 
> As usual, please report if you have any issues and or suggestions!



Read the rest of this update entry...


----------



## DHarris69 (Aug 27, 2016)

Doesnt work :((( Im use latest version OBS studio :/


----------



## Warmuptill (Aug 27, 2016)

DHarris69 said:


> Doesnt work :((( Im use latest version OBS studio :/



What does not work, exactly?(Does it crash/ freeze? Does a certain feature not work? Can you not set up the options? Do the options not show up as a source? ...)
I will gladly help you out. I just need a bit more information :)


----------



## Ronny (Aug 27, 2016)

Hi, need help. i have a 2 screen set up. 
I need to switch scene depending on which screen the mouse is, if its first screen or my second screen.
The thing is i cant use active window to change because one of them uses new names as window name for each
new project on my studio software. So i want something easier to switch scene depending on which screen im working on.

Mouse is on screen 1, then show scene that shows screen 1. and vice versa for screen two. HOW TO?


----------



## Warmuptill (Aug 27, 2016)

Ronny said:


> Hi, need help. i have a 2 screen set up.
> I need to switch scene depending on which screen the mouse is, if its first screen or my second screen.
> The thing is i cant use active window to change because one of them uses new names as window name for each
> new project on my studio software. So i want something easier to switch scene depending on which screen im working on.
> ...




That should be doable. Have look at the *Cursor position check* (by *moatdd):*

The format is like so:
<*minX*x*minY*.*maxX*x*maxY*>,*sceneName

*
Since I don't know the resolution/orientation of your monitors I cant give you the exact values you need, but in general the scene switcher options should contain something like this:

<0x0.1600x900>,leftMonitor
<1601x0.3200x900>,rightMonitor

(this would work for a setup of two screens with a resolution of 1600x900 who are oriented to expand your desktop horizontally to a total resolution of 3200x900)

Let me know if this works for you!


----------



## Jim (Aug 28, 2016)

Hey, mind if I adapt some of your code and make an official scene switcher plugin in OBS?  I'm currently finishing up a front-end API to allow things like this much more easily, and I'm probably not going to merge your code fully because it's a source, and what I'm making is more akin to a tool that you can open within the program (with full Qt dialog support and stuff).

Would you mind that at all?


----------



## Warmuptill (Aug 28, 2016)

I don't mind that at all. It would be great to have a built in scene switcher for OBS Studio!


----------



## Ronny (Aug 28, 2016)

Warmuptill! Worked like a charm! I dont use nvidia surround setup, but it worked anyway with a 2 split screen setup that dont share resolution. Thanks!


----------



## Petter005 (Aug 28, 2016)

Excelent plugin :D
but, is there any way to make the scene round trip to loop nonstop?


----------



## Warmuptill (Aug 28, 2016)

Petter005 said:


> Excelent plugin :D
> but, is there any way to make the scene round trip to loop nonstop?



That is indeed possible by just adding the scene that triggers the scene round trip at the end of the scene round trip. For example:

Scene Round Trip,Scene1,10,Scene2,5,Scene3,5,Scene1,5

This will create a loop.


----------



## DHarris69 (Aug 29, 2016)

Warmuptill said:


> What does not work, exactly?(Does it crash/ freeze? Does a certain feature not work? Can you not set up the options? Do the options not show up as a source? ...)
> I will gladly help you out. I just need a bit more information :)


I extract plugin in OBS studio, but when I launch OBS there is no plugin.


----------



## Warmuptill (Aug 29, 2016)

DHarris69 said:


> I extract plugin in OBS studio, but when I launch OBS there is no plugin.


What does your log file say about the scene switcher, if anything at all?

Are you sure you put the .dll in the right folder and are using the corresponding version of OBS? C:/Program Files (x86)/obs-studio/obs-plugins/32bit (could be a different install location for you) should contain a file called SceneSwitcher.dll if you are using the 32bit version of OBS, for example.

Another user reported that windows sometimes blocks downloaded .dll files:


Lun said:


> For all those having not found issue:
> 
> 
> ```
> ...


----------



## DHarris69 (Aug 29, 2016)

I did unluck now, but its doesnt help (


----------



## DHarris69 (Aug 30, 2016)

It's still working :) I use 64 bit windows, and I install Visual C++ just for 64 bit version. But OBS shortcut was for 32 bit version, and with this it's doesnt working :D


----------



## taddeimania (Aug 31, 2016)

Hey,

Thanks for all of the work you're putting into this plugin! You're helping *A lot* of people out!

I am encountering a bug on OSX (10.11.5) where the window pattern matching doesn't seem to work correctly for how OSX names it's windows.

For example for my chrome window I can't do:

(.*)Google Chrome(.*),Browser Scene

Because the way OSX names it's windows is 
	

	
	
		
		

		
			





It doesn't seem to notice the "Google Chrome" in the brackets.

I can confirm this is either the issue or it's very close to the cause because I changed my pattern to:

(.*)Automatic Scene(.*),Browser Scene

and it switched just fine to my browser scene ONLY if the "Automatic Scene Switching" plugin thread was the active tab.

Do you suggest any workaround for this?

edit: My workaround for now was to make chrome my default window and try to more accurately match other windows

Thanks again!


----------



## Warmuptill (Aug 31, 2016)

taddeimania said:


> Hey,
> 
> Thanks for all of the work you're putting into this plugin! You're helping *A lot* of people out!
> 
> ...



Yeah sorry that is my bad. I just did not know whether i should use the name of the application in combination with the name of the window or just the window name by itself. I guess it makes much more sense the way it is done in OBS ([app name] window name, like it can be seen in your screenshot). I will probably get around to changing that tomorrow. Thanks for pointing that out!


----------



## DHarris69 (Sep 1, 2016)

With russian words on active window doesnt work:(


----------



## K3nSter (Sep 2, 2016)

Hey man great work.Just wondering,if I'm currently in a fullscreen game,it's possible to write a syntax to keep that scene focused while it's opened when I'm ALT+TAB to check something? Thanks in advance !


----------



## KatherineOfSky (Sep 2, 2016)

I've searched this topic, but I haven't found the answer to a question: can you tell the plugin to automatically switch scenes after x number of seconds?

My desire is this: record a still image (jpg in Scene - Intro) for 3 seconds, then automatically switch to the next scene, which is my game window.

Can I set up the plugin to do this?

Thanks!


----------



## Warmuptill (Sep 2, 2016)

KatherineOfSky said:


> I've searched this topic, but I haven't found the answer to a question: can you tell the plugin to automatically switch scenes after x number of seconds?
> 
> My desire is this: record a still image (jpg in Scene - Intro) for 3 seconds, then automatically switch to the next scene, which is my game window.
> 
> ...


If I understand your problem correctly this should be possible with the Scene Round Trip:

Scene Round Trip,Intro,3,GameSceneHere

Whenever you switch to the scene "Intro" (automatically or manually) the scene switcher will wait 3 seconds and then switch to your game window "GameSceneHere". I hope that helps!


----------



## Theo Tillotson (Sep 2, 2016)

Any chances we could get in-game state changes for StarCraft II? This has been missing in OBS now for a while and Blizzard made some changes recently that may make this more doable again (see the older plugin forum).  Client API Update - StarCraft II Forums


----------



## KatherineOfSky (Sep 3, 2016)

Warmuptill said:


> If I understand your problem correctly this should be possible with the Scene Round Trip:
> 
> Scene Round Trip,Intro,3,GameSceneHere
> 
> Whenever you switch to the scene "Intro" (automatically or manually) the scene switcher will wait 3 seconds and then switch to your game window "GameSceneHere". I hope that helps!



Thanks so much for the help!  I'll give it a go!

Edit: It works like a charm, I really appreciate your assistance! :-)


----------



## segfaultex (Sep 4, 2016)

It would be cool if disabling the scene switcher settings source would pause the scene switcher.


----------



## Warmuptill (Sep 4, 2016)

segfaultex said:


> It would be cool if disabling the scene switcher settings source would pause the scene switcher.



Using a source to configure the settings of the scene switcher is just a workaround since it is currently not easily possible to add custom UI elements to OBS using a plugin. You can currently pause the scene switcher using a hotkey, which can be set in the keybinding options of OBS ( it is called "toggle automatic scene switching"). I could add an additional option to pause / start the scene switcher inside the settings source, if you are interested in this.


----------



## Warmuptill (Sep 4, 2016)

K3nSter said:


> Hey man great work.Just wondering,if I'm currently in a fullscreen game,it's possible to write a syntax to keep that scene focused while it's opened when I'm ALT+TAB to check something? Thanks in advance !


You could use the option to ignore certain window names:

Ignore Window Names,Twitch - Google Chrome,TeamSpeak 3

Here the scene switcher would stay on the currently selected scene when you switch to the windows with the name "Twitch - Google Chrome" or "TeamSpeak 3". You would need to add all the window names you would ALT+TAB to and not want the scene switcher to act on.


----------



## Zanean (Sep 5, 2016)

Wolfbane said:


> Installed plugin and each time after I start OBS Studio I get this error.
> Anyone know how to fix it ?
> 
> http://prntscr.com/b7o6hl



Hi, 

I looked around and it seems I'm getting the same error that Wolfbane was getting a while back. Anything I can do to fix this?

Thanks!


----------



## Warmuptill (Sep 5, 2016)

Zanean said:


> Hi,
> 
> I looked around and it seems I'm getting the same error that Wolfbane was getting a while back. Anything I can do to fix this?
> 
> Thanks!


You are probably missing the Visual C++ Redistributable for Visual Studio 2015.


----------



## Zanean (Sep 5, 2016)

Warmuptill said:


> You are probably missing the Visual C++ Redistributable for Visual Studio 2015.



That worked! Thank you very much!


----------



## OBSnewby (Sep 10, 2016)

Hi, really thanks for the plugin. Im having a problem. I have 3 cams and i need to set different scenes round trips for different scenes I have.
For example>
Scene1: alternating between cam 1 and 2
Scene 2: switching cams 2 y 3
Scene3: switching all of them.

Adding ONE scene switcher option to a scene source to make a round trip between my cams on scene1 works fine.
One problem is that if I add a 2nd scene switcher option to lets say scene2 (to do a different round trip) the old round trip config shows on this new one, and both trips plays for that scene... and If I delete a trip here in scene 2, it stops working on the original scene1... So, I can't have two different scene switcher options for different round trips on my scenes...

Its like if the plugin couldn't differentiate between different switcher options and all of them were the same,

Could anyone help me? really thanks
I'm on mac mavericks 10.9.5 and OBS studio


----------



## Warmuptill (Sep 10, 2016)

OBSnewby said:


> Hi, really thanks for the plugin. Im having a problem. I have 3 cams and i need to set different scenes round trips for different scenes I have.
> For example>
> Scene1: alternating between cam 1 and 2
> Scene 2: switching cams 2 y 3
> ...



The scene switcher doesn't differentiate between different scene switcher options sources! It does not care which scene contains the scene switcher options source (or if there is one at all). The scene switcher options source is just a workaround for having a user interface for the scene switcher to change its settings (cant create a custom UI for plugins at the moment in obs studio).

To assist you with your problem. If i understand correctly you want the same scenes to trigger different behavior. This is not possible since the scene switcher doesn't know which scene round trip to choose. You can however just create multiple copies of the same scene with different names and use these to trigger the different scene round trips. (You can just right click the scene you want to create another copy of and choose duplicate). Your scene switcher options source should then contain three lines with different scene round trips, similar to this:

Scene Round Trip,Cam1,4,Cam2,5,Cam1,3
Scene Round Trip,Cam2(2),4,Cam3,5,Cam2(2),3
Scene Round Trip,Cam1(3),4,Cam2,5,Cam3,3,Cam1(3),3

I know it's not pretty, but that should work.

I hope I could help you! Let me know if this works for you or if i misunderstood your problem.


----------



## OBSnewby (Sep 10, 2016)

Warmuptill said:


> The scene switcher doesn't differentiate between different scene switcher options sources! It does not care which scene contains the scene switcher options source (or if there is one at all). The scene switcher options source is just a workaround for having a user interface for the scene switcher to change its settings (cant create a custom UI for plugins at the moment in obs studio).
> 
> To assist you with your problem. If i understand correctly you want the same scenes to trigger different behavior. This is not possible since the scene switcher doesn't know which scene round trip to choose. You can however just create multiple copies of the same scene with different names and use these to trigger the different scene round trips. (You can just right click the scene you want to create another copy of and choose duplicate). Your scene switcher options source should then contain three lines with different scene round trips, similar to this:
> 
> ...



Thanks for your quick answer. I will try your duplicate scene method, but as far as Im seen it, that new scene will reproduce all 3 round trips, isn't it? Is there a way to make it play only the first roundrtrip and not the others, some end function? really thanks!


----------



## lorddrachenblut (Sep 12, 2016)

Warmuptill said:


> I don't mind that at all. It would be great to have a built in scene switcher for OBS Studio!


@Jim this will be awesome to see happen so that we can have it on Linux as well


----------



## RytoEX (Sep 12, 2016)

lorddrachenblut said:


> @Jim this will be awesome to see happen so that we can have it on Linux as well



It should be available in the next release.
https://github.com/jp9000/obs-studio/commit/39592ff5ebb9aa641ae460b7c044e3fc1cc0196f


----------



## CaptObvious (Sep 12, 2016)

Is there a github repo with the source? I would like to add the ability to switch scenes when a window changes aspect ratio so that I can switch to a new scene when I rotate my iPad while streaming through airserver. Thanks.

I think I found the repo: https://github.com/WarmUpTill/SceneSwitcher ???


----------



## RytoEX (Sep 13, 2016)

CaptObvious said:


> Is there a github repo with the source? I would like to add the ability to switch scenes when a window changes aspect ratio so that I can switch to a new scene when I rotate my iPad while streaming through airserver. Thanks.
> 
> I think I found the repo: https://github.com/WarmUpTill/SceneSwitcher ???



From the description on the Overview page on this plugin:


> If you want to build the SceneSwitcher.dll yourself the source is available here.


----------



## Toasterfree (Sep 14, 2016)

either im doing something super wrong, and even with someone else using this plug in, cant get it to work for league. i have already done the "League of Legends (TM) Client,In-Game" & "PVP.net Client,Pre-game" for my scenes but nothing is showing for the preview. and it doesnt work when i start streaming either


----------



## BeardyBroLeague (Sep 14, 2016)

One thing that would be great is a "master override" - so if for whatever reason you want instant control back you can!

Edit: I realise that was really vague, let me clarify.

Perhaps this is a 'sister' plugin, separate but interacts with this one.

I don't know about everyone else, but I have a 'Scene' for my Scene switcher options, so it doesn't get lost:

Image 1






I think another plugin could be made that when you click the scene it is embedded in it overrides the Scene Switcher, effectively turning it off:






Then by clicking the original scene switcher scene it re-actives the scene switching plugin.

[I don't know if the images are showing up, I might just imgur link them]


----------



## Thephirefox (Sep 18, 2016)

I have the following setup:

```
Scene Round Trip,EDB1,82,EDB2,13,Elite Dangerous
Scene Round Trip,FFXIVB1,82,FFXIV
Scene Round Trip,FFOT,5,MAOT,5,OBOT,5,endstream
Scene Round Trip,EDOT,5,MAOT,5,OBOT,5,endstream
```

But only the top one ever works? IE if I move FFXIVB1 to top it works. Same with other two.
Am I doing something wrong?

What I am trying to achieve is that when either of the two games start, there is a few transition scenes and then it locks on the game window. When I am finished, I manually click the "OT" files and a few "thanks to/ w/e" scenes go by and then it lands on the end stream scene.

EDIT: Kinda figured it out. I had to add a pause scene for the ones I wanted it to stay on.

EDIT2: BTW you guys are awesome!


----------



## BADOXAskul (Sep 19, 2016)

Hi, im new to streaming and this plugin is great but there are some problem with it at the moment for example: 
- if you play rocket league or dead by daylight (those the only 2 that i play) the plugin does nothing 
i think its because it has spaces in the process, for example:
- Rocket league: "Rocket League (32-bit, DX9)"
- Dead by daylight: "DeadByDaylight (64-bit, PCD3D_SM5)"
i have my scenes called, RocketLeague-Scene and DeadByDaylight-Scene both, also Rcoket league is in borderless and dead by daylight is in window (Dev choice i cant change)

so if im correct the "code" should be like this:
- Rocket League (32-bit, DX9),RocketLeague-Scene
- DeadByDaylight (64-bit, PCD3D_SM5),DeadByDaylight-Scene

am i doing it wrong ? plz help or plz fix ;D have a nice day
PS:. you can find me at Twitch.tv/badoxaskul along with my social media


----------



## Warmuptill (Sep 19, 2016)

BADOXAskul said:


> Hi, im new to streaming and this plugin is great but there are some problem with it at the moment for example:
> - if you play rocket league or dead by daylight (those the only 2 that i play) the plugin does nothing
> i think its because it has spaces in the process, for example:
> - Rocket league: "Rocket League (32-bit, DX9)"
> ...




This problem occurs because I am using a "," to separate values you can enter in the plugin options and these programs use the "," in their window name. This causes the plugin to only read the part before the first "," as the window name it is looking for to switch scenes. (For your example it only reads "Rocket League (32-bit" as the window name and assumes the rest are different parameters)

You can however just replace
"Rocket League (32-bit, DX9),RocketLeague-Scene" with "Rocket League \(32-bit. DX9\)".
Same for the "DeadByDaylight (64-bit, PCD3D_SM5),DeadByDaylight-Scene"
It becomes "DeadByDaylight \(64-bit. PCD3D_SM5\),DeadByDaylight-Scene".

Sorry about that! These problems will not be present once the built in scene switcher for OBS Studio is released, since a workaround to implement a UI is not needed anymore.

(the plugin is using a regular expression to match the window name, where the "." character can be any possible character including the ",").


----------



## Warmuptill (Sep 19, 2016)

Thephirefox said:


> I have the following setup:
> 
> ```
> Scene Round Trip,EDB1,82,EDB2,13,Elite Dangerous
> ...




The plugin will always try to finish a running Scene Round Trip before starting another one. You can however cancel the active Scene Round Trip and then start a new one. As you found out it is possible to do that using a Pause Scene. (the pause hotkey should also work)


----------



## xlntbjorn (Sep 26, 2016)

hi there.
I'm trying to have 3 scenes in OBS that will automatically change viewing window.. I installed this plug in but having a hard time getting it to work.  in OBS, i have 3 scenes. Each scene has 1 camera.  In sources of each scene, do I chose this scene switcher option? or only in 1 of the 3 scenes.  Would love some help and / or the exact written instructions on how to have OBS switch between 3 scenes. (each scene has its own camera and logo artwork), Lets say 30 seconds of each scene. Thanks!


----------



## Warmuptill (Sep 27, 2016)

xlntbjorn said:


> hi there.
> I'm trying to have 3 scenes in OBS that will automatically change viewing window.. I installed this plug in but having a hard time getting it to work.  in OBS, i have 3 scenes. Each scene has 1 camera.  In sources of each scene, do I chose this scene switcher option? or only in 1 of the 3 scenes.  Would love some help and / or the exact written instructions on how to have OBS switch between 3 scenes. (each scene has its own camera and logo artwork), Lets say 30 seconds of each scene. Thanks!



You can add the following line to the Scene Switcher Options to achieve this:

Scene Round Trip,Scene1,30,Scene2,30,Scene3,30,Scene1

Here Scene1 acts as the trigger for the Scene Round Trip. So when you switch to Scene1 the plugin will wait for 30 seconds then switch to Scene2, wait another 30 seconds then switch to Scene3 and finally after another 30 seconds it will switch back to Scene1. This will start the whole process all over again (since Scene 1 triggers the Scene Round Trip).

If you don't want it to loop just remove the last Scene1:

Scene Round Trip,Scene1,30,Scene2,30,Scene3,30

I hope this helps. Let me know if this is working for you or if i understood your question wrong.
If you need additional help (if you don't know where to enter these lines) feel free to send me a message and i can assist you further.


----------



## xlntbjorn (Sep 27, 2016)

Warmuptill said:


> I hope this helps. Let me know if this is working for you or if i understood your question wrong.
> If you need additional help (if you don't know where to enter these lines) feel free to send me a message and i can assist you further.



Thanks! Trying this shortly   :)


----------



## moatdd (Sep 28, 2016)

I'm glad to see that the plugin still works with the latest OBS. Cursor/Window region detection still works, too.


----------



## RytoEX (Sep 30, 2016)

@Warmuptill 
Now that the new frontend-api is out in OBS Studio, are you gonna take a crack at redoing the UI and how you setup the plugin?  =D


----------



## Dan Sisson (Oct 3, 2016)

So I have an intro scene that i want to automatically switch to my Main Screen scene and I cant seem to figure this out...  I dont want other windows I just want the scenes inside OBS Studio to automatically switch... So could the name of this be incorrect?


----------



## Warmuptill (Oct 3, 2016)

Dan Sisson said:


> So I have an intro scene that i want to automatically switch to my Main Screen scene and I cant seem to figure this out...  I dont want other windows I just want the scenes inside OBS Studio to automatically switch... So could the name of this be incorrect?



This is possible with the Scene Round Trip. I'm currently working on using the frontend api to implement a decent UI for the scene switcher to make setting up the automatic scene switcher easier. But in the meantime you can use this:

Scene Round Trip,IntroSceneNameHere,DelayInSecondsHereHere,MainScreenSceneHere

so for example

Scene Round Trip,Intro,30,Main


----------



## Warmuptill (Oct 4, 2016)

Warmuptill updated Automatic Scene Switching with a new update entry:

Added a UI and rewrote the switching process based on the built in scene switcher



> Added the UI for the scene switcher. You can find a description of it on the overview page of this plugin.
> 
> Since I rewrote a most of the plugin it is very likely that there are a few bugs (UI as well as functionality of the plugin). If you encounter any please let me know.
> 
> ...



Read the rest of this update entry...


----------



## Warmuptill (Oct 4, 2016)

Warmuptill updated Automatic Scene Switching with a new update entry:

Added missing locale file



> Forgot to include the locale file. Added it back now.



Read the rest of this update entry...


----------



## qewrqew (Oct 5, 2016)

If manually switch between scenes, the timer of the current scene does not work. This seems to be a timer running at a time, globally.


----------



## Warmuptill (Oct 5, 2016)

Warmuptill updated Automatic Scene Switching with a new update entry:

Fixed Scene Round Trip issues



> Fixed an issue where, when a Backup scene was set the Scene Round Trip would not work.
> 
> Added ability to cancel a Scene Round Trip but just switching to a different scene manually.



Read the rest of this update entry...


----------



## woodbyte (Oct 6, 2016)

I can't replicate some behavior from the old version using the current build. Specifically:

{
    "StartMessageDisable": true,
    "WindowList": [
        {
            "value": "(.*),Fullscreen,isFullscreen"
        },
        {
            "value": "Backup Scene Name,Desktop"
        }
    ]
}

I believe the following should work, but once it detects a fullscreen window it won't go to backup scene even if the active window is no longer fullscreen.


----------



## KomeijiKuroko (Oct 6, 2016)

Hello! I wanna to suggest to add some features.
1.If I use "When no window matches - Switch to", I find that *when active window is OBS itself* , plugin will still switch to the scene I set. When I click another scene, it change back immediately. Built-in plugin will not do this, as it will pause when OBS is active window and you can change scene manually. I try to add OBS itself to "Ignore Windows", but failed. Could you add an option to pause switcher when OBS itself is active window?

2.I spotted that plugin support Regular Expression in match window title. I try to set up a window titled "\d+" and it fail to match it (plugin catch it when I set rule as "\\d\+" ). I guess title-match is always working as Regular Expression mode. Maybe you can add an option to certain every rule is "title equal match" or "regular expression match", emmm, maybe more it's more clear to intention and user-friendly.


----------



## Warmuptill (Oct 6, 2016)

woodbyte said:


> I can't replicate some behavior from the old version using the current build. Specifically:
> 
> {
> "StartMessageDisable": true,
> ...


Found the issue, fixing it. Thanks!


KomeijiKuroko said:


> Hello! I wanna to suggest to add some features.
> 1.If I use "When no window matches - Switch to", I find that *when active window is OBS itself* , plugin will still switch to the scene I set. When I click another scene, it change back immediately. Built-in plugin will not do this, as it will pause when OBS is active window and you can change scene manually. I try to add OBS itself to "Ignore Windows", but failed. Could you add an option to pause switcher when OBS itself is active window?
> 
> 2.I spotted that plugin support Regular Expression in match window title. I try to set up a window titled "\d+" and it fail to match it (plugin catch it when I set rule as "\\d\+" ). I guess title-match is always working as Regular Expression mode. Maybe you can add an option to certain every rule is "title equal match" or "regular expression match", emmm, maybe more it's more clear to intention and user-friendly.


Regarding your first point:
The built in scene switcher only switches scenes when the active window title changed (lastTitle != title). This is not useful for me however since i need to check other switching conditions (like Screen Region switches and Scene Round Trips) and be ready to switch scenes accordingly and fall back to the backup scene accordingly.
I could however add another tab "Pause Windows" that contains a list of window names that will cause the scene switcher to stop until that window title is no longer in focus (similar to Pause Scenes). Would that work for you?
(Ignore Windows just acts as if the window title did not change. So if the last window title caused the plugin to switch to the backup scene it will still do that on the ignored window)

Regarding your second point:
I cant seem to recreate your problem. I tested it using "\d+.txt - Notepad" as a window name to match the window title "123.txt - Notepad" and i didn't need to add any escape characters. In fact if i did it would no longer match. Can you describe your situation in more detail so i can try to find the issue?


----------



## Warmuptill (Oct 6, 2016)

Warmuptill updated Automatic Scene Switching with a new update entry:

Fixed issue with fullscreen detection preventing switchto backup scene



> Fixed issue with fullscreen detection preventing switchto backup scene.
> 
> Thanks to woodbyte for reporting the issue!



Read the rest of this update entry...


----------



## KomeijiKuroko (Oct 7, 2016)

Warmuptill said:


> Found the issue, fixing it. Thanks!
> 
> Regarding your first point:
> The built in scene switcher only switches scenes when the active window title changed (lastTitle != title). This is not useful for me however since i need to check other switching conditions (like Screen Region switches and Scene Round Trips) and be ready to switch scenes accordingly and fall back to the backup scene accordingly.
> ...




Thanks very much!
*About first point*: Pause Windows may be useful to me! But I spotted the ListBox in the "Ignore Windows" didn't have item of OBS itself. Then I add OBS title and plugin title manually, it will not act as "Ignore Windows". Then I add OBS and plugin title to "General" tab, it still not work.

Here is my steps:

Switch to a new scene set
Add 2 scene, "Scene_A", "Scene_B"

Add OBS and plugin title to "Ignore Windows"; Go to "General" tab, add a rule for a random window C (eg. Chrome, Notepad) to switch to Scene_A, and no-match window goes to Scene_B.
Switch to Window C, you can see scene goes to Scene_A, then you switch to OBS ( not use Alt-Tab, just click, not 
maximize every window). Scene goes to Scene_B ( expect Scene_A)
Test#2: Go to "General" tab, add a rule for OBS to switch to Scene_A. Switch to Window C, scene is Scene_A, OK. Then switch window to OBS, Scene becomes Scene_B ( expect Scene_A )
Although title of OBS is very long,  I am sure I type every word correctly( I use GetWindowText Tool and Copy-Paste). Then I try to use Regex in "General" tab for OBS (  _*OBS.**_ ) . It can catch every window with prefix "OBS" except OBS itself. And I found that Ignore Windows doesn't support Regex. Maybe whole plugin ignore OBS itself in any case.
Maybe you would consider this problem when developing "Pause Windows"
*

And second point*:
I am sorry and maybe I got something wrong. I read your source code and found plugin try to "equal match" first and then "Regex match".

I do this and I can't even recreate my problem...Maybe something wrong I did.

Create a html file:

```
<html xmlns="http://www.w3.org/1999/xhtml"><head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title> \d+ </title>
</head>

<body>
    Hello World!
</body>
</html>
```

Open it in Chrome , and add a rule "\d+ - Google Chrome" go to Scene_A
It works! (It didn't work before I post first comment, maybe I forget something.)
According your source https://github.com/WarmUpTill/SceneSwitcher/blob/master/advanced-scene-switcher.cpp , window will be catched in "equal match". I must have done something incorrectly.

But notepad is not good, you can't create a file whose name contains "\", so the title name will not contains "\"

Thank you very much!


----------



## woodbyte (Oct 8, 2016)

Warmuptill said:


> Warmuptill updated Automatic Scene Switching with a new update entry:
> 
> Fixed issue with fullscreen detection preventing switchto backup scene
> 
> ...



Thanks for the quick fix, working perfectly now!


----------



## Warmuptill (Oct 8, 2016)

Warmuptill updated Automatic Scene Switching with a new update entry:

Added hotkey back, added pause windows, fixed bugs/freezes/crashes, removed memory leak



> Added hotkey back. (You can find it under settings -> hotkeys -> toggle start/stop advanced scene switcher)
> Added pause windows (functions like pause scenes).
> Removed a memory leak on opening the settings for the scene switcher.
> Fixed ignore windows not catching OBS main window title(also for new pause windows). (Thanks to KomeijiKuroko)
> Fixed OBS freeze / crash on close that could occur in rare cases when...



Read the rest of this update entry...


----------



## KomeijiKuroko (Oct 11, 2016)

Warmuptill said:


> Warmuptill updated Automatic Scene Switching with a new update entry:
> 
> Added hotkey back, added pause windows, fixed bugs/freezes/crashes, removed memory leak
> 
> ...


Thank you very much for your work , it is much better now !

Pause window works very well, with support of catching OBS main window title, but I find one thing, is that pause window and ignore window don't support regex.

I tried to use OBS.* and it failed to catch OBS itself. OBS title is too long, I think, Regex "OBS 0.16.2 (64bit, windows) - Profile: .* - Scenes: .*  "  might be a common solution for user who changes profile frequently.


----------



## woodbyte (Oct 12, 2016)

I think there's still a small bug left with the Fullscreen function. Take the previously mentioned rule:

[Fullscreen]: (.*) (only if window is fullscreen)

It is being activated by simply focusing on the desktop (explorer.exe, Progman class), unlike all the other system related contexts which appear to be excluded (Shell_TrayWnd, MultitaskingViewFrame, etc.).


----------



## Jack0r (Oct 12, 2016)

Maybe a stupid idea as I am not sure if the frontend allows it, but would it be possible to select a different transition to use for a switch to scene X or Y ?
So you could set your automatic switch to use a swipe-left for a switch to scene X and a swipe-right for scene Y for example. And probably the default being "use default transition".


----------



## Warmuptill (Oct 13, 2016)

Jack0r said:


> Maybe a stupid idea as I am not sure if the frontend allows it, but would it be possible to select a different transition to use for a switch to scene X or Y ?
> So you could set your automatic switch to use a swipe-left for a switch to scene X and a swipe-right for scene Y for example. And probably the default being "use default transition".



That's a good idea. I will look into it when I find time. Thanks for the suggestion!


----------



## EposVox (Oct 13, 2016)

Am I missing something? It won't let me input negative coordinates. But on my 3 monitor setup, the coordinates start going into the negatives...


----------



## Warmuptill (Oct 13, 2016)

EposVox said:


> Am I missing something? It won't let me input negative coordinates. But on my 3 monitor setup, the coordinates start going into the negatives...


Oh i didn't know that is possible. I will enable negative values. Thanks for pointing this out!


----------



## woodbyte (Oct 13, 2016)

The switcher is deactivating itself when I restart OBS.


----------



## Jack0r (Oct 13, 2016)

The value is limited to 0 in the .ui file, maybe its enough to change that  to -100000?


----------



## EposVox (Oct 13, 2016)

Yeah, from what I can tell, if your "Main Monitor" is set to the middle screen, then any left or up-left ones become negative values, since the top-left of your main screen is 0,0

(Also I'm not finding a .ui file to edit)


----------



## Warmuptill (Oct 13, 2016)

Warmuptill updated Automatic Scene Switching with a new update entry:

Added transitions ,added file support, bug fixes, memory leak fix



> You can now specify a transition for the different scene switches. (this might reset your scene switcher settings, sorry if this is the case)
> 
> Added the option to use files to control the scene switcher. (you can write the current scene to a file using the scene switcher and read from a file to switch to a scene)
> 
> ...



Read the rest of this update entry...


----------



## EposVox (Oct 14, 2016)

It's now working perfectly for me! Thanks so much.


----------



## Warmuptill (Oct 14, 2016)

Warmuptill updated Automatic Scene Switching with a new update entry:

Added transitions per scene switch



> Added the feature suggested by Jack0r:
> 
> You can configure a transition for each scene switch. You can set it up under the new tab "Transitions".
> 
> Also reordered the tabs.



Read the rest of this update entry...



Let me know if everything is working as expected. 

Also, do you think the transition rules specified in the new "Transitions" tab should always have the highest priority to set transitions or should I make an exception for Scene Round Trips, since it is possible to configure a transition for it, too?


----------



## Jack0r (Oct 14, 2016)

Awesome work. The original idea came from @Tehran: https://obsproject.com/forum/thread...depending-on-which-scene-you-switch-to.55908/ (I mainly had the idea to ask you ;D)
For his usage he will combine Screen Region detection with the Transitions selection. Maybe a checkbox "overwrite other transitions" would work in this case?

Edit: One thing I noticed, it also changes the currently selected transition in OBS to the transition it uses. That might be something OBS itself could handle differently, like offer the option to select a one-time transition or maybe you have the option to use it as a quick transition (like in studio mode)?


----------



## woodbyte (Oct 16, 2016)

A "Mute audio" toggle per-rule or just for the backup scene would be helpful, if it's something you can do or believe should even be in this plugin. If not, I understand.

By audio here I mean the "Desktop Audio" shown by OBS.


----------



## Warmuptill (Oct 17, 2016)

woodbyte said:


> A "Mute audio" toggle per-rule or just for the backup scene would be helpful, if it's something you can do or believe should even be in this plugin. If not, I understand.
> 
> By audio here I mean the "Desktop Audio" shown by OBS.


Thanks for the suggestion, but i don't think audio control fits the scene switcher plugin. However, if there is a lot of demand for it I will change my mind and will add it to the plugin.


----------



## ThoNohT (Oct 18, 2016)

Warmuptill said:


> Thanks for the suggestion, but i don't think audio control fits the scene switcher plugin. However, if there is a lot of demand for it I will change my mind and will add it to the plugin.


Why not switch to a scene without the audio sources. I would agree that this does not fit in a scene switcher.


----------



## woodbyte (Oct 25, 2016)

Warmuptill said:


> Thanks for the suggestion, but i don't think audio control fits the scene switcher plugin. However, if there is a lot of demand for it I will change my mind and will add it to the plugin.



I understand.



ThoNohT said:


> Why not switch to a scene without the audio sources. I would agree that this does not fit in a scene switcher.



I tried that, but I wasn't able to disable the "Desktop Audio" on a per-scene basis. It seems to be a global toggle no matter how I do it, but I might have missed something. If you know of a way to do it, please share.


----------



## ThoNohT (Oct 26, 2016)

woodbyte said:


> I tried that, but I wasn't able to disable the "Desktop Audio" on a per-scene basis. It seems to be a global toggle no matter how I do it, but I might have missed something. If you know of a way to do it, please share.


Sure, remove it as an audio device in the audio settings. Then add it as an audio source from the sources box. Then you can add it to every scene that needs it using "Add existing".


----------



## Insaniaeter (Oct 28, 2016)

Might it be possible to add an optional "transition" to stop recording/streaming ?
Would be nice, so you can create a scene for an outro with a specific length, routing via round trip to an "exit" scene which automatically stops recording.
No need for cutting afterwards.

Could be implemented in the "general" tab as a transition probably ?


----------



## woodbyte (Oct 31, 2016)

ThoNohT said:


> Sure, remove it as an audio device in the audio settings. Then add it as an audio source from the sources box. Then you can add it to every scene that needs it using "Add existing".


Thanks, that worked beautifully! And sorry for going a bit off-topic here.


----------



## Lizza Sullivan (Nov 6, 2016)

hello..I've just upgraded from 16.2 to 16.4 
and suddenly plugins (Auto Switcher v1.1.1) I installed before was gone, now I can;t use auto switcher scene like in version 116.2, does any one have the same problem..?thanks


----------



## Gary Mazzola (Nov 9, 2016)

Jack0r said:


> Awesome work. The original idea came from @Tehran: https://obsproject.com/forum/thread...depending-on-which-scene-you-switch-to.55908/ (I mainly had the idea to ask you ;D)
> For his usage he will combine Screen Region detection with the Transitions selection. Maybe a checkbox "overwrite other transitions" would work in this case?
> 
> Edit: One thing I noticed, it also changes the currently selected transition in OBS to the transition it uses. That might be something OBS itself could handle differently, like offer the option to select a one-time transition or maybe you have the option to use it as a quick transition (like in studio mode)?



Is there a manual available? I have 3 webcams. im trying to set it up so it will switch to a different camera every 15 sec as a dissolve/or fade. i have automatic scene switcher and advanced scene switcher.


----------



## Warmuptill (Nov 10, 2016)

Gary Mazzola said:


> Is there a manual available? I have 3 webcams. im trying to set it up so it will switch to a different camera every 15 sec as a dissolve/or fade. i have automatic scene switcher and advanced scene switcher.



You need to set up three different scenes (one for each camera).
Then - under the "Scene Round Trip" tab - set up the order and delay you want to use. (for example: scene1 -> wait 15 seconds -> scene2 , scene2 -> wait 15 seconds -> scene3, scene3 -> wait 15 seconds -> scene1).
Finally you can configure the transition for each switch in the Transitions tab or already in the Scene Round Trip tab.
After activating the scene switcher everything should be working and once you manually or automatically switch to the "scene1" scene of the above example the switching will start. 
To cancel the Scene Round Trip manually switch to a different scene.


----------



## Radown (Nov 10, 2016)

Hello, (sorry if it's been answered already, can't seem to find it anywhere),
What would be the different inputs supported through "Switching of scene based on file input"?
Could I do something like: if(window = 'WindowNameString') {
                                              Scene.SwitchTo = 'SceneName'
                                       }
In my case such a format would allow to use a different scene based on the game you're playing, and of course add a default scene to avoid loop or code crash, " DefaultScene = 'String' ".
I can't quite figure it out on my own.

- Your canadian pal, Radown.


----------



## Warmuptill (Nov 10, 2016)

Radown said:


> Hello, (sorry if it's been answered already, can't seem to find it anywhere),
> What would be the different inputs supported through "Switching of scene based on file input"?
> Could I do something like: if(window = 'WindowNameString') {
> Scene.SwitchTo = 'SceneName'
> ...


The file input is just meant to be used if you want to remote control the scene switching. You can specify a path to a file which contains the name of the scene you want to switch to under the File Input / Output tab (I am not 100% sure if i named it like that). There you can also set up a file to write the currently selected scene to. 

So this is probably not going to be useful for your case. What are you trying to achieve? If it is just window title based scene switching you can just use the built in scene switcher.

Sorry if I caused some confusion with the description of this file based scene switching.


----------



## Radown (Nov 10, 2016)

Well, see the thing is, I can't get to make the scene switch in-between games, exemple: Lobby Scene -> Startup Overwatch -> Overwatch scene - > Close overwatch -> Lobby scene -> startup Hearthstone - > Hearthstone scene. And so on. I might need a little clarification as to how scene switcher works if I'm completly off the track


----------



## Warmuptill (Nov 11, 2016)

Radown said:


> Well, see the thing is, I can't get to make the scene switch in-between games, exemple: Lobby Scene -> Startup Overwatch -> Overwatch scene - > Close overwatch -> Lobby scene -> startup Hearthstone - > Hearthstone scene. And so on. I might need a little clarification as to how scene switcher works if I'm completly off the track


This can be done with the built in scene switcher, no need to download a plugin. You can access it under tools -> automatic scene switcher.

The scene switcher will just get the name of the window that is currently in focus (for example your overwatch game window with the fitting name "Overwatch") and use that information to decide if to switch scenes.
You will have to assign the window title "Overwatch" to your overwatch scene and "Hearthstone" to your hearthstone scene. (Never played Hearthstone myself so I am not sure if that is the correct window title).
Then you will have to select to switch to your Lobby Scene if no window title matches.
And lastly you have to make sure the scene switcher is activated and everything should be working.

If you need further help let me know.


----------



## yxuf (Nov 18, 2016)

Very interested in a Mac compatible version. Love the concept. Thanks for your hard work!


----------



## cwbshaw (Nov 23, 2016)

Hi....

Fantastic plugin. I have one suggestion for a feature though....

We use OBS Studio to live stream lectures/presentations (I work in a college). Up to now, I have been using the standard switcher that comes with OBS Studio to start a lecture with lecturer/presenter on camera in fullscreen, and then when the presenter starts PowerPoint (or whatever application used to present content), the scene automatically switches to fullscreen PowerPoint with lecturer/presenter picture-in-picture.

What I would really like to be able to do is to automatically switch back to fullscreen camera after a configurable number of seconds if the lecturer/presenter hasn't interacted with PowerPoint within that time and then stay in fullscreen camera until the lecturer/presenter clicks for the next PowerPoint slide. 

What I'm looking for is partly in the plugin already....I can use the 'Scene Round Trip' to switch from a PiP scene to a fullscreen scene after XX seconds, but I can't automatically go back to the PiP scene upon detection of the keyboard/mouse activity which would indicate interaction with PowerPoint.

If you think this is doable, I'd be happy to test....

Again, super plugin, and thanks in advance.

Chris.


----------



## Warmuptill (Nov 24, 2016)

Warmuptill updated Automatic Scene Switching with a new update entry:

Idle Detection, Auto Stop Stream/Recording, Executable, Improved Screen Region tab,MacOS version



> Added the Idle Detection feature suggested by cwbshaw:
> You can now specify a time span, after which, if no inputs were detected, it will switch to the specified scene. (Can be useful for scene switches during lectures / AFK detection during streaming, etc.)
> 
> Added the option to stop streaming / recording if switched to a specified scene in the Scene Round Trip tab. (suggested...



Read the rest of this update entry...

*Thanks to dasOven for implementing his suggested feature himself!
Thanks for the suggestions cwbshaw and Insaniaeter! 
*


----------



## cwbshaw (Nov 24, 2016)

Wow! I wasn't expecting such a fast turnaround on this. 

Super job Warmuptill and dasOven. Downloaded the plugin and tried it. Works perfectly, exactly what I was looking for. 

Thanks a million. 

Chris.


----------



## cwbshaw (Nov 26, 2016)

Hi....

Just thought of a possible enhancement to the Idle Detection feature. I suspect it won't be easy or even possible to implement, and if that's the case, no problem.....but just thought I would ask anyway.

As I mentioned in a previous post, I was looking for a feature (which became Idle Detection) to switch from a Lecturer/Presenter PiP to Lecturer/Presenter fullscreen if that person was talking longer than XX seconds without changing slides. The Idle Detection feature should do exactly what I was looking for, but there is one possible exception.

There are some occasions where the lecturer/presenter has switched to a slide with an embedded video, or they may switch to another application (Eg: Firefox/Youtube, VLC, Windows Media Player etc). to play a video as part of their presentation. On those occasions it would be great if we could configure the scene switcher to ignore idle detection while the video is playing....i.e. on those occasions we would like the scene to stay PiP for the duration of the video regardless of the idle detection timeout.

Like I said above, perhaps this is just not programmatically possible. Given how many ways a video can be played in Windows, I doubt there is a universal API call that could be used to detect a video playing regardless of the playing method.

I'm not a programmer myself, but I did a bit of googling on the subject and found these if they might help:

http://stackoverflow.com/questions/...grammatically-determine-if-a-video-is-playing
http://stackoverflow.com/questions/11177373/how-to-detect-if-any-video-is-being-played-now

Admittedly these also seem to say there is no 100% way to detect a video playing. They do mention whitelisting of applications, and also using an API to access the screensaver settings. Just thinking out loud.....would it be possible to use whatever timer Windows uses to go into screensaver?

Anyway, if it's not possible, not a big deal and we can always work around it by setting the idle detection timeout >= length of longest video in the presentation.

Like I said, I just thought I would throw it out there and ask anyway.

Thanks for all your help.

Chris.


----------



## John Hollowell (Nov 26, 2016)

This crashes OBS if you try to switch scene collections with the plugin active.


----------



## Warmuptill (Nov 26, 2016)

cwbshaw said:


> Hi....
> 
> Just thought of a possible enhancement to the Idle Detection feature. I suspect it won't be easy or even possible to implement, and if that's the case, no problem.....but just thought I would ask anyway.
> 
> ...



I will have a look into it. (Tested the screensaver way, doesn't seem to work)



John Hollowell said:


> This crashes OBS if you try to switch scene collections with the plugin active.



Which features of the advanced scene switcher are you using?(I can't seem to recreate the crash, so any additional information would be much appreciated!) Does the application crash or just freeze? Thanks for reporting the issue!


----------



## BADOXAskul (Nov 27, 2016)

Warmuptill said:


> This problem occurs because I am using a "," to separate values you can enter in the plugin options and these programs use the "," in their window name. This causes the plugin to only read the part before the first "," as the window name it is looking for to switch scenes. (For your example it only reads "Rocket League (32-bit" as the window name and assumes the rest are different parameters)
> 
> You can however just replace
> "Rocket League (32-bit, DX9),RocketLeague-Scene" with "Rocket League \(32-bit. DX9\)".
> ...







hello there again, sorry for so long to reply, it still does not work, i did for both games and none work, i even copy paste what you have typed, still no result :/


----------



## Warmuptill (Nov 27, 2016)

BADOXAskul said:


> hello there again, sorry for so long to reply, it still does not work, i did for both games and none work, i even copy paste what you have typed, still no result :/



This should not be necessary anymore. This problem was caused when you had to enter the settings in the properties of the scene switcher options source and needed to separate the values with a ",". Now you can just enter the name of window in the UI.

Btw you don't need to download this plugin anymore for these simple cases, because OBS now has a built in scene switcher, that you can access via the Tools menu.


----------



## OBSnewby (Nov 30, 2016)

Hi, thanks for your plugin.
I came up using your plugin from an OSx system without issues, and now im trying to replicate my workflow with OBS in Windows 7 and OBS 0.16.6

In previous versions of the plugin, I used to write the *code* for the Round trip on my notepad once, (just a simple 4-5 ways the cameras switches) and then copy and paste it multiple times so my cameras keep switching in the desired orden dozens of times...

Is there a way to do this without having to manually set up them one by one on this newer version? A kind of *loop* function on Round Trip Mode?
Really thanks!


----------



## Warmuptill (Nov 30, 2016)

OBSnewby said:


> Hi, thanks for your plugin.
> I came up using your plugin from an OSx system without issues, and now im trying to replicate my workflow with OBS in Windows 7 and OBS 0.16.6
> 
> In previous versions of the plugin, I used to write the *code* for the Round trip on my notepad once, (just a simple 4-5 ways the cameras switches) and then copy and paste it multiple times so my cameras keep switching in the desired orden dozens of times...
> ...



You could just use one additional switch case to return to the beginning of the scene round trip, so for example:

*cam1* -> wait for 3 seconds -> cam2
cam2 -> wait for 3 seconds -> cam3
cam3 -> wait for 3 seconds -> ...
                    ...
  ...    -> wait for 3 seconds -> *cam1*

This will create a loop.


----------



## OBSnewby (Nov 30, 2016)

OBSnewby said:


> Hi, thanks for your plugin.
> I came up using your plugin from an OSx system without issues, and now im trying to replicate my workflow with OBS in Windows 7 and OBS 0.16.6
> 
> In previous versions of the plugin, I used to write the *code* for the Round trip on my notepad once, (just a simple 4-5 ways the cameras switches) and then copy and paste it multiple times so my cameras keep switching in the desired orden dozens of times...
> ...


Never mind, I found the way to do that. Just put the first scene as your last one, and the swtiching will restart... duh
really thanks! :)


----------



## OBSnewby (Nov 30, 2016)

22


Warmuptill said:


> You could just use one additional switch case to return to the beginning of the scene round trip, so for example:
> 
> *cam1* -> wait for 3 seconds -> cam2
> cam2 -> wait for 3 seconds -> cam3
> ...


Thats right! really thanks! your plugin rocks!


----------



## OBSnewby (Dec 4, 2016)

Warmuptill said:


> You could just use one additional switch case to return to the beginning of the scene round trip, so for example:
> 
> *cam1* -> wait for 3 seconds -> cam2
> cam2 -> wait for 3 seconds -> cam3
> ...



Hi,
In early versions of the plugin, I could set up different round trips for my cameras.
For example, I wrote the code for lets say, round trip A with cameras 1-2-3-4 with 5 secs interval between them
and a different round trip, lets say B, with cameras 4-3 with 10 secs interval between them.
and copy that code on my notepad or text editor for later use.

One day I copy and paste code for round trip A for my recordings, other day I would use round trip B.

Is there a way to do this with the new version of the plugin? Could I recommend an SAVE/LOAD round trips option for next upgrades?
It would be helpful for this kind of needs
thanks!

Ps. could you provide a tutorial on how to use write to file/read from file options?  thanks again!

Ps2 I managed to to a workaround and get a B roundtrip just duplicating my camera scenes, changing their names, and assigning  them a different shortcut.. then adding the roundtrip from automatic scene switcher tool....but I ended with too many scenes on my OBS...its a mess :) I would be nice to find a less intricated or messy way of doing this. :)


----------



## Warmuptill (Dec 4, 2016)

Warmuptill updated Automatic Scene Switching with a new update entry:

Improved Idle Detection and Scene Round Trip



> Added the option to temporary disable the Idle Detection depending on the window name of the window that is currently in focus (does support regular expressions)
> 
> Added the option to save Scene Round Trip configuration to a file and load Scene Round Trip configuration form a file. This was suggested by *OBSnewby*.
> 
> I still have not found the reason for the crash reported by...



Read the rest of this update entry...


----------



## OBSnewby (Dec 4, 2016)

Warmuptill said:


> Warmuptill updated Automatic Scene Switching with a new update entry:
> 
> Improved Idle Detection and Scene Round Trip
> 
> ...


Awsome news! Really thanks Warmuptill!


----------



## Warmuptill (Dec 4, 2016)

OBSnewby said:


> Awsome news! Really thanks Warmuptill!


You can just overwrite the old version with the new one and you are good to go. Your settings will be not be deleted by doing that.
If you experience any issues with the new version let me know and I will try to fix it!

Ah nevermind, seems like you got it to work. :D


----------



## Dm7755 (Dec 8, 2016)

Very useful plugin! Only problem I'm having is that when I try to set transitions between scenes, it doesn't seem to work? I mean my OBS seem to just use whatever was on default not the one I have assigned in automatic scene switching's transition tab. It works in every other tabs though. What am I doing wrong? XD Thanks in advance!


----------



## Warmuptill (Dec 8, 2016)

Dm7755 said:


> Very useful plugin! Only problem I'm having is that when I try to set transitions between scenes, it doesn't seem to work? I mean my OBS seem to just use whatever was on default not the one I have assigned in automatic scene switching's transition tab. It works in every other tabs though. What am I doing wrong? XD Thanks in advance!



The transitions you set in the scene switcher only work when the scene switcher is switching scenes, not when you are doing it by hand.

If that is not the problem you are experiencing, can you make an example so that I can recreate the problem on my end and try to fix it?


----------



## Dm7755 (Dec 8, 2016)

Thanks Warmuptill,

I'm still confused on the purpose of transitions in this one. I don't see how I can use it other than doing it by hand because in other tabs you assign the transitions to them anyway. Can you please clarify it up? Thanks.


----------



## Warmuptill (Dec 8, 2016)

Dm7755 said:


> Thanks Warmuptill,
> 
> I'm still confused on the purpose of transitions in this one. I don't see how I can use it other than doing it by hand because in other tabs you assign the transitions to them anyway. Can you please clarify it up? Thanks.


It can be useful for the Screen Region switches for example. You could set up to use a swipe from left to right when switching form your left monitor to your right one, but use right to left swipe for switching from right monitor to the left one. Or you could use it to specify transitions if you read the scene from file. Or if you simply want a different transition depending on if you just were on your pause scene or just a normal scene. So there are a few cases it can be useful.

I should probably add a description of some sort on that tab however, since it is not really clear that it can only be used by the scene switcher itself and not the user.


----------



## Dm7755 (Dec 10, 2016)

Thank you, that helped a lot. Sorry for the confusion, but I'm glad we got that sorted out!


----------



## Djuulsh (Dec 14, 2016)

Hello there. 

Will there ever come out a Linux version of this application ?

I'm just curious :)


----------



## Warmuptill (Dec 14, 2016)

Djuulsh said:


> Hello there.
> 
> Will there ever come out a Linux version of this application ?
> 
> I'm just curious :)


I havn't looked into it yet.
(I just assumed something is causing problems since even the built in scene switcher is not supported on Linux, if I am not mistaken.)


----------



## Djuulsh (Dec 15, 2016)

Warmuptill said:


> I havn't looked into it yet.
> (I just assumed something is causing problems since even the built in scene switcher is not supported on Linux, if I am not mistaken.)



You can maybe have a point there. But so many developers are making extra features, there shouldn't even be possible. So maybe it could be a thing there can happen :D


----------



## artsyomni (Dec 31, 2016)

Really like how robust this plugin is. Excellent work!

Just wanted to make a suggestion. I think it'd be really helpful if there was an option to have the settings used under the Transitions tab in the Advanced Scene Switcher apply to switching scenes manually from the main OBS window, overriding whatever transition is set in the main window.

Perhaps this could be implemented as a checkbox under the Transitions Tab (eg: "Override active transition for manual scene switching" or something like that).

Just as a use case example, I have a set of scenes I use for art streams, and one of the scenes is a simple "I'll be right back!" screen ("BRB"). I want to use a specific transition when switching from my "Photoshop" scene to the "BRB," and another specific one when switching back from "BRB" to "Photoshop." Obviously I can this by having Quick Transitions handy, but it would be nice to not have to worry about accidentally hitting the wrong button and using the wrong transition for a specific scene switch.


----------



## Draven Meex (Jan 6, 2017)

Idle Detection isn't working.  I check the box, close the window, come back to the tab and the box is unchecked.  No real help on the tab, either... just "has been added".


----------



## Lauren Jackson (Jan 8, 2017)

I think you need to update your windows install instructions. I'm not the best when it comes to fiddling with programs but it took me a while to figure out how to actually install it. For those of you who are stuck like I was...

1. Download and extract the zip file. Open 'SceneSwitcher', select your operating system, open 'obs-studio', open 'obs-plugins', select your system type (32/64-bit) and cut/copy the .dll file. My file path was:    *C:\Users\Lauren\Downloads\SceneSwitcher\SceneSwitcher\Windows\obs-studio\obs-plugins\64bit*
2. Find the Program file for obs-studio, open 'obs-plugins', select 32/64-bit. My file path was: *C:\Program Files (x86)\obs-studio\obs-plugins\64bit*
3. Paste the .dll file in the location mentioned above.
4. Reopen the OBS studio program and select the Tools menu. You should now see the Advanced Scene Switcher option.

Hope this helps clear the mud!

Lauren


----------



## diffi (Jan 26, 2017)

Great job on this plugin, it's really needed. :) A have a quick question: trying to set up different transitions for different scenes, decided to go with the "Switching of scenes based on file input" way. It switches OK, but the defined transitions in the Transitions tab don't have any effect. Is this a bug, or is there something I need to put in the txt file in the first place (right now I'm just specifying the scene name).

Great thanks, cheers! :)


----------



## Warmuptill (Jan 26, 2017)

diffi said:


> Great job on this plugin, it's really needed. :) A have a quick question: trying to set up different transitions for different scenes, decided to go with the "Switching of scenes based on file input" way. It switches OK, but the defined transitions in the Transitions tab don't have any effect. Is this a bug, or is there something I need to put in the txt file in the first place (right now I'm just specifying the scene name).
> 
> Great thanks, cheers! :)


That is a bug (simply forgot to add the transition check there). I will try to fix it soon.


----------



## gamerscircle (Jan 27, 2017)

I did some looking through the forums in regards to this plugin and since I don't know the terminology, I thought I would just come out and ask.

I don't have a very complicated setup, but I was curious if I was able to mute my mic when I press the hotkey for my be Right Back screen?


----------



## Warmuptill (Jan 27, 2017)

gamerscircle said:


> I did some looking through the forums in regards to this plugin and since I don't know the terminology, I thought I would just come out and ask.
> 
> I don't have a very complicated setup, but I was curious if I was able to mute my mic when I press the hotkey for my be Right Back screen?


This is currently not possible with this plugin.


----------



## diffi (Jan 28, 2017)

gamerscircle said:


> I did some looking through the forums in regards to this plugin and since I don't know the terminology, I thought I would just come out and ask.
> 
> I don't have a very complicated setup, but I was curious if I was able to mute my mic when I press the hotkey for my be Right Back screen?



Why not add a mute / unmute hotkey in the OBS itself, same as your BRB scene? Does it conflict or something?


----------



## Warmuptill (Feb 3, 2017)

Warmuptill updated Automatic Scene Switching with a new update entry:

Added option for default transition per scene. Added Idle Detection for MacOS. Bug fixes



> Added the option to set a default transition for each scene. This is meant for manual scene switching and not the automated ones caused by the scene switcher itself. (The transitions set for automated scene changes take higher priority)
> 
> Transitions tab now also works for scene changes if the scene is read from a file (Thanks to diffi...



Read the rest of this update entry...


----------



## Stroe Radu (Feb 4, 2017)

Hi there, is there someone here who uses this scene auto-switcher for streaming poker on Pokerstars?
1. I don't know how to make Jivaro appear while using the window captures, any idea how can this be done? :(
2. I am struggling to make autoswitches between scenes..sometimes it works, sometimes it gets stuck on one of the tables :(...I am putting a table on each scene and map each table to each scene on the plugin, I use duplicate scenes which have only the poker table (window) as the difference  but it's not working..I might be going wrong about doing this...any tips?
Thank you!


----------



## Warmuptill (Feb 4, 2017)

Stroe Radu said:


> Hi there, is there someone here who uses this scene auto-switcher for streaming poker on Pokerstars?
> 1. I don't know how to make Jivaro appear while using the window captures, any idea how can this be done? :(
> 2. I am struggling to make autoswitches between scenes..sometimes it works, sometimes it gets stuck on one of the tables :(...I am putting a table on each scene and map each table to each scene on the plugin, I use duplicate scenes which have only the poker table (window) as the difference  but it's not working..I might be going wrong about doing this...any tips?
> Thank you!



I am not familiar with Jivaro so I cant really help there.

Are you using the built in scene switcher or this plugin? (if you are using this plugin which parts of it?) It would be great if you can describe your setup in more detail (what are the window names/ are you using regular expressions) or even take a screenshot of your settings and send it to me so I can try to assist you further!


----------



## Rhindon7 (Feb 9, 2017)

With 11 pages of comments, I don't know if this has been addressed or not...
I downloaded, unzipped, and copied the _obs-studio_ folder in your plugin to the OBS installation folder (later to the _plugins_ folder) and it didn't seem to recognize that there's this new plugin available for the _Advanced Scene Switcher_. According to your instructions on your website, I need to look for the Tools drop-down menu, but the latest version of OBS doesn't seem to have that option. I've searched everywhere else and I don't know what to do to access this plugin.
I'm using OBS v0.659b.

Any thoughts on how I can make this work?
Thank you! :)


----------



## RytoEX (Feb 9, 2017)

Rhindon7 said:


> With 11 pages of comments, I don't know if this has been addressed or not...
> I downloaded, unzipped, and copied the _obs-studio_ folder in your plugin to the OBS installation folder (later to the _plugins_ folder) and it didn't seem to recognize that there's this new plugin available for the _Advanced Scene Switcher_. According to your instructions on your website, I need to look for the Tools drop-down menu, but the latest version of OBS doesn't seem to have that option. I've searched everywhere else and I don't know what to do to access this plugin.
> I'm using OBS v0.659b.
> 
> ...


This plugin is for OBS Studio, not OBS Classic (regular OBS, old OBS, OBS v0.6xx).  That's the issue you're having.


----------



## Rhindon7 (Feb 10, 2017)

RytoEX said:


> This plugin is for OBS Studio, not OBS Classic (regular OBS, old OBS, OBS v0.6xx).  That's the issue you're having.



Oooh, okay. Well, that makes more sense then. Thank you for the clarification.


----------



## RytoEX (Feb 10, 2017)

Rhindon7 said:


> Oooh, okay. Well, that makes more sense then. Thank you for the clarification.


No problem!  Sorry if my initial reply was terse.  I was on my way out the door at the time.


----------



## timpa009 (Feb 11, 2017)

Problem: Whenever I set my OBS to english (Normally I run swedish) it crashes instantly (as soon as I start OBS) with this message: "Whoops, OBS has crashed! Would you like to copy the crash log to the clipboard? (Crash logs will still be saved to blablabla...)" [Yes/No]

[Crash Log]


----------



## Warmuptill (Feb 13, 2017)

timpa009 said:


> Problem: Whenever I set my OBS to english (Normally I run swedish) it crashes instantly (as soon as I start OBS) with this message: "Whoops, OBS has crashed! Would you like to copy the crash log to the clipboard? (Crash logs will still be saved to blablabla...)" [Yes/No]
> 
> [Crash Log]


Sorry about that!
I cant recreate the crash on my end, so I sent you a message on how you can send me the settings of you scene switcher.

EDIT: Found the source of the crash, just waiting for confirmation that it is indeed fixed


----------



## mcdoolz (Feb 13, 2017)

Hey, apologies for posting without installing and looking for myself, but can this utility switch scenes based on microphone input?

I would like the camera to switch depending on the source of audio.

Audio is received by microphone
While gain is < X, count seconds
If count reaches threshold switch scene to X


----------



## Warmuptill (Feb 13, 2017)

mcdoolz said:


> Hey, apologies for posting without installing and looking for myself, but can this utility switch scenes based on microphone input?
> 
> I would like the camera to switch depending on the source of audio.
> 
> ...


That is currently not supported.
Something similar is implemented however, based on keyboard / mouse inputs. Maybe that could work for you.


----------



## Warmuptill (Feb 14, 2017)

Warmuptill updated Automatic Scene Switching with a new update entry:

Crash fix (Executable based scene switching)



> Just a small fix for of a crash pointed out by timpa009. Thanks!
> 
> (Executable based scene switch entries were wrongfully pointing to the regular window based scene switches. During cleanup this could lead to a crash if you had more executable based scene switches than regular ones )



Read the rest of this update entry...


----------



## Laope (Feb 16, 2017)

hi
obs crash everytime i try to change to a different scene collection,
i got the last version of Automatic Scene Switching.

i removed the .dlls of the plugin and the problem fixes.

further investigation:
i you have the plugin ON, you got a crash when do a scene collection switch.
if you have it off, yo can do a scene collection swith without problems.

but

if you have the plugin ON, got a crash, restart obs and try to turn OFF the plugin, obs will crash again.


----------



## ElleTey (Feb 17, 2017)

I stream League of Legends with Obs Studio, and when I tab out of the game for just a second it switches the scene, which is really annoying, is there anyway to fix this?

Before you tell me to use "ignore windows", I can tell you that I added everything I could think of, and it doesn't work at all. Even when I hold alt and press tab, the list of windows I can choose from is enough for the scene switcher to activate. 

I never had this issue in the standard version of OBS


----------



## Warmuptill (Feb 17, 2017)

ElleTey said:


> I stream League of Legends with Obs Studio, and when I tab out of the game for just a second it switches the scene, which is really annoying, is there anyway to fix this?
> 
> Before you tell me to use "ignore windows", I can tell you that I added everything I could think of, and it doesn't work at all. Even when I hold alt and press tab, the list of windows I can choose from is enough for the scene switcher to activate.
> 
> I never had this issue in the standard version of OBS


You can use executable based scene switching. Regarding your point using ignore windows, you probably forgot to add the window of the Alt-Tab program itself, called "Task Switching". This gets picked up by the scene switcher and you will fall back to the scene you specified when no window title matches.
The built in scene switcher behaves the same way, regarding the "Task Switching" window, maybe you just used a very long interval and that prevented the switching?


----------



## Warmuptill (Feb 17, 2017)

Laope said:


> hi
> obs crash everytime i try to change to a different scene collection,
> i got the last version of Automatic Scene Switching.
> 
> ...


I think i found a fix for it. I will send you a message with a build of the fixed version to confirm that it is working.


----------



## Warmuptill (Feb 17, 2017)

Warmuptill updated Automatic Scene Switching with a new update entry:

Fix for OBS freeze on scene collection change



> This update addresses the issue of OBS freezing when changing scene collections pointed out by Laope!
> 
> This fix will prevents the plugin from detecting the OBS window name. So functions like Ignore Windows will now ignore the OBS window. The MacOS version should not be affected.
> (If I find a workaround I will make sure to enable it again)
> ...



Read the rest of this update entry...


----------



## ElleTey (Feb 18, 2017)

I don't understand how the Executable's work, there's no info in the original post.

It also says don't run 2 programs at the same time and put them in the list, and league of legends as you know is 2 program running at the same time, so I would risk bad behavior?

Task Switching is not in the list of programs I can choose between in the "ignore windows" tab.


----------



## Warmuptill (Feb 18, 2017)

ElleTey said:


> I don't understand how the Executable's work, there's no info in the original post.
> 
> It also says don't run 2 programs at the same time and put them in the list, and league of legends as you know is 2 program running at the same time, so I would risk bad behavior?
> 
> Task Switching is not in the list of programs I can choose between in the "ignore windows" tab.


I did not implement the Executable's tab myself, thats why it is missing of the overview page, but you are right in that i should change that.
The warnig only refers to running 2 of the same program at the same time. So two pvp.net clients or two leagueoflegends.exe. So that should not be a problem.

You can just write "Task Switching" in the textfield and click on the plus sign to add it. The reason it does not show up in there is that the scene switcher creates the window titles listed in there when you open it from the Tools -> Advanced Scene Switcher button. During that time the Task Switching program is not running so it is not listed.


----------



## TuckingFypoツ (Feb 26, 2017)

Hey so small question but I installed the plug-in correctly and all the files are in their right spots but when I load up obs studio I don't have a tools tab. Only File, Edit, View, Profile, Scene Collection, Help.


----------



## Warmuptill (Mar 2, 2017)

TuckingFypoツ said:


> Hey so small question but I installed the plug-in correctly and all the files are in their right spots but when I load up obs studio I don't have a tools tab. Only File, Edit, View, Profile, Scene Collection, Help.


Are you sure you are using OBS Studio? (and not the classic version)


----------



## TuckingFypoツ (Mar 3, 2017)

Warmuptill said:


> Are you sure you are using OBS Studio? (and not the classic version)


Yes, I've been using OBS Studio for the longest time now.


----------



## Warmuptill (Mar 3, 2017)

TuckingFypoツ said:


> Yes, I've been using OBS Studio for the longest time now.


Are you maybe using a version of OBS Studio older than 0.16.2? That was the version that introduced the frontend API and the built in scene switcher along with it (which can also be found under the tools menu). 
Unfortunately i don't know of any way to enable or disable to tools dropdown option, sorry.


----------



## martin elder (Mar 3, 2017)

Hi there. I would like to use the Scene Round Trip feature so that my 3 scenes automatically cycle through using a fade transition every few seconds. I've set the Scene Round Trip up like so:

SCENE1 -> wait for 5 seconds -> SCENE2 (using fade transition)
SCENE2 -> wait for 5 seconds -> SCENE3 (using fade transition)
SCENE3 -> wait for 5 seconds -> SCENE1 (using fade transition)

When I hit start, it only goes from the scene I'm currently on to the next one, and doesn't cycle through the rest. Have I set it up correctly? Can anyone please tell me how to achieve this constant cycle? Thanks in advance!


----------



## TuckingFypoツ (Mar 3, 2017)

Warmuptill said:


> Are you maybe using a version of OBS Studio older than 0.16.2? That was the version that introduced the frontend API and the built in scene switcher along with it (which can also be found under the tools menu).
> Unfortunately i don't know of any way to enable or disable to tools dropdown option, sorry.


Fugggg : ^) I'm on 0.15.4 maaaaaaybe I should fix that. Ayyyyyyyyyyy that fixed it. Hopefully this helps other people too. "Just remember to be on Version 0.16.2 +"


----------



## Warmuptill (Mar 4, 2017)

Warmuptill updated Automatic Scene Switching with a new update entry:

Bug fix for scene round trip



> Thanks for pointing out the issue martin elder!
> 
> Sorry about this bug. (To remove this bug I temporarily disabled the wait for the transition animations to finish. Instead the scene switcher will just switch back immediately)
> If you encounter any issues or have suggestions, please let me know.



Read the rest of this update entry...


----------



## RandopelaajaMr (Mar 12, 2017)

Hi... i use windows 10 and i use a LOT virtual desktop, so.... the problem is, that when i switch to the app (wich is on ignore list) to another virtual desktop it just switch that scene what i set on general "when no window matches"

but if that get fix then this is just perfect plugin <3

(using obs 18.0.1 64bit)


----------



## gaberilde (Mar 15, 2017)

yes i notice the plugin is broken in 18.0.0 or higher please fix the problem 17 or bit lower is fine (not lower then 16 according to a above comment)

it glitches out when i use the auto scene transition changer and keeps showing the old scene and such.. need to stay 17 until its fixed


----------



## RandopelaajaMr (Mar 15, 2017)

RandopelaajaMr said:


> Hi... i use windows 10 and i use a LOT virtual desktop, so.... the problem is, that when i switch to the app (wich is on ignore list) to another virtual desktop it just switch that scene what i set on general "when no window matches"
> 
> but if that get fix then this is just perfect plugin <3
> 
> (using obs 18.0.1 64bit)



and just asking why i cant put obs studio on windows ingore list? (it not show on list)


----------



## Romigo (Mar 24, 2017)

Some suggestions:

1 - Scene Round Trip - when media ( VLC playlist ) in current scene ends 
      (I dont know the length of playlist, or Im lazy to measure it )  

2 - Scene Idle detection  (more then 20 seconds of freezed still window, black  )  ===>  switch to different scene

3 - Time Shedule   

10:00:00  Scene1 cut
11:00:00  Scene2 cut
........

              I would be nice if somebody can fix that :)


----------



## OBSnewby (Apr 7, 2017)

Hi, i was using advanced switcher on obs 16.0.6 with no issues, but i was forced to upgrade to 18 and the tool was gone. Now Ive downloaded the last versionof the tool, unziped and merged it, restarted OBS but advanced switcher still not showing on TOOLS tab... how can I fix this? Im on windows 7 
Really thanks!


----------



## Chase_ (Apr 17, 2017)

Awesome functionality in this! Can someone explain the syntax with switching based on a file input? Is it the same as when you write a scene round trip to file?

I also got a feature request. It'll help if I explain that I use OBS (or Xsplit, Wirecast) to livestream events to my youtube channel. This typically involves putting a broadcast schedule and working with announcers to provide commentary. I've been searching for a solution to automate the scene transitions. Particularly when we go to and from a commercial break. The automatic scene switching solves that. The next piece I need is a teleprompter. Ideally, I would have a separate monitor display a countdown clock to the next scene transition, talking notes for the current scene, name of the current and next scene. I quickly wrote a VBA program for the last broadcast I did and reference an excel file. It worked fine except I still had to manually switch scenes.

So the request is a teleprompter integrated with the auto scene switcher. I would think the gaming community could make some use out of this as well. I'm open for discussion and any suggestions.

Thanks ahead of time!


----------



## mrgusse (Apr 19, 2017)

Would it somehow be possible to use this scene switcher to detect whether or not CSGO is connected to a game server, and make it switch to "gaming scene" automatically. And when not connected to a game server it should revert back to a "waiting scene" ?


----------



## OBSnewby (Apr 19, 2017)

OBSnewby said:


> Hi, i was using advanced switcher on obs 16.0.6 with no issues, but i was forced to upgrade to 18 and the tool was gone. Now Ive downloaded the last versionof the tool, unziped and merged it, restarted OBS but advanced switcher still not showing on TOOLS tab... how can I fix this? Im on windows 7
> Really thanks!


I did a reinstall of the plugin, this time worked just fine. thanks!


----------



## moatdd (Apr 22, 2017)

Could we have a toggle option to make the "Read from file" function only override scene switching if the text file is blank?

This way I can temporarily allow another program to override the scene switching by writing to this file, and then resume normal scene-switching operation(by way of screen regions or roundtrips, etc.) by clearing it.


----------



## lonnielevi (Apr 27, 2017)

I'm not sure if you take suggestions here, but we use your round trip function during PowerPoints to swap between the camera and the PowerPoint scenes when PgDn on the clicker is used. Is there any way that a key press, PgDn, can reset the round trip timer? We are getting an issue where the presenter will click PgDn moments before the round trip triggers and it will switch back to the camera too quickly.


----------



## Chinadrgn (May 10, 2017)

The hot keys won't work to switch the scenes.

I have two monitors and the main is on the rotated on its side in a portrait position on the right. The other monitor is oriented to landscape to the left.

I don't know if that's an issue or not.

Thanks


----------



## highhands89 (May 10, 2017)

Hello, first off, I just wanted to say thank you so much for this! It's super helpful!

I'm wondering if it's possible to make a scene do a round trip where the end result is whatever scene was previously on screen? For example, if a poker streamer had a scene set up for each individual table, would it be possible to go to a separate scene that contains a short video clip, but then automatically go back to the previous scene (i.e. the table looking at prior to the video)?


----------



## Ze manel (May 16, 2017)

My OBS STUDIO crash randomly and freeze on scenes sometimes when i use this wonderful plugin.

I have 4 scenes and i configured 3 Scene Round Trip with different wait times. 

Any ideas about fix that bug?


I have the last build of OBS STUDIO 18.0.1 and the last build of ASS 1.3.3.

Such a nice plugin! Congrats to developers / creators!


----------



## David Carver (May 22, 2017)

Is there plan to support Linux systems now that with 19.x that OBS Studio's automatic scene switcher supports Linux?


----------



## Bao Dang (May 22, 2017)

Hi,

I have tried searching to see if this has already been asked, but to no avail. I apologize if this has been asked before.

With that said, I am trying to figure out a way to automatically switch scenes after a certain amount of time if the webcam does not detect any movement.

So after 5 seconds or so of the webcam being idle, I want it to switch to a different scene that is a slideshow of still images.

After that, I need for it to automatically switch back to the scene with the webcam once it detects movement again.

So after the webcam detects movement again, I need for it to switch from the still slideshow back to the live feed from the camera.

Is this possible? Please let me know if it is!

Great plugin, by the way.


----------



## Robertsmania (May 30, 2017)

I stream VR with one PC running the game content and a second streaming PC running OBS and getting the video via an HDMI capture card.

I would love to have the streaming PC do automatic scene switching based on what the game PC is running.

Searching around so far I've found some remote control and winsock stuff, but nothing with integrated auto scene switching.  Is there any way you can see to get that to work with what is already there, or would you consider adding network support?


----------



## Robertsmania (May 30, 2017)

Okay, nevermind I think I found something to do the trick: https://r1ch.net/blog/findwindowlan


----------



## Paul Kimbrel (Jun 1, 2017)

What is the license of this plug-in?  Is it the same as OBS itself?


----------



## dodgepong (Jun 1, 2017)

OBS plugins must be released under a license that is compatible with the GPLv2.

It would probably be good for Warmuptill to explicitly add licensing information to the source code repo, just for the sake of clarity.


----------



## Cren (Jun 3, 2017)

Hey. Is there a way to do the following?
On window focus: Game Scene
On focus loss -> wait x seconds -> still not focus -> Alt Tabbed Scene (I realised that via a duplicate of main and roundtrip to alt tab scene where the alt tab scene is also a break scene and stops the roundtrip; But it doesn't switch back to Game Scene on focus gain :-/ )

Like the idle feature just without the idle part.
Also an inverse nomatch feature like:
If window.hasFocus then scene.switch(window).


----------



## CaptainCripp1e (Jun 5, 2017)

This is a great concept for a plugin especially when I cannot use autohotkey at the same time as having a bot and chat screen open. The problem I am experiencing is that the plugin tends to crash OBS Studio 19.0.2. If I hit the hotkey to start scene round trip, it often freezes OBS Studio, or I cannot stop the rotation. The only fix I've found so far is to remove the scenes from scene round trip and then put them back in. I am using two Elgato HD60Pros, three logitech webcams on a core i7 4790K with 32GB of RAM and NVIDIA GeForce 970. I am rotating four scenes.


----------



## NicOnAcid (Jun 17, 2017)

CaptainCripp1e said:


> This is a great concept for a plugin especially when I cannot use autohotkey at the same time as having a bot and chat screen open. The problem I am experiencing is that the plugin tends to crash OBS Studio 19.0.2. If I hit the hotkey to start scene round trip, it often freezes OBS Studio, or I cannot stop the rotation. The only fix I've found so far is to remove the scenes from scene round trip and then put them back in. I am using two Elgato HD60Pros, three logitech webcams on a core i7 4790K with 32GB of RAM and NVIDIA GeForce 970. I am rotating four scenes.



ive got the same problem with the scene round trip. everytime i activate or deactivate the plugin with the hotkey, obs freeze for the amount of time, the switching time is set to. so if i set a switch to "after 120s", it freeze for 2min. after i hit the hotkey.

if i hit "start" on the general tab, obs dont freeze. if i hit stop, it freeze again.

any suggestions?


----------



## blackmagickfox (Jul 4, 2017)

This may or may not have been covered as I noticed there was a bug mentioned on "scene round trip" with scene switcher, but I am having issues that I simply can't figure out how to fix.. I have got the general switching to work properly, but I have set it up to have two scenes on each window. one with an overlay with active tickers and one without.. since what i am trying to accomplish is an art stream, I want the normal window to show most of the time, but after every say 3 to 3 and a half minutes I want the overlay with scrolling info to show over my windows (sai/photoshop) for a few seconds,, maybe at most a minute or so and then go away again.. so essentially, scene 1 shows, and will switch as I actively switch between windows (this function is already accomplished) and as I am drawing, the viewer will see, after 3 min, scene 2 for a minute and then back to scene 1.. this is how I am understanding the scene round trip to work, but for me what is going on is great till the overlay shows on the screen for less then a flash and is then gone. perhaps a good setting to add would be something that lets you specify how long you want the next scene  to show for?  so like wait x amount of seconds, then switch from 1 to 2 for y amount of seconds?  I don;t know and I may just be screwing it up, I am not a programmer, I am an artist. lol >_<


----------



## Zacudax (Jul 6, 2017)

Hello ... I have a question to ask. You can enter a timer to change the scene. 

example

At 20:00 or 8:00 pm
From scene1 to scene2
and
At 20:30 or at 8:30 pm
From scene2 to scene1

Would be a great option


----------



## kodec (Jul 11, 2017)

How do i block the entire app and not just one window?

window class does not work


----------



## Brett Glass (Jul 12, 2017)

I have a feature request which I bet will help a lot of folks who do live streams using multiple cameras. I would like to open several "Windowed Projector" windows in OBS (perhaps tile the monitor with them) -- each for a different scene -- and then click on the scene I want to take effect. I've tried to use the current app and plugin to do this, but it does not work because the "projector" windows do not appear on the plugin's list (and do not get the focus when clicked).

This would be a KILLER feature for live multi-camera broadcasts. One could select from several scenes -- not only individual camera scenes but a split screen scenes using used multiple cameras, digitally zoomed close-up scenes, or PIP scenes -- just by clicking one! While it would be adequate to specify to the plugin which transition to use for each scene change, it might also be possible to specify a transition on the fly, perhaps via a mouse gesture such as a movement to the left or right or clicking on a particular part of the projector window.

Seems to me that this would be a logical extension of the plugin's existing functionality, and not too hard to implement given the plugin's current capabilities.


----------



## redbb (Jul 15, 2017)

_*Can you help with Installation on macOS Sierra? *Please see step 3, there is my problem._

Extract the folder - _done ;)_
Open the MacOS folder - _done ;)_
Rigth click the OBS application and choose "Show Package Contents". Open the "Resources" folder inside the OBS application - _*drop-up does not have "Show Package Contents" *- how can I access that???_
Move the "SceneSwitcher.so" file inside the obs-plugins folder - _can not proceed because of step 3..._
Move the contents of the "data" folder in the one of your OBS application - _can not proceed because of step 3..._
Configure the settings (see next section) - _can not proceed because of step 3..._
_In general I am interested in: *the option to configure a _*sequence of automated scene switches *_(Scene Round Trip tab). If this can be achieved by other methods - feel free to punt my attention to possible solution.

Thanks in advance!_


----------



## myxologyst66 (Jul 29, 2017)

This plugin does NOT work! I followed the install instructions, i have the latest obs software and the latest windows update, all the files copied over to the proper places but the advanced scene switcher does not show up in my tools menu.  This is beyond frustrating because there should just be a video slide show option just like the image one. WTF!?


----------



## myxologyst66 (Jul 29, 2017)

myxologyst66 said:


> This plugin does NOT work! I followed the install instructions, i have the latest obs software and the latest windows update, all the files copied over to the proper places but the advanced scene switcher does not show up in my tools menu.  This is beyond frustrating because there should just be a video slide show option just like the image one. WTF!?



Update: The installation instructions were apparently wrong because the sceneswitcher.dll file never made it to the 64bit plugins file. I copied it in and it now seems to be working. Glad i wasted 2 hours on this. Seriously, just put a video slideshow in.


----------



## dodgepong (Jul 29, 2017)

You can do video playlists with the VLC source.


----------



## Noodlebox (Jul 29, 2017)

I'm getting a weird bug when using the "Scene Round Trip" Panel. Every Time you set a very high time limit, it freezes and crashes such as setting it to 1800s and then try to close out from OBS Studio, while the Advance Scene Switcher is on. Also there is bug when the scene doesn't switch at all to when setting the timer too high 1200+s on one of the two scenes.

Another bug when trying to de-activate Advance Scene Switcher when the two bugs have happened OBS Studio Freezes and Crashes too.  (It's on the Advance Switcher Side not the Automatic Switcher Side, when try to de-activate it.  But switching the scene doesn't work though.)

Another bug when you manually try to switch scenes,  the advance switch scene switcher doesn't pick up from that and doesn't switch scenes anymore.  Maybe due to setting the timer really high on one of the two scenes.

???? Also there another bug when setting up between two scenes, the cut and fade doesn't switch between each other on the 'first' list but you can switch off 'fade and cut' to the second scene and the rest from the list.  Hmmm it did happen, now it doesn't seem to happen anymore not sure why.  Maybe when you activate scene switcher or turn off. ???
-----
Oh and I set one scene for 720s and the second scene for 39s.


----------



## OBSnewby (Aug 2, 2017)

MUSIC TEACHER ORIENTED SCENE ROUND TRIP or AUTOMATIC SCENE SWITCHEr PLUGIN

Hi, Im aware a vast majority of guys are using obs for gaming, but there are others like me that use OBS as main software to record our music videos and/or broadcast live.

For those music teachers, I have a plugin or function request that maybe you could contemplate?

I do drum videos and live lessons with multicameras and written music with obs (ie. drum patterns and rhythms) so the student can watch me play from different angles and see the drum tab of what Im playing. I do this by having 2 screen monitors, using one for my music editor software whit drum tab exercises, which then it is captured with obs as a scene superimposed with my video cameras. The other monitor is for OBS live view.

In music teaching, many lessons include 4-5 or more individual exercises that must be read in a row.
When doing a lesson, it is frustrating to have to stop playing and scroll the drum tab to another exercise...it makes the lesson longer, killing the lesson fluidity... so the idea is having a plugins or function added to OBS so a scene roundtrip could be set not in seconds, but in BEATS (metronome clicks)

So we need a plugin metronome inside OBS. Here is what for:
To music teachers like me it would be great having like a round trip function that switches selected scenes in a programmed order but with a function that allow us to switch to scenes in metronome clicks. S

So I set a tempo of the metronome and make a roundtrip so the scene changes after four 4/4 bars (16 beats). I press a PLAY button so the metronome and the roundtrip starts and thats all. Music teachers will be able to play and show different music tabs switching between them without the need of stopping. This will improve our music videos in great manner.


I hope I can make my mind clear explaining it. If you are a teacher and think could be interesting having this plugins roundtrip/metronome feature (or if you are a music student and would love seeing more fluid and less extensive music tutorials or live lessons), have ideas or improvements to this feature, please comment here.
Is there a chance you could think doing something about this?

You can contact me via pm to get more detailed explanation of what would be needed. 


Really thanks
drum!


----------



## Orthrin (Aug 12, 2017)

Hello, I created forum account to write this post. First of all its excellent tool thank you for creating this I was looking for it.
But I have a problem I am intended to record creativity videos with programs such 3ds Max and Photoshop and on these programs title are not static mostly for example;

In photoshop when you first open the program title is : "Adobe Photoshop CS6"

When you create new document to work on the title becomes: "Untitled-1 @ 33.3% (RGB/8)" ->
OBS does not recognizing after shifting windows because of the title

When you save the file even without a name it becomes: "Untitled-1.psd @ 33.3% (RGB/8)" ->
OBS does not recognizing after shifting windows because of the title

If I name the document it won't recognize the window again.

I can change scene switcher names everytime when I start recording but It would't be an automatic switch this way.
So, Can you switch title recognization to process name recognization like window capture did. because photoshop.exe or any other program's process name never changes.

Another feedback is "only if window is fullscreen" mode could be improoved to include windowed full screen mode

If you consider I would be glad Thank you and sorry for my bad English.


----------



## NicOnAcid (Aug 15, 2017)

NoodleboxP said:


> I'm getting a weird bug when using the "Scene Round Trip" Panel. Every Time you set a very high time limit, it freezes and crashes such as setting it to 1800s and then try to close out from OBS Studio, while the Advance Scene Switcher is on.



In your Case, OBS will freeze for 1800s. Ive got the same Issue.

If you want to Stop the Plugin: Try to delete the Switches in the SceneRoundTrip Tab first, close the Settings and close OBS. Re-open OBS, make sure the Switches are gone, Stop the Plugin from the Settings. This works most of the Time for me.


----------



## p2bben (Aug 28, 2017)

Hello, is it possible to "say" a scene, to switch to the next scene only if the current scene is ending?

At the Moment i use the scene Switch over the "Read from File" function. It read Tags from my Audio Playout...

The Problem, in a Commercial Break sometimes it is not sync. So a Video -Spot is sometimes cut of some Seconds bevor the End of the Video Spot, because the Audio Playout is writing the next scene sometimes earlier...

If it wold give a Chance to "say" the scene Switcher "Play the scene till the End and read the next scene after finish the OnAir Playing scene" it wold be perfect, to work together with a Radio Playout for VisualRadio.

I try to do it with the Pause Function but it don´t work for me. 

You can watch the Station on: https://playout.3qsdn.com/6092bb9e-8f72-11e4-a173-002590c750be
It is a test Playout in SD Video. 

Best regards
Ben


----------



## nbtc971 (Aug 31, 2017)

What if I wanted to auto transition to a game from a 'stream starting soon' scene once advanced auto switcher detects the game window?


----------



## RCstream (Sep 9, 2017)

I have the following idea for a new feature. It would be really useful if I could set an automatic scene change when the playlist in my VLC playlist completes.


----------



## awrebels (Sep 27, 2017)

Is there a way to make the manual hotkey use the automatic scene switchers Transition settings? For example making Scene 1 to Scene 2 using a specific transition but be triggered by a hotkey


----------



## Liquidor (Sep 27, 2017)

I'm not sure if this is intended or not, but apparently having an Executable added on the list of the Executable plugin by dasOven disables the list/options in the General tab.
I was hoping to mix the two: Game/Software on the executable and a Browser window in the General tab, but the General tab doesn't run when doing the above.

Is the above a bug?

Suggestion: A better way to detect a specific Chrome Browser tab (window) that changes its title over time. This may be an OBS issue though.


----------



## Meks (Sep 29, 2017)

This addon is awesome! Does what is says. Here is something I would like to see added:

A pause button/hotkey so I don't have to stop the process entirely. Because if I do my frames freeze up for a 15 seconds or so. I mostly use the Scene Round Trip option because that fits my needs.


----------



## Hank Moon (Oct 9, 2017)

OBS noob here. So after setting up the Scene Round Trip, how do I apply it to the scenes? Or should it automatically apply? And if that is the case what might I be doing wrong that it wont automatically apply?


----------



## Marcelo Tavares (Oct 16, 2017)

Warmuptill said:


> Warmuptill submitted a new resource:
> 
> Automatic Scene Switching - Switches to specified scenes depending on which window is in focus
> 
> ...



Unfortunately don't switch automatically between CAMERA scenes in the Mac OS. Any fixed issue about this, please?


----------



## Geek Out SA (Oct 17, 2017)

The Advanced Scene Switcher is faily good but it it not working exactly how I want it to.

I set a scene switch to 20000ms it is does not always wait till that 20 seconds to switch. Sometimes it switches automatically. Sometime 3-10 ot 19 seconds. It is close sometimes but it is not consistent.

also does the scene switch go beyond 20000ms because that seems to be the limit.


----------



## alexthefirst (Oct 27, 2017)

Hi there,

Can I ignore windows by mask?

E.G. every browser's tab have unique name and I can't to add them all to "ignore windows" tab in obs. but it would be great if i can type something like "* - Mozilla Firefox" and all windows with Mozilla Firefox in the title will be ignored.


----------



## RytoEX (Oct 27, 2017)

alexthefirst said:


> Hi there,
> 
> Can I ignore windows by mask?
> 
> E.G. every browser's tab have unique name and I can't to add them all to "ignore windows" tab in obs. but it would be great if i can type something like "* - Mozilla Firefox" and all windows with Mozilla Firefox in the title will be ignored.



From a brief look at the code, it looks like the "ignore window" titles are compared directly with no pattern matching (glob, wildcard, regex, etc.).  For now, it seems you'll have to add those manually.


----------



## alexthefirst (Oct 27, 2017)

Clear.

Can I make a suggestion? Add mask function to "ignore window", It will be extremely helpful I think.


----------



## JeffHoogland (Oct 27, 2017)

Any chance we could get a Linux build for this? Specifically I'm looking to get an automatic scene switch after X time has passed.


----------



## Warmuptill (Oct 29, 2017)

Warmuptill updated Automatic Scene Switching with a new update entry:

Added full Linux / Mac Support and fixed some bugs



> Added option to sort diffrent Scene Switch methods by priority.
> Added support for Executable Tab on MAC OS
> Added Linux support
> 
> ...



Read the rest of this update entry...


----------



## JettWilliams (Oct 31, 2017)

Trying to update to version 1.4 on macOS 10.13. When I open OBS, there is no option for "Advanced Scene Switcher" under Tools. I have followed all the steps and uninstalled the previous version. 

Log file:
22:56:50.716: os_dlopen(../obs-plugins/advanced-scene-switcher.so->../obs-plugins/advanced-scene-switcher.so): dlopen(../obs-plugins/advanced-scene-switcher.so, 1): Library not loaded: /usr/local/opt/qt5/lib/QtWidgets.framework/Versions/5/QtWidgets
22:56:50.716:   Referenced from: /Applications/OBS.app/Contents/Resources/obs-plugins/advanced-scene-switcher.so
22:56:50.716:   Reason: image not found
22:56:50.716: 
22:56:50.716: Module '../obs-plugins/advanced-scene-switcher.so' not found


----------



## Warmuptill (Oct 31, 2017)

JettWilliams said:


> Trying to update to version 1.4 on macOS 10.13. When I open OBS, there is no option for "Advanced Scene Switcher" under Tools. I have followed all the steps and uninstalled the previous version.
> 
> Log file:
> 22:56:50.716: os_dlopen(../obs-plugins/advanced-scene-switcher.so->../obs-plugins/advanced-scene-switcher.so): dlopen(../obs-plugins/advanced-scene-switcher.so, 1): Library not loaded: /usr/local/opt/qt5/lib/QtWidgets.framework/Versions/5/QtWidgets
> ...



Thanks for letting me know about this, should be fixed now!
I also added the option to use regular expressions for the "ignore windows" option.


----------



## broadcastguy (Nov 1, 2017)

This is such a great add-on! Love the ability to switch from one scene to another automagically. I use this with an animated overlay that is persistent on both scenes but I'm unable to use the Stingers because I wish for it to remain after the reveal is completed. 

Are you able to add in the ability to either use frames as opposed to seconds, or add the ability for decimals? For example my cut must happen at 45 frames or 1.5 seconds. Thank you in advance!


----------



## mcdoolz (Nov 1, 2017)

Hi, how difficult would it be to add in scene switching based on audio input?

Basically it'd be super useful if "When source A volume > X then switch to scene B" etc


----------



## Alewater (Nov 12, 2017)

Thank you for creating a great plugin.

Is there a way to increase the length of time in the Scene Sequence, it's currently limited to 99.99s. 

I've tried changing the config file to 180000 (3minutes) but it still changes after 99.99s.

Thanks in advance

A


----------



## Dingis (Nov 18, 2017)

One of the main issues I am having is that on the scene sequence tab, the time alluded for switching is just way too short. If I want to have a timed 5 min intro I can't because it only goes up to 99 seconds. Could you perhaps modify it to increase this time? Other than that the plugin works really well. ...Just to edit this post, I had no idea that someone mentioned the same issue before me lol.


----------



## Warmuptill (Nov 19, 2017)

Dingis said:


> One of the main issues I am having is that on the scene sequence tab, the time alluded for switching is just way too short. If I want to have a timed 5 min intro I can't because it only goes up to 99 seconds. Could you perhaps modify it to increase this time? Other than that the plugin works really well. ...Just to edit this post, I had no idea that someone mentioned the same issue before me lol.


Sorry, I introduced this issue when I increased the precision of the timer. I just simply forgot to increase the default limit. Should be fixed now.


----------



## Zarock (Nov 23, 2017)

Hi Warmuptill
Your plugin is very great! I can finally do all the things I needed and couldn't with the built-in feature... expect one!
As this guy already reported, at this moment you can't Pause the switcher when OBS (or chrome) is on focus. They just don't appear in the drop down menu on Pause tab. This is actually very uncomfortable.
If I'm streaming, and have to check some scene on OBS, I just can't because I have (and need) the "switcher if no condition is met" enabled to a specific scene, and have to manually pause it, do all the checking and/or editing I need on the scene, and go to re-enable it.
The original Simple Switcher has this enabled for OBS by default, so I just don't see why your fantastic plugin can't have an option to toggle this feature too!


----------



## Dingis (Nov 25, 2017)

Warmuptill said:


> Sorry, I introduced this issue when I increased the precision of the timer. I just simply forgot to increase the default limit. Should be fixed now.



Wow thank you :)


----------



## 303 (Nov 27, 2017)

Hello,

thank you for your work on this plug in. I have been using it for maybe 3 weeks. I think I have exceeded the limit of what it can do and wonder if you can help.

I am streaming podcasts of approx 1 hour each. I need to switch to the next podcast when it is finished.

I have 85 podcasts. + 1 new podcast each week. I created a Scene for each one. I need to display a different jpg artwork for each podcast which is why so many scenes.
I am using the Round Trip feature.
Time count is more than 3500 seconds for every file.
It worked good up to approx 83 scenes. Then problems began.

At some point the plug in stopped saving any changes I made to the sequence of scenes. If I change the order of scenes or change the duration of seconds it does not recognize the change and reverts to a previous version of the round trip list. It updates in the list of round trip but ignores and if close and open again it shows old setting.

I do not seem to be able to clear out the old list. Even if I save to a file and edit the file it and reload it does not recognize the change. Does it have cache somewhere?

I also install the new 1.4 version to see if it is better. It doesn't allow time count of more than several seconds. If I try to use this plug in it changes 3000 seconds to 3.000 seconds for example.

I have tried to use a media player VLC with playlist but it cannot work with album art. It chooses one artwork and uses the same each podcast. It also cannot display artwork in OBS.

if you have any help suggestion I would appreciate it. thank you.


----------



## Warmuptill (Nov 28, 2017)

303 said:


> Hello,
> 
> thank you for your work on this plug in. I have been using it for maybe 3 weeks. I think I have exceeded the limit of what it can do and wonder if you can help.
> 
> ...



Found the issue, will fix it as soon as I can. Sorry about this! (Scene Sequences created with an older version cause this issue)


----------



## Warmuptill (Nov 28, 2017)

Zarock said:


> Hi Warmuptill
> Your plugin is very great! I can finally do all the things I needed and couldn't with the built-in feature... expect one!
> As this guy already reported, at this moment you can't Pause the switcher when OBS (or chrome) is on focus. They just don't appear in the drop down menu on Pause tab. This is actually very uncomfortable.
> If I'm streaming, and have to check some scene on OBS, I just can't because I have (and need) the "switcher if no condition is met" enabled to a specific scene, and have to manually pause it, do all the checking and/or editing I need on the scene, and go to re-enable it.
> The original Simple Switcher has this enabled for OBS by default, so I just don't see why your fantastic plugin can't have an option to toggle this feature too!



Hey,

you can just type a regular expression in the dropdown list matching your google chrome window.
"(.*)( - Google Chrome)(.*)" should do the trick.(without the quotes) 
Let me know if this works for you!


----------



## Zarock (Nov 29, 2017)

Warmuptill said:


> Hey,
> 
> you can just type a regular expression in the dropdown list matching your google chrome window.
> "(.*)( - Google Chrome)(.*)" should do the trick.(without the quotes)
> Let me know if this works for you!


Seems like I can't do such thing , also I personally don't need the feature for chrome (or browsers in general), but for OBS, which doesn't appear in the drop down menu


----------



## RytoEX (Nov 29, 2017)

Zarock said:


> Seems like I can't do such thing , also I personally don't need the feature for chrome (or browsers in general), but for OBS, which doesn't appear in the drop down menu



You just manually type it (the regular expression pattern) instead of select a pre-existing window title.


----------



## Warmuptill (Nov 29, 2017)

Zarock said:


> Seems like I can't do such thing , also I personally don't need the feature for chrome (or browsers in general), but for OBS, which doesn't appear in the drop down menu


That special case (detecting the window name of the OBS process) was disabled since it could cause OBS to freeze (on Windows). I changed it to now return "OBS" as the window title whenever the OBS process is in the foreground.
For you that means you need to download the "fixed" version and now "OBS" should come up in the dropdown list and (hopefully) everything should work as expected.
Please let me know if this quick change works for you! If it does not I will try to find a solution to make it work on the weekend :)

(Mac and Linux versions are unchanged)


----------



## Zarock (Nov 30, 2017)

Warmuptill said:


> That special case (detecting the window name of the OBS process) was disabled since it could cause OBS to freeze (on Windows). I changed it to now return "OBS" as the window title whenever the OBS process is in the foreground.
> For you that means you need to download the "fixed" version and now "OBS" should come up in the dropdown list and (hopefully) everything should work as expected.
> Please let me know if this quick change works for you! If it does not I will try to find a solution to make it work on the weekend :)
> 
> (Mac and Linux versions are unchanged)


First of all, thanks a lot for the support you're providing, it really means a lot for me right now.
Now, since I'm stupid as hell, from the RytoEx message I just learnt where I can manually type the window's name for the plugin to detect. I don't understand how I didn't figure it out before by myself.
In fact, I tried to detect if Firefox is on focus (just the browser and not a single tab) with the format you provided to me, and it perfectly works as intended.
For OBS, as you stated, it doesn't, for the reasons you explained, and I'm looking to download the "fixed" version, but on the main page I still see the v1.4.0. Did you provide the link somewhere, or are you still editing it as I'm speaking? Sorry for the dumb question (2nd time).
Thanks again for the committing you have into this work. Your plugin is surely helpful and can only improve over time


----------



## Warmuptill (Nov 30, 2017)

Zarock said:


> First of all, thanks a lot for the support you're providing, it really means a lot for me right now.
> Now, since I'm stupid as hell, from the RytoEx message I just learnt where I can manually type the window's name for the plugin to detect. I don't understand how I didn't figure it out before by myself.
> In fact, I tried to detect if Firefox is on focus (just the browser and not a single tab) with the format you provided to me, and it perfectly works as intended.
> For OBS, as you stated, it doesn't, for the reasons you explained, and I'm looking to download the "fixed" version, but on the main page I still see the v1.4.0. Did you provide the link somewhere, or are you still editing it as I'm speaking? Sorry for the dumb question (2nd time).
> Thanks again for the committing you have into this work. Your plugin is surely helpful and can only improve over time



Glad I can be of help and get this stuff working for you :D

Just download the 1.4 version on the main again, it will now contain the changes I mentioned earlier. (I just edited the release and changed the .zip archive to contain the "fixed" version. I should have been more clear about that, sorry)
Let me know if this change works for you, since I didn't test it properly yesterday.


----------



## Zarock (Dec 6, 2017)

Warmuptill said:


> Glad I can be of help and get this stuff working for you :D
> 
> Just download the 1.4 version on the main again, it will now contain the changes I mentioned earlier. (I just edited the release and changed the .zip archive to contain the "fixed" version. I should have been more clear about that, sorry)
> Let me know if this change works for you, since I didn't test it properly yesterday.


Ok man, seems like the "(.*)(OBS)(.*)" method is now working as intended. I tested this for 2 days straight and got absolutely nothing weird or broken! Thank you again man, I'm sure this will be useful not only for me!


----------



## Bigmonmulgrew (Dec 9, 2017)

Heres an idea of somethign to add to it, I cant find anything that will do it.

Switch to scene based on matching an image, not including transparency. That way to make an automatic transition you take a screenshot, Delete anything where the screen content changes leaving transparency. The scene switcher can look for a match and switch to a match, not comparing transparent areas. I have attacehd an image with an example, The top half represents the game window, the bottom half represents the image that could be used for the comparison

I appreciate this is not as simple as I'm making it sound but it is certainly beyond me to write from scratch so I thought I'd at least throw the idea out there


----------



## THE R3Y3S (Dec 11, 2017)

HI man, can u add in "scene sequence" the possibility to select in "switch to"  return in the last scene? 
For example, if i have scene 1,2,3. I set When "scene 1" is active switch to "last scene"  after "300 sec" using "Cut". If i was in scene 3 and then i switch to scene 1, after 300 sec automatic return in scene 3. The same if i switch from scene 2 to scene 1, after 300 sec return to scene 2.

Another thing. In "Transitions" if i set a switch from scene 1 to scene 2 with a determinate transition like cut, and then i set When scene "scene 1" is active change default scene transition to "fade", doesnt' work. Scene 1 preserve cut transition and not fade transition.


----------



## Pagliacci (Dec 27, 2017)

Hi, I'm using macOS Sierra v10.12.6, OBS 20.1.0, after copying file to ../OBS/Contents/Resources/obs-plugins and reopen OBS I found this on my log:

10:11:42.666: os_dlopen(../obs-plugins/advanced-scene-switcher.so->../obs-plugins/advanced-scene-switcher.so): dlopen(../obs-plugins/advanced-scene-switcher.so, 1): Library not loaded: /usr/local/opt/qt5/lib/QtWidgets.framework/Versions/5/QtWidgets
10:11:42.666:   Referenced from: /Applications/OBS.app/Contents/Resources/obs-plugins/advanced-scene-switcher.so
10:11:42.666:   Reason: image not found
10:11:42.666: 
10:11:42.666: Module '../obs-plugins/advanced-scene-switcher.so' not found

No Advance Scene Switcher on Tools.

If I install qt using "brew install qt5" and reopen OBS now my log shows:

10:35:18.241: ---------------------------------
10:35:18.299: Failed to load 'en-US' text for module: 'advanced-scene-switcher.so'
10:35:18.450: [VideoToolbox encoder]: Adding VideoToolbox H264 encoders
10:35:18.470: VLC found, VLC video source enabled
10:35:18.473: Failed to load 'en-US' text for module: 'obs-browser.so'
10:35:18.473: [browser_source: 'Version: 1.30.1']
10:35:18.473: ---------------------------------
10:35:18.473:   Loaded Modules:
10:35:18.473:     obs-browser.so
10:35:18.473:     vlc-video.so
10:35:18.473:     text-freetype2.so
10:35:18.473:     rtmp-services.so
10:35:18.473:     obs-x264.so
10:35:18.473:     obs-vst.so
10:35:18.473:     obs-transitions.so
10:35:18.473:     obs-outputs.so
10:35:18.473:     obs-filters.so
10:35:18.473:     obs-ffmpeg.so
10:35:18.473:     mac-vth264.so
10:35:18.473:     mac-syphon.so
10:35:18.473:     mac-decklink.so
10:35:18.473:     mac-capture.so
10:35:18.473:     mac-avcapture.so
10:35:18.473:     linux-jack.so
10:35:18.473:     image-source.so
10:35:18.473:     frontend-tools.so
10:35:18.473:     coreaudio-encoder.so
10:35:18.473:     advanced-scene-switcher.so
10:35:18.473: ---------------------------------

And now on Tools is Advance Scene Switcher, but if I click on it OBS crash.

Any idea on how to solve this?

Thanks in advance.-


----------



## Warmuptill (Dec 31, 2017)

Pagliacci said:


> Hi, I'm using macOS Sierra v10.12.6, OBS 20.1.0, after copying file to ../OBS/Contents/Resources/obs-plugins and reopen OBS I found this on my log:
> 
> 10:11:42.666: os_dlopen(../obs-plugins/advanced-scene-switcher.so->../obs-plugins/advanced-scene-switcher.so): dlopen(../obs-plugins/advanced-scene-switcher.so, 1): Library not loaded: /usr/local/opt/qt5/lib/QtWidgets.framework/Versions/5/QtWidgets
> 10:11:42.666:   Referenced from: /Applications/OBS.app/Contents/Resources/obs-plugins/advanced-scene-switcher.so
> ...


I am very sorry about the late reply.

It looks like I made a mistake during the compilation of the Mac version. The issue should now be resolved. Please download the new version (same link) and let me know if everything is working as expected now.

Thank you very much for pointing out this issue!


----------



## Michael Jh James (Jan 2, 2018)

Hi I am currently using a Mac (10.12.6) and I seem to be having Issues making the adjustments. I've seen tutorials online, but they're only for PC which have the "Tools" section. How do you access the auto scene switching section? It's really annoying me.


----------



## dodgepong (Jan 2, 2018)

Note: Michael came to chat and it turns out he was on an old version of OBS. Upgrading fixed his issue.


----------



## Pagliacci (Jan 3, 2018)

Warmuptill said:


> I am very sorry about the late reply.
> 
> It looks like I made a mistake during the compilation of the Mac version. The issue should now be resolved. Please download the new version (same link) and let me know if everything is working as expected now.
> 
> Thank you very much for pointing out this issue!



Bro, thanks for the help, I download the .so again with your fix and now loads correctly, no more errors about it.


----------



## Nick Brewer (Jan 7, 2018)

Hi! I'm having an issue with OBS Studio and the advanced scene switcher on my Mac. All of this worked fine on my PC, but I have this spare Mac Pro which I would love to make my dedicated streaming computer.

Computer: Mac Pro 5,1, 8GB ram, Radeon 5770 1gb
OS: Mac OS High Sierra 10.13.2
OBS Studio Version: 20.1.0
Scene Switcher Version 1.4.0
Cameras: 3 USB Logitech C615 1080p Webcams

When I'm using the Advanced Scene Switcher plugin OBS will crash randomly.
At first it would:
1. let me set up a scene sequence, start it and close the plugin window
2. The scene switching would never happen
3. When I try to open the plugin again OBS would crash every time.

Now it's crashing just trying to set up scene sequences.
OBS streams without issue if I don't attempt to use the scene switcher plugin. So I don't think it's an issue with my hardware, cameras & OBS by itself.

Any ideas what might be causing this? I've attached the Apple crash log if that helps. If there are any other logs or pertinent information you need please let me know.

Thanks!
-Nick


----------



## dodgepong (Jan 8, 2018)

FYI, I updated the title of the resource/thread to "Advanced Scene Switcher" since that is the name of the plugin.


----------



## Kcmartz (Feb 10, 2018)

Could someone take a look at this small thread (an issue w/ this plugin) to see what's exactly going on? https://obsproject.com/forum/threads/insta-crash-on-scene-collection-switching.80712 I cannot use my VLOG scene since it crashes on Scene Collections.


----------



## Warmuptill (Feb 18, 2018)

The scene collection issue should be resolved now. Thanks to everyone reporting this issue and sorry about the slow response time.


----------



## landsharkian (Feb 20, 2018)

Hi, Great scene switcher! it truly is hands down better than the basic.  Is there any way to incorporate a way to follow a "ball" between scenes?  I'm trying to stream foosball matches, and if there were ever a method to switch scenes based on the location of an object, I bet the hockey guys and tennis guys would love you forever as well.  often times the foosball is flying very fast, and switching between cameras is impossible manually, so an automated switcher would be amazing... ( Also Id like to automate it so I could actually play a match or two.)  Options for prioritizing what camera to pick if the ball is seen in multiple scenes would be awesome as well.  (if ball is seen in two or more scenes pick the most close up version for example)  I realize I'm a fool for asking and its probably very difficult or you would've included it already!  Im new to this whole OBS/Stream life so if my request is impossible its all good. thanks for your time, and your already lifesaving switcher!  It made my instant replay possible so I aint complaining! Foosball is bright pink on a green surface maybe that helps?)


----------



## J.L. Reid (Mar 2, 2018)

I'm having a problem where OBS can grab two particular windows as sources, however their window titles don't show up in Adv. Scene Switcher's Window Title dropdown. I'm on a linux machine, and I can grab/stream a Chromium (Chrome) window in OBS, but I can't set it to auto switch scenes whenever my browser window has the focus. The Atom text editor is giving me the same issue.

I've tried using regular expressions in the Window Title dropdown, but that doesn't work. Switching focus to either of those windows still does nothing.

Any advice/help?

Thanks!

-J.L.


----------



## J.L. Reid (Mar 4, 2018)

A quick follow-up.  I'm not the only one who's had this issue. Someone has posted a workaround called OBS-Controller on github, which I've tested and confirm works for the time being.

https://github.com/gdborton/obs-controller

Still, it would be best if the workaround could be avoided.

Thanks, again,

-J.L.


----------



## n3v3rm1nd (Mar 5, 2018)

How can I use the Transition tab but dont have to use the Advanced Szene Switcher?! It's the only functionality that I need so it uses fixed transitions to their respective Scenes. The built in one is not enough...


----------



## Jack0r (Mar 6, 2018)

@n3v3rm1nd, you can right-click a source and in the menu see "Transition Override". The transition you select there will be used if you switch to that scene. Maybe that is what you are looking for?


----------



## n3v3rm1nd (Mar 7, 2018)

Jack0r said:


> @n3v3rm1nd, you can right-click a source and in the menu see "Transition Override". The transition you select there will be used if you switch to that scene. Maybe that is what you are looking for?



yes but i want to have specific transitions from specific scenes which this function does not provide. I have 4 scenes but only the first and last schould transition fade, but the middle ones always with a stinger, not possible.


----------



## sshahzad14 (Mar 15, 2018)

Hi,
I have used advanced scene switcher and all the options provided in that are very helpful. I want to know how can i track the position of touch on the screen just like tracking the position of mouse pointer with getCurserPos() function. And if i want to create the plugin which works same as "screen region"  but not rely on cursor position instead rely on touch position; which platform will be more helpful for making that plugin.
Looking forward for any help :)


----------



## sshahzad14 (Mar 15, 2018)

Warmuptill said:


> Can you create an OBS plugin with touch detection function included in it.


----------



## masterac (Mar 17, 2018)

i love your plugin, i just have 1 issue, its the save/load option.

if saving do a file it seem i never can load it, which defeat the purpose of the save, any idea why ?


----------



## Warmuptill (Mar 18, 2018)

masterac said:


> i love your plugin, i just have 1 issue, its the save/load option.
> 
> if saving do a file it seem i never can load it, which defeat the purpose of the save, any idea why ?



Just an update for people, who are interested what the issue was:
As masterac found out, changing the language of OBS changes the names of some transitions. When trying to load a save file of scene sequences created while using a different language than the currently active one causes the loading of scene sequences to fail (because it contains invalid transition names).

Thank you for pointing this out!


----------



## Mamba (Mar 31, 2018)

How to setup this for Heroes of the Storm?


----------



## Warmuptill (Mar 31, 2018)

Mamba said:


> How to setup this for Heroes of the Storm?


What are you trying to set up?

If you just want to switch to a different Scene when the Heroes of the Storm game window is in the foreground, you can do that with the built in Scene Switcher in OBS Studio. It can be found under Tools -> Automatic Scene Switcher.


----------



## Mamba (Apr 1, 2018)

I want to make it similar to SC2 scene switcher, that when game/draft pop scene in OBS is changing. Heroes window name don't change at all so if it possible to set up something like this with this plugin?


----------



## Warmuptill (Apr 2, 2018)

Mamba said:


> I want to make it similar to SC2 scene switcher, that when game/draft pop scene in OBS is changing. Heroes window name don't change at all so if it possible to set up something like this with this plugin?



Sorry, I don't think this is currently possible with this plugin. The way the SC2 Scene Switcher used to work (could be different now) is to read a value in the Windows registry about the state of the game. That is not supported in this plugin.
(But I am not familiar with Heroes, so maybe there is a way)


----------



## DigitalDirector (Apr 9, 2018)

I've just tried installing this into OB for MacOS v21.1.1 and it looks like the plugin structure has changed.

There's no plugin folder in the resources, so I created one, but it doesn't seem to load.

There is a plugins folder under the MacOS folder and I dropped it in there but no joy either.

Our old MediaServerPro software seems to have gone offline now and so I'm looking at scheduling our playback via OBS, but need to be able to properly schedule scenes :)


----------



## DigitalDirector (Apr 10, 2018)

I ended up switching back to OBS 20.1.0 and now have it all working.  Will have to wait for an update for 21 onwards :D


----------



## Ari Michael Gibson (Apr 12, 2018)

How do you use this on Mac? There isn't a bar at the top of the screen for tools.


----------



## Warmuptill (Apr 13, 2018)

DigitalDirector said:


> I ended up switching back to OBS 20.1.0 and now have it all working.  Will have to wait for an update for 21 onwards :D


I can't seem to reproduce this issue using the version "21.1.1" of OBS. A reinstall of that version of OBS seems to have the same folder structure as before and the plugin loads as expected and works for me.








Ari Michael Gibson said:


> How do you use this on Mac? There isn't a bar at the top of the screen for tools.


Could it be that you are using a rather old version of OBS Studio? 
The image below shows the tools menu, that needs to be present even without installing a plugin. (The plugin only adds the entry "Advanced Scene Switcher" to the tools menu)


----------



## Solobottom (Apr 17, 2018)

I am having trouble with the writing to file and reading from file.. can't seem to get it to write to file when I switch scenes. 
Background: I run 2 PC setup.. Looking to run OBS Offline on game PC to identify the scene switches and then write this to a file, which then gets read by my stream pc to switch the scene (network harddrive).


----------



## radio meteor (Apr 17, 2018)

i want to stream 1 image(overlay) and 4 ip cameras with rtsp protocol, for now 1 had 1 scene and 5 sources , the image(overlay) its always up and  i change/switch manualy between the sources, but i want to do that automatic..
so i changed to 4 scens, scene-cam1, scene-cam2, scene-cam3, and scene-cam4, on any scne i have 1 cam and the same image(overlay), problem now i have.. when i swoitch between the 4 scnes, i have always 1-2 seconds a black image, the scenes are not directly switching between eatchother, there's a little delay/black space in it, it doesn't happend when i switch between the sources before.. Next i want the automatic scene switcher, is all the time switching for a certain time, par example 5000msec between the 4 ipcams, this is for a studio overviewcam, a dj cam, a interview cam, and a second interviewcam, so we have automatic all the cams in the stream..
Is this possible?
How?


----------



## Solobottom (Apr 18, 2018)

Solobottom said:


> I am having trouble with the writing to file and reading from file.. can't seem to get it to write to file when I switch scenes.
> Background: I run 2 PC setup.. Looking to run OBS Offline on game PC to identify the scene switches and then write this to a file, which then gets read by my stream pc to switch the scene (network harddrive).


still having this.


----------



## Warmuptill (Apr 19, 2018)

radio meteor said:


> i want to stream 1 image(overlay) and 4 ip cameras with rtsp protocol, for now 1 had 1 scene and 5 sources , the image(overlay) its always up and  i change/switch manualy between the sources, but i want to do that automatic..
> so i changed to 4 scens, scene-cam1, scene-cam2, scene-cam3, and scene-cam4, on any scne i have 1 cam and the same image(overlay), problem now i have.. when i swoitch between the 4 scnes, i have always 1-2 seconds a black image, the scenes are not directly switching between eatchother, there's a little delay/black space in it, it doesn't happend when i switch between the sources before.. Next i want the automatic scene switcher, is all the time switching for a certain time, par example 5000msec between the 4 ipcams, this is for a studio overviewcam, a dj cam, a interview cam, and a second interviewcam, so we have automatic all the cams in the stream..
> Is this possible?
> How?


Have a look at the "Scene Sequence" tab. There you can specify a sequence of automated scene switches as you described. If you need further help let me know.
Unfortunately I am not really familiar with using OBS, so I cant help with the camera black screen issues.



Solobottom said:


> still having this.


I am very sorry about the late response. It should be fixed now.


----------



## futurion (Apr 29, 2018)

I've read through the whole forum and I also tried to manipulate a bit with the plugin, but it seems I'm unable to achieve what I want. My wish exactly is pretty simple: I'd like to setup advanced scene switcher to loop-switch between different VLC playlists. When one finishes, it goes to another and so on.

For instance, let's say I have three VLC playlists. Each playlist has X video clips and each playlist is inside another Scene. When playlist-1 (scene 1) finishes, it should go to playlist 2 (scene 2). And when playlist 2 finishes, it should go to playlist 3. When playlist 3 is over, it should go back to playlist 1, and so on. A simple playlist-loop. Is this doable somehow? The thing is all switches inside advanced scene switcher seem to be time-based. Also, there is idle-based switch, but it doesn't do what I would want exactly.

Actually, in other words, what I'm trying to achieve is the following. We have a pretty decent playout using OBS. We have about 500+ clips running 24/7. Sometimes we get new material, so we have to just add a few new clips. The issue with VLC playlist is that each time you edit/save it, the playlist starts again from beginning. There's no fix for that. So we would like to create a few different VLC playlists, and when one is playing, we can edit another, and so on. But we would need then a simple loop-switcher for these playlists.

I hope that doesn't sound too complicated and that there's a fix for this. Thank you in advance for your answer. Best regards!


----------



## mitzuu (May 8, 2018)

Is there a way to switch scene when media ends? Like I have an .mp4 video and I want to switch the scene when it ends, I can't figure it out


----------



## Warmuptill (May 9, 2018)

mitzuu said:


> Is there a way to switch scene when media ends? Like I have an .mp4 video and I want to switch the scene when it ends, I can't figure it out



Sorry, there currently is no such functionality in this plugin. 

The only thing close to that is the scene sequence tab, where you could specify the time - duration of the media playlist or file in that scene - before switching to the next scene. This is a fixed value however and not dependent on the contents of the scene. So if you change the media the timing wont be adjusted automatically.


----------



## renaud.huvelle (May 16, 2018)

Hello everyone,
I read all this pages but my problem is still there...

Problem : Can see and use Advanced Scene Switcher
Process:
-> Open windows in Admin mode
-> Install latest version of OBS STUDIO
-> Copy 64bit plugin into 64bit folder / 32 bit too
-> Install Visual c++ Red for Visual Studio 2017
-> Unblock dll in folder
-> Try everything...

Please, Has anybody solution for me ?

Thank you a lot

Renaud


----------



## Coinrating (May 17, 2018)

With the last version of OBS, this plugin does not seem to be visible. Reiterating Renaud's concern. I followed all of those steps as well.

Currently trying an older OBS version is the only thing that works. (21.0.1)


----------



## Warmuptill (May 17, 2018)

renaud.huvelle said:


> Hello everyone,
> I read all this pages but my problem is still there...
> 
> Problem : Can see and use Advanced Scene Switcher
> ...





Coinrating said:


> With the last version of OBS, this plugin does not seem to be visible. Reiterating Renaud's concern. I followed all of those steps as well.
> 
> Currently trying an older OBS version is the only thing that works. (21.0.1)



Thank you very much for reporting this issue. Unfortunately I can't have a look at the issue right now, but I will try to fix it as fast as possible tomorrow.
Sorry about this!

Edit:
Can someone who also experiences these issues try if the scene switcher below resolves the issues?
https://www.dropbox.com/s/mqxiy916qambwzj/advanced-scene-switcher.dll?dl=0
Thank you in advance!


----------



## Methanoid (May 20, 2018)

There are multiple plugins now that can leave the "now playing" details from vlc media we play and save those details to our hard drive, mostly mp3's, given what those other plugins can do, is it possible for your plugin to detect when the contents of a text file changes so we could swap to a scene that displays our now playing music details.

currently i change to my "now playing" scene every 2 minutes using scene sequencer but if the plugin could detect text file contents changing then we could swap to scenes like this when our media/text changes (_via other plugins_) which would be a lot more handy.


----------



## WeirdEbeardE (May 21, 2018)

hi i downloaded this plugin and placed the files in the plugin folder but when i open OBS it only shows automatic scene switcher but not the advanced version.


----------



## Warmuptill (May 21, 2018)

WeirdEbeardE said:


> hi i downloaded this plugin and placed the files in the plugin folder but when i open OBS it only shows automatic scene switcher but not the advanced version.


Thank you for also reporting this issue!

can you try if installing the Redistributable for Visual Studio 2015 helps?
https://www.microsoft.com/en-us/download/details.aspx?id=48145

If not, does using this version help?
https://www.dropbox.com/s/mqxiy916qambwzj/advanced-scene-switcher.dll?dl=0



Methanoid said:


> There are multiple plugins now that can leave the "now playing" details from vlc media we play and save those details to our hard drive, mostly mp3's, given what those other plugins can do, is it possible for your plugin to detect when the contents of a text file changes so we could swap to a scene that displays our now playing music details.
> 
> currently i change to my "now playing" scene every 2 minutes using scene sequencer but if the plugin could detect text file contents changing then we could swap to scenes like this when our media/text changes (_via other plugins_) which would be a lot more handy.



I quickly added the option to switch scenes based on the contents of a text file. If you redownload the plugin again there should be additional settings on the "read from file / write to file" tab. So you could switch if one of the other plugins wirtes a certain songname into a specified file.









If it is unclear what to do there or something is broken please let me know!


----------



## Methanoid (May 22, 2018)

The update added to reading text files contents is pretty good so far, it can be used in conjunction with people who run for example chat bots and other custom scripts, im going to spend some time trying to make good use of this feature and see what else it can do

So far from what you have just added then you would have 1 hell of an "event" triggered system in full for many to use with vlc plugins for music/media, and more importantly users of tools like Snaz, Streamlabs-Chatbot, Phantombot, etc etc will find they now have a world of new useful abilitys to play with.

massive thumbs up so far, adv scene switcher is only growing more powerful per update, this is a huge boon for streamers and content creators \o/

SO FAR IN TESTING:
the "file contains" part is working so far but only word matching full words, for example

i dump all my .txt files addons/scripts generate into a ramdrive to stop spamming up my Hard Drives, as such if i check for example the file _R:\FileWatched.Txt_ for the word "_.mp3_" this does work ONLY if the file being watched only has "_.mp3_" in it, if there is more text in there such as "_Example.mp3_" then nothing triggers, can the searched for text be a partial word match instead of exact word match?

also the scene constantly fires away non stop meaning you never leave the target scene, again is it possible to have a check on the files "date modified" so scene switcher only check the contents of the file when the date modified changes, this would stop constant triggers/reads from the txt file making things much more manageable.

currently it looks like the txt files are read constantly for updates??, however if the following could be implimented, that would be amazing, here is a probably poorly written example.

R:\FileWatched.Txt - 22/05/2018 - 08:48:12 - First date/time check, no checks/trigger as has only started checking, notes current date/time.
R:\FileWatched.Txt - 22/05/2018 - 08:48:12 - Checking date/time, no change, do not check txt file contents
R:\FileWatched.Txt - 22/05/2018 - 08:48:12 - Checking date/time, still no change, do not check txt file contents
R:\FileWatched.Txt - 22/05/2018 - 08:57:23 - Checking date/time, date/time has changed, open file for reading, check txt file contents, set new date/time to check for to updated value, close file reading to avoid clashes with other programs.

R:\FileWatched.Txt - 22/05/2018 - 08:57:23 - Checking date/time, no change, do not check txt file contents
R:\FileWatched.Txt - 22/05/2018 - 08:57:23 - Checking date/time, no change, do not check txt file contents
R:\FileWatched.Txt - 22/05/2018 - 08:57:23 - Checking date/time, no change, do not check txt file contents

etc etc, maybe slap in a 1 second or 1/2 second delay between checks so our systems dont get hammered from all the checks, i think the delay as well as the date modified check could prove useful, i did encounter an occasional crash/lockup on my VLC when scene switcher started checking the txt files vlc was outputting, was scene switcher keeping the watched txt files open for reads?  if the above date/time check is implimented then this lockup situation would probably go away if scene switcher only opens/reads the txt files once the date modified trigger occurs rather than keeping a file open for reads non stop (_if thats what is occuring atm, could easily have been a vlc plugin issue_).

basically exactly the same as what you have now but with a "date modified" check before any action is taken.


----------



## Warmuptill (May 22, 2018)

Methanoid said:


> The update added to reading text files contents is pretty good so far, it can be used in conjunction with people who run for example chat bots and other custom scripts, im going to spend some time trying to make good use of this feature and see what else it can do
> 
> So far from what you have just added then you would have 1 hell of an "event" triggered system in full for many to use with vlc plugins for music/media, and more importantly users of tools like Snaz, Streamlabs-Chatbot, Phantombot, etc etc will find they now have a world of new useful abilitys to play with.
> 
> ...




Thanks for the feedback!

I added support for pattern matching using regular expressions. So if you want to match a file that contains the word "test" you would type ".*test.*" as the pattern. See the checkbox in the image below

I added support for the modification date check. That should reduce the file open / close quite a lot. See the image below.

You can set the interval of the scene switcher main thread on the general tab "Check switch conditions every ...ms". (Default is 300ms)






Let me know if I broke something :)


----------



## Methanoid (May 22, 2018)

It works flawlessly, the only time things go wrong (as in repeated triggers) is when other plugins that provide the text source keep banging out text constantly rather than when needed, i had 1 vlc script writing non stop during song play which ofc triggered scene switcher non stop, switch to a different script that only wrote text when a song actually changed and everything worked perfectly.

This also works using chatbots/custom scripts, all that is needed is to have scene switcher move to your needed scene via the new addition then have Scene Sequencer drop you back to your main scene several seconds later, works a charm, now off to find more uses for it.

Awesome speedy additions, this version seems to work perfectly as intended so far, will report back once i have messed around with it more, heres a quick/dirty vid showing it working with vlc.  for the pattern match to match anything i used "*.*.**" and it works with any change made to the text file which is great.


----------



## p2bben (May 24, 2018)

Hi, i Love the PlugIn from you. Is there a possibility to automate switch back to a other Scene after a Pause?
Or is it possible to reactivate the Auto Scene Switcher after all Videos from Mediasource are played (this would be the best). 

I read the Scenes from TextFile and sometimes i Play from a Mediasource  Videos but i don´t know how long the Duration is before.
Thats why i Pause the Advanced Sezene Switcher in this case. But if the Videos from Mediasource are played, i have a Black or Still Image OnAir and i must restart Advanced Sezene Switcher from Pause to a new Scene .

If there is a solution to reactivate Advanced Scene Switcher from pause, after all Videos from media source are Played or a Still Image/ Black Screen / Silence Audio is detected, it would be a big Help. 

Maybe you can do something like this: *Pause* the Sczene Switcher on Scene XYZ,  *Reactivate* if Textile (Read scene name to be switched from this file) contains XYZABC

Best regards
Ben


----------



## Methanoid (May 24, 2018)

p2bben said:


> Hi, i Love the PlugIn from you. Is there a possibility to automate switch back to a other Scene after a Pause?
> Or is it possible to reactivate the Auto Scene Switcher after all Videos from Mediasource are played (this would be the best).
> 
> I read the Scenes from TextFile and sometimes i Play from a Mediasource  Videos but i don´t know how long the Duration is before.
> ...



Are the video's you play random or a specific/set video you specifically play for your scene(s)?


----------



## p2bben (May 24, 2018)

Hi, the Videos are mostly only one File, or it is a Playlist (ffconcat version 1.0). I play it only with the Mediasource, because VLC Video Source has problems with Audio fading....  Random i don´t use. It is only one Video in one Scene or a Playlist in one Scene.


----------



## Methanoid (May 24, 2018)

p2bben said:


> Hi, the Videos are mostly only one File, or it is a Playlist (ffconcat version 1.0). I play it only with the Mediasource, because VLC Video Source has problems with Audio fading....  Random i don´t use. It is only one Video in one Scene or a Playlist in one Scene.



what are you using to actually trigger the playback?  keypress to the scene in OBS?   batch/scripts?  something else?


----------



## p2bben (May 24, 2018)

I use your Scene switcher...;-) With Read from text file. I have a Radio Automation System (SPL) an this is writing witch Scene has to be currently
OnAir, in a textfile. This textile is linked in Advanced Scene Switcher (Enable switching of scenes based on file input). 
We use this system to broadcast Visual Radio..Everytime the Song or Element in Radio is switching, also the Video Scene in OBS switch automatically Here is the Webstream : . ( https://rrr.sz.xlcdn.com/?account=n...N-Video&type=live&service=wowza&output=player )


----------



## Methanoid (May 24, 2018)

p2bben said:


> I use your Scene switcher...;-) With Read from text file. I have a Radio Automation System (SPL) an this is writing witch Scene has to be currently
> OnAir, in a textfile. This textile is linked in Advanced Scene Switcher (Enable switching of scenes based on file input).
> We use this system to broadcast Visual Radio..Everytime the Song or Element in Radio is switching, also the Video Scene in OBS switch automatically Here is the Webstream : . ( https://rrr.sz.xlcdn.com/?account=n...N-Video&type=live&service=wowza&output=player )



its Warmuptill's work btw, im just a fan/feature requester like you :D

btw if all you want is to have 1 scene that has a vid or music  playing and 1 that doesnt then couldnt you just use the actual VLC player _(making full use of playlists or single plays_) and just grab its output into OBS?  scene switching when the actual VLC program is running then swapping to a diff scene when VLC is not running is pretty simple or is it more indepth than that?


----------



## p2bben (May 24, 2018)

Thanks,  if you want we can look with team viewer to the System ;-) 
The idea with the VLC i try, but it don´t work for me. 

My Problem is to Play TV-Shows or Commercials. At the Moment i extract the SoundFile from the TV-Show Video and so i have the same length in Radio and TV but if i play Commercials, i don´t know before how long they are, because i use in Mediasource the possibility to play Playlists. 
Thats why i want to Stop/Pause Advanced Scene Switcher automatically, if i Play the Commercial Playlist from Mediasource in OBS and if the Playlist is ending i want to reactivate  Advanced Scene Switcher automatically. 
If Advanced Scene Switcher can detect (Video(s) in Scene, are finish played and end the Pause it would be the best...


----------



## Methanoid (May 24, 2018)

again regular vlc might be a solution to not knowing when a playlist ends, you cant capture VLC's window by default but with a few tweaks its pretty easy, if you look in VLC Tools/Preferences, bottom left of the prefs screen click from SIMPLE to ALL, scroll down to VIDEO, look in the video section/dropdown for OUTPUT MODULES, change from Automatic to OPENGL VIDEO OUTPUT FOR WINDOWS, save the settings, quit/relaunch VLC.

Now to capture that into OBS you instead of WINDOWS CAPTURE, instead now use GAME CAPTURE and choose CAPTURE SPECIFIC PROCESS and pick VLC, untick capture cursor.  Rightmouse the game capture, click TRANSFORM / EDIT TRANSFORM, and make sure BOUNDING BOX TYPE is set to STRETCH TO BOUNDS to make sure all videos play back the same size in OBS.

you can also have VLC quit/end after a play or playlist ends helping out in OBS _(in vlc PLAYLIST options is the option to 'play and exit', handy if using manually or even via scripts_), in advanced scene switcher, inside the EXECUTABLE section, you can add VLC.exe, the scene you want to run when VLC is running/playing music/vids, in the GENERAL tab you can pick IF NO SWITCH CONDITION IS MET SWITCH TO <<Scene Name>>.

that quick/dirty method means you would switch to a scene when vlc is running whatever you want, and when you quit vlc, manually or when a playlist ends, scene switcher would take you back to a different/default scene.


----------



## p2bben (May 24, 2018)

Wow, this sounds nice... I will try it in the Night. Thank You for this!!! I only tried with the VLC source before;-( 

For the Future is there maybe a way to put a solution in the Advanced Scene Switcher to auto reactivate after a pause,
or activate Scene XY if all Videos from Mediasource are played?


----------



## Methanoid (May 24, 2018)

p2bben said:


> Wow, this sounds nice... I will try it in the Night. Thank You for this!!! I only tried with the VLC source before;-(
> 
> For the Future is there maybe a way to put a solution in the Advanced Scene Switcher to auto reactivate after a pause,
> or activate Scene XY if all Videos from Mediasource are played?



ul have to wait for a response from Warmuptill for that, ill guess that if it was an "all inside auto scene switcher" solution then hed be all over it, what you are asking for is external to his plugin and probably harder to accomplish.

What i asked for in a feature, he could do pretty quickly and i imagine easily with his talent because it was work done directly to his plugin, your feature request requires his plugin to talk to other plugins which probably isnt so simple.

heres a quick yt vid showing all the above in a quick test, excuse the onscreen lag, i had to use bandicam to capture and it seems my machine doesnt like multiple capture software all running/capturing at once, everything in OBS is normal/smooth when i dont use bandicam to capture everything.


----------



## CodeSpent (Jun 1, 2018)

So I've noticed most other plugins contain contents to put in the data directory except this one. I've gotten many plugins to work except this for some reason. I've followed instruction meticulously, but nothing shows in UI. Tried a few reinstalls, updates, starting fresh. Nothing seems to be working.


----------



## Warmuptill (Jun 2, 2018)

CodeSpent said:


> So I've noticed most other plugins contain contents to put in the data directory except this one. I've gotten many plugins to work except this for some reason. I've followed instruction meticulously, but nothing shows in UI. Tried a few reinstalls, updates, starting fresh. Nothing seems to be working.



Can you please post a log file of the version that does not work without an outdated data folder? (Help -> Log Files -> Show Log files)
I cannot reproduce it on fresh windows install, with a fresh OBS Install. Are you sure that is what fixed it?

And sorry that old versions of this plugin contain bugs... that is usually the reason why I update the plugin.

EDIT:
Also please send a log file of the version where the screen region detection did not function properly, since that code was unchanged since it was implemented and that bug should still be present now.


----------



## CodeSpent (Jun 2, 2018)

Warmuptill said:


> Can you please post a log file of the version that does not work without an outdated data folder? (Help -> Log Files -> Show Log files)
> I cannot reproduce it on fresh windows install, with a fresh OBS Install. Are you sure that is what fixed it?
> 
> And sorry that old versions of this plugin contain bugs... that is usually the reason why I update the plugin.
> ...



I understand that is why you update, the passive aggression is a little premature ..but in your update no en-us is present so there is no UI option. Which is a problem that causes me to resort to looking at a previous version. Log file sent over! Shouldn't really be necessary to scrub, though, simply adding the missing data directory should have it good to go! 10/10 product itself, though, took a while fighting it, but loving it!


----------



## Warmuptill (Jun 2, 2018)

CodeSpent said:


> I understand that is why you update, the passive aggression is a little premature ..but in your update no en-us is present so there is no UI option. Which is a problem that causes me to resort to looking at a previous version. Log file sent over! Shouldn't really be necessary to scrub, though, simply adding the missing data directory should have it good to go! 10/10 product itself, though, took a while fighting it, but loving it!
> 
> View attachment 36962


I apologize if I came across as passive agressive, it certainly wasnt intended.

Could it be that you are currently using both an old version of the Scene Switcher (SceneSwitcher.dll) and the new version(advanced-scene-switcher.dll) at the same time?
If so, you probably still havnt resolved the issue with the new version.
I would not recommend the old version, since it contains many bugs and might contain memory leaks, depending on the version you are currently using.

Could you try if installing the *Visual C++ Redistributable for Visual Studio 2017 *helps? (for the new version)
x86: vc_redist.x86.exe 
x64: vc_redist.x64.exe
(https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads)


I doubt that the missing data folder makes a difference, because even the old version seems to load without issues when deleting the data folder.
The log will then contain "Failed to load 'en-US' text for module: 'SceneSwitcher.dll'", which does not occur in your log file.
And even if it would, it just contains different translations for the Scene Switcher general tab, which are not essentail, because the plugin will fallback to using the the literal placeholder text for translations. (see image below)



(This is how the OLD version of the Scene Switcher looks, btw. If you do not have the option to change the priority of the diffrenent switching types on the general tab, you are using the old version still)

I removed the support for different languages, because I thought it might be quite confusing to have mixed languges for the Scene Switer instead of just using English, since not the whole of the advanced scene switcher was translated. That is why the data folder is no longer needed.


----------



## CodeSpent (Jun 3, 2018)

Warmuptill said:


> I apologize if I came across as passive agressive, it certainly wasnt intended.
> 
> Could it be that you are currently using both an old version of the Scene Switcher (SceneSwitcher.dll) and the new version(advanced-scene-switcher.dll) at the same time?
> If so, you probably still havnt resolved the issue with the new version.
> ...





15:17:15.280: Failed to load 'en-US' text for module: 'obs-browser.dll' does appear prior to adding the data folder. Not sure, I just know that with the data directory, it works, without, it does not. Regardless I am using the latest DLL, just with the previous Data directory.


----------



## CodeSpent (Jun 3, 2018)

I imagine that the configuration files within locale are fairly important?


----------



## matt peet (Jun 7, 2018)

Hi!

I DJ on OBS and i've got three different scenes which i cycle through on my streams from two cameras.
I've been manually cycling through the cameras but heard about this plugin.
I've installed it but i don't know how to make it work!

i'm so sorry i'm sure you've been asked this question before but all the answers i can find are for gamers who want their scenes to switch depending on where they are in the game screens....whereas i just want the scenes to switch on a timer between my cameras!

Is there a video/you tube on how to make it work?

i'm using OBS 21.1.2 on windows 10 64 bit

your help would be greatly appreciated!

p.s i'm no computer programmer so please keep the answer step by step so i can follow it and implement the necessary changes...

Many Thanks!!!


----------



## Warmuptill (Jun 10, 2018)

matt peet said:


> Hi!
> 
> I DJ on OBS and i've got three different scenes which i cycle through on my streams from two cameras.
> I've been manually cycling through the cameras but heard about this plugin.
> ...



First you will need to have one scene for each camera to make the switching possible. I assume you have this already set up. (If you do not there should be plenty of tutorials on how to set this up, let me know if I should find one)
I will call the scenes for each camera "cam1", "cam2" and "cam3" in the following.

You have multiple options inside the plugin to achieve the automated camera switches. These are the two that make the most sense:
"Scene Sequence" or "Ramdon"

*Scene Sequence:*
This sets up a predefined sequence of automated scene switches. To configure this, open the scene sequence tab. There you can configure the following:

When "cam1" is active switch to "cam2" after 15 seconds using "cut"

(Click the small plus on the lower left of that tab to add that to the list of scene sequences. Press the minus to remove it, while it is selected)

This would tell the plugin quite literally: 
Hey, whenever we are currently on the scene with the name "cam1" wait for 15 seconds and then switch to the scene with the name "cam2" and for this scene change use the transition "cut".

So to create a loop you would need to set up the following:

When "cam1" is active switch to "cam2" after 15 seconds using "cut"

When "cam2" is active switch to "cam3" after 15 seconds using "cut"

When "cam3" is active switch to "cam1" after 15 seconds using "cut"

This will create the loop cam1->cam2->cam3->cam1->cam2->cam3->.... and so on.

*Random:*
This is an option if you want a more random approach. You basically offer the plugin a list of possible scene switches to choose from and it picks one at random.

To configure this switch to the tab "Random". There you can add the following:

When no switch condition is met switch to "cam1" using "cut" for a duration of 15 seconds

When no switch condition is met switch to "cam2" using "cut" for a duration of 15 seconds

When no switch condition is met switch to "cam3" using "cut" for a duration of 15 seconds


To make sure that the scene switcher plugin is using this option you will also set the following on the "General" tab:

"If no switch condition is met switch to any scene on the Random tab"


*Lastly, no matter which option you choose, you will have to turn the plugin on. *
Do this one the "General" tab.
If it says "The Advanced Scene Switcher is: active", then you do not need to turn it on, as it is already running.
If it says that it is inactive, click the start button

I hope that clears things up a bit. If you have further questions let me know!


----------



## thebrightknight72 (Jul 6, 2018)

I see with the "Advance Scene Switcher" I can setup an automatic scene sequence that will switch based on timed intervals.  Is it possible to use this to setup non automatic sequence such as "Scene 1" -> "Scene 2", "Scene 2 -> Scene 3" when clicked or a keystroke is given?


----------



## Warmuptill (Jul 7, 2018)

thebrightknight72 said:


> I see with the "Advance Scene Switcher" I can setup an automatic scene sequence that will switch based on timed intervals.  Is it possible to use this to setup non automatic sequence such as "Scene 1" -> "Scene 2", "Scene 2 -> Scene 3" when clicked or a keystroke is given?


If I understand it correctly you should just be able to set a hotkey to switch to the scene "Scene 1" to acomplish this. You can find this option in the OBS Studio settings for each scene you have.







If you do not want to always trigger this automated scene switch while you are on this scene you could also set a hotkey to temporarily disable the scene switcher on the same settings window. Or you can create a copy of the scene, which does not follow the rules you set up for the original scene.

I hope that helps!


----------



## thebrightknight72 (Jul 10, 2018)

Thank you Warmuptill.  This will do what I am looking for!


----------



## THE R3Y3S (Jul 10, 2018)

HI man, can u add in "scene sequence" the possibility to select in "switch to" return in the last scene? 
For example, if i have scene 1,2,3. I set When "scene 1" is active switch to "last scene" after "300 sec" using "Cut". If i was in scene 3 and then i switch to scene 1, after 300 sec automatic return in scene 3. The same if i switch from scene 2 to scene 1, after 300 sec return to scene 2.

Another thing. In "Transitions" if i set a switch from scene 1 to scene 2 with a determinate transition like cut, and then i set When scene "scene 1" is active change default scene transition to "fade", doesnt' work. Scene 1 preserve cut transition and not fade transition.


----------



## Warmuptill (Jul 13, 2018)

THE R3Y3S said:


> HI man, can u add in "scene sequence" the possibility to select in "switch to" return in the last scene?
> For example, if i have scene 1,2,3. I set When "scene 1" is active switch to "last scene" after "300 sec" using "Cut". If i was in scene 3 and then i switch to scene 1, after 300 sec automatic return in scene 3. The same if i switch from scene 2 to scene 1, after 300 sec return to scene 2.
> 
> Another thing. In "Transitions" if i set a switch from scene 1 to scene 2 with a determinate transition like cut, and then i set When scene "scene 1" is active change default scene transition to "fade", doesnt' work. Scene 1 preserve cut transition and not fade transition.



Sorry about the late response!
I added the option of switching back to the previous scene for the scene sequences. Let me know if it works as expected. (You can find it here)

I can't seem to be able to reproduce the issue you mentioned with the transitions. Can you give me more information on this?


----------



## besweeet (Jul 15, 2018)

I may have missed it, but does this allow the scene to change automatically based on the actual content / frame / image of another? For example, if scene 1 displays a static "be right back" frame, switch to scene 2? Then, when that frame disappears, switch back to frame 1?


----------



## Warmuptill (Jul 15, 2018)

besweeet said:


> I may have missed it, but does this allow the scene to change automatically based on the actual content / frame / image of another? For example, if scene 1 displays a static "be right back" frame, switch to scene 2? Then, when that frame disappears, switch back to frame 1?


No, not currently.


----------



## Andrew Luther (Aug 1, 2018)

Hey Warmuptill, first off really useful plugin you have made. I wanted to suggest a feature that would be great if at all possible to implement.

Would it be possible to add a auto scene switch triggered by a certain person speaking in a voice chat client, such as mumble, teamspeak or discord? I know its probably a long shot but it would be an awesome feature to have.

Thanks again for the plugin!


----------



## petjo10 (Aug 13, 2018)

Warmuptill said:


> Sorry about the late response!
> I added the option of switching back to the previous scene for the scene sequences. Let me know if it works as expected. (You can find it here)
> 
> Is it possible to add the same function (switching back to the previous scene) for the "Enable Idle Detection" ?


----------



## petjo10 (Aug 13, 2018)

Is it possible to add the same function (switching back to the previous scene) for the "Enable Idle Detection" ?


----------



## Warmuptill (Aug 14, 2018)

Andrew Luther said:


> Hey Warmuptill, first off really useful plugin you have made. I wanted to suggest a feature that would be great if at all possible to implement.
> 
> Would it be possible to add a auto scene switch triggered by a certain person speaking in a voice chat client, such as mumble, teamspeak or discord? I know its probably a long shot but it would be an awesome feature to have.
> 
> Thanks again for the plugin!


Thank you for the suggestion! I will look into it but it seems like it could be alot of work depending on how complicated it is to communicate this information with the voice chat clients from inside this OBS plugin. So I unfortunately can't promise that I will implement something like this in the near future.



petjo10 said:


> Is it possible to add the same function (switching back to the previous scene) for the "Enable Idle Detection" ?


Yes it is, thanks for the suggestion!

I added it to the Windows version of the plugin. Just download it again from the overview page of the plugin and you will have to option to select "previous scene" on the idle detection tab. I will build the other versions as soon as I can.

Let me know if you run into any issues with the "previous scene" option in either the scene sequence or the idle detection using this updated version.


----------



## Chie (Aug 27, 2018)

Great plugin, the only problem for me is that there's no way to set the priority levels for executables, I hope you consider adding this feature.

Edit: found a workaround, the priority is defined by the order that executables were added.


----------



## raihan0007 (Sep 9, 2018)

Can I switch scene based on a music on video?


----------



## Bars (Sep 21, 2018)

Is this plugin able to do "Push to show release to hide" for scenes? So, press G to show an overlay, release G and the overlay hides?


----------



## MeK (Sep 21, 2018)

Hallo everybody...
right now I'am playing a little bit around with this Plug-In, but I need some help to configurate it. Can I switch the scenes by the clock, for example, if I want to switch a scene at 8:00 p.m.
Thanky you very much.

Best regards
MeK


----------



## Sauerkraut (Sep 25, 2018)

Hey thanks for your plugin it's really helpful so far.
But I have a question. I want to use the idle detection, to switch to Scene B. As soon as I move the mouse or hit a button, I want to switch back to Scene A. Is that possible? I got the first part but I can't find a solution for when I'm not idle anymore.


----------



## rmccartney (Oct 31, 2018)

Hi, A great plugin! I've used the latest version on Windows recently without any issues. However, I've run in to some issues using trying to install on Linux (Ubuntu 16.02 LTS). The plugin doesn't load at all and the log files show "Qt_5' not found". I've updated Qt without success. Has anyone had similar problems or suggestions?

Thanks,

Ryan


```
13:02:30.160: ---------------------------------
13:02:30.162: os_dlopen(/usr//lib/obs-plugins/advanced-scene-switcher.so->/usr//lib/obs-plugins/advanced-scene-switcher.so): /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5: version `Qt_5' not found (required by /usr//lib/obs-plugins/advanced-scene-switcher.so)
13:02:30.162:
13:02:30.162: Module '/usr//lib/obs-plugins/advanced-scene-switcher.so' not loaded
13:02:30.324: No blackmagic support
13:02:30.361: VLC found, VLC video source enabled
13:02:30.361: ---------------------------------
```


----------



## mrwhatnots (Nov 5, 2018)

I'm trying to set up custom in-out transitions based on which scene is switching to which scene, but it does not appear to be functioning at all in OBS 22.0.2 64 bit windows

 I have the scenes configured under the Transitions tab as follows:

A --- cut ---> B
A --- cut ---> C
A --- fade --> D

B --- cut ---> A
B --- cut ---> C
B --- fade --> D

C --- cut ---> A
C --- cut ---> B
C --- fade --> D

D --- fade ---> A
D --- fade ---> B
D --- fade ---> C

I click Start under the General tab and it says "Advanced Scene Switcher is:  Active"

No matter what, switching scenes always obeys what is selected under the Scene Transitions column on the main toolbar.

Might this have anything to do with the new Transitions Override feature in OBS 22?


----------



## mrwhatnots (Nov 5, 2018)

ah, I just read in the transitions tab that this will not apply to manual scene switches.  Is there any plugin that enables this functionality for manual scene switches?

The built in transition override functionality only works on scene-in, not scene-out, and lacks any advanced per-scene customization.


----------



## Khimari (Nov 6, 2018)

Hi guys,

recently I came across an issue where advanced switcher does not save hotkey nor even create a new one. In

\AppData\Roaming\obs-studio\plugin_config\advanced-scene-switcher\

the "hotkey.txt" file doesn't get changed and when creating a new hotkey it even does not create the file itself if not presented. I have the file from before when it worked with this code inside:

{
    "key": "OBS_KEY_NUM7"
}

I am no programmer, sadly, I know this is for "Num 7" key. It works but I can't change it. Since to program does not save new shortcut, I'm ok with that, no problem. I can still modify the file itself, save it and it works to change this way, but could you please tell me what to write instead of this to have:

"CTRL + 7" shortuct??

Many thanks,

K.


----------



## Warmuptill (Nov 10, 2018)

Khimari said:


> Hi guys,
> 
> recently I came across an issue where advanced switcher does not save hotkey nor even create a new one. In
> 
> ...



Hi,

sorry about the late reply!

The new hotkey file only gets created when the new hotkey binding is used. So make sure to use the new hotey at least once for your binding to be saved. This is something done by OBS itself internally and I don't think I change that behavior, if I am not mistaken.

This is how the file contents would look if you wanted to use the CTRL + 7 as a hotkey:

{
    "control": true,
    "key": "OBS_KEY_NUM7"
}

I hope that helps. If you run into any issues feel free to send me a message.


----------



## OBSnewby (Nov 22, 2018)

Hi, Ive used adv.scene switcher without almost issues until my last clean installation of OBS 22.0.2 version.
Ive installed vc_redist.x86.exe  and copied advanced-scene-switcher.dll  to the respective obs folder.
Restarted my pc (win7) and still the plugin isnt showing on my obs tool window.
Please help!


----------



## xenogeneral (Nov 24, 2018)

Hi, I need some help with the screen region feature.  When my mouse is suppose to be on a certain part of the screen its suppose to change scene, but it doesnt.  The other switching features work, but I really need this one.  Any ideas?


----------



## Wilevar (Dec 8, 2018)

@OBSnewby,
Recently had this issue myself. Don't know if you have the same problem, but here's what I have and what I found:
- Windows 10 pro, 64 bit.
- OBS, 64-bit.

Where I got stuck is that there is an obs-studio folder, and in its plugins a 64bit folder, all in C:/Program Files (x86). According to the instructions, the dll goes there.
*BUT!*
If you have a 64bit version of windows, and installed the 64-bit version of OBS, the folder you need to put the plugin dll in is under Program Files, not Program Files (x86).

I had C:/Program Files/obs-studio/obs-plugins/64bit, as well as all those files under Program Files (x86), as though I had installed both the 32bit and 64bit versions of obs. Soon as I put the dll in the Program Files/obs-studios/obs-plugins/64bit, it shows up.


----------



## Wilevar (Dec 8, 2018)

OBSnewby said:


> Hi, Ive used adv.scene switcher without almost issues until my last clean installation of OBS 22.0.2 version.
> Ive installed vc_redist.x86.exe  and copied advanced-scene-switcher.dll  to the respective obs folder.
> Restarted my pc (win7) and still the plugin isnt showing on my obs tool window.
> Please help!


Ignore this quote. Thought you might get an e-mail or something if I replied to your post rather than just posting a new one. See above for possible answer to your issue, if you're still having it.


----------



## MamadoTV (Dec 12, 2018)

Hi guys, I'm new and sorry if this was already discussed but didn't find nothing about it, but like, I'm IRL streamer and I have LiveU sendind video to Nginx server running on my computer sending data do OBS and then twitch, do you know how can I do a scrip or something to detect's when Bitrate it's low to switch to a Be Right Back scene ? Thanks :D


----------



## MovemLive (Jan 3, 2019)

I am streaming dance classes so I cannot be in range of the computer to switch scenes and the remote plugin that is available makes me to look at the phone while streaming wich is not nice. I would like to use a Klicker/presenter that you use for Presenting in For example Powerpoint or so. 

I have such device from Logitech but there is no good way to switch next/previous scene in OBS. There is not even a short cut key to assign to next/previous screen. I If I have the list of scenes in focus I can switch between scenes with arrow keys up/down, the problem in that the klicker is simulating the PageUp/Down keys on the keyboard. Workaround here is to re-assign the keys in the WIndows registry so Page up/down instead uses Arrow up and down. But, as soon as the scene list is not in focus in the application this method does not work. 

Please, please add a feature to swich next/prevous scene using any key or device!


----------



## webhaaz (Jan 8, 2019)

Where do I need to install this plugin on a MAC, the folder Contents.... does not exists


----------



## Rosdri (Jan 13, 2019)

Hi everyone!
I'm trying to do a podcast show. Do you know if exist any possibility to switch scenes using an audio device sound activity?
This function let me do a show without a guy working on switching scenes with obs.
Thanks for your patience!


----------



## thj (Jan 22, 2019)

Hello,

I am sure this can be easily do with this great plugin. Just need a make sense logic to do it :). I have two scenes. In first I have VLC Video source of few videos. When they finish playing I wish to switch and start scene 2 which is simple Image slide show. Once slideshow is finished he should switch to scene 1 again and do it all again.

Can someone please help me explain if this logic makes sense and is possible to create.

Thank you!


----------



## Vandalar (Jan 24, 2019)

Hi, i'll post this here too. https://obsproject.com/logs/V8WL7C-Hb_czsDj1
There are no crash logs, not sure but probably because the program stops responding and i have to close it manually?
Anyway, i use advanced scene switcher to switch between poker tables. It works fine for a while and then, while moving cursor from one table to other and switching the table scenes, OBS stops responding and i have to restart OBS. Problem occurs fairly quickly and seems to be reproducable with little effort if i just move cursor between tables to switch scenes quickly. 
BTW, i have used advanced scene switcher before to do the same thing and it worked fine, now after setting the whole thing up again after a fresh install it keeps freezing, stops responding.
Any help appreciated, thank you!


----------



## ThatGirlSlays (Feb 16, 2019)

Hi, absolutely loving this plugin. I do have a slight request. On the "General" tab you can automatically stop/streaming recording on a particular scene. Can you have an option to delay the stop recording/streaming by X seconds as opposed to having it immediate? This would give users the chance to change off of the scene before the time is up if they don't actually went to end the stream or recording.


----------



## retropixelshow (Feb 22, 2019)

Hi, since i found this plugin i heavily reworked all my scenes and sources, because  it offers so much automation. I love it. But there is one problem i have. It does not seem to save the hotkey, even if i'm using it. i have tried to register strg-alt-P for my pause scene and for disabling the scene changer. it works and i can use them, until i restart obs. After that, the hotkey for the Switcher is gone. Reply #384 in this thread created a hotkey.txt. i created this also, with following code:
{
"control": true,
"alt": true;
"key": "OBS_KEY_P"
}
in the hope that it is correct, but it doesnt work. no hotkey is registered and the hotkey itself does not work.


----------



## Tormy (Mar 5, 2019)

I think this was already asked tme ago, but I didn't find an answer.

With this great plugin, it would be very very nice, to have a time scheduler (event management?)

At specific date time, a scene is switched (in order to start to play a playlist or else).

It would be nice to have the following options:
- One time execution
- Mon-Fri (selecting also multiple date-time slots)
- Sat-Sun (selecting also multiple date-time slots)
- Each day (selecting also multiple date-time slots)
- Day by Day  (one can select Monday and Wednesday and selecting also multiple date-time slots)


----------



## CodingKiwi (Mar 7, 2019)

I have set up the plugin and it worked like a charm until last update of obs. I have two screen regions defined and they work, but after a certain time obs stops responding and I have to restart the software. It only happens when advanced screen switching is active. Will there be any updates?
Thanks for the great plugin tho.


----------



## ropjon (Mar 11, 2019)

Is there anyway you can read and write to a text file that's on a server rather than being local on your computer? Or could it read a file from a website?


----------



## Grinkhan (Apr 22, 2019)

I followed all installation instructions (moved the dll in the obs bin directory + installed VS visual C++ redis.) but the advanced switcher still does not appear under tools in OBS. What am I missing?


----------



## chancet (Apr 27, 2019)

Unfortunately scene switcher doesn't work for me.  I set up a simple scene switch that would cycle between all scenes after a few seconds each and nothing happens when I activate it.


----------



## asicisa (May 5, 2019)

mrwhatnots said:


> I'm trying to set up custom in-out transitions based on which scene is switching to which scene, but it does not appear to be functioning at all in OBS 22.0.2 64 bit windows
> 
> I have the scenes configured under the Transitions tab as follows:
> 
> ...


I have the same problem! Could someone help us?


----------



## jelo (May 15, 2019)

Hi, i don't know if it's possible, but what do you think about adding scene switch based on sound detection? so if sound is present on an audio source > switch to this scene

Thx :)


----------



## polo2005 (Aug 9, 2019)

Is it possible to pause the scene switcher whenever I select a chrome window?
not smart enough to figure out how to do this as chrome taskbar name is based on current open url


----------



## BrettPlays (Sep 3, 2019)

The Write To File detection seems to be going off clearly.  Am using Snaz as a timer and am trying to time switching between scenes using a count up click but it is triggering like 8 seconds early.  How else can I contact you to get this resolved?

Edit: So sorry, I feel like an idiot now.  Got it fixed.


----------



## JDW (Sep 10, 2019)

I made this post a few days ago that I'd appreciate help with. I installed the Linux .SO for Advanced Scene Switcher in the OBS-PLUGINS directory but nothing new shows up under the Tools menu. I fiddled with file permissions for the .SO file and restarted OBS but nothing gets Advanced Scene Switcher to appear under Tools. Basically, I'm just trying to solve the known issue where "Automatic Scene Switcher" does not properly recognize all open windows (across all Ubuntu-Linux desktops). Would appreciate any suggestions.


----------



## SkeletonBow (Sep 27, 2019)

Warmuptill said:


> Warmuptill submitted a new resource:
> Automatic Scene Switching - Switches to specified scenes depending on which window is in focus



I notice that the git repository for this plugin has had a number of commits made to it since the last release, some of which appear to fix OBS crashing bugs.  I'm having OBS crash quite frequently and do use Advanced Scene Switcher which one of the devs suggested was the cause for frequent crashes in the past.  I'm wondering if there are any plans to release an updated version of this plugin with the existing fixes in the future, or if there is a beta release available somewhere perhaps?

Thank you for developing this, it's very cool and useful!  Any response is very much appreciated!

Take care.


----------



## Warmuptill (Oct 3, 2019)

SkeletonBow said:


> I notice that the git repository for this plugin has had a number of commits made to it since the last release, some of which appear to fix OBS crashing bugs.  I'm having OBS crash quite frequently and do use Advanced Scene Switcher which one of the devs suggested was the cause for frequent crashes in the past.  I'm wondering if there are any plans to release an updated version of this plugin with the existing fixes in the future, or if there is a beta release available somewhere perhaps?
> 
> Thank you for developing this, it's very cool and useful!  Any response is very much appreciated!
> 
> Take care.



These changes should be included already.
No further updates are planned, sorry.

Can you describe how to reproduce the crashes?


----------



## SkeletonBow (Oct 3, 2019)

Ah, I must have misunderstood the release dates compared to git.  Thanks for the info.

I don't currently have an easily reproducible test case that I could give, but if I'm able to isolate something in the future I'll try to provide details that are hopefully useful.  Thanks for the fast response!


----------



## davesf (Oct 15, 2019)

A desire I constantly run into (and see occasionally mentioned) is having a way to auto-switch scenes based on a pixel-match of a small screen region (aka capture source pixels). My primary use is to block-out certain screen pixels I don't want on stream, but only when certain game dialog/UI elements are visible.

I think this could be done pretty naturally by adding a "Content Check" video source filter which would (soft) match against a (small) set of captured reference pixels. This way, one could use the existing video source filter stack to crop/chroma/mask out the appropriate pixels before the check occurs. The match decision could be written to pixel (0,0) as red or green (in practice maybe a 8x8 set of pixels so it was more visible). Scene Switcher would have a new UI to "switch to scene-xyz when source-abc content check matches".

The "content check" source would be at the bottom of the viewport stack so it would not be visible, and just about the only caveat I can see is if OBS does something "too smart" about not processing a video source if it's not visible.. but I don't think it does this.

I wrote up some more details here:

https://github.com/WarmUpTill/SceneSwitcher/issues/13

I Don't know the OBS or Scene Switcher code.. but if you don't jump on this as a super awesome addition soon, I'll slog through and learn enough to try and add this.


----------



## CuoReNeRo (Oct 19, 2019)

Hi, i have a logic issue and i don't know HOW and IF is possible to resolve it.

I have p1.exe and p2.exe, and i have scene1, scene2 and scene3.

This is what i want:

1) If p1.exe then scene1;
2) If p2.exe then scene2 for 10 seconds, and after switch to scene3;

It works if i put:

1) Window tile: p1.exe->scene1
2) Window tile: p2.exe->scene2
3) Scene Sequence: scene2->10sec->scene3

The issue is when scene2 goes to scene3, p2.exe is still active, so scene3 appear for just 1msec and scene2 is again the active scene.

I tried changing the priority of methods, but Scene Sequence can only be manually interrupted or pausing/stopping. Is there another solution? Can you permit to cancel the Scene Sequence if there's another method with higher priority?


----------



## Gianfranco (Oct 30, 2019)

Hi guys,
I'm using the plugin and it seems very complete to me, however in the "Scene Sequence" option it doesn't give me the possibility to insert a duration longer than 10 seconds (see the screenshot).
I also believe that the possibility of using the duration of a movie as a switch criterion could be useful. For example, if I want to show 10 movies in sequence, it would be useful to be able to switch from one movie to another when every single movie ends.
Would it be possible to introduce these functions?
Thanks for the good work.


----------



## Postal291 (Nov 3, 2019)

I followed the installation instructions on a fresh install of OBS 24.0.3, ensured I had the vd_redist installed and it's not showing under Tools.  Running as administrator, re-asserted permissions on folder and sub-folders/items... Not sure what else I can do...


----------



## djrima (Nov 11, 2019)

advanced scene switcher dont run under catalina, can anyone update the file?


----------



## AbhinayK (Nov 17, 2019)

Hi. I just started using your plug in and I have a doubt. I went to transitions and added my custom transitions, however there is no hot key for me to use them. Because whenever I use the transition of obs my custom transitions don't show. If there is a hot key function where I can just press it and Advanced scene switcher transition plays while switching rather than obs? It works when I put conditions on it on other tabs but I can't change scenes manually


----------



## Selinunte (Nov 20, 2019)

Hi,
the plugin doesn't work in MacOS Catalina. :(

Any solution?


----------



## LordFemto (Dec 13, 2019)

Dear community,

I use the Advanced Scene Switcher for three scenes. Two of them (scenes 1 & 2) run alternately in the scene sequence. The third scene is faded using transition if a file content of a .txt file changes.

The problem is the transition from alternating scenes 1 & 2 to the third file dependent scene. As soon as the file is written, the scene sequencer waits for the next change (e.g. from scene 1 to scene 2), but then jumps back to the previous scene (e.g. scene 1) and only then makes the transition to file-dependent scene 3.

Is there a trick to force the scene sequencer to transition to scene 3 immediately?


----------



## djrima (Dec 15, 2019)

how i put the advanced scene switcher in version 24.0.5 in Mac Version, the folder /recources/obs-plugin aren´t in this version
thanks all


----------



## ijaureguialzo (Dec 17, 2019)

djrima said:


> how i put the advanced scene switcher in version 24.0.5 in Mac Version, the folder /recources/obs-plugin aren´t in this version
> thanks all



Hello, I've managed to compile it manually and it works for me on 24.0.5 running macOS 10.15.2. Yo can download the binary here: https://github.com/ijaureguialzo/SceneSwitcher/releases


----------



## frank peng (Dec 23, 2019)

Hello, guys, I have tried to install the advanced scene switcher in 24.0.6 following the instruction for 24.0.5. It did not work. My macOS version is 10.13.6. I have Eclipse Pydev Python 3.8 installed. It may need re-compile.  I don't know the IDE to compile the source.
If anyone would help, that will be great.


----------



## ijaureguialzo (Dec 26, 2019)

frank peng said:


> Hello, guys, I have tried to install the advanced scene switcher in 24.0.6 following the instruction for 24.0.5. It did not work. My macOS version is 10.13.6. I have Eclipse Pydev Python 3.8 installed. It may need re-compile.  I don't know the IDE to compile the source.
> If anyone would help, that will be great.



Launch it on command-line and paste the output on an issue in my repository so we can have a look at the errors it throws, otherwise is a bit difficult to debug.


----------



## KJThaDon (Dec 27, 2019)

Is there any way to switch the scene based on what is displayed on the screen?

Say I have a scene that has some live video displayed, then goes to a static BRB image, can I switch scenes automatically when it shows the BRB screen? Or even a way to detect when no sound is being output to switch scenes? 

Thanks!


----------



## 109u (Dec 30, 2019)

Hey guys,

I'm trying to switch a scene when Spotify starts playing next track. I'm using Snip https://github.com/dlrudie/Snip to write a file with track list and artist and then use this file to display the track name playing.

I want to switch to the scene where this information is displayed once the track has been changed and the file been updated. I'm using this regular expression [a-zA-Z]+ to match any strings. I've tried everything possible but so far nothing happens :(

These are the settings I'm using:




Thanks!


----------



## DuBoi.DJ (Jan 5, 2020)

ijaureguialzo said:


> Launch it on command-line and paste the output on an issue in my repository so we can have a look at the errors it throws, otherwise is a bit difficult to debug.


I can't get it to show up at all. What is the EXACT file path to the location to install the .so file... I have tried in (Contents>Plugins) as well as (Contents>Resources>Data>OBS Plugins) as well as copying the OBS Plugins folder out of Data and putting it directly into the Resources Folder and can never get "Advanced Scene Switcher" to show in Tools (MAC OS High Sierra 10.13.6)


----------



## ijaureguialzo (Jan 7, 2020)

DuBoi.DJ said:


> I can't get it to show up at all. What is the EXACT file path to the location to install the .so file... I have tried in (Contents>Plugins) as well as (Contents>Resources>Data>OBS Plugins) as well as copying the OBS Plugins folder out of Data and putting it directly into the Resources Folder and can never get "Advanced Scene Switcher" to show in Tools (MAC OS High Sierra 10.13.6)



Hello, I think the plugin folder structure has changed in OBS 24.0.6. You don't have to put the file inside the OBS installation folder anymore, it has to be at /Library. The exact folder is "/Library/Application Support/obs-studio/plugins/advanced-scene-switcher/bin/".

Just follow instructions here, they worked for me: https://github.com/ijaureguialzo/SceneSwitcher/releases/tag/1.4.1

Hope it helps.


----------



## ABBAfan (Jan 10, 2020)

Подскажите пожалуйста, можно ли через этот плагин переключать сцены по расписанию. Тоесть не через определенное время а в конкретное, например в 12-00. Если да то как, если нет посоветуйте пожалуйста плагин.

Mod edit: translation: Please tell me if it is possible to switch scenes through this plugin according to a schedule. That is, not after a certain time, but at a specific time, for example, at 12-00. If so, how, if not, please advise the plugin.


----------



## RobertZen (Jan 15, 2020)

So I updated to 24.0.6 OBS on Mac, it erased the advanced-scene-switcher entirely during update, and now no matter what I try I cant not get it to show under tools.

I have tried following the instructions here - https://github.com/ijaureguialzo/SceneSwitcher/releases/tag/1.4.1
But I must be missing something, can anyone help with this?


----------



## thatdrumgirl (Jan 27, 2020)

RobertZen said:


> So I updated to 24.0.6 OBS on Mac, it erased the advanced-scene-switcher entirely during update, and now no matter what I try I cant not get it to show under tools.
> 
> I have tried following the instructions here - https://github.com/ijaureguialzo/SceneSwitcher/releases/tag/1.4.1
> But I must be missing something, can anyone help with this?


You aren't the only one with this problem. And there doesn't seem to be anyone who can explain in layman terms how to do this.


----------



## Terry_Rocks (Jan 28, 2020)

Hi same problem here. OSX 10.13.6 path: application support/obs-studio/plugins/advanced-scene-switcher/bin
there is the .so file., so far so good. But I`m wondering beside the bin folder there is no data folder! Current protocol: no suitable image found -so not loaded. Any ideas? Thxx


----------



## Warmuptill (Jan 30, 2020)

The issues with the Mac version of the plugin in combination with the new OBS version should now be resolved.

Please note the installation instructions for Mac have changed for the new OBS version:

For OBS versions 24 or newer copy the advanced-scene-switcher.so file to Contents/Plugins.
For OBS versions older than OBS 24 copy the advanced-scene-switcher*-old*.so file to Contents/Resources/obs-plugins.
The download link for the fixed version (and the old one in case you are still using the old OBS version) is the same as it was previously and can be found on the overview page of the plugin.

Thanks to* ijaureguialzo *for trying to help out with the problem in the meanwhile.


----------



## thatdrumgirl (Feb 3, 2020)

Warmuptill said:


> The issues with the Mac version of the plugin in combination with the new OBS version should now be resolved.
> 
> Please note the installation instructions for Mac have changed for the new OBS version:
> 
> ...


Yaaaaaaaaay! Thank you so much! My show is tonight and I'm so happy to have it up and running again! Thank you!!!!!!!!!


----------



## BCK (Feb 4, 2020)

This scene switcher is EXACTLY what I was hoping it was. I have some odd behavior to report and hope someone else has experienced this. I have not read through the 22 pages of posts.

The *only* feature I'm using is "Scene Sequence". I have 7 webcams attached to this stream computer (needed for my niche content). My scenes have hotkeys assigned. "Automatic Scene Switcher" is disabled (or not active in the settings box).

Scene 2  >  5s  >  Scene 3  >  cut
Scene 3  >  5s  >  Scene 2  >  cut

Scene 4  >  5s  >  Scene 5  >  cut
Scene 5  >  5s  >  Scene 4  >  cut

I can issue my hotkeys to launch from Scene 1 into either of these alternating scenes. When switching from either of these loops however (2 > 3 > 2 etc) or (4 > 5 > 4 > etc) to the other, I get dumped back at scene 1.

The work-around I have is to manually switch back to Scene 1 before jumping into one of these loops and to not manually switch from one loop to another.

Is this "by design" behavior?

@Warmuptill, no BS man, this is a fantastic plugin. My stream content will really stand out with the functionality you baked in. Much love brotha/sista.


----------



## Oscar Reynoso (Feb 6, 2020)

Estoy viendo una lista de reproducción a cierto tiempo cambio a otra escena y como retorno a mi primera lista de reproduccion en el momento que hice el primer cambio de escena


----------



## Andrei Iosifescu (Feb 11, 2020)

I have a countdown with Snaz. I want to automatically change the scene when the countdown ends. How can I do that?


----------



## mattltm (Feb 12, 2020)

Is there any way to switch to a specific scene when audio is detected from a specific source? This would be a great feature.


----------



## Falibu (Feb 14, 2020)

hello! first of all, thanks for the awesome plugin! i stream Mixed Reality in VR and this plugin fits my PiP format PERFECTLY! <3

one thing i wonder about, is if it is at all possible to add functional start and stop hotkey options? i noticed there is a toggle that starts/stops but it's on a toggle. i stream virtual reality with a headset on and do so without the ability to easily check my monitor. in my case, i use voice attack to utilize voice commands to switch scenes in OBS and i am currently using voice attack to toggle the advanced scene switcher with a TTS audio confirmation. HOWEVER, i often forget if i have it toggled on or off and if had a hotkey to specifically turn it on and specifically turn it off, i could assign each to different hotkeys and have different voice commands trigger specific on/off instead of the toggle. i'm sorry if this is confusing. it's very late here. thanks for the consideration :)

here's a clip of what i'm talking about:
WTB dedicated on/off hotkey functionality with the auto scene swapper in OBS pls :)








						Twitch
					

Twitch is the world's leading video platform and community for gamers.




					clips.twitch.tv


----------



## NeonCoding (Feb 21, 2020)

I'm using this plugin for multiple monitor recording, so I have it set to switch scenes when the mouse is in either display. However, If i move between scenes too fast (which is occuring while im working so proving an issue) the view gets locked on one screen, so that even though I can see it changing scenes, obs studio only displays and records one screen. How can I deal with this?


----------



## LAHWX (Mar 17, 2020)

NEWBIE here!
When I download the file, there is no advanced-scene-switcher DLL file there?  
Using the windows version.  Any suggestions?  Thanks


----------



## avniboy (Mar 19, 2020)

hi there, one good thing would be if you would make ms to hr, m, s
example scene change after 1hr 2min 3sec

would be awesome..... otherwise great work so far


----------



## bradtem (Mar 26, 2020)

Warmuptill said:


> No further updates are planned, sorry.


So, the project has become dormant?   I think one of the requested features (switch scene based on content of a source, for example, based on the colour of a pixel in a source) would be very handy to many people.  What incentive would bring you back?   Glory? Cash?   Or is there a guide to how to do the basics -- such as querying a pixel in a source -- inside OBS if I want to do it myself?


----------



## vital_things (Mar 27, 2020)

Hi!
Complete and utter noob here so please bear with me!  This appears to be exactly what I was looking for, in that I'm attempting to do a constant audio stream with images, but I want the images (there will be dozens of them) to change at set points.  These will be variable, depending on the length of the audio track.
My problem is that I have zero of the skills mentioned. For example, in the README.txt:-

_*"You'll need CMake and a working development environment for OBS Studio installed on your computer. Once you've done that, do the following:*_
*git clone https://github.com/WarmUpTill/SceneSwitcher.git
cd SceneSwitcher*
_*mkdir build && cd build"*_

I get nothing but tumbleweed in my head when I read that.  Download CMake? Not a problem, I'm good at downloading.  Know what to do with Cmake or github?  Not a clue.

Is there by chance an even simpler installation guide? No worries if not, I think all the work already done is incredible,even if I don't understand it!!

Thanks,
David


----------



## tcklein (Mar 30, 2020)

LAHWX said:


> NEWBIE here!
> When I download the file, there is no advanced-scene-switcher DLL file there?
> Using the windows version.  Any suggestions?  Thanks


I have the same issue? Any help would be appreciated!


----------



## Andrey.D (Apr 7, 2020)

Hello. There is such a task:
OBS and NGINX take several streams at once.
Each stream is displayed on a separate stage.
Is there a need that in the event of a disconnect from the source, which is broadcast on the current scene, there was a switch to another preset or intermediate scene?
This would help a lot to automate streams from several sources, to remove the screensaver in case of the disappearance of the signal, etc.
As an example, let's say the scene uses a VLC source, if the image/sound in that source is missing, there would be a transition to the stage with a screensaver or to another participant's stream. You need control of external sources and internal (OBS plugins) on various parameters.


----------



## dimebag (Apr 8, 2020)

Hi i'm using macOS high sierra and i've been able to follow everything. But when ever i try to paste the advanced-scene-switcher.so file it won't let me paste it in.  i've logged in as root and have permission to read and write file in both locations that i am copying from and to were i want to paste but it won't let me paste it in to the plugins folder. looking at the sharing and permissions of the contents/plugins folder even though i am logged in as administrator it still says you can only read under the sharing/permissions info. I'm really stomped as to why it won't let me do it. has anyone had a similar problem?


----------



## Pengi123 (Apr 8, 2020)

Hi, I'm using macOS Mojave
I have problems with that All my scenes was duplicate when changing scene collection.
I don't know why I see also on this forum that when they stop this plugin the obs did not have duplication scene problems and I try to stop Advanced Scene Switcher and I see that obs not duplicating scenes.
Can you fix this problem to I can every time be ON this plugin "Advanced Scene Switcher" when I changing scene collection?


----------



## THE R3Y3S (Apr 11, 2020)

Hi, how i can make a backup of my settings or i can find them? Because i unistall obs but i did a global backup, so i want to try to find them.


----------



## Luis Bordis (Apr 13, 2020)

Excelente plugin me ayudo a optimizar mi flujo de trabajo


----------



## laurentiusho (Apr 14, 2020)

thatdrumgirl said:


> Yaaaaaaaaay! Thank you so much! My show is tonight and I'm so happy to have it up and running again! Thank you!!!!!!!!!


 Where's the so called 'Contents/Plugins' folder path? I couldn't find it anywhere!
I only managed to go as far as: Library/Application Support/obs-studio/plugins
I dropped the .so file in there.. and... nothing! Nothing happened in my obs window?!?!


----------



## andrewecko (Apr 17, 2020)

Hi, I'm a new OBS user (Mac), and I'm not very familiar with the proper terms you would use, so bear with me:

I'm a musician who has been live streaming my performances. I have a setup that involves a video with a countdown timer in one scene, and my camera in another scene. I downloaded the Advanced Scene Switcher so I could automatically change from my countdown timer scene to my camera scene. The goal is to touch the computer as little as possible so when my camera is active, people don't see me messing around on the computer and I can engage them immediately. I set up the scene sequence to change from my countdown scene to my camera scene by inputting the length of my countdown video in seconds. And it works.

My issue is that sometimes, before streaming, I accidentally check the countdown scene before I'm ready. After switching to my camera scene to make sure everything looks good, I'll switch to my countdown scene, start streaming, and the scene switches to my camera early, cutting off the countdown. I realized that this is because the scene sequence timer doesn't stop ticking. I tried using Pause but the scene sequence timer will pick up where it left off.

Is there a way to stop the scene sequence timer completely, and reset the scene sequence timer when the countdown scene becomes active again? I'm trying to do this without hotkeys so I don't have to touch my computer.


----------



## Jordan21 (Apr 21, 2020)

Hello,

I have a windows LENOVO, and Im trying to download the advance switcher plugin but its giving me the unicorn icon saying there is a error. Can someone help or ever experience this?


----------



## TheMeanLittleMan (Apr 21, 2020)

Does anyone have a detailed step-by-step installation guide? I'm sure the steps put forward are sufficient for most, but I'm at a loss.

For example, the directions reference file advanced-scene-switcher.dll  in the download, but I can't find a file by that name in the download.

A detailed step-by-step that details every individual action needed to go from downlod to function would be helpful. 

Can anyone point me in that direction?

Thanks


----------



## Nubium (Apr 25, 2020)

Hi. I am totally new to this forum, and I've only been using OBS since the lockdown to learn how to stream my dj sets.  I am missing something.  I want to install this plugin on my mac, i follow the direction but I can't find the 'advanced-scene-switcher.so' file in the folder that i have downloaded, maybe this is super easy but please help.  where is that file please.  Thanks so much.  have a great day.


----------



## Nubium (Apr 25, 2020)

ltarcada said:


> Had the same problem. Copied the *SceneSwitcher.DLL* from *obs-studio/obs-plugins/64bit/* to *obs-studio/bin/64bit/* and it worked like a charm after that.


Are you using a mac?


----------



## StragelX (Apr 25, 2020)

Hello, does this work with OBS Streamlabs? or only with OBS studio? If it does, please give instructions for instalation. Thanks.


----------



## Warmuptill (Apr 26, 2020)

Warmuptill updated Advanced Scene Switcher with a new update entry:

Add media source switching



> Add support for media source based scene switching (implemented by Exeldro).
> *This requires use of at least OBS version 25*.



Read the rest of this update entry...


----------



## Soof zig (Apr 26, 2020)

hi
just updated the last version 25.0.7
on mac  catalina 10.15.4
and suddenly the "advanced scene switcher" just disappeared from the "Tools" section
i tried to download the plugin again and put it everywhere in the obs folders but still dont see it on the "Tools"
any idea? 
thanks


----------



## th33559 (Apr 27, 2020)

Hi, I am also having trouble installing Advanced Scene Switcher on macOS Catalina (10.15.4). I am running OBS 25.0.7.

I have placed the advanced-scene-switcher.so file in the "OBS.app/Contents/Plugins/" folder but it is not showing up in the Tools dropdown. I have restarted OBS and machine several times.

I also tried disabling Gatekeeper (following this process) but to no avail.

Any help is greatly appreciated!! Happy to tip $$ for help :)


----------



## madk0w (Apr 30, 2020)

Same here. Since I updated OBS to 25.0.7 (and updated to 25.0.8 today) and advanced-scene-switcher to 1.5, it is not showing in the Tools dropdown.

I am on macOS Catalina 10.15.4

I tried installing advanced-scene-switcher.so file in:
"OBS.app/Contents/Plugins/"
and
"~/Library/Application Support/obs-studio/plugins/advanced-scene-switcher/bin/"

I also removed the quarantine of advanced-scene-switcher.so using the following command in terminal:

xattr -d com.apple.quarantine ~/Library/Application\ Support/obs-studio/plugins/advanced-scene-switcher/bin/advanced-scene-switcher.so

but nothing worked !!


----------



## madk0w (Apr 30, 2020)

Gotcha!!! So finally got it to work. I re-downloaded advanced-scene-switcher version created April 27th. (I previously had the April 26th version)

Put 
advanced-scene-switcher.so
in
"~/Library/Application Support/obs-studio/plugins/advanced-scene-switcher/bin/"

ran

sudo xattr -rd com.apple.quarantine ~/Library/Application\ Support/obs-studio/plugins/advanced-scene-switcher/bin/advanced-scene-switcher.so

in terminal, 

and "advanced scene switcher" is back in the Tools menu !!!

(with macOS Catalina 10.15.4 and OBS 25.0.8)


----------



## v02020 (May 1, 2020)

madk0w said:


> Gotcha!!! So finally got it to work. I re-downloaded advanced-scene-switcher version created April 27th. (I previously had the April 26th version)
> 
> Put
> advanced-scene-switcher.so
> ...


I get to "plugins" but don't see "advanced-scene-switcher"... like the instructions say to put it in after "bin"


----------



## madk0w (May 1, 2020)

v02020 said:


> I get to "plugins" but don't see "advanced-scene-switcher"... like the instructions say to put it in after "bin"


you have to create the last two folders /advanced-scene-switcher/bin/ and put advanced-scene-switcher.so in the bin folder


----------



## unlimitedsounds (May 2, 2020)

I just tried to use ADVANCED SCENE SWITCHER on 24.0.6 HIGH SIERRA MAC and it crashes OBS as soon as I select it.  All I want to do it switch between 2 scenes (cameras) after specific time...


----------



## WoddySSS (May 4, 2020)

hi need help ide. I want to make sure that after the appearance of the signal in the VLC automatically switches to this scene (For example: I stream from the phone to the obs, and suddenly the connection disappears, and this plugin switches to the scene where it’s written that the stream will resume soon, when the connection appears back, the plugin should return back to the previous scene). Google translator:D


----------



## Sweatymunter (May 4, 2020)

Hiya, thanks for the plugin, got it installed with no issues.  Im trying to figure out if its capable of doing the below scene switching.

I have a Main scene and 19 separate scenes each containing a single short visual video, Ideally, I'd like to be able to get the switcher to swtich from 

Main - Random from scene list of vids - Main  on repeat

Is this possible? or is there a way that it can do it without the other 19 scenes being in random order ?

thanks!


----------



## Brotuulaan (May 8, 2020)

I'm getting a crash any time I switch scene collections while this plugin is installed. I pulled the .dll file out of the x64 folder and restarted OBS (the crash log pointed there as the fault address), and it switched just fine. Is anyone else currently experiencing this?

***EDIT***
Hm. I just stuck it back in, and now it's switching just fine. It crashed 4 times in a row before I checked the log, and now it's switched 3 times in a row in the blink of an eye...
***/EDIT***


----------



## gehric (May 9, 2020)

Hi All, I do extremely long streams, is there a way to set a time for when to switch to another scene, not relying on the timer
for example switch to scene 2 at 6.17am then switch to Scene 3 at 7.14am
That's putting a clock in place of the timer or some sort of drop down box


----------



## Sharper (May 14, 2020)

Hey,

Is it possible to switch to preview somehow? Let's say I want to play a Video and once it ends, it goes to whatever window I have in the Preview (Studio Mode)

Cheers


----------



## pythros (May 17, 2020)

Hey there,

Couple of things.

1. Could it be possible to get an option/feature to automatically switch scenes when the clock, not timer, reaches a certain time, please? Even down to the second? I'm trying to coordinate with a live audience by having an intro video for the stream that needs to start at very specific time. Ideally I would love to do this with a timecode system by neighed OBS or my other presentation software support the use of timecode.

2. I've been testing this on my Windows system for gaming, but, one of my clients uses a Mac for their system. I installed it like normal to the plugins folder, go to Tools -> Advance Scene Switcher and OBS crashes. I have never been able to get in to set parameters. I've attached the dump in a text file. Also, I looked through the plugin file you included via TextEdit and noticed a few lines refer to your user "Till" locations. I wonder if this has anything to do with the crash since it is trying to locate a "symbol"


```
Termination Reason:    DYLD, [0x4] Symbol missing

Dyld Error Message:
  Symbol not found: _obs_source_media_get_state
  Referenced from: /Applications/OBS 2.app/Contents/Plugins/advanced-scene-switcher.so
  Expected in: /Applications/OBS 2.app/Contents/MacOS/../Frameworks/libobs.0.dylib
```

Thank you for your time!


----------



## Warmuptill (May 18, 2020)

pythros said:


> Hey there,
> 
> Couple of things.
> 
> ...


The issue seems to be related to "_obs_source_media_get_state".
Which Version of OBS are you using?
If it is older than OBS 25 you will have to use an older version of the plugin.


----------



## MYKOOL (May 20, 2020)

Hi,
I'm currently doing DJ livestreams and want the stream to be more dynamic so I have 3 Scenes that I cycle through, each scene holds for 6 seconds before cutting to the next - but I'd also like a fourth scene to cut every 3 minutes and hold for 30 seconds before switching back to Scene 1 - I can't seem to work out how to do this?
So far I have the 3 scenes switching automatically working correctly, but I can't seem to get this 4th scene working. I though of adding it to the randomiser but I don't know how to configure it correctly. Anyone able to help with this?


----------



## djalragone44 (May 21, 2020)

Hi all.... apologies if this was discussed before, new user. Running OS X 10.12.6 (Sierra) - the highest I can go on this 2011 iMac. I'm running OBS 24.0.6 - it's working perfectly. When I follow the instructions on the website with the Advanced Scene Switcher plugin (and the directions in the readme.txt) - it shows up fine in my software but when I try launching it, it constantly crashes my software. Any ideas?


----------



## pythros (May 21, 2020)

Warmuptill said:


> The issue seems to be related to "_obs_source_media_get_state".
> Which Version of OBS are you using?
> If it is older than OBS 25 you will have to use an older version of the plugin.



Aha. We were indeed they were on 24. Updating it to 25 resolved it. Thanks. Any chance on the feature request in point 1?

@djalragone44 see above.


----------



## IsaiahFoster (May 23, 2020)

I recently added the advance scene switcher. I added my media (video) and for some reason the timer is off by 17 seconds compared to the actual video time. Why is my video transitioning to the next scene earlier than the video being completed? The seconds are aligned with the video. Is there a button to allow the video to automatically play out and transition without adding the seconds in?


----------



## EmotionFox (May 23, 2020)

Hello Wapuptill thanks you very much for this plugin which should definitly be implemented in OBS as default, but I cannot manage to use different transitions when I switch to "scene1" to "scene2" or "scene1" to "scene3" or even "scene2" to "scene1" manually or with the shortcut for exemple, is it even possible with your plugin ? If no why does the "Transitions" tab only affect the "automated" scene switchs caused by your plugin ? 

I whis so much that I could automatically switch the transition depending on which scene I'm and wich scene I target to switch :C Thanks again if you could answer me.


----------



## Warmuptill (May 23, 2020)

EmotionFox said:


> Hello Wapuptill thanks you very much for this plugin which should definitly be implemented in OBS as default, but I cannot manage to use different transitions when I switch to "scene1" to "scene2" or "scene1" to "scene3" or even "scene2" to "scene1" manually or with the shortcut for exemple, is it even possible with your plugin ? If no why does the "Transitions" tab only affect the "automated" scene switchs caused by your plugin ?
> 
> I whis so much that I could automatically switch the transition depending on which scene I'm and wich scene I target to switch :C Thanks again if you could answer me.


Have a look at this plug-in:





						OBS Transition Matrix [Discontinued]
					

This served its purpose as a prototype and a more fleshed and properly supported plugin now exists for this functionality.  Check it out: Transition Table




					obsproject.com
				




I think it should do exactly what you are looking for.


----------



## EmotionFox (May 23, 2020)

Warmuptill said:


> Have a look at this plug-in:
> 
> 
> 
> ...



Thank you so much, this is exactly what I was looking for indeed, finnaly I can make my stream look like a point and click on switching from different scene :D


----------



## Daniel Figueiredo (May 26, 2020)

Do you can develop the use o virtual buttons to switch scene?


----------



## gjrowe (May 31, 2020)

I tried installing on my Mac and get this error...
*“advanced-scene-switcher.so” cannot be opened because the developer cannot be verified.*
...what is the work around?


----------



## Andrei Iosifescu (Jun 1, 2020)

Can you add scheduled scene switcher? 
For example, switch to scene B at 19:00 and at 20:30 switch to scene C. Also, when Advanced scene switcher is active, I cannot switch to another scene. I think it's a bug.


----------



## Warmuptill (Jun 1, 2020)

gjrowe said:


> I tried installing on my Mac and get this error...
> *“advanced-scene-switcher.so” cannot be opened because the developer cannot be verified.*
> ...what is the work around?


Where do you see this error? In the OBS logs?
Does this help?
xattr -d com.apple.quarantine ~/Library/Application\ Support/obs-studio/plugins/advanced-scene-switcher/bin/advanced-scene-switcher.so



Andrei Iosifescu said:


> Can you add scheduled scene switcher?
> For example, switch to scene B at 19:00 and at 20:30 switch to scene C. Also, when Advanced scene switcher is active, I cannot switch to another scene. I think it's a bug.


I have prepared adding this functionality - I will send you a pre release version.
Regarding the latter point - Depends on how you have configured the scene switcher, so I cannot say if it is a bug or not.


----------



## Warmuptill (Jun 1, 2020)

Warmuptill updated Advanced Scene Switcher with a new update entry:

Add time based switching



> Add support for system time based scene switching.
> This requires use of at least OBS version 25.



Read the rest of this update entry...


----------



## homebro2000 (Jun 1, 2020)

Is it possible to add option to execute program like batch file while switching to specific scene?


----------



## Warmuptill (Jun 1, 2020)

homebro2000 said:


> Is it possible to add option to execute program like batch file while switching to specific scene?


I feel like starting external programs is out of the scope of a scene switcher, but if there is a lot of demand I might look into it.
Thanks for the suggestion though!


----------



## Lawrence_SoCal (Jun 1, 2020)

First and foremost - thank you for this.
My interest is in the Media Source switching (a recorded video ends, followed by automated scene change ... exactly what I'm looking for)
I am live streaming a broadcast combining live video and pre-recorded content

However, I've come across a number of anomalies with Adv Scene Switcher v1.5. If anyone can help out, I'd appreciate it. Yes, OBS' included Automatic Scene switcher is Inactive. My setup is  Win10 Enterprise, OBS 25.0.8 64-bit, Dell mobile Precision 7530 Xeon 6-core, Intel P630 & NVidia Quadro P2000 GPU, 64GB RAM, NVMe SSD
This tools' DLL placed in C:\Program Files (x86)\obs-studio\obs-plugins\64bit
    My machine has MS Visual C++ 2015-2019 Redistributable (x64) 14.20.27508 which otherwise seems to be working, so I didn't add the 2017 only version
if any of the following fixed by Adv Scene switcher v1.6, please let me know

1. I currently have over 10+ scene changes to be triggered by video endings
    I enter Media scene change details, and the list often doesn't save everything/properly (one or two will go missing)
    Or what I entered (and appeared after entering the "+", is slightly changed when I came back to the tool... like a corrupted entry
    This last week getting my media source switching list accurate took 20+ tries. The 'errors' are not consistent. I'll add an scene change, leave come back and a different scene change in the list will be missing, or one duplicated, or ??  [very frustrating and time consuming]
        [so I only do it as the automation is that valuable to me]
        I've gone to screen capturing the list, then comparing/checking each and every time I re-open OBS or make Media Scene switching changes...
    Is there a trick to adding entries cleanly and getting them to stick?
        Should Adv Scene switcher be stopped before/after/during list edit???
        Does closing Tools window via Close button (vs Upper right X on the window) make a difference? Do I need to stop Tool before closing?
        Is the list saved someplace I can check/edit outside of the tool (in a DB, or ??)

2. The Media Source switching pull-down list doesn't recognize/include the media sources (videos) in all of the scenes until I play them. ie, when I open OBS and go straight into Adv Scene Switcher - media Source switching tab, most (vast majority) of the videos in the various scenes won't be listed. I have to go to each scene, let the video starting playing, next scene, etc. THEN I can select the videos in the media source switching pull down list
I'm hoping this isn't 'functioning as designed'? Is there another trick (other than my clumsy work-around) to having the videos appear in the media switcher pull-down list?

3. OBS now crashes on every exit. [latest crash log attached]
    I've tried stopping Adv Scene Switcher, then closing/exiting, etc... no effect
    if a memory corruption issue, maybe this is why I'm having issue #1?

Request for change
- enable editing of media scene changes (vs deleting a media source switch single line item and creating new). For example, double click on line item and it populates the settings in the tool, then change normally, and hit + (if that creates a new item vs overwriting old, I'm fine with that [actually, that would be my recommended behavior]. A user can then easily/quickly delete old line item.

Other -
- {not sure if what I'm looking for already exists natively in OBS, another plug-in, and would be a good addition here. Any advice appreciated} For each new scene, I'd love to have the option to add a page change (next) to be sent to PowerPoint. I saw the recent ppt_slide.py script. I do NOT want/need to use hotkeys or similar to change PPT page. I want the scene change and page change to happen together. I'm thinking either a script/plug-in/something execution as part of (1st action) each scene where I want to trigger the page change. Or when Adv Media switcher changes scenes to also kick off another action (the page change in this case). Anyways... just a thought/suggestion


----------



## SandyM (Jun 2, 2020)

Firstly Thank You for this plugin which I use regularly.

I downloaded it a month or so ago and I'm about to do a tutorial video to show other churches how to automate their recordings/livestreams. The only problem I've got is I can't find the files for installation on Windows or Mac! I'm probably being very slow today.

I've gone to https://github.com/WarmUpTill/SceneSwitcher and clicked the 'Clone or Download' and my download is a folder entitled SceneSwitcher-Master which looks like the source files rather than the Windows/Mac installation files. Am I looking in the wrong place?

Many thanks


----------



## Ceetch (Jun 2, 2020)

Loving this plugin, since I can finally switch scenes based on executables, rather than window titles.
One question I have is whether the state of an input source can be used to switch scenes.  Such as if my capture card is displaying a game or not.
Basically, most capture cards will either display a "no input" message or even just a black screen when nothing is playing.  If the plugin can determine if the source is displaying that "no input" image or not, and switch to that scene if there's something besides the "no input" image being shown, that might be useful.
Perhaps just grab a frame every second or so and compare it to a known "no input" frame (maybe need the user to do some configuration so the plugin can "see" the no input frame ahead of time so it has something to compare to) and switch if the current video feed is different enough from the "no input" image.


----------



## Warmuptill (Jun 2, 2020)

SandyM said:


> Firstly Thank You for this plugin which I use regularly.
> 
> I downloaded it a month or so ago and I'm about to do a tutorial video to show other churches how to automate their recordings/livestreams. The only problem I've got is I can't find the files for installation on Windows or Mac! I'm probably being very slow today.
> 
> ...


You can download the plugin using the download button on the overview page here or if you want to use github see the "releases" section.
The "Clone or Download" button on github is referring to the source code.



Ceetch said:


> Loving this plugin, since I can finally switch scenes based on executables, rather than window titles.
> One question I have is whether the state of an input source can be used to switch scenes.  Such as if my capture card is displaying a game or not.
> Basically, most capture cards will either display a "no input" message or even just a black screen when nothing is playing.  If the plugin can determine if the source is displaying that "no input" image or not, and switch to that scene if there's something besides the "no input" image being shown, that might be useful.
> Perhaps just grab a frame every second or so and compare it to a known "no input" frame (maybe need the user to do some configuration so the plugin can "see" the no input frame ahead of time so it has something to compare to) and switch if the current video feed is different enough from the "no input" image.


Currently the plugin does not support image detection, but it was requested a couple of times already.
I think comparing the frames might be a rather expensive operation that is why I am hesitant, but I might look into it.



Lawrence_SoCal said:


> First and foremost - thank you for this.
> My interest is in the Media Source switching (a recorded video ends, followed by automated scene change ... exactly what I'm looking for)
> I am live streaming a broadcast combining live video and pre-recorded content
> 
> ...


Version 1.6 did not change any behavior regarding the media tab besides fixing a very very minor leak when loading / saving the settings on the media tab.
I was not aware about any stability issues yet regarding the media tab but you do not seem to be the only one reporting them (was also just reported on github today)
In this particular crash report I do not see any signs of scene switcher causing the crash but maybe I am missing something.
I will definitely look into it.
EDIT: I will send you a version containing the behaviour described in your change request via PM for testing.


----------



## Lawrence_SoCal (Jun 2, 2020)

tested.. feedback in PM reply


----------



## tius (Jun 6, 2020)

Sorry, if this is a FAQ. I use a separate PC for encoding and NDI to transmit the data between the pc. I would like to use advanced scene switcher on the encoding pc to switch automatically to another scene if the NDI data stream stops (using idle detection). However, I cannot get that working. Advanced scene switcher always switches to the second scene, even if there the NDI source is active.

Is there a trick to get that job done? Thanks in advance for any hints!


----------



## Warmuptill (Jun 7, 2020)

tius said:


> Sorry, if this is a FAQ. I use a separate PC for encoding and NDI to transmit the data between the pc. I would like to use advanced scene switcher on the encoding pc to switch automatically to another scene if the NDI data stream stops (using idle detection). However, I cannot get that working. Advanced scene switcher always switches to the second scene, even if there the NDI source is active.
> 
> Is there a trick to get that job done? Thanks in advance for any hints!


I am not quite sure if I understand the problem correctly, but idle detection is only referring to keyboard  / mouse inputs not NDI source input.
Sorry if this was unclear.


----------



## tius (Jun 7, 2020)

Warmuptill said:


> I am not quite sure if I understand the problem correctly, but idle detection is only referring to keyboard  / mouse inputs not NDI source input.
> Sorry if this was unclear.



Thank you very much @Warmuptill! This make things clearer :-)

Do you think there is a way to monitor NDI source input and switch to another scene if it fails? That would allow an automatic fallback if the primary pc fails.


----------



## Warmuptill (Jun 7, 2020)

tius said:


> Thank you very much @Warmuptill! This make things clearer :-)
> 
> Do you think there is a way to monitor NDI source input and switch to another scene if it fails? That would allow an automatic fallback if the primary pc fails.


At least at the moment I do not think this can be done with the advanced scene switcher.
But I think just checking if a source is active using obs_source_active() and then switching accordingly would theoretically be an option.
I cannot promise that I will add this functionality anytime soon though as I am not familiar enough with the NDI source.


----------



## Mastercrown (Jun 7, 2020)

I need help, after 20 minutes automatic scene switching in Obs while streaming or obs local, it seems that the vlc videosource in every scene where a vlc videosource is set will be lost(no more picture). I have to do  manual overwride in vlc videosource the source(url) again, to get the picture back. It seems that it will timeout after 20 minutes. any help for this problem? The vlc videosources are streams, no local files.


----------



## Leoaccorsi (Jun 8, 2020)

Warmuptill said:


> Warmuptill submitted a new resource:
> 
> Automatic Scene Switching - Switches to specified scenes depending on which window is in focus
> 
> ...


Hello my friends! I have a Mac sierra 10.12.6, and using obs 24.0.6, downloaded The scene switcher 10.0.4, and installed as instructions, but


Warmuptill said:


> Warmuptill submitted a new resource:
> 
> Automatic Scene Switching - Switches to specified scenes depending on which window is in focus
> 
> ...


hello guys! I have a Mac OS Sierra 10. 12.6 with ohs 24.0.6. Downloaded the advanced scene switcher 10.0.4, installed everything, but when I run the app, and click in the advanced scene switcher tab, the obs suddenly shuts down. do you know whats going on?


----------



## Warmuptill (Jun 8, 2020)

Leoaccorsi said:


> Hello my friends! I have a Mac sierra 10.12.6, and using obs 24.0.6, downloaded The scene switcher 10.0.4, and installed as instructions, but
> 
> hello guys! I have a Mac OS Sierra 10. 12.6 with ohs 24.0.6. Downloaded the advanced scene switcher 10.0.4, installed everything, but when I run the app, and click in the advanced scene switcher tab, the obs suddenly shuts down. do you know whats going on?


Hello,
The issue is "Symbol not found: _obs_source_media_get_state" which was introduced with OBS 25.
You will have to use an older version of the plugin (1.4) as you are still using OBS 24.


----------



## Leoaccorsi (Jun 9, 2020)

exactly, I downloaded the 25 version, but  it didn't run, then  I downloaded de 24 and installed.  then I downloaded the 1.4 version, but, somehow in the folder "tools" I the obs, already shown the option ADVANCED SCENE SWITCHER... WHEN I CLICK, the ohs sits down suddenly... Do you know how to uninstall this folder in the tools? I tried to uninstall and then install again, but its still there! thank you!


----------



## tius (Jun 9, 2020)

Warmuptill said:


> At least at the moment I do not think this can be done with the advanced scene switcher.
> But I think just checking if a source is active using obs_source_active() and then switching accordingly would theoretically be an option.
> I cannot promise that I will add this functionality anytime soon though as I am not familiar enough with the NDI source.



Hi @Warmuptill, thank you very much! Perhaps it would be an even more flexible option to monitor a screen region for changes and trigger a scene switch either on changes or inactivity within this region. I can imagine some more use cases for such an option :-)


----------



## Pjetro77 (Jun 10, 2020)

Thankyou for this plugin! Really the thing I am searching for! :)
However I can't manage to install it... I have download the plugin and extracted it, but I can't find the  advanced-scene-switcher.dll file you are refering to in the intro.

What am I doing wrong?? Or do I have to get another file for computer (I have windows as OS).

Looking forward hearing from you! :D


----------



## Warmuptill (Jun 11, 2020)

Pjetro77 said:


> Thankyou for this plugin! Really the thing I am searching for! :)
> However I can't manage to install it... I have download the plugin and extracted it, but I can't find the  advanced-scene-switcher.dll file you are refering to in the intro.
> 
> What am I doing wrong?? Or do I have to get another file for computer (I have windows as OS).
> ...


You probably downloaded the source code instead of the prebuilt plug-in.
If you want you can download the prebuilt dll from github under the releases section or use the "Go to download" button at the top of the screen.


----------



## Cabal-2140 (Jun 11, 2020)

Is there a way to switch to a scene if a text file just updates? not a specific content in it, just the change of the file.


----------



## Warmuptill (Jun 12, 2020)

Cabal-2140 said:


> Is there a way to switch to a scene if a text file just updates? not a specific content in it, just the change of the file.


I guess you could try the option to only check the file contents if the file changed and use the regular expression ".*" to match any content.
But I am not sure if this will achieve what you are trying to do.


----------



## Cabal-2140 (Jun 13, 2020)

Warmuptill said:


> I guess you could try the option to only check the file contents if the file changed and use the regular expression ".*" to match any content.
> But I am not sure if this will achieve what you are trying to do.


I'd like to automatically switch to a scene if streamlabels updates one of the most recent files and with the included autoswitcher then back after 30 sek.


----------



## Warmuptill (Jun 13, 2020)

Cabal-2140 said:


> I'd like to automatically switch to a scene if streamlabels updates one of the most recent files and with the included autoswitcher then back after 30 sek.


You could try the method above combined with a scene sequence.


----------



## Warmuptill (Jun 13, 2020)

Warmuptill updated Advanced Scene Switcher with a new update entry:

Fixes and improvements



> Add regular expression support to the executable tab
> Add option to also to match window titles which are not in focus
> Add ability to reorder window title and executable switches
> Add option to chose thread priority for scene switcher
> ...



Read the rest of this update entry...


----------



## DemystifySci (Jun 14, 2020)

Thought I was losing my mind, but the new package posted yesterday doesn't have a .so file included. Went back to the previous release and found the necessary files.


----------



## Warmuptill (Jun 14, 2020)

DemystifySci said:


> Thought I was losing my mind, but the new package posted yesterday doesn't have a .so file included. Went back to the previous release and found the necessary files.


Oh sorry about that - Can you please clarify what is missing and I will add it back in asap?

(Just checked - did you maybe accidentally download the source code instead?)


----------



## Pjetro77 (Jun 14, 2020)

Warmuptill said:


> You probably downloaded the source code instead of the prebuilt plug-in.
> If you want you can download the prebuilt dll from github under the releases section or use the "Go to download" button at the top of the screen.


That did the trick! :D 
Many thanks!


----------



## Caedmon (Jun 15, 2020)

The windows 1.6.1 did not load the dll.
I left a note on github


----------



## Warmuptill (Jun 15, 2020)

Caedmon said:


> The windows 1.6.1 did not load the dll.
> I left a note on github


Can you check if installing the latest vc_redist.x64.exe on https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads makes a difference?

EDIT:
A bit of background in case it is working after installing the latest Microsoft Visual C++ Redistributable:
I switched to using an automated build setup which unfortunately seems to only support this newer version of Visual Studio.


----------



## Caedmon (Jun 15, 2020)

OK it worked after downloading the latest  Visual C++ Redistributable


----------



## Lyd753 (Jun 16, 2020)

that was cool, used the autostop stream after the media/video ended (that was 2 hours unattended) thank you!


----------



## luncht1me (Jun 26, 2020)

I can't get this to work at all. It keeps locking my scenes up.

All I want, is to cut from one scene when I press the hotkey to do so, then fade back when I press the hotkey to go back to the other scene. It's so hit and miss and if my fade transition overlaps that 'check interval' just one time, it locks everything up. I've tried so many different values of fade transition time and interval time and nothing works ever. It's really frustrating. I can get the transitions to work as intended maybe once or twice before those timers conflict and my scenes lock up.


----------



## Warmuptill (Jun 26, 2020)

luncht1me said:


> I can't get this to work at all. It keeps locking my scenes up.
> 
> All I want, is to cut from one scene when I press the hotkey to do so, then fade back when I press the hotkey to go back to the other scene. It's so hit and miss and if my fade transition overlaps that 'check interval' just one time, it locks everything up. I've tried so many different values of fade transition time and interval time and nothing works ever. It's really frustrating. I can get the transitions to work as intended maybe once or twice before those timers conflict and my scenes lock up.


From your description you do not need the plugin at all, I think.
OBS supports switching scenes using hotkey without installing any plugin.

The scene switcher will only adjust transitions of the scene switches triggered by the scene switcher, not the ones you trigger manually (e.g. using hotkeys)
For this functionality check this plugin out:





						OBS Transition Matrix [Discontinued]
					

This served its purpose as a prototype and a more fleshed and properly supported plugin now exists for this functionality.  Check it out: Transition Table




					obsproject.com
				




What exactly do you mean by scenes locking up?


----------



## makeitwrite (Jun 26, 2020)

Hello, this plugin is great and allowed me to automate some things for easier use of OBS while recording a church service. I have a question and wondering if there is a way for this plugin to send a keystroke (hotkey) to OBS as scenes switch? (or if it would be a worthwhile addition). For instance, We have a live microphone on for the sermon, but we may show a short video (in a new scene) during the service and when that video scene starts would like to send a hotkey to mute the main stage microphone and unmute when the video ends. If there is another way to do this I'd be interested in hearing about it. All the best and thanks for making this!!


----------



## mattbatt (Jun 29, 2020)

makeitwrite said:


> Hello, this plugin is great and allowed me to automate some things for easier use of OBS while recording a church service. I have a question and wondering if there is a way for this plugin to send a keystroke (hotkey) to OBS as scenes switch? (or if it would be a worthwhile addition). For instance, We have a live microphone on for the sermon, but we may show a short video (in a new scene) during the service and when that video scene starts would like to send a hotkey to mute the main stage microphone and unmute when the video ends. If there is another way to do this I'd be interested in hearing about it. All the best and thanks for making this!!


Assuming you mean to mute the mic in OBS not in the house... You could just remove the audio source in the scene playing the video the default setting is for the audio to fade when there is a change.  You could also grab the fader in the OBS audio mixer and pull it down for the video playback scene it will mute for the duration of the video playback scene. 
Assigning a hotkey as a mute toggle or as a push to mute is available in the standard vanilla OBS. If you assign hotkey M to mute an audio source in OBS it will mute the source. You can then assign the same key or any other key to unmute the source. You can even get crazy and assign the same key to all you audio sources and mute everything. 
If you go into the audio section of settings you can check the box to push to mute individual sources and then go over to the hotkey section to assign a hotkey to that. This will act like a momentary mute switch it will mute audio as long as you have the hotkey pushed, when you let off it comes back.
NOW if you meant to mute the microphone in the house that could get interesting, involving a plugin that sends MIDI comands to the audio console..... It can be done.


----------



## Lawrence_SoCal (Jun 29, 2020)

makeitwrite said:


> For instance, We have a live microphone on for the sermon, but we may show a short video (in a new scene) during the service and when that video scene starts would like to send a hotkey to mute the main stage microphone and unmute when the video ends. If there is another way to do this I'd be interested in hearing about it.



Doing the same for a House of Worship service. As you indicated changing scenes, as others indicted, why even have the microphone in the scene with pre-recorded video? My approach has been to remove the microphone from the scene when playing pre-recorded video snippets. Thanks to @*Warmuptill *for being super responsive and fixing the initial bugs in the Media tab (fixed in 1.6.1). So my scenes are self-contained (either live video or pre-recorded... never both... learned the hard way after a few too many times of forgetting to mute, or unmute, the mic manually)  play the video, and use this plug-in to auto-switch to next scene (with live video fed, and microphone present in audio source). 
The only thing I'm missing is a PowerPoint page change (next) with scene change. I'm looking into combining the Dummy Source to execute command and python script PowerPoint slide window navigation using OBS hotkey 1.0, as I don't want to use (or have to remember to hit) hotkeys. In my case, I never have a scene change that doesn't also involve a PPTx slide change.


----------



## Marq (Jun 29, 2020)

homebro2000 said:


> Is it possible to add option to execute program like batch file while switching to specific scene?





Warmuptill said:


> I feel like starting external programs is out of the scope of a scene switcher, but if there is a lot of demand I might look into it.
> Thanks for the suggestion though!



I published a simple OBS script for this purpose:

https://obsproject.com/forum/resources/scene-execute-command.1028/
https://github.com/marklagendijk/obs-scene-execute-command-script


----------



## makeitwrite (Jun 30, 2020)

Lawrence_SoCal said:


> Doing the same for a House of Worship service. As you indicated changing scenes, as others indicted, why even have the microphone in the scene with pre-recorded video? My approach has been to remove the microphone from the scene when playing pre-recorded video snippets. Thanks to @*Warmuptill *for being super responsive and fixing the initial bugs in the Media tab (fixed in 1.6.1). So my scenes are self-contained (either live video or pre-recorded... never both... learned the hard way after a few too many times of forgetting to mute, or unmute, the mic manually)  play the video, and use this plug-in to auto-switch to next scene (with live video fed, and microphone present in audio source).
> The only thing I'm missing is a PowerPoint page change (next) with scene change. I'm looking into combining the Dummy Source to execute command and python script PowerPoint slide window navigation using OBS hotkey 1.0, as I don't want to use (or have to remember to hit) hotkeys. In my case, I never have a scene change that doesn't also involve a PPTx slide change.



Thanks for the reply - You hit the nail on the head. I have not figured out, though I've heard it mentioned several times,  that there is a way to tie an audio input source to a scene. Seems when I create an audio source, it shows in the mixer and is just there for all scenes. If I mute it, it is muted for all scenes. In some scenes I need the mic on. Thats why I was looking for some automated way to mute it for a particular scene. I may have missed something somewhere if it can actually be done. I'm running OBS 25.0.7 on a MacBook Pro / Catalina. If there is a way to tie a mic to a scene, let me know.

As to PowerPoint, we use a program on a separate computer called Song Show Plus (but could be any program including PPT) which uses its own picture format for bible verses and song lyrics but can display PPTx files as well. I installed NDI tools from NewTek and load NDI Scan Converter on the SSP machine (Windows 10). You can create a Scene with an NDI source in OBS, specify the source as a particular machine, a particular monitor if there is more then one on that machine, or just a section of the screen. It will pull the image of the slide show over the local network. No measurable delay so if you are constantly updating slides for song lyrics for instance, you only need one scene since it updates the slides to OBS with no noticable delay. 

All the best,

Bob


----------



## mattbatt (Jun 30, 2020)

You know what you are right BOB if you mute or turn down the volume on a source it affects all scenes using that source.  A way around this is instead of having "mic 1" in scene "camera" and scene "video" you could remove the "mic 1 source" from the scene (not delete the source) and add a new source called "mic 1a" that pulls from the same place that way you can adjust "mic 1a" separately from "mic 1".
I must have been sleep deprived last night. 
The only caveat I would say about automation is that if you have someone start talking before the video is done fading out their mic would remain off, OBS doesn't know or care who's talking over what. In that case you could have video audio be the side chain trigger on a ducker. Does OBS have duckers?


----------



## Lawrence_SoCal (Jun 30, 2020)

makeitwrite said:


> Thanks for the reply - You hit the nail on the head. I have not figured out, though I've heard it mentioned several times,  that there is a way to tie an audio input source to a scene. Seems when I create an audio source, it shows in the mixer and is just there for all scenes. If I mute it, it is muted for all scenes. In some scenes I need the mic on. Thats why I was looking for some automated way to mute it for a particular scene. I may have missed something somewhere if it can actually be done. I'm running OBS 25.0.7 on a MacBook Pro / Catalina. If there is a way to tie a mic to a scene, let me know.


I'm using 25.0.8 on Windows 10... so not sure if there is a difference. But for me, there's a difference between Duplicating a Source and Referencing a source. Referencing would be the behavior you are mentioning of a change in one scene, to a source would change that same source in all scenes the same way. A Duplicate source on the other hand, would not.. i think.. at least for me. Muting a microphone in one scene does NOT mute same mic in another scene for me. In my case, I remove the mic from the scene entirely... so those of us in the room are 'off-the-air' while pre-recorded video playing (own scene). which can be helpful as I can talk to person in front of camera and not worry about audience hearing. I then give that person a signal when the camera and mic are back on "on-the-air" (a manual Tally light, so to speak.. if I recall the terminology correctly)


----------



## zer0mavrick (Jul 10, 2020)

So is the creator of this on hiatus? He used to be so prompt with updates and it's been about 2 months now. I was really excited to see a plugin like this in the works. After reinstalling windows like twice and trying a bunch of different things, the transitions like "fade" and whatnot don't work at all. It's either black screen or it just goes straight to the second source. Did anyone else find a way to fix this?


----------



## Warmuptill (Jul 10, 2020)

zer0mavrick said:


> So is the creator of this on hiatus? He used to be so prompt with updates and it's been about 2 months now. I was really excited to see a plugin like this in the works. After reinstalling windows like twice and trying a bunch of different things, the transitions like "fade" and whatnot don't work at all. It's either black screen or it just goes straight to the second source. Did anyone else find a way to fix this?


Currently I have no big new features or changes which would warrant releasing an update and I am just busy with other stuff.
But I will gladly try to fix bugs / problems if you find any :)

Can you describe the issue you are facing in a bit more detail?
What exactly are you trying to achieve?


----------



## Casebreez (Jul 13, 2020)

makeitwrite said:


> Thanks for the reply - You hit the nail on the head. I have not figured out, though I've heard it mentioned several times,  that there is a way to tie an audio input source to a scene. Seems when I create an audio source, it shows in the mixer and is just there for all scenes. If I mute it, it is muted for all scenes. In some scenes I need the mic on. Thats why I was looking for some automated way to mute it for a particular scene. I may have missed something somewhere if it can actually be done. I'm running OBS 25.0.7 on a MacBook Pro / Catalina. If there is a way to tie a mic to a scene, let me know.
> 
> As to PowerPoint, we use a program on a separate computer called Song Show Plus (but could be any program including PPT) which uses its own picture format for bible verses and song lyrics but can display PPTx files as well. I installed NDI tools from NewTek and load NDI Scan Converter on the SSP machine (Windows 10). You can create a Scene with an NDI source in OBS, specify the source as a particular machine, a particular monitor if there is more then one on that machine, or just a section of the screen. It will pull the image of the slide show over the local network. No measurable delay so if you are constantly updating slides for song lyrics for instance, you only need one scene since it updates the slides to OBS with no noticable delay.
> 
> ...



I may be misunderstanding what you're trying to do. But I have personally disabled all default audio inputs and outputs. Then if I need a mic for once scene I just add an audio input capture in the sources for that scene. It doesn't show up in any of my other scenes. Allows me to have a scene without having to mute it, there just isn't an input for the mic on that scene. So you could not add the mic input to the scene you want silent and it will shut off when you switch to it. You may also be able to figure something out with just a standard hotkey to mute. I haven't messed around with automating it, but there is likely a way to use a macro or link the hot key to a transition. Hope this helps or gives you some ideas.


----------



## Freedoms Corner (Jul 14, 2020)

Hey I love the plugin. However I want to start doing 24/7 news streams. Is there a way that I can have a scene switch at a certain time. I.e. Switch to scene 1 at 2 Am every sat. How would I do this?

Also I love the plugin!!


----------



## Warmuptill (Jul 15, 2020)

Freedoms Corner said:


> Hey I love the plugin. However I want to start doing 24/7 news streams. Is there a way that I can have a scene switch at a certain time. I.e. Switch to scene 1 at 2 Am every sat. How would I do this?
> 
> Also I love the plugin!!


You can switch scenes based on the current system time on the "Time" tab.
Switching based on the weekday is not supported at the  moment.


----------



## Freedoms Corner (Jul 24, 2020)

I like the Time feature but is there a way you can schedule it on days of the week. So like at 9AM Monday it switches to a scene and then 7AM Tuesday it switches to another scene.


----------



## Phibbit (Jul 24, 2020)

Is there anyway to allow for manual override when automatically switching scenes when media ends? What I mean is that if I switch scene before the media is ended the switcher detects that the media has ended and switches to the automated scene as programmed which is not what I want. It would be great if it had a box to say automatically switch at media end except if scene is switched manually. (reading that back, im not sure I make sense!)


----------



## Warmuptill (Jul 24, 2020)

Phibbit said:


> Is there anyway to allow for manual override when automatically switching scenes when media ends? What I mean is that if I switch scene before the media is ended the switcher detects that the media has ended and switches to the automated scene as programmed which is not what I want. It would be great if it had a box to say automatically switch at media end except if scene is switched manually. (reading that back, im not sure I make sense!)


I think I understand the problem.
The issue is that manually switching to a different scene and the media playback ending "naturally" will both result in state "Ended".

You could however try using the state "Playing" with a very low "Time remaining shorter" value to achieve the behaviour you described above.
(But "Time remaining shorter" value should not be lower than the check interval value specified on the General tab)


----------



## Warmuptill (Jul 24, 2020)

Freedoms Corner said:


> I like the Time feature but is there a way you can schedule it on days of the week. So like at 9AM Monday it switches to a scene and then 7AM Tuesday it switches to another scene.


I will look into it, but I cannot promise that I will add it anytime soon.
Thanks for the suggestion!


----------



## Freedoms Corner (Jul 24, 2020)

Warmuptill said:


> I will look into it, but I cannot promise that I will add it anytime soon.
> Thanks for the suggestion!


Hey thanks a ton I really love the plugin. I am think about doing a 24/7 news network thing so I hope you can do it.


----------



## Phibbit (Jul 27, 2020)

Warmuptill said:


> I think I understand the problem.
> The issue is that manually switching to a different scene and the media playback ending "naturally" will both result in state "Ended".
> 
> You could however try using the state "Playing" with a very low "Time remaining shorter" value to achieve the behaviour you described above.
> (But "Time remaining shorter" value should not be lower than the check interval value specified on the General tab)


Great, thanks, that seems a good work-around.


----------



## snss (Jul 29, 2020)

First of all,* great plugin*!
However I wish it could have:
- some basic help;
- in the *Time* tab: be able to change/edit and save the hour and a way to reorder the scenes instead of deleting and re-entering them.
- in the *Sequence*  tab: be able to select between seconds, minutes or even hours instead of just seconds and be able to re-order the scenes instead of deleting and re-entering them. 
Also, I would like a way to re-order the tabs. I know that this is not a priority, but for me it would be much easier to have Time and Sequence tabs before Transition.
Do you think that it's possible to have this in the next version?

Thank you!


----------



## Warmuptill (Jul 29, 2020)

snss said:


> First of all,* great plugin*!
> However I wish it could have:
> - some basic help;
> - in the *Time* tab: be able to change/edit and save the hour and a way to reorder the scenes instead of deleting and re-entering them.
> ...


Thanks for the suggestions - added them to the todo list :)
(I cant give you an ETA when I will get around to adding these suggestions however)


----------



## Lawrence_SoCal (Jul 29, 2020)

snss said:


> - in the *Time* tab: be able to change/edit and save the hour and a way to reorder the scenes instead of deleting and re-entering them.


Just an FYI (this applies to both Time and Media, that I'm aware of, I don't use the other tabs)

Select the item you wish to edit;
The data for the entry will be pre-populated into the settings area;
Make the change and hit "+" to create new entry;
Delete old entry
Not as efficient as direct editing, but is a quick and easy


----------



## Jrblack09 (Jul 30, 2020)

C:\Program Files\obs-studio\bin\64bit is that a typo? Shouldn't the dll go into the obs-plugins folder?


----------



## Lawrence_SoCal (Jul 30, 2020)

Jrblack09 said:


> C:\Program Files\obs-studio\bin\64bit is that a typo? Shouldn't the dll go into the obs-plugins folder?



Correct - I suspect those instructions are from when originally released, many OBS versions ago. I believe if followed more recent notes/comments you'd find reference to the new location for OBS 25
I installed to C:\Program Files\obs-studio\obs-plugins\64bit

Also, I use the latest Visual C++ redistributable  (2015-2019)  from https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads
*    Note *Visual C++ 2015, 2017 and 2019 all share the same redistributable files.


----------



## mamanoodles (Jul 30, 2020)

I must be doing something wrong. I followed the instructions to installing this plugin to a T and I'm not sure what's going on.

I downloaded the plugin, extracted to my desktop. I then dragged the 64bit Windows file to my 64bit folder, specifically inside C:\Program Files\obs-studio\obs-plugins\64bit. I installed the latest  Visual C++ redistributable (2015-2019)  from the link posted above. Restarted my computer as it prompted. Opened up OBS and the plugin is not showing up for me :( What am I doing wrong?


----------



## snss (Jul 31, 2020)

@mamanoodles: Solution: copy the obs-studio folder from  C:\Program Files\  to  C:\Program Files(x86) and then restart OBS.


----------



## snss (Jul 31, 2020)

Lawrence_SoCal said:


> Just an FYI (this applies to both Time and Media, that I'm aware of, I don't use the other tabs)
> 
> Select the item you wish to edit;
> The data for the entry will be pre-populated into the settings area;
> ...



Thank you for the suggestion. Indeed, but it will save some time.


----------



## mknejp (Aug 3, 2020)

I have been using Advanced Scene Switcher a while for conference calls now and it's great. However there is a really weird quirk with the active/inactive state when I launch OBS. Sometimes the scene switcher is active and sometimes it's inactive and I can't seem to determine why, and can't find an option where I can set it to always launch active or inactive.

Just now I did an experiement:
- Launch OBS, switcher is *inactive*
- Close OBS without changing anything
- Launch OBS, switcher is *active*
- Close OBS without changing anything
- Launch OBS, switcher is *inactive*
- Close OBS without changing anything
And so on. I did it several times and it kept changing.

This is really unfortunate because I don't want the switcher to be active if I don't manually start it, because I also use OBS for my face video and don't want that to suddenly show an application window.

I'm running OBS 25.0.8 (64 bit) on Windows with the latest plugin downloaded here.


----------



## Lawrence_SoCal (Aug 3, 2020)

mknejp said:


> However there is a really weird quirk with the active/inactive state when I launch OBS.


Yes, I've noticed the same. I've gotten into the habit of starting OBS, and immediately checking Advanced Scene Switchers' state and setting it as desired.  Odd behavior for sure.


----------



## Warmuptill (Aug 3, 2020)

Lawrence_SoCal said:


> Yes, I've noticed the same. I've gotten into the habit of starting OBS, and immediately checking Advanced Scene Switchers' state and setting it as desired.  Odd behavior for sure.


Hm, interesting.
It is supposed to save the sate it was in when OBS was closed, but apparently there is something wrong there.

In the meantime you can use this version of the plugin which lets you chose the startup behavior on the general tab:








						SceneSwitcher-2020-08-02-ab3e93ab840de39cf5e4fdced4d00de7208e58c3-win64.zip.zip
					

Shared with Dropbox




					www.dropbox.com
				



(This the windows 64 bit version - Let me know if you need the builds for other platforms)

I hope I will find the time to investigate this issue this week.


----------



## Sikosis (Aug 4, 2020)

Where are the settings for Advanced Scene Switcher on a macOS machine? I want to back them up and transfer them to another machine.


----------



## Warmuptill (Aug 4, 2020)

Sikosis said:


> Where are the settings for Advanced Scene Switcher on a macOS machine? I want to back them up and transfer them to another machine.


They used to be under:
/Users/<YOUR USER NAME>/Library/Application Support/obs-studio/basic/scenes/<SCENE COLLECTION NAME>.json

Unfortunately I do not know if that is still the case.

If you cannot find it there you can use the following build of the scene switcher plugin to export / import the settings to / from a file.








						SceneSwitcher-2020-08-02-ab3e93ab840de39cf5e4fdced4d00de7208e58c3-macos.pkg.zip
					

Shared with Dropbox




					www.dropbox.com


----------



## DJ CoffeeMaker (Aug 9, 2020)

Hi, I have problems to run a time schedule with absolute times. How can I handle that correct ?
-If I handle ist via Media, the limit is 1000000 ms ...
-If I handle it via sequence all changes are ralative. The problem is that the timing count has problems with loops
I would like something like:
0:00 szene 1
4:50 szene 3
7:30 szene 4
and so on ---
I cant find teh right way to implemet that.
thank you for help


----------



## snss (Aug 9, 2020)

@DJ CoffeeMaker: did you tried Time tab ? It allows you to specify hour:minutes:seconds in order to switch the scenes.


----------



## snss (Aug 9, 2020)

@DJ CoffeeMaker  you can use the following build of the scene switcher plugin: 



> SceneSwitcher-2020-08-02-ab3e93ab840de39cf5e4fdced4d00de7208e58c3-macos.pkg.zip
> 
> 
> Shared with Dropbox
> ...


----------



## DJ CoffeeMaker (Aug 9, 2020)

the time Tab doest work. 
What kind of pkg is that) 
I use win10-64


----------



## Lawrence_SoCal (Aug 10, 2020)

I've been using the Media tab for months, and the Time tab for over a month now. Works great/reliably. I'm able to switch to specific scenes at specific times (down to second, not lower (which I don't need). This is on Win10 x64 v2004 completely up to date. OBS v25.0.8


----------



## Lawrence_SoCal (Aug 10, 2020)

@Warmuptill - feature request - automate START recording (not at same time as starting Streaming)

As you know, I really appreciate Advanced Scene Switcher. 
As your tool enables automating stopping stream/recording, I'll ask for the ability to automate STARTING recording either at a specific time, or scene (either works for me). My use case is Facebook Scheduled Live Videos, which requires connecting to stream at least 10 minutes in advance of scheduled stream start time. I'd strongly prefer to not Record that 10+ minutes of 'empty' stream, and as I've automated the first 10-12 minutes of our stream using Advanced Scene Switcher (using Time and Media tabs) and it works well. There are 2 pieces left for me to automate/address:
1. automating starting recording (10+ minutes after streaming starts)
  As I'm operating a scheduled live stream, a time based start would be preferred. But I could see many folks not needing a time based option, so a scene based one would work for me just as well (which I'd then combine with your existing Time tab) to same effect

- The other is sending a $powerpoint.SlideShowWindows.View.Next with a scene change but thanks to M$, that isn't so easy (especially with Office 365 and new security restrictions with PowerShell). However, there are a couple of other scripts/tools that add ability to execute a command line script with a Scene change. As this tool is all about Scene Switching, adding such a feature to this Tool would be appreciated so I can limit the # of different tools in use...  but as there are 2 options I'm aware of already, I'd consider this a low priority ask

if there's a better/simpler way, and I'm simply demonstrating my newbie status, a pointer in https://obsproject.com/forum/thread...-many-minutes-after-streaming-started.128095/ would be appreciated


----------



## Warmuptill (Aug 16, 2020)

Warmuptill updated Advanced Scene Switcher with a new update entry:

Minor QOL changes



> add option to export and import all settings
> add support for remote files on file tab
> allow reordering of file, media, sequence and region tab entries
> add option to reorder tabs
> ...



Read the rest of this update entry...


----------



## uncleflip (Aug 21, 2020)

I have a feature request- and apologies if this has already been brought up- or if I have the wrong plugin to make it happen.

Instead of automatic scene switching, which can be started/stopped with a hotkey, I would love to see a much simpler option added for using the plugin as a simple manually triggered sequencer, in which the operator could simply hit a hotkey to go to the next scene in the playlist, or another to go back.

I know this can be done with starting the automatic switching, then using a hotkey to pause it- but for a live event in which the timing on how long a scene will be needed is undetermined, it's setting up for disaster and/or awkwardness.  (Scenes could be set for short times and paused to stop the next transition, but a missed tap on a key could cause FAR more problems than a transition not firing off due to a missed key in a manual trigger situation.)

Just a little suggestion that would make my event MUCH easier (and based on how the weather graphics were triggered back in my two decades in TV).

Thanks for your time and your consideration- and for creating such a feature-rich plugin!


----------



## mattvolatile (Aug 21, 2020)

This can be done with Scene Queue: https://obsproject.com/forum/resources/obs-scene-queue.969/


----------



## Lawrence_SoCal (Aug 22, 2020)

Man, I love this plugin as is makes running our live stream so much less stressful, and more professional/consistent. The level of automation I now have means I can get someone (volunteer) WAY less technical than I to run a live stream [and minimize level of required training] and still have consistent experience

UI feedback
- The 'if this then that' orientation of settings on many of the tabs is reflected in the settings list created in the window below
  ie in the Time tab, one sets at Time, switch to , using and what is saved below looks/reflect the same. Sequence is the same way in that what you set, and how it is displayed in the window below corresponds
- but not for Media  [/sad face]
I consider this a low-order priority/request, but from a usability perspective, I know after months of using the Media based scene changes, I still struggle. 
   Now (today) I used the new feature to re-order the Media tab which will be a HUGE help, and may well negate the need to do anything else [quite possible].  To me this is a 'if you get bored, and don't have something else to work on type item
   Regardless, for UI consistency it would be nice if the order of setting (ie when Media source ends, switch to, using) is reflected in the settings window (vs flipping around to showing switch to, using, when) 

Again - with ability to manually re-order Media list, this may become a non-issue for me [as I follow a specific scene order for our live stream. My OBS scene list is now 27 items long .. and I'm using each and every one of them. I could shorten it by a couple, but only by complicating the setup]. 

This tool is quite usable as is. To me this is, as an old software company [Scitor? with Project Scheduler??] called this type of comment, a WIBNIF... wouldn't it be nice if 
  [think I heard this phrase about 30 years ago.. definitely applies to this feedback/comment... a nice to have .. not need to have]


----------



## dj_hydra (Aug 23, 2020)

Good afternoon, I am using a google translator. I have a problem, I installed OBS Studio in Windows 10, when installing the plugin as it says I cannot find the option within tools, before I had it working perfectly in Windows 7, I also installed the Visual C +++ package, does anyone know what it can be? I attach two photos where you can see the location of the .dll file and the tools menu where it should appear, thanks in advance, greetings.


----------



## Warmuptill (Aug 24, 2020)

dj_hydra said:


> Good afternoon, I am using a google translator. I have a problem, I installed OBS Studio in Windows 10, when installing the plugin as it says I cannot find the option within tools, before I had it working perfectly in Windows 7, I also installed the Visual C +++ package, does anyone know what it can be? I attach two photos where you can see the location of the .dll file and the tools menu where it should appear, thanks in advance, greetings.


Can you share a log file of a startup of OBS?
Maybe there is some issue with loading the plugin which could be seen there.


----------



## dj_hydra (Aug 24, 2020)

Warmuptill said:


> Can you share a log file of a startup of OBS?
> Maybe there is some issue with loading the plugin which could be seen there.




Thanks for your answer, I am attaching the program start file, greetings and thanks.


----------



## Warmuptill (Aug 24, 2020)

dj_hydra said:


> Thanks for your answer, I am attaching the program start file, greetings and thanks.


Thanks for the log!

16:39:49.647: LoadLibrary failed for '../../obs-plugins/64bit/advanced-scene-switcher.dll': (null) (126)
16:39:49.647: Module '../../obs-plugins/64bit/advanced-scene-switcher.dll' not loaded

Are you sure that you have installed the latest redistributable from https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads ?

Specifically this one?
x64: vc_redist.x64.exe

If you are sure that you have done so, just to be sure, can you see if this error also occurs with the previous version of the plugin?


----------



## Patskout (Aug 25, 2020)

Warmuptill said:


> They used to be under:
> /Users/<YOUR USER NAME>/Library/Application Support/obs-studio/basic/scenes/<SCENE COLLECTION NAME>.json
> 
> Unfortunately I do not know if that is still the case.
> ...




thanks. i still cant find the .dll file. Do you think u can jus post the dll file here. I wonder why obs dont jus post.. and we can just copy it in the obstudio plugin folder


----------



## mvfsullivan (Aug 25, 2020)

Is it possible to automate a scene based on audio level? I want to change to an elnarged cam scene when I yell, and leave it up for a few seconds after audio levels back out, then switch back to the original. Is this possible at all, via this plugin, another, or OBS in general? I'm using SLOBS right now but would gladly switch back for this feature alone


----------



## Warmuptill (Aug 25, 2020)

mvfsullivan said:


> Is it possible to automate a scene based on audio level? I want to change to an elnarged cam scene when I yell, and leave it up for a few seconds after audio levels back out, then switch back to the original. Is this possible at all, via this plugin, another, or OBS in general? I'm using SLOBS right now but would gladly switch back for this feature alone


It is not possible with this plugin at least.
I am not sure if there is an other way to achieve this at the moment.


----------



## Bombaztek (Aug 26, 2020)

Hi firstly Kudos to the developer for the Advance Scene Switcher.  I have checked quitea bit of the forum but couldn't find a bit whereby I could set up scene switches based on date....any ideas?

reason I ask - we are streaming 24 hours a day/7 days a week (final testing concluded) but every 2 hours between 8am and 10pm we have a different set of information we need to be streaming - that is fine if same every 8-10am, 10am-12noon etc, but Mondays are different from Tuesdays etc most days.

Any ideas - much appreciation in advance.

thanks


----------



## uncleflip (Aug 26, 2020)

mattvolatile said:


> This can be done with Scene Queue: https://obsproject.com/forum/resources/obs-scene-queue.969/



Thank you! I missed this one while looking through the plugins.  I appreciate the heads up on it!

Be well
-UF


----------



## Freedoms Corner (Aug 30, 2020)

Hey in a earlier post I requested a feature that you could select the time and the day of the week to switch a scene. I know there are not a lot of people on this forum that want a feature like that. However, I have found a forum full of people just like me that want to be able to switch scene at a specific time on a specific day of the week. Please check this fourm out and please ad this if you can. I really like your plugin but want something more. Thanks a ton.





						Automate 24/7 Stream for a scheduled Playlist
					

I'm in too, Sam Broadcaster like video features is badly needed




					obsproject.com


----------



## World_Face (Aug 30, 2020)

Good day!
How can I switch the scene using the changes made to the content of the TXT file.

I use SNAZ with the Chrono Down function, and when it is 00:00:00 in my text file I need to switch the scene.

I tried to indicate something like "00:00:00" in the window, as well as ". * 00: 00: 00. *" and check additional items, but it doesn't work that way.


----------



## World_Face (Aug 30, 2020)

World_Face said:


> Good day!
> How can I switch the scene using the changes made to the content of the TXT file.
> 
> I use SNAZ with the Chrono Down function, and when it is 00:00:00 in my text file I need to switch the scene.
> ...



The whole problem was the use of Cyrillic in the names of the scenes.


----------



## Warmuptill (Aug 30, 2020)

Freedoms Corner said:


> Hey in a earlier post I requested a feature that you could select the time and the day of the week to switch a scene. I know there are not a lot of people on this forum that want a feature like that. However, I have found a forum full of people just like me that want to be able to switch scene at a specific time on a specific day of the week. Please check this fourm out and please ad this if you can. I really like your plugin but want something more. Thanks a ton.
> 
> 
> 
> ...


I will add it to the ever increasing todo list :D
Unfortunately I havn't really found much time to work on the plug in recently, but i will look into it!


----------



## jjdeprisco (Aug 31, 2020)

Been away due to a move, but getting back to some deeper usage of OBS.

I was getting some buggy behavior with the Advanced Scene Switcher build that I loaded back on June 16. I've been trying to work this plugin into my presentations more, but now I am having some issues. Duplicate entries were being entered sometimes, or entries I deleted did not stay deleted. See first pict. A simple instruction to proceed from scene 1, 2, 3, 4 would end up being 1, 2, 3, 1 where scenes were getting skipped. Tried removing all entries and starting over numerous times. So I tried upgrading to the more current August update, and now I have a different issue.

Using the Mac install pack provided, it appears to get installed into the correct user directory with other stuff I'm running, but the Advanced Scene Switcher option no longer appears in OBS. What am I missing here? Tried open/close of program, reboot, etc.

How do I get this plugin back so I can test the original issue to see if it was corrected?


----------



## Warmuptill (Aug 31, 2020)

jjdeprisco said:


> Been away due to a move, but getting back to some deeper usage of OBS.
> 
> I was getting some buggy behavior with the Advanced Scene Switcher build that I loaded back on June 16. I've been trying to work this plugin into my presentations more, but now I am having some issues. Duplicate entries were being entered sometimes, or entries I deleted did not stay deleted. See first pict. A simple instruction to proceed from scene 1, 2, 3, 4 would end up being 1, 2, 3, 1 where scenes were getting skipped. Tried removing all entries and starting over numerous times. So I tried upgrading to the more current August update, and now I have a different issue.
> 
> ...


Can you provide a log file of a OBS startup?
This might give some hints as to what is going wrong.


----------



## jjdeprisco (Sep 4, 2020)

Sure, here's a startup from just now:

09:25:04.076: CPU Name: Intel(R) Core(TM) i7-4980HQ CPU @ 2.80GHz
09:25:04.076: CPU Speed: 2800MHz
09:25:04.076: Physical Cores: 4, Logical Cores: 8
09:25:04.076: Physical Memory: 16384MB Total
09:25:04.076: OS Name: Mac OS X (NSMACHOperatingSystem)
09:25:04.076: OS Version: Version 10.13.6 (Build 17G9016)
09:25:04.076: Kernel Version: 17.7.0
09:25:04.079: hotkeys-cocoa: Using layout 'com.apple.keylayout.US'
09:25:04.080: Portable mode: false
09:25:04.315: OBS 25.0.8 (mac)
09:25:04.315: ---------------------------------
09:25:04.317: ---------------------------------
09:25:04.317: audio settings reset:
09:25:04.317:     samples per sec: 44100
09:25:04.317:     speakers:        2
09:25:04.333: ---------------------------------
09:25:04.333: Initializing OpenGL...
09:25:04.356: Loading up OpenGL on adapter Intel Inc. Intel Iris Pro OpenGL Engine
09:25:04.357: OpenGL loaded successfully, version 4.1 INTEL-10.36.26, shading language 4.10
09:25:04.444: ---------------------------------
09:25:04.444: video settings reset:
09:25:04.444:     base resolution:   1920x1080
09:25:04.444:     output resolution: 1280x720
09:25:04.444:     downscale filter:  Lanczos
09:25:04.444:     fps:               30/1
09:25:04.444:     format:            NV12
09:25:04.444:     YUV mode:          601/Partial
09:25:04.445: NV12 texture support not available
09:25:04.446: Audio monitoring device:
09:25:04.446:     name: OrionTB
09:25:04.446:     id: com.antelope.1604916080137
09:25:04.446: ---------------------------------
09:25:04.464: Failed to load 'en-US' text for module: 'decklink-ouput-ui.so'
09:25:04.496: os_dlopen(libpython3.7m.dylib->libpython3.7m.dylib): dlopen(libpython3.7m.dylib, 257): image not found
09:25:04.496: 
09:25:04.496: [Python] Could not load library: libpython3.7m.dylib
09:25:04.692: Decklink API Compiled version 10.11.4
09:25:04.692: Decklink API Installed version 11.4
09:25:04.791: [VideoToolbox encoder]: Adding VideoToolbox H264 encoders
09:25:04.863: [obs-browser]: Version 2.8.6
09:25:05.011: VLC found, VLC video source enabled
09:25:05.013: os_dlopen(/Library/Application Support/obs-studio/plugins/advanced-scene-switcher/bin/advanced-scene-switcher.so->/Library/Application Support/obs-studio/plugins/advanced-scene-switcher/bin/advanced-scene-switcher.so): dlopen(/Library/Application Support/obs-studio/plugins/advanced-scene-switcher/bin/advanced-scene-switcher.so, 257): Library not loaded: /usr/local/opt/curl/lib/libcurl.4.dylib
09:25:05.013:   Referenced from: /Library/Application Support/obs-studio/plugins/advanced-scene-switcher/bin/advanced-scene-switcher.so
09:25:05.013:   Reason: Incompatible library version: advanced-scene-switcher.so requires version 11.0.0 or later, but libcurl.4.dylib provides version 7.0.0
09:25:05.013: 
09:25:05.013: Module '/Library/Application Support/obs-studio/plugins/advanced-scene-switcher/bin/advanced-scene-switcher.so' not loaded
09:25:05.013: Ignoring old obs-browser.so version
09:25:05.021: Failed to load 'en-US' text for module: 'obs-mac-virtualcam.so'
09:25:05.021: [obs-mac-virtualcam] version=1.2.0
09:25:05.035: [obs-ndi] hello ! (version 4.8.0)
09:25:05.035: [obs-ndi] Trying ''
09:25:05.035: [obs-ndi] Trying '/usr/lib'
09:25:05.035: [obs-ndi] Trying '/usr/local/lib'
09:25:05.035: [obs-ndi] Found NDI library at '/usr/local/lib/libndi.4.dylib'
09:25:05.050: [obs-ndi] NDI runtime loaded successfully
09:25:05.051: [obs-ndi] NDI library initialized successfully (NDI SDK APPLE 11:50:41 Apr  1 2020 4.5.1)
09:25:05.057: ---------------------------------
09:25:05.057:   Loaded Modules:
09:25:05.057:     spectralizer.so
09:25:05.057:     obs-ndi.so
09:25:05.057:     obs-mac-virtualcam.so
09:25:05.057:     vlc-video.so
09:25:05.057:     text-freetype2.so
09:25:05.057:     rtmp-services.so
09:25:05.057:     obs-x264.so
09:25:05.057:     obs-vst.so
09:25:05.057:     obs-transitions.so
09:25:05.057:     obs-outputs.so
09:25:05.057:     obs-libfdk.so
09:25:05.057:     obs-filters.so
09:25:05.057:     obs-ffmpeg.so
09:25:05.057:     obs-browser.so
09:25:05.057:     mac-vth264.so
09:25:05.057:     mac-syphon.so
09:25:05.057:     mac-decklink.so
09:25:05.057:     mac-capture.so
09:25:05.057:     mac-avcapture.so
09:25:05.057:     linux-jack.so
09:25:05.057:     image-source.so
09:25:05.057:     frontend-tools.so
09:25:05.057:     decklink-ouput-ui.so
09:25:05.057:     coreaudio-encoder.so
09:25:05.057: ---------------------------------
09:25:05.057: os_dlopen(../obs-plugins/obs-browser->../obs-plugins/obs-browser.so): dlopen(../obs-plugins/obs-browser.so, 257): image not found
09:25:05.057:


----------



## Warmuptill (Sep 4, 2020)

jjdeprisco said:


> Sure, here's a startup from just now:
> 
> 09:25:04.076: CPU Name: Intel(R) Core(TM) i7-4980HQ CPU @ 2.80GHz
> 09:25:04.076: CPU Speed: 2800MHz
> ...


Thanks for the log!

This seems to be the issue:
Reason: Incompatible library version: advanced-scene-switcher.so requires version 11.0.0 or later, but libcurl.4.dylib provides version 7.0.0

I just assumed that on the other platforms libcurl was also bundled with OBS itself like it is on Windows.
This is apparently not the case and I will try to find a way around that by disabling the functionality which depends on this lib.

In the meantime you could use the previous version of the plugin.
This one did not yet have this dependency as support for remote files was not yet added.








						Release Fixes and improvements · WarmUpTill/SceneSwitcher
					

Add regular expression support to the executable tab Add option to also to match window titles which are not in focus Add ability to reorder window title and executable switches Add option to chose...




					github.com
				




I am very sorry about this and will try to resolve it soon!

EDIT: You can find a version of the plugin for MacOS with the workaround described above here:








						SceneSwitcher-2020-09-04-7a6e4f18e10bec3c3ae179786e20c860a523067d-macos.pkg.zip
					

Shared with Dropbox




					www.dropbox.com
				




Feedback would be much appreciated as I cannot test it myself.


----------



## jjdeprisco (Sep 5, 2020)

Wow, that response has to be one of the best I have EVER seen to a question posted anywhere on any forum. I will try this and keep you posted. Really, thank you so much. Very positive vibe!


----------



## The_Best_Stooge (Sep 6, 2020)

Is there any way possible to start the plugin then the timer starts when we hit the stream button or the record button?  Having that, for me, is a requirement.


----------



## Warmuptill (Sep 6, 2020)

The_Best_Stooge said:


> Is there any way possible to start the plugin then the timer starts when we hit the stream button or the record button?  Having that, for me, is a requirement.


Would it be an option to use a hotkey for this?
If so you could use a hotkey to activate the plugin and start streaming at the same time.
You can set a hotkey to activate the scene switcher in the OBS settings.



Freedoms Corner said:


> Hey in a earlier post I requested a feature that you could select the time and the day of the week to switch a scene. I know there are not a lot of people on this forum that want a feature like that. However, I have found a forum full of people just like me that want to be able to switch scene at a specific time on a specific day of the week. Please check this fourm out and please ad this if you can. I really like your plugin but want something more. Thanks a ton.
> 
> 
> 
> ...


I added the option to select the day of the week on the time tab.
Please let me know if it is working as expected.
If everything is fine I will add to the next release.









						SceneSwitcherTimeTab.zip
					

Shared with Dropbox




					www.dropbox.com


----------



## The_Best_Stooge (Sep 6, 2020)

I take it they didn't expose the button presses in LUA, right?


----------



## jordisansdj (Sep 9, 2020)

I don't understand what happens but I installed exactly as it was described the plugin and doesn't shows inside my tools section. What to do? Why happens that?

I'm sure I installed all exactly as was described and I followed each step by step. Help me please.

How can I get it working?


----------



## Lawrence_SoCal (Sep 9, 2020)

jordisansdj said:


> I'm sure I installed all exactly as was described and I followed each step by step.



Your sure you have the correct, current, Visual C++ installed (I'd only recommend downloading direct from microsoft)?


----------



## Warmuptill (Sep 9, 2020)

jordisansdj said:


> I don't understand what happens but I installed exactly as it was described the plugin and doesn't shows inside my tools section. What to do? Why happens that?
> 
> I'm sure I installed all exactly as was described and I followed each step by step. Help me please.
> 
> How can I get it working?


Please share a log file of a OBS startup.


----------



## jordisansdj (Sep 9, 2020)

Warmuptill said:


> Please share a log file of a OBS startup.


How to get that?


----------



## jordisansdj (Sep 9, 2020)

Lawrence_SoCal said:


> Your sure you have the correct, current, Visual C++ installed (I'd only recommend downloading direct from microsoft)?


I downloaded from microsoft recommended link, but it install like a installer with so many options and then I just tried to install the normal one but it was a bit weird that to be honest.


----------



## Lawrence_SoCal (Sep 9, 2020)

jordisansdj said:


> I downloaded from microsoft recommended link, but it install like a installer with so many options and then I just tried to install the normal one but it was a bit weird that to be honest.


That doesn't sound right.  Did you get Visual Studio? [ wrong thing].  The right thing is #4 of Windows Install list   Microsoft Visual C++ Redistributable for Visual Studio 2015, 2017 and 2019 at https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads. I don't recall options


----------



## DaniSan (Sep 17, 2020)

Just saw some reports a year ago about transition tab not working (for example, set to use X transition when changing from Scene A to B, use Y transition when changing from B to A...). 

Just checked with latest version and seem to still not work, even selecting to overwrite Scene Switcher over OBS transition preferences. 

Does someone knows how to workaround it?


----------



## Warmuptill (Sep 17, 2020)

DaniSan said:


> Just saw some reports a year ago about transition tab not working (for example, set to use X transition when changing from Scene A to B, use Y transition when changing from B to A...).
> 
> Just checked with latest version and seem to still not work, even selecting to overwrite Scene Switcher over OBS transition preferences.
> 
> Does someone knows how to workaround it?


These transitions are only referring to the scene switches triggered by the scene switcher and not manual ones.
If you were talking about the former I will have to investigate.
If you want a solution for the latter please check out the transition matrix plugin:





						OBS Transition Matrix [Discontinued]
					

This served its purpose as a prototype and a more fleshed and properly supported plugin now exists for this functionality.  Check it out: Transition Table




					obsproject.com


----------



## magicaltrevor70 (Sep 18, 2020)

Hi, I'm having some problems with Advanced Scene Switcher. It only seems to happen when I stream, recording is OK.

The switcher seem to ignore the sequence times and briefly cuts to a scene (for like a quarter of a second) then eventually gets stuck on a single scene.

You can see this in the stream I did with my band last night...skip to about 11:20 https://www.facebook.com/zebratheband/videos/358536065531003/


----------



## Warmuptill (Sep 18, 2020)

magicaltrevor70 said:


> Hi, I'm having some problems with Advanced Scene Switcher. It only seems to happen when I stream, recording is OK.
> 
> The switcher seem to ignore the sequence times and briefly cuts to a scene (for like a quarter of a second) then eventually gets stuck on a single scene.
> 
> You can see this in the stream I did with my band last night...skip to about 11:20 https://www.facebook.com/zebratheband/videos/358536065531003/


Hm, not sure what would be causing that during streaming but not during recording.
Maybe it is just a matter of system load?

Usually such behaviour can be seen if a scene switches while a transition of a previous scene change is still ongoing or changing the transition type while a transition is still in progress.
Have you configured something on the transition tab or very short scene switches where the above scenario could happen?


----------



## magicaltrevor70 (Sep 20, 2020)

I don't think so...my shortest sequence time is 9 seconds, and my longest transition time is 500ms


----------



## Warmuptill (Sep 20, 2020)

magicaltrevor70 said:


> I don't think so...my shortest sequence time is 9 seconds, and my longest transition time is 500ms


You could try enabling verbose logging of the scene switcher plugin on the general tab to maybe find out if there are any unexpected scene changes triggered by the plugin.
The logs can be found under Help -> Log Files -> View Current Log.


----------



## Warmuptill (Sep 21, 2020)

Warmuptill updated Advanced Scene Switcher with a new update entry:

Add audio tab



> Added audio tab to enable switching based on volume level of audio sources
> Add option to automatically start streaming / recording on a scene
> Add support for weekdays on the time tab
> Load libcurl at runtime to avoid dependency issues on MacOS



Read the rest of this update entry...


----------



## ElectricHeadMusic (Sep 21, 2020)

I'm having the installation issue of it not appearing in the Tools menu regardless of which location I put the .so in, /Contents/Plugins/ or ~/Library/Application Support/obs-studio/plugins/advanced-scene-switcher/bin/. Attached are startup log files for each location respectively. Don't know if it's an issue, but under ~/Library/ there initiially was no /plugins/ folder, so I created it. This is only the third plugin I've installed, after iOS Camera and NDI.

OBS 25.0.8, Mac Catalina 10.15.6


----------



## Warmuptill (Sep 21, 2020)

ElectricHeadMusic said:


> I'm having the installation issue of it not appearing in the Tools menu regardless of which location I put the .so in, /Contents/Plugins/ or ~/Library/Application Support/obs-studio/plugins/advanced-scene-switcher/bin/. Attached are startup log files for each location respectively. Don't know if it's an issue, but under ~/Library/ there initiially was no /plugins/ folder, so I created it. This is only the third plugin I've installed, after iOS Camera and NDI.
> 
> OBS 25.0.8, Mac Catalina 10.15.6


This is an issue in the build script and not your wrong doing. (The plugin looks at the wrong place for the QT libs)
I will trigger a new build in a minute and update the release.

EDIT: The new build finished and the release was updated.
Please try downloading and installing the plugin again.

Note that this issue should only affect the MacOS version of the plugin.


----------



## ElectricHeadMusic (Sep 22, 2020)

Warmuptill said:


> This is an issue in the build script and not your wrong doing. (The plugin looks at the wrong place for the QT libs)
> I will trigger a new build in a minute and update the release.
> 
> EDIT: The new build finished and the release was updated.
> ...


After running xattr in Terminal, there it is. Thank you very much for the quick response.


----------



## magicaltrevor70 (Sep 23, 2020)

Warmuptill said:


> You could try enabling verbose logging of the scene switcher plugin on the general tab to maybe find out if there are any unexpected scene changes triggered by the plugin.
> The logs can be found under Help -> Log Files -> View Current Log.



This log has the issue happening



			https://obsproject.com/logs/UDJqTJ821Tjdr4gM


----------



## Warmuptill (Sep 23, 2020)

magicaltrevor70 said:


> This log has the issue happening
> 
> 
> 
> https://obsproject.com/logs/UDJqTJ821Tjdr4gM


I think this might be related to your settings on the transition tab.
In the log I can find the following entry "Advanced Scene Switcher default transition set" rather frequently.
I am not sure how long your transitions are but it could be the case that if they are also 300ms or longer that the scene transition did not yet finish while the scene switcher already detects that it should change the transition type, thus canceling the ongoing transition.

I would suggest either increasing the length of the interval of the scene switcher checks on the general tab to be well above the transistion length or just not using the default transitions.


----------



## andrescastaned (Sep 23, 2020)

Hello...
Im having issues with the random tab.
I have added some scenes in this tab, but every time I close the plugin configuration window, and open again, it shows 5 different scenes with fade transition with 10 seconds each, plus my custom added scenes.

I doesn´t  care if I delete those 5 scenes, they appears again every time I open the random tab.

I have already reinstalled the plugin and the Visual C++ Redistributable packege, and the problem persist.

Thank you.


----------



## Warmuptill (Sep 23, 2020)

andrescastaned said:


> Hello...
> Im having issues with the random tab.
> I have added some scenes in this tab, but every time I close the plugin configuration window, and open again, it shows 5 different scenes with fade transition with 10 seconds each, plus my custom added scenes.
> 
> ...


Would it be possible to share the settings of the scene switcher before deleting these scenes and after deleting them?
You can export the settings on the general tab.

If you don't want to share them here feel free to send me a private message.


----------



## magicaltrevor70 (Sep 23, 2020)

Warmuptill said:


> I think this might be related to your settings on the transition tab.
> In the log I can find the following entry "Advanced Scene Switcher default transition set" rather frequently.
> I am not sure how long your transitions are but it could be the case that if they are also 300ms or longer that the scene transition did not yet finish while the scene switcher already detects that it should change the transition type, thus canceling the ongoing transition.
> 
> I would suggest either increasing the length of the interval of the scene switcher checks on the general tab to be well above the transistion length or just not using the default transitions.



Interesting...yeah my fade transition was set to 500ms...I've upped the check interval to 1000ms, I'll see how we get on. Interestingly it did not happen all the time (and as it turns out was not related to streaming, that was just a coincidence)...some kind of race condition I'm wondering?

Thanks so much for your responsiveness and help.


----------



## Petrichord (Sep 23, 2020)

I'm trying to use this tool to switch between scenes but I'd like to stop between every scene since I have separate cues inside each scene that I'm using Source Switcher to activate. The way I've been doing so is by setting every scene up in the "sequence" tab of Adv. Scene Switcher, with a 1 second delay in between each transition, toggling the Adv. Scene Switcher on using a hotkey, and then toggling it off using the same hotkey (which I set in Settings) once the transition is complete.

My question is, how can I speed up the time between when I press the hotkey to toggle the Adv. Scene Switcher on and when it actually begins the transition sequence? (editing to add: it turns off without issue, there's just a long delay when I try to turn it on) I thought that decreasing the time in the "Check Switch Conditions" area of the "General" tab would do it, but the delay seems to be about the same no matter how much I reduce the time. I'm also wary of the "Condition Checking Interval must be greater than the duration of transitions" warning at the top of the General tab because I'm not 100% what it means.

Any help would be appreciated! Thank you :)


----------



## Warmuptill (Sep 23, 2020)

Petrichord said:


> I'm trying to use this tool to switch between scenes but I'd like to stop between every scene since I have separate cues inside each scene that I'm using Source Switcher to activate. The way I've been doing so is by setting every scene up in the "sequence" tab of Adv. Scene Switcher, with a 1 second delay in between each transition, toggling the Adv. Scene Switcher on using a hotkey, and then toggling it off using the same hotkey (which I set in Settings) once the transition is complete.
> 
> My question is, how can I speed up the time between when I press the hotkey to toggle the Adv. Scene Switcher on and when it actually begins the transition sequence? (editing to add: it turns off without issue, there's just a long delay when I try to turn it on) I thought that decreasing the time in the "Check Switch Conditions" area of the "General" tab would do it, but the delay seems to be about the same no matter how much I reduce the time. I'm also wary of the "Condition Checking Interval must be greater than the duration of transitions" warning at the top of the General tab because I'm not 100% what it means.
> 
> Any help would be appreciated! Thank you :)


There is a hardcoded delay of two seconds to avoid issues when changing scene collections.
You can find a version of the plugin without this delay here (64 bit Windows):








						advanced-scene-switcher.dll
					

Shared with Dropbox




					www.dropbox.com
				




But as mentioned above this will cause issues if changing scene collections rapidly.
I guess I could try shortening this delay.


----------



## andrescastaned (Sep 23, 2020)

Warmuptill said:


> Would it be possible to share the settings of the scene switcher before deleting these scenes and after deleting them?
> You can export the settings on the general tab.
> 
> If you don't want to share them here feel free to send me a private message.



Thank you !


----------



## Warmuptill (Sep 23, 2020)

andrescastaned said:


> Thank you !


Hm, very interesting.

It looks like the settings contain two different names for the scenes, for example:
"LOGI_CAM" and "LOGI"
So while the UI gets updated nothing actually gets deleted as no entry for "LOGI" can be found.

Did you ever manually adjust the settings file and reimport it or happen to rename your scenes?

I am very sorry about this and I will try to find a fix for this.
(Storing the scene names twice does not make sense anyways)

To fix your issue for now just import the settings of the attached file.

EDIT:
Yup, looks like renaming scenes can lead to this issue.


----------



## andrescastaned (Sep 24, 2020)

Warmuptill said:


> Hm, very interesting.
> 
> It looks like the settings contain two different names for the scenes, for example:
> "LOGI_CAM" and "LOGI"
> ...



Hi

With your file, the problem is resolved ! Thank You


----------



## KozmykTunes (Sep 26, 2020)

Hello,

It looks like this plugin can do what I'm after, but I can't figure out how to use it...

I'd like to stream and record a specific Scene for a specific Profile, every Monday at  7 pm (my local time). The Scene is capturing a specific browser Window on my Desktop. When I'm at my PC I just click on Stream and Record and everything is good. But on Mondays I'm away so I'd like to leave my PC on with all the windows and OBS set up and open, etc, and have the stream and recording start at  7pm and last for one hour.

Could someone please show me what exactly I have to enter in each Tab in the Advanced Scene Switcher to accomplish this automated stream and recording?

Thank you!


----------



## OrLoko (Sep 27, 2020)

I want to setup a simple thing and I'm not sure how to accomplish it.
I have a custom Stinger that I want to use globally, but between Scene "A" and "B"(and vice versa), I want to use "Lume wipe" for example. So I set this* on the _*Transition* tab_, I also set a _*Sequence*_ timer to keep cycling between those scenes.

But I'm noticing that, after the 1st action, the OBS auto changes the default scene transition(Stinger) on the side of the control panel to "Luma Wipe" instead of keeping Stinger...so, if I press any hotkey to simple switch between scenes (or clicking on another scene) it will end up using the Luma Wipe, instead of the Stinger

I really don't mind this part. but What I'm trying to accomplish is that Stinger is going to be the main transition between scenes, expect on scene A to B vice versa. The only way to achieve that is to set all scenes(and which transition it should use) on the settings of the Advanced Scene Switcher ?

Because on the Transition tab, it's says : 
_The settings below only affect scene transitions caused by the scene switcher and not the ones you are causing manually. Additionally they will take priority over transition settings configured elsewhere in the scene switcher._


----------



## Remco (Sep 28, 2020)

I'm trying to get audio based switching to work, but it won't :( 
Just using the input of choice and de scene, setting the % .. and when de level is higher than the % is doesn' t switch .. help?!


----------



## Warmuptill (Sep 28, 2020)

Remco said:


> I'm trying to get audio based switching to work, but it won't :(
> Just using the input of choice and de scene, setting the % .. and when de level is higher than the % is doesn' t switch .. help?!


Can you please enable verbose logging on the general tab and share the log file?

Edit: Sorry if this is stating the obvious - but did you enable the scene switcher and did you set a reasonable interval on the general tab ?
I have not been able to test this feature much so there could definitely be some issues I did not think about.


----------



## KozmykTunes (Sep 29, 2020)

KozmykTunes said:


> Hello,
> 
> It looks like this plugin can do what I'm after, but I can't figure out how to use it...
> 
> ...



I think I got it :)

First, since all the windows, Scenes, Profiles, etc, were set, and the time of the recording was my priority, I only set a time condition in the plugin. In the General tab I set  Automatically Start - Recording and Streaming on scene MyScene.

Second, click on the Start button on the General tab and then the Close button!!  The Plugin window has to be closed so that the conditions take effect!

I don't think there is a way to specify the length of time of Streaming/Recording, or I haven't found it yet.

Good luck :)


----------



## KozmykTunes (Sep 29, 2020)

KozmykTunes said:


> I think I got it :)
> 
> First, since all the windows, Scenes, Profiles, etc, were set, and the time of the recording was my priority, I only set a time condition in the plugin. In the General tab I set  Automatically Start - Recording and Streaming on scene MyScene.
> 
> ...



I think OBS has to be on a different Scene than the one it should switch to when the time condition comes true.

==


----------



## Phibbit (Sep 29, 2020)

Hi
Is there any way the media tab could use VLC sources as well as just media sources? I know that VLC could contain more than one source which complicates things. 

I have started using vlc folders for fixed scene names and just dropping the files I want into the folders which is quicker than setting up new media sources each week and it would be great to be able to switch scenes when the vlc source is finished. 

thank, 

Phil


----------



## Warmuptill (Sep 29, 2020)

Phibbit said:


> Hi
> Is there any way the media tab could use VLC sources as well as just media sources? I know that VLC could contain more than one source which complicates things.
> 
> I have started using vlc folders for fixed scene names and just dropping the files I want into the folders which is quicker than setting up new media sources each week and it would be great to be able to switch scenes when the vlc source is finished.
> ...


Hi,
you can find a test build with this option here:








						SceneSwitcher-2020-09-29-8814b94c7b0306ad035b836c21d424546d496427-win64.zip.zip
					

Shared with Dropbox




					www.dropbox.com
				



(64 bit Windows - if you need other platforms also let me know)

Please let me know if this works as expected.
(Sorry, I had no clue this type of source existed)


----------



## hammerheaddown (Sep 30, 2020)

I thought i posted this but do not see it anywhere.  So in the sequence tab,  do you think it would be possible to add a  "random time" in seconds there?   now its like  you can set it at  10 s  or 30s   i want it to be completely random sometimes.

also i am NOT seeing the " day "  in the time tab.   i have even downloaded the drop box version you last posted with VLC and not sure i even see anything VLC related in there


----------



## hammerheaddown (Sep 30, 2020)

i just noticed too that the audio settings are no showing hmmmm... suppose i need to delete what i had from b4 and start over?

i did JUST update obs too not sure if that was a reason, kind anew to OBS


----------



## Phibbit (Sep 30, 2020)

Warmuptill said:


> Hi,
> you can find a test build with this option here:
> 
> 
> ...


Wow 25 minutes after the question and its added, Im impressed! 
That seems to be working perfectly for me, thank you so much.


----------



## Phibbit (Sep 30, 2020)

Phibbit said:


> Wow 25 minutes after the question and its added, Im impressed!
> That seems to be working perfectly for me, thank you so much.


I have spotted one issue (the one I expected), it doesnt affect what I need it for but may do for others. With the VLC source you can add a folder rather than just a file. If there are two clips in the folder then the switcher will switch at the end of the first clip and not wait until the entire playlist is completed. 
Again, not a problem for me, this works fine as is, but would be worth pointing out in any release notes.


----------



## Phibbit (Oct 2, 2020)

Sadly, for some unknown reason, using VLC as a source has stopped working completely : ( 
When I copy the new version back into the plugins folder it worked once and then not a second time.


----------



## Warmuptill (Oct 2, 2020)

Phibbit said:


> Sadly, for some unknown reason, using VLC as a source has stopped working completely : (
> When I copy the new version back into the plugins folder it worked once and then not a second time.


Do you mean there are issues with the switching logic or can you not select VLC sources in the Scene Switcher UI?


----------



## obsfan5150 (Oct 3, 2020)

Just updated to OBS 26.0 Mac and advanced scene switcher was gone. Downloaded the plugin again, recreated my scenes (Sequences) I wanted to switch as before and they no longer switch.


----------



## Warmuptill (Oct 3, 2020)

obsfan5150 said:


> Just updated to OBS 26.0 Mac and advanced scene switcher was gone. Downloaded the plugin again, recreated my scenes (Sequences) I wanted to switch as before and they no longer switch.


Did you start the plugin on the general tab?
If so please enable verbose logging on the general tab and send a log file and if possible the settings (export to file).


----------



## obsfan5150 (Oct 3, 2020)

Warmuptill said:


> Did you start the plugin on the general tab?
> If so please enable verbose logging on the general tab and send a log file and if possible the settings (export to file).


Thank you for your help! No I hadn't done that, as I don't seem to recall ever having to do that before. Just tried and now it works. Will I have to do that every time I open OBS?


----------



## Warmuptill (Oct 4, 2020)

obsfan5150 said:


> Thank you for your help! No I hadn't done that, as I don't seem to recall ever having to do that before. Just tried and now it works. Will I have to do that every time I open OBS?


You can select the behavior of the plugin on the general tab.
It can either ...

start automatically
be stopped when opening OBS
start if it was active when last closing OBS


----------



## Phibbit (Oct 7, 2020)

Warmuptill said:


> Do you mean there are issues with the switching logic or can you not select VLC sources in the Scene Switcher UI?


The VLC sources showed up fine. The switching worked fine at first but then stopped completely, copying the plugin again made it work one more time then it stopped again.


----------



## Warmuptill (Oct 7, 2020)

Phibbit said:


> The VLC sources showed up fine. The switching worked fine at first but then stopped completely, copying the plugin again made it work one more time then it stopped again.



What exactly are you configuring in your VLC source and the plugin?
(For the latter you could just export the settings on the general tab)
If I know that I can try to reproduce the issue.


----------



## Phibbit (Oct 8, 2020)

Warmuptill said:


> What exactly are you configuring in your VLC source and the plugin?
> (For the latter you could just export the settings on the general tab)
> If I know that I can try to reproduce the issue.


The VLC source is configured to look in a directory as the source rather than just look at the file.  This would show up as a source no problem. Then in the media tab I had it set to switch scene with 600ms left to go, it would work for a while and then stop, not sure if the directory part confused it. Sadly I deleted the config so cant upload the export, sorry.


----------



## Warmuptill (Oct 8, 2020)

Phibbit said:


> The VLC source is configured to look in a directory as the source rather than just look at the file.  This would show up as a source no problem. Then in the media tab I had it set to switch scene with 600ms left to go, it would work for a while and then stop, not sure if the directory part confused it. Sadly I deleted the config so cant upload the export, sorry.


Thanks, that will probably help me reproduce the issue.

Do you happen to remember which "state" you chose?
With state "playing" it does work as expected while in state "none" it does not, at least with the limited testing done on my end.
Could that have been the issue?

EDIT: If that is the case I should probably add the option to select "any" as a possible state.


----------



## Phibbit (Oct 8, 2020)

Warmuptill said:


> Thanks, that will probably help me reproduce the issue.
> 
> Do you happen to remember which "state" you chose?
> With state "playing" it does work as expected while in state "none" it does not, at least with the limited testing done on my end.
> ...



I had it set that when the VLC Video Source is playing and time remaining shorter then 600ms switch to... I havent tried with the state is none as I'd had earlier issues with that, in that if I manually changed scene before the source had finished it would detect that the was a change in the media and switch the scene anyway. Hope this helps, thanks for looking into this.


----------



## RonGav (Oct 12, 2020)

Casebreez said:


> I may be misunderstanding what you're trying to do. But I have personally disabled all default audio inputs and outputs. Then if I need a mic for once scene I just add an audio input capture in the sources for that scene. It doesn't show up in any of my other scenes. Allows me to have a scene without having to mute it, there just isn't an input for the mic on that scene. So you could not add the mic input to the scene you want silent and it will shut off when you switch to it. You may also be able to figure something out with just a standard hotkey to mute. I haven't messed around with automating it, but there is likely a way to use a macro or link the hot key to a transition. Hope this helps or gives you some ideas.


I'm looking for that simple but logical approach as well.  Assign audio where you need it, even if it an extra entry to the sources.  but the trick is to find where to DISABLE all default audio ins and outs.    Is that Adanced audio.  I need to look.


----------



## Casebreez (Oct 14, 2020)

RonGav said:


> I'm looking for that simple but logical approach as well.  Assign audio where you need it, even if it an extra entry to the sources.  but the trick is to find where to DISABLE all default audio ins and outs.    Is that Adanced audio.  I need to look.


It's in Audio. Go to Audio then Global Audio Devices and disable them all. You will have to manually add your audio inputs now. (mic, desktop, etc)


----------



## Lawrence_SoCal (Oct 14, 2020)

Casebreez said:


> It's in Audio. Go to Audio then Global Audio Devices and disable them all. You will have to manually add your audio inputs now. (mic, desktop, etc)


For new users - that is main OBS Settings -> Audio


----------



## AEffigy (Oct 15, 2020)

Hello, I am a theatre person now using Zoom for digital productions. We use scenes sequentially in our trade, and this plugin is helping me a lot. I have a question though. Is there a way to add a macro to the custom transition? I use snapcam for some costumes and effects, and it would help my actors a lot if when they hit the "next scene" button It could have the transition keypress the hotkeys I've set in snapcam.  
Thank you for this awesome plugin, and for any help!


----------



## Lawrence_SoCal (Oct 15, 2020)

What I've seen is using one of the Resource plug-ins which is to add support for a command line source to a scene (ie, transition to scene, and a with the right plug-in, you now have the ability to execute a command line).


----------



## AEffigy (Oct 18, 2020)

So I've got the plugin working, but I know next to nothing of the script language. What would my syntax be for the keypress?


----------



## theukulelebandito (Oct 21, 2020)

I installed the Advanced Scene Switcher and was amazed at what it can do.  However I noticed that I could not enter more than 6 scene changes.  I tried to add more from within the plug in, but it would not let me.  I exported a Round Trip text file, edited it manually to included 5 more transitions, imported it back in to OBS using the plug in, but it would not recognize the additional scene switching commands.

Is there any way to expand the number of scene changes from 6?


----------



## Warmuptill (Oct 21, 2020)

theukulelebandito said:


> I installed the Advanced Scene Switcher and was amazed at what it can do.  However I noticed that I could not enter more than 6 scene changes.  I tried to add more from within the plug in, but it would not let me.  I exported a Round Trip text file, edited it manually to included 5 more transitions, imported it back in to OBS using the plug in, but it would not recognize the additional scene switching commands.
> 
> Is there any way to expand the number of scene changes from 6?


Do you have more than 6 scenes?
The plugin will only ever be able to execute one rule for a given start scene.

Let's say you have Scene A and B.
You could only have these rules:
A -> wait x -> B
B -> wait y -> A

But not:
A wait x -> B
A wait z -> B
...
B wait y -> A

As only one "A -> ..." rule would actually work.
When trying to enter "A -> wait z -> B" and "A -> wait x -> B" already exists, "A -> wait x -> B" will be overwritten by "A -> wait z -> B".

With that being said I am trying to update the UI of the scene switcher plugin which would allow you to enter both "A" cases but only the first entry in the list would ever be chosen.
A build with this the updated UI would be available here:








						Build software better, together
					

GitHub is where people build software. More than 83 million people use GitHub to discover, fork, and contribute to over 200 million projects.




					github.com
				



(You might have to be logged in to download the artifacts)
But be warned, that the build might still be a bit unstable, as it is not yet fully tested.


----------



## GabiDG (Oct 21, 2020)

Hello, I just installed OBS (with Advanced Scene Switcher 1.7) on my new Windows computer and I ran in all sort of troubles. Afterwards I copied the old advanced-scene-switcher.dll from the old computer (I wish I knew which version it is - probably one from June) and that one works perfectly.
Issues I encountered with version 1.7
- "Task Switching" and "OBS" in widow title matching do not work any more (nothing happens when Alt-Tab, for example)
- the Full Screen and Focused conditions in window title matching do not seem to be respected at least for OneNote; it will always switch the scene when OneNote is opened, regardless of whether is in focus and/or full screen.
As I already wrote, the old version has not trouble (well it does not have the focus option at all, so I cannot claim is does the focus condition...)
I think I also had a few more crashes when closing OBS while version 1.7 dll was installed, but I am not very sure about that.
I wish I could send you a debug log, but while I know how to enable it, I do not know where the log is located.
Thank you for the outstanding work! I wish I could use version 1.7!


----------



## GabiDG (Oct 22, 2020)

I found a partial solution by adding both dll to OBS (I just renamed the new one to  advanced-scene-switcher17.dll).

"Task Switching" works, probably triggered by the old dll.
I think version 1.7 instead of detecting Full Screen Mode (what you get if you press F11 in many Windows programs, for example Chrome) it detects when the windows is maximized. The old version properly detects Full Screen Mode.
So far I plan to use both versions: the old one for Task Switching and Full Screen mode, and the new one for scene sequences together with automatic recording when one of the scenes in the sequence appears. I'll never forget to record one of my lectures again!


----------



## Warmuptill (Oct 22, 2020)

GabiDG said:


> I found a partial solution by adding both dll to OBS (I just renamed the new one to  advanced-scene-switcher17.dll).
> 
> "Task Switching" works, probably triggered by the old dll.
> I think version 1.7 instead of detecting Full Screen Mode (what you get if you press F11 in many Windows programs, for example Chrome) it detects when the windows is maximized. The old version properly detects Full Screen Mode.
> So far I plan to use both versions: the old one for Task Switching and Full Screen mode, and the new one for scene sequences together with automatic recording when one of the scenes in the sequence appears. I'll never forget to record one of my lectures again!


The fullscreen / maximized behavior was indeed changed a while back to align the behavior of the plugin on the different platforms and to enable matching maximized windows.
I added the option to differentiate between maximized / fullscreen on a development build a while ago as it was requested on github.
But this was not yet released "officially".

You can find a recent build here:








						UI rework by WarmUpTill · Pull Request #44 · WarmUpTill/SceneSwitcher
					






					github.com
				



But as mentioned in an earlier comment these builds might be a bit unstable.
(Also, this maximized feature will not be supported on MacOS - this will not affect you on windows of course)

I am not sure what changed regarding the "Task Switching".
I will investigate - so thank you for reporting that there is an issue!

EDIT: The issue regarding "Task Switching" seems to be that windows with the "WS_EX_TOOLWINDOW" property were filtered.
I think the intention was to not show these types of windows in the window selection drop down selectin, as they do not necessarily have a visible name.
EDIT2: Updated the link above to point to a build where the "Task Switching" issue should be resolved.


----------



## GabiDG (Oct 23, 2020)

Warmuptill said:


> ...
> EDIT2: Updated the link above to point to a build where the "Task Switching" issue should be resolved.


This version works fine except one thing: it does not detect when OneNote for Windows 10 is full screen. The June version had no trouble with it.


----------



## GabiDG (Oct 23, 2020)

I should have said that it detects fine when Chrome or Powerpoint is full screen, but not when OneNote for Windows 10 is full screen.


----------



## GabiDG (Oct 23, 2020)

it seems Advanced Scene Switcher does not see at all OneNote when it is full screen, so it won't trigger with any combination of focus/maxed/fullscreen. Even when all three are unchecked.


----------



## Warmuptill (Oct 24, 2020)

GabiDG said:


> it seems Advanced Scene Switcher does not see at all OneNote when it is full screen, so it won't trigger with any combination of focus/maxed/fullscreen. Even when all three are unchecked.


I quickly set up OneNote and did some tests:
It seems that OneNote in fullscreen mode actually changes its window name compared to running in maximized / regular mode.
The new window name is displayed in the top left corner of OneNote and should start by the name of the notebook followed by additional information about what you are currently editing.

The reason why this now a problem compared to previous versions of the plugin is because with the introduction of the "is focused" option the fullscreen check now takes the window title into account instead of just looking at the front most window to do its window size check.

You could solve this problem by just matching the title of your notebook "<Your name here>'s Notebook.*" or something of that sort.

The reason why this window does not show up in the window selection drop down is because certain types of windows are filtered as otherwise you would have many many useless entries like "Default IME", "SystemResourceNotifyWindow", ... which would add hundreds of unnecessary entries.

Let me know if that works for you or if you encounter any issues.


----------



## GabiDG (Oct 24, 2020)

Warmuptill said:


> ....
> You could solve this problem by just matching the title of your notebook "<Your name here>'s Notebook.*" or something of that sort.
> Let me know if that works for you or if you encounter any issues.


I actually tried that (even with ".*Notebook.*", and also simply with ".*OneNote.*"), but I am completely unable to trigger a scene change with OneNote in full screen more. Not even when focus, maximized, and fullscreen checkboxes are all off.
I have to use Automatic Scene Switcher to trigger OneNote, even thou I would like to trigger on fullscreen mode only.
For what's worth, I tried to use the window name reported by Window Spy from AutoHotkey, with the same lack of success.


----------



## Warmuptill (Oct 24, 2020)

GabiDG said:


> I actually tried that (even with ".*Notebook.*", and also simply with ".*OneNote.*"), but I am completely unable to trigger a scene change with OneNote in full screen more. Not even when focus, maximized, and fullscreen checkboxes are all off.
> I have to use Automatic Scene Switcher to trigger OneNote, even thou I would like to trigger on fullscreen mode only.
> For what's worth, I tried to use the window name reported by Window Spy from AutoHotkey, with the same lack of success.


I just double checked and you are indeed correct.
The window handle of OneNote is not enumerated by GetNextWindow() at all.
GetForegroundWindow() does return the window handle as expected, which I used to check the window title yesterday.

It looks like FindWindowEx() must be used instead if metro app handles shall also be returned.

I now adjusted the window handling of the plugin to this new method.
You can find a test build here:








						UI rework by WarmUpTill · Pull Request #44 · WarmUpTill/SceneSwitcher
					






					github.com
				




Please let me know if it works as expected.


----------



## mjvan (Oct 25, 2020)

Sorry if this has been added already. Would there be a way to automatically detect when I'm looking at a camera and switch to that scene automatically? I'm using two cameras, one for an overhead camera (journaling) and the second for when I'm talking directly to the viewer.


----------



## GabiDG (Oct 25, 2020)

Warmuptill said:


> ...
> Please let me know if it works as expected.


We are making progress! I am able to trigger ".*OneNote.*" with focus checked (with both maxed and full screen checked off), when OneNote is maxed, fullscreen or whatever. As soon any (maxed and/or fullscreen) is checked, OneNote does not trigger at all, regardless of whether it is maximized, fullscreen, or whatever.
No reason to use Automatic Scene Switcher any more!


----------



## Warmuptill (Oct 25, 2020)

mjvan said:


> Sorry if this has been added already. Would there be a way to automatically detect when I'm looking at a camera and switch to that scene automatically? I'm using two cameras, one for an overhead camera (journaling) and the second for when I'm talking directly to the viewer.


Unfortunately that is currently not possible.
But I know that a separate plugin is currently under development which could be used to match images to the current output of a source.








						GitHub - HoneyHazard/PixelMatchSwitcher: PixelMatchSwitcher plugin for OBS Studio.
					

PixelMatchSwitcher plugin for OBS Studio. Contribute to HoneyHazard/PixelMatchSwitcher development by creating an account on GitHub.




					github.com
				






GabiDG said:


> We are making progress! I am able to trigger ".*OneNote.*" with focus checked (with both maxed and full screen checked off), when OneNote is maxed, fullscreen or whatever. As soon any (maxed and/or fullscreen) is checked, OneNote does not trigger at all, regardless of whether it is maximized, fullscreen, or whatever.
> No reason to use Automatic Scene Switcher any more!


Thanks again for your tests and reporting the issue!


----------



## Waldnerr (Oct 27, 2020)

Hi there , tried to install it on Linux Pi4 5.9.1-v8+ (Raspberry Pi4 64 bit) and using Obs studio 26.0.2 but i dont see Advanced scene switcher on Tools menu . Tried to advanced-scene-switcher.so in /usr/lib/aarch64-linux-gnu/obs-plugins and /home/pi/.config/obs-studio/plugins/advanced-scene-switcher/bin/64bit without success . Any suggestion please ? Thanks a lot !


----------



## Warmuptill (Oct 28, 2020)

Waldnerr said:


> Hi there , tried to install it on Linux Pi4 5.9.1-v8+ (Raspberry Pi4 64 bit) and using Obs studio 26.0.2 but i dont see Advanced scene switcher on Tools menu . Tried to advanced-scene-switcher.so in /usr/lib/aarch64-linux-gnu/obs-plugins and /home/pi/.config/obs-studio/plugins/advanced-scene-switcher/bin/64bit without success . Any suggestion please ? Thanks a lot !


If I am not mistaken the Pi4 does not use a x86 based cpu.
So the precompiled x86 binaries will not work for you and you would have to compile the plugin for arm cpus yourself.
See https://github.com/WarmUpTill/SceneSwitcher/issues/50 for more details.


----------



## Renzi (Oct 28, 2020)

Hi, 

Just a question or two about using the Time functionality. Ive been building out a schedule for a whole week (about 20 scene switches a day) and ive been running into an issue where deleted instances keep coming back and the ordering shuffles randomly every time i exit or renter the tool. Any thoughts on whats happening or next steps?  Also, is there a limit to how many scene switches the Time tab can handle?

Thanks :)


----------



## Renzi (Oct 28, 2020)

Renzi said:


> Hi,
> 
> Just a question or two about using the Time functionality. Ive been building out a schedule for a whole week (about 20 scene switches a day) and ive been running into an issue where deleted instances keep coming back and the ordering shuffles randomly every time i exit or renter the tool. Any thoughts on whats happening or next steps?  Also, is there a limit to how many scene switches the Time tab can handle?
> 
> Thanks :)



Attaching settings file and a couple of "before and after" screenshots of when i enter and organize the timed scene switches and then what it looks like after i exit the tool and go back in


----------



## Warmuptill (Oct 28, 2020)

Renzi said:


> Hi,
> 
> Just a question or two about using the Time functionality. Ive been building out a schedule for a whole week (about 20 scene switches a day) and ive been running into an issue where deleted instances keep coming back and the ordering shuffles randomly every time i exit or renter the tool. Any thoughts on whats happening or next steps?  Also, is there a limit to how many scene switches the Time tab can handle?
> 
> Thanks :)


Sorry, about that!
I am not sure what is going wrong there and unfortunately I do not think I will find the time to look into it this week.
As you already made a backup of your settings I would suggest you try one of the recent development builds to see if the problem was accidentally already solved by the UI rework.

You can find such a build here:








						Release UI Rework Alpha · WarmUpTill/SceneSwitcher
					

Main focus of this update was a rework of the UI. This should ease modifying existing switch entries and add some very basic hints on how to use the plugin. Know issues: Slight memory leak / crash ...




					github.com
				




If the issue still persists there, please do let me know!

Also there should not be a limit as to how many entries you can enter on the Time tab.


----------



## Renzi (Oct 28, 2020)

Renzi said:


> Attaching settings file and a couple of "before and after" screenshots of when i enter and organize the timed scene switches and then what it looks like after i exit the tool and go back in


 
i managed to get rid of the "ghost entry" that kept coming back by adding a new rule with the exact same time but switching it to any other scene than the one originally referenced in the "ghost entry".  i was then able to delete this entry and no ghost entries returned and my  ordering of the rules also sticks.


----------



## Renzi (Oct 28, 2020)

Warmuptill said:


> Sorry, about that!
> I am not sure what is going wrong there and unfortunately I do not think I will find the time to look into it this week.
> As you already made a backup of your settings I would suggest you try one of the recent development builds to see if the problem was accidentally already solved by the UI rework.
> 
> ...


Thanks! Ill look into this build.  As for now, that weird work around fixed things.  we'll see if it returns...

Thanks Again


----------



## Waldnerr (Oct 29, 2020)

Warmuptill said:


> If I am not mistaken the Pi4 does not use a x86 based cpu.
> So the precompiled x86 binaries will not work for you and you would have to compile the plugin for arm cpus yourself.
> See https://github.com/WarmUpTill/SceneSwitcher/issues/50 for more details.


Thanks for answer ! Im not so in compiling stuff , hope someone already compiled that ...


----------



## Warmuptill (Oct 31, 2020)

Warmuptill updated Advanced Scene Switcher with a new update entry:

UI Rework



> The main focus of this update was a rework of the UI.
> This should ease modifying existing switch entries and add some basic hints on how to use the plugin.
> 
> I hope it is actually an improvement for most and didn't break any existing functionality :)
> ...



Read the rest of this update entry...


----------



## THE R3Y3S (Nov 1, 2020)

Hi man i have a problem with new update. I don't know why but now, if i haven't the specific game windows opens, automatically switch to webcam. Or, for example, if i want to swap to desktop, i can't because it's locked to webcam... This starts to happen only when i update this tool, and i didn't change nothign from last version and this new one.


----------



## Warmuptill (Nov 1, 2020)

THE R3Y3S said:


> Hi man i have a problem with new update. I don't know why but now, if i haven't the specific game windows opens, automatically switch to webcam. Or, for example, if i want to swap to desktop, i can't because it's locked to webcam... This starts to happen only when i update this tool, and i didn't change nothign from last version and this new one.


Thanks for reporting the issue!
I do not quite understand the scenario that is causing problems. Are you referring to the "if no switch condition is met switch to scene ..." option?
Would you be able to share your settings of the plugin so I can reproduce the problem? (You can send them via PM)

EDIT: Could it be that you are also encountering this issue?








						1.8 has a bug of Media · Issue #53 · WarmUpTill/SceneSwitcher
					

The function will repeat work when the media has finished on normal mode.




					github.com
				




If so I will try to provide a fix as soon as I get confirmation that the problem is now resolved.


----------



## THE R3Y3S (Nov 1, 2020)

Warmuptill said:


> Thanks for reporting the issue!
> I do not quite understand the scenario that is causing problems. Are you referring to the "if no switch condition is met switch to scene ..." option?
> Would you be able to share your settings of the plugin so I can reproduce the problem? (You can send them via PM)
> 
> ...


Yeah man i confirm media is the problem. Only there i setup eveytime a source ends swap to webcam. I never setup  "if no switch condition is met switch to scene ..." so i'm sure media is the problem


----------



## Warmuptill (Nov 1, 2020)

Would you be able to quickly test the new build here just to confirm that the issue is actually solved?








						fix media states being retriggered multiple times by WarmUpTill · Pull Request #54 · WarmUpTill/SceneSwitcher
					






					github.com


----------



## orion42 (Nov 1, 2020)

Hello,
I would like to know if there is a way to use the scene transitions to the ones you are causing manually (i.e. with hotkeys).

Indeed, in the plugin > Transition tab is written:
_



			The settings below only affect scene transitions caused by the scene switcher and not the ones you are causing manually. Additionally they will take priority over transition settings configured elsewhere in the scene switcher.
		
Click to expand...

_
I am trying to achieve a different transition between three scenes:


"Main" (has both cameras side to side)
"Camera 1 Only" (fullscreen)
"Camera 2 Only" (fullscreen)
As default transition, I have "Move" so to have a nice coming in and out of the two cameras into the main scene. However, the same is happening also when I switch from camera 1 and camera 2, with a not-so-nice default appearing and disappearing effect.
What I would like to achieve is to set a Cut transition only when passing from Camera 1 to Camera 2 with a manual transition triggered by a hotkey.

Is it possible to achieve this with the current plugin?
Why is only working with the automatic scene switcher and not with the manual ones? 
Can this be added as a new feature/option?


----------



## Warmuptill (Nov 1, 2020)

orion42 said:


> Hello,
> I would like to know if there is a way to use the scene transitions to the ones you are causing manually (i.e. with hotkeys).
> 
> Indeed, in the plugin > Transition tab is written:
> ...



There is a separate plugin just for that functionality:





						OBS Transition Matrix [Discontinued]
					

This served its purpose as a prototype and a more fleshed and properly supported plugin now exists for this functionality.  Check it out: Transition Table




					obsproject.com
				



Maybe I should add a link on the transition tab to this plugin as it has been asked a couple of times already :)


----------



## THE R3Y3S (Nov 1, 2020)

Warmuptill said:


> Would you be able to quickly test the new build here just to confirm that the issue is actually solved?
> 
> 
> 
> ...


Works for me! Thanks!


----------



## Warmuptill (Nov 1, 2020)

THE R3Y3S said:


> Works for me! Thanks!


Thank you for the confirmation.
I updated the release to contain this fix.


----------



## DOLF (Nov 1, 2020)

Hello. There was a problem with saving hotkeys to enable and disable automatic scene switching. That is, I assign hotkeys, and everything works, but after restarting OBS they are not saved (((


----------



## Warmuptill (Nov 1, 2020)

DOLF said:


> Hello. There was a problem with saving hotkeys to enable and disable automatic scene switching. That is, I assign hotkeys, and everything works, but after restarting OBS they are not saved (((
> View attachment 62659View attachment 62661


There was a problem in the previous versions of the plugin that required you to use the hotkeys at least once for them to be saved, which should (hopefully) have been resolved with the most recent update.

Which version of the plugin are you using?

If you are using the latest version of the plugin what are the exact steps to reproduce this behavior?


----------



## THE R3Y3S (Nov 1, 2020)

Man btw now i have another problem. I play league of legends, and have 2 executable file, 1 for the client and 1 in game, when i try to swap to ingame, obs remains on client scene....


----------



## THE R3Y3S (Nov 2, 2020)

Uhm i just enable "scene transitions defined in the..." from transition tab and now works... I don't know why. Btw on sequence time is set to 0 to every scene, so i think there's a bug when import old  sequence from the old version


----------



## Warmuptill (Nov 2, 2020)

THE R3Y3S said:


> Uhm i just enable "scene transitions defined in the..." from transition tab and now works... I don't know why. Btw on sequence time is set to 0 to every scene, so i think there's a bug when import old  sequence from the old version


Thanks for reporting the problem!
I will try to investigate it later today.

EDIT: I can't seem to reproduce the issue with the "old sequence from old version".
How old is the version you are referring to? (I tested with 1.7)
Would you be able to share the settings file you tried to import?

During my investigations I found a potential crash when importing scene sequences if a scene sequence was currently in progress.
Maybe that caused the issue?


> Man btw now i have another problem. I play league of legends, and have 2 executable file, 1 for the client and 1 in game, when i try to swap to ingame, obs remains on client scene.... 
> hm i just enable "scene transitions defined in the..." from transition tab and now works... 

I cannot explain this behaviour at all unfortunately.

Did you maybe just add these new entries to the window tab?
If no scene or no transition transition is selected for a particular entry - meaning that "select scene" or "select transition" is the currently active selection - then this entry will be ignored.


----------



## Seigrom (Nov 2, 2020)

Good!. In advance, thanks for the recent plugin update and for listening to our voice. We are experiencing some problems: In MEDIA, when setting the parameter "when xx is endend and none switch to xx using xx", it performs its task, but when wanting to manually switch another scene, it instantly detects that the video is in finished mode and jumps to the selected scene in that parameter, without letting me choose any other scene. Thank you in advance for the great work! 

attached configuration file


----------



## Warmuptill (Nov 2, 2020)

Seigrom said:


> Good!. In advance, thanks for the recent plugin update and for listening to our voice. We are experiencing some problems: In MEDIA, when setting the parameter "when xx is endend and none switch to xx using xx", it performs its task, but when wanting to manually switch another scene, it instantly detects that the video is in finished mode and jumps to the selected scene in that parameter, without letting me choose any other scene. Thank you in advance for the great work!
> 
> attached configuration file


The problem here is that this is exactly working as specified.
If you manually switch away from the scene currently playing the media source, the playback of the media source will end, thus the scene switch will be activated.
You could work around this by also using the time restriction options.
Unfortunately I cannot give you an example as I cannot test it at the moment.


----------



## DOLF (Nov 2, 2020)

Warmuptill said:


> There was a problem in the previous versions of the plugin that required you to use the hotkeys at least once for them to be saved, which should (hopefully) have been resolved with the most recent update.
> 
> Which version of the plugin are you using?
> 
> If you are using the latest version of the plugin what are the exact steps to reproduce this behavior?


Yes, I am using the latest version of the plugin, I tried to reinstall it in advance and did not help. In general, I elementarily put the bind of hot keys to activate random scene switching, apply the settings, try to press, everything is activated and works. After restarting the obs, the hotkeys for your plugin disappear and are not saved. The other hotkeys that I configured for the scenes, for example, remain and are saved.


----------



## DOLF (Nov 3, 2020)

DOLF said:


> Yes, I am using the latest version of the plugin, I tried to reinstall it in advance and did not help. In general, I elementarily put the bind of hot keys to activate random scene switching, apply the settings, try to press, everything is activated and works. After restarting the obs, the hotkeys for your plugin disappear and are not saved. The other hotkeys that I configured for the scenes, for example, remain and are saved.


Everything, figured it out. I just updated the plugin incorrectly, after a successful update everything is saved! Thank you for your help and your efforts in creating and developing this plugin! Good luck)))


----------



## DOLF (Nov 4, 2020)

Hello again) I found a bug in the latest version of the plugin, everything is said in the screenshot


----------



## ContentDeveloper (Nov 5, 2020)

Similar to the previous post, from @mknejp, I also need

A way to force the state of the switcher to be Active or Inactive.
But more so, I want to trigger the state via Vbscript, or at least READ the current state -- is there any documentation available?


----------



## Warmuptill (Nov 6, 2020)

ContentDeveloper said:


> Similar to the previous post, from @mknejp, I also need
> 
> A way to force the state of the switcher to be Active or Inactive.
> But more so, I want to trigger the state via Vbscript, or at least READ the current state -- is there any documentation available?


I am not sure if I found the correct post, but the option to force certain startup behavior was implemented already and can be configured on the general tab. (Does this work as expected?) 

You could parse the current state from the OBS log file as the scene switcher will log a message if it is stopped or started.
Changing the state externally is currently not possible unless you simulate key presses to use the OBS hotkey.


----------



## ContentDeveloper (Nov 8, 2020)

Warmuptill said:


> ...You could parse the current state from the OBS log file as the scene switcher will log a message if it is stopped or started.
> Changing the state externally is currently not possible unless you simulate key presses to use the OBS hotkey.



Can you give me a clue as to what to look for in the log file?  I am not seeing such a reference.

To confirm, log file I found is in this path:  C:\Program Files\obs-studio\config\obs-studio\logs

Is that correct?


----------



## ContentDeveloper (Nov 8, 2020)

ContentDeveloper said:


> Can you give me a clue as to what to look for in the log file?  I am not seeing such a reference.
> 
> To confirm, log file I found is in this path:  C:\Program Files\obs-studio\config\obs-studio\logs
> 
> Is that correct?



Never mind... found it:

  13:32:41.352: [adv-ss] stopped
  13:33:15.815: [adv-ss] started

(it helped to install the latest version, as the version I had was not logging anything)


----------



## ContentDeveloper (Nov 12, 2020)

Hey @Warmuptill --

I have been trying to get something to work for me over the last several days, and not able to get there yet:


I am trying to at least add an indicator to an OBS browser page that will show the status of the auto-switching with HTML text/image, or allow the user to switch the status with an HTML switch. 
HTML *Indicator* example:​​


HTML *Switch* example:​




An HTML indicator would have to be able to monitor the OBS Hotkey.
An HTML switch would have to be able to trigger the OBS Hotkey.
I have had some success in adding the HTML switch, and getting it to respond to the OBS Hotkey, but the HTML window itself has to be the active window -- as in, the user has to click the mouse inside the HTML window before pressing the OBS Hotkey.
I have had some success with triggering the OBS Hotkey from a script using SendKeys in a vbscript.  It works _sometimes_.... as it seems there may be an issue as to whether or not OBS is seen as the "active window".
I have tried using "watch folder" utility to monitor the OBS log folder, so the HTML indicator could be refreshed to reflect the true status.  However, it seems the OBS log file doesn't actually get updated in real time... seems to be minutes instead of seconds.
Is it possible you could write out a simple one-line log file that merely indicates the current status of the auto-switching?
If so, it would be much easier to monitor, and get the HTML indicator refreshed.



Any other ideas, I would greatly appreciate.



​​


----------



## Warmuptill (Nov 14, 2020)

ContentDeveloper said:


> Hey @Warmuptill --
> 
> I have been trying to get something to work for me over the last several days, and not able to get there yet:
> 
> ...


I am not familiar with the "watch folder" utility and the "SendKeys" functionality in vbscript.
For me the OBS log is updated right away, but maybe there is some sort of buffering going on your system.

You can find a build of the plugin that let's you chose a file on the general tab to print the current status to a file here:








						Status file · WarmUpTill/SceneSwitcher@fed9389
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				



If you want more details on what I did you can check out the changes here:








						Status file by WarmUpTill · Pull Request #59 · WarmUpTill/SceneSwitcher
					






					github.com
				



Maybe that helps you in adding the functionality that you need :)

I am not sure yet if I will add this to the plugin officially as I do not think there is much demand for it - but maybe I am wrong here.


----------



## rockymania (Nov 16, 2020)

Hello, i want to switch scene if a file was modified, for testing i added following rule:

Switch to Testbild using Schnitt if G:/Streamlabs/Streamlabs Chatbot/Services/Twitch/Files/ExtraLife.txt was modified and contains (RegEx):
".*"

This works only on obs start, how can i get working this automatically at file change everytime? It seems the file modification will not monitored.

Thanks for your Help :)


----------



## rockymania (Nov 16, 2020)

Edit: After 14 Minutes and 20 Seconds Scene will switch, how can i decrease time?
This is my general Setting for checking conditions


----------



## Warmuptill (Nov 16, 2020)

rockymania said:


> Edit: After 14 Minutes and 20 Seconds Scene will switch, how can i decrease time?
> This is my general Setting for checking conditions
> 
> View attachment 63200


I would guess that this most likely depends on the application writing to this file.
Does the modification date change as you expect it to?


----------



## rockymania (Nov 17, 2020)

Warmuptill said:


> I would guess that this most likely depends on the application writing to this file.
> Does the modification date change as you expect it to?



For testing i've just opened, edited and saved the File with notepad++
The modification date is applied immediately.....


----------



## BDALL (Nov 18, 2020)

Hi,

I'm using adv-ss to switch two additional instances of OBS using the write to and read from file tab. The first instance being the main stream, the second being an NDI copy plus an ASL interpreter, and the third being a local stage display with timers and camera info. 

The problem I'm having is the secondary instances of OBS seem to register errant scene switches, which are quickly corrected by the scene switcher (presumably the next time it checks the file). The result is occasional screen flickering as OBS momentarily switches to another scene. The problem does not occur witch adv-ss stopped, and it occurs on both secondary instances of OBS (One being remote on another computer that reads the scene file over the network).

My workaround has been to create a stinger transition with a delay LONGER than "check switch conditions every" value, so that before a switch happens adv-ss will check conditions again and override the transition before it happens. While this workaround is functional, it does limit some of my options such as changing transitions or automatically ending the streams.

I can't nail down the culprit, although this problem doesn't seem to happen on my (much simpler) home PC. I'm hoping that someone will be able to spot the issue in the logs. In the logs of the secondary OBS you can identify errant scene switches because they will rapidly switch to a scene and then back to the previous scene.

Thank you for reading!!!


----------



## BDALL (Nov 19, 2020)

** A small clarification for the "secondary log": the only indication I am seeing for when the errant scene switching is happening is a warning from obs-websocket that says something like "transition duration is negative!". I assume it's saying that because it flips back to the proper scene so quickly.


----------



## Warmuptill (Nov 20, 2020)

BDALL said:


> ** A small clarification for the "secondary log": the only indication I am seeing for when the errant scene switching is happening is a warning from obs-websocket that says something like "transition duration is negative!". I assume it's saying that because it flips back to the proper scene so quickly.


Not every match log entry will trigger a scene change.
You can identify if these scene switcher is actually triggering a scene change if you see the following line in the log:
User switched to scene '...'
(The scene switcher will only trigger a scene change if the currently active scene is not already active.)
Can you verify if you see two consecutive "User switched to scene ..." entries in the log when the issue occurred?
If you do not it could maybe be an issue with the configuration of the particular transition.


----------



## hammerheaddown (Nov 22, 2020)

can someone maybe do a youtube video on how to do a switch using audio?  like can i set a "tone" in my VLC playlist that will trigger a scene change and when that scene is over go back to the next video (after that tone) in the  vlc playlist?   cause i am not grasping how to do that


----------



## Warmuptill (Nov 22, 2020)

hammerheaddown said:


> can someone maybe do a youtube video on how to do a switch using audio?  like can i set a "tone" in my VLC playlist that will trigger a scene change and when that scene is over go back to the next video (after that tone) in the  vlc playlist?   cause i am not grasping how to do that


The audio tab will only trigger scene changes based on the volume of a source.
It will not switch based on the frequency / tone of a source.

I only know of this video showing off this functionality (spanish):








						Cómo cambiar de escena en OBS con la VOZ
					

Cómo disparar escenas con la voz o cualquier fuente de audio!Todo sobre la pestaña audio del Advanced Scene Switcher.Automatizar las escenas con el sonido.Ho...




					www.youtube.com
				



At 3:10 it is shown how to setup the plugin.
At 4:30 you can see an example of how it works.


----------



## alexroumi (Nov 22, 2020)

I have a question.
Is it possible to pause the auto switching when I use the fade to black?


----------



## Warmuptill (Nov 22, 2020)

alexroumi said:


> I have a question.
> Is it possible to pause the auto switching when I use the fade to black?


Well, depends on how you want to do that :)

You could either use the hotkeys to control / stop the scene switcher or use the "pause" functionality, which allows you to pause the scene switcher if you are on a certain scene.

If you have some sort of image detection / comparison in mind, then that is unfortunately not possible with this plugin.

There is however a separate plugin in development for that:








						GitHub - HoneyHazard/PixelMatchSwitcher: PixelMatchSwitcher plugin for OBS Studio.
					

PixelMatchSwitcher plugin for OBS Studio. Contribute to HoneyHazard/PixelMatchSwitcher development by creating an account on GitHub.




					github.com


----------



## BDALL (Nov 23, 2020)

Hi


Warmuptill said:


> Not every match log entry will trigger a scene change.
> You can identify if these scene switcher is actually triggering a scene change if you see the following line in the log:
> User switched to scene '...'
> (The scene switcher will only trigger a scene change if the currently active scene is not already active.)
> ...



Thanks for your reply,

unfortunately the only thing I notice in the logs is the scene rapidly switching. I haven't been able to determine why yet. There may not be sufficient info to find the cause, just hoping you might have seen the problem before. Thanks again for your time.

I attached a video showing the problem occurring. sorry about the quality, trying to fit it here.


----------



## ThePegass (Nov 24, 2020)

Hello  Warmuptill,
thanks for your great plugin. I can create complete unattended stream (presentation) now. I would have one request (new function). Would it be posible to show "Remaining time/Countdown" somehow? Based on the Sequence (e.g. switch to scene2 after 30s = coundown from 00:00:30 to 00:00:00) or/and Media (get remaining time from media source (length of video).
Thank you ;)


----------



## OrLoko (Nov 25, 2020)

OrLoko said:


> I want to setup a simple thing and I'm not sure how to accomplish it.
> I have a custom Stinger that I want to use globally, but between Scene "A" and "B"(and vice versa), I want to use "Lume wipe" for example. So I set this* on the _*Transition* tab_, I also set a _*Sequence*_ timer to keep cycling between those scenes.
> 
> But I'm noticing that, after the 1st action, the OBS auto changes the default scene transition(Stinger) on the side of the control panel to "Luma Wipe" instead of keeping Stinger...so, if I press any hotkey to simple switch between scenes (or clicking on another scene) it will end up using the Luma Wipe, instead of the Stinger
> ...


Up...someone can help me out on this one?...


----------



## rockymania (Nov 25, 2020)

rockymania said:


> For testing i've just opened, edited and saved the File with notepad++
> The modification date is applied immediately.....



Hello, the problems still exist. Can anyone help please?

The Scene switcher is not working for me, switching by file change...it will not detect modification by date...
respectively it will trigger many many minutes (more then 10) after i've modificated the file...


----------



## Warmuptill (Nov 25, 2020)

OrLoko said:


> Up...someone can help me out on this one?...


This plugin might be what you are looking for:





						OBS Transition Matrix [Discontinued]
					

This served its purpose as a prototype and a more fleshed and properly supported plugin now exists for this functionality.  Check it out: Transition Table




					obsproject.com
				






rockymania said:


> Hello, the problems still exist. Can anyone help please?
> 
> The Scene switcher is not working for me, switching by file change...it will not detect modification by date...
> respectively it will trigger many many minutes (more then 10) after i've modificated the file...


This is the result I would have expected when manually changing the file and saving it.
I have performed a similar test on my end and the scene was switched as specified in the plugin.

Does this also trigger the scene switcher as expected on your end when you manually edit the file?
Or does this also not work for you?


----------



## rockymania (Nov 26, 2020)

Warmuptill said:


> This is the result I would have expected when manually changing the file and saving it.
> I have performed a similar test on my end and the scene was switched as specified in the plugin.
> 
> Does this also trigger the scene switcher as expected on your end when you manually edit the file?
> Or does this also not work for you?



I want to trigger on any change of modification date...
I've edited and saved the file manually with notepad++ . The changes triggers Advanced Scene Switcher after more then 10 minutes. I've also tried with disabling writing cache from my ssd, but problem still exists...
These are my Settings:


----------



## ContentDeveloper (Nov 26, 2020)

Warmuptill said:


> I am not familiar with the "watch folder" utility and the "SendKeys" functionality in vbscript.
> For me the OBS log is updated right away, but maybe there is some sort of buffering going on your system.
> 
> You can find a build of the plugin that let's you chose a file on the general tab to print the current status to a file here:
> ...



@Warmuptill...

I am now successfully making use if the special build you made that provides a separate logfile for the scene switcher status!

Please make it part of the standard build from now on!  :-)


----------



## rockymania (Nov 26, 2020)

rockymania said:


> I want to trigger on any change of modification date...
> I've edited and saved the file manually with notepad++ . The changes triggers Advanced Scene Switcher after more then 10 minutes. I've also tried with disabling writing cache from my ssd, but problem still exists...
> These are my Settings:
> View attachment 63599
> View attachment 63600


 Update:

The trigger works immediately when I stop and restart advanced scene switcher. During operation, the trigger only works after more than 10 minutes. If this information somehow helps to solve the problem.


----------



## Warmuptill (Nov 26, 2020)

rockymania said:


> Update:
> 
> The trigger works immediately when I stop and restart advanced scene switcher. During operation, the trigger only works after more than 10 minutes. If this information somehow helps to solve the problem.


Can you repeat the test below and see if it also works on your end?




__





						- YouTube
					

Enjoy the videos and music you love, upload original content, and share it all with friends, family, and the world on YouTube.




					www.youtube.com
				



Do you see the 10 minute delay here also?
For me this seems to work just as you expect.
Or did I maybe misunderstand something in your setup?

Can you please make sure that the modification date changes if the application, which is responsible for the file you are monitoring, writes to the file?



ContentDeveloper said:


> @Warmuptill...
> 
> I am now successfully making use if the special build you made that provides a separate logfile for the scene switcher status!
> 
> Please make it part of the standard build from now on!  :-)


I am not sure if that will be useful for many people so I am a bit hesitant to add this.


----------



## rockymania (Nov 26, 2020)

Warmuptill said:


> Can you repeat the test below and see if it also works on your end?
> 
> 
> 
> ...



Hello,
when saving the monitored file with Notepad ++, the date and time are updated immediately. Unfortunately, the scene is only switched after after 10 or more minutes. If I stop Advanced Scene Switcher and then start it again, the file change is recognized immediately and the scene is switched immediately as desired. I tried again with your exact settings, with the same wrong result.


----------



## rockymania (Nov 26, 2020)

rockymania said:


> Hello,
> when saving the monitored file with Notepad ++, the date and time are updated immediately. Unfortunately, the scene is only switched after after 10 or more minutes. If I stop Advanced Scene Switcher and then start it again, the file change is recognized immediately and the scene is switched immediately as desired. I tried again with your exact settings, with the same wrong result.



Edit: 
Stop!

I've just testet it with a new Scene-Collection wit just 2 Scenes, this works!!
It just seems like it's not working properly with my existing productive scene collection.
Is there perhaps an explanation for this? 
How can I start looking for a solution?


----------



## hammerheaddown (Nov 27, 2020)

i can NOT get the this too switch on media,  i have 4 scenes with only a media file in each scene

1.) scene1 -> with a media source scene_1.avi
2.) black -> with media source fade2black.avi
and so on

then in the MEDIA section of  the plugin i have it set up as:
when scene_1.avi state is  ended and none  switch to black
when fade2black.avi state is playing and longer than 100 ms switch to scene2 etc

it will do NOTHING, i check that it is active and stop and activate it again to be sure.

I go to scene one and refresh the video and it plays and just ends and does nothing

looked on youtube but no tutorials on the new changes, this should NOT be so difficult .


----------



## hammerheaddown (Nov 27, 2020)

have even tried with vlc as media source...   do you have  tutorials of how to use these things once you update them and i am missing these instructions?

i tried following this video








						obs switch scene when media source ends with the advanced scene switcher
					

automatically switch scene when a media source ends with the advanced scene switcherhttps://obsproject.com/forum/resources/advanced-scene-switcher.395/Linux ...




					www.youtube.com
				




but of course that is last version and totally new gui


----------



## Warmuptill (Nov 27, 2020)

hammerheaddown said:


> have even tried with vlc as media source...   do you have  tutorials of how to use these things once you update them and i am missing these instructions?
> 
> i tried following this video
> 
> ...


Does everything work as expected if you use the previous version of the plugin (with the old GUI)?
If not can you share a log file with the verbose logging of the plugin enabled (you can find this option on the general tab)?


----------



## hammerheaddown (Nov 27, 2020)

Warmuptill said:


> Does everything work as expected if you use the previous version of the plugin (with the old GUI)?
> If not can you share a log file with the verbose logging of the plugin enabled (you can find this option on the general tab)?



i have changed to VLC and after a ton of tinkering got something usable...  i will get some screen shots of it tomorrow its on another pc


----------



## OrLoko (Nov 27, 2020)

Warmuptill said:


> This plugin might be what you are looking for:
> 
> 
> 
> ...


going to take a look at it, thanks !


----------



## ContentDeveloper (Nov 27, 2020)

ContentDeveloper said:


> @Warmuptill...
> 
> I am now successfully making use if the special build you made that provides a separate logfile for the scene switcher status!
> 
> Please make it part of the standard build from now on!  :-)



@Warmuptill -- If can leave the switch for the separate log file OFF by default, then it won't affect anyone.

I know there are features in Advanced SS that I particularly don't use, but yet they are there if I choose to.

If, for some reason, you cannot make the separate log file as standard with future builds, can you enable API funcionality?


----------



## rockymania (Nov 27, 2020)

rockymania said:


> Hello,
> when saving the monitored file with Notepad ++, the date and time are updated immediately. Unfortunately, the scene is only switched after after 10 or more minutes. If I stop Advanced Scene Switcher and then start it again, the file change is recognized immediately and the scene is switched immediately as desired. I tried again with your exact settings, with the same wrong result.



Edit: 
I found the mistake!
I had a unused scene transition with an invalid file link. After deleting the transition everything works as it should.
Thank you for your attempts to help. 

Now I have a new question: Would it be possible to expand the function?
e.g
If "ActiveScene" = <xyz> and "Filemodified" = true and "RegEx" hits then switch to "NewScene" ?

That would be nice because I don't want to change on every scene when the file is changed.


----------



## rockymania (Nov 27, 2020)

Addition to my last post :
And it would be nice if there would be added a switch back to
previous scene after an adjustable time
If "ActiveScene" = <xyz> and "Filemodified" = true and "RegEx" hits then switch to "NewScene"  after <xyz > Seconds (0 for never) switch back to "ActiveScene"


----------



## marcob8986 (Nov 29, 2020)

Great plugin, many thanks for that!
I do have a question though: is it normal behaviour that ANY time the switcher fires, it overrides the default scene transition of OBS?

I would like to:
- start recording on a particular scene manually
- switch after 2 seconds to another scene with sliding transition
- keep the "MOVE" transition as default for all the remaining scene transitions.

I solved this using the "TRANSITION" tab and when the second scene is active --> change default transition to --> "MOVE"

I'm just wondering if this the default behaviour or am I missing something


----------



## Warmuptill (Nov 29, 2020)

marcob8986 said:


> Great plugin, many thanks for that!
> I do have a question though: is it normal behaviour that ANY time the switcher fires, it overrides the default scene transition of OBS?
> 
> I would like to:
> ...


Yes, that is expected behavior and you did not miss anything.
I might think about adding the option to restore the previous transition.


----------



## marcob8986 (Nov 29, 2020)

Warmuptill said:


> Yes, that is expected behavior and you did not miss anything.
> I might think about adding the option to restore the previous transition.



Ok thanks. I really can't seem to find that option, can you tell me where it is?


----------



## Warmuptill (Nov 30, 2020)

marcob8986 said:


> Ok thanks. I really can't seem to find that option, can you tell me where it is?


Sorry, my last statement seems to have been ambiguous.

Currently no such option exists.
I will investigate if it is feasible to add the option of automatically restoring the last transition, but as you already mentioned you can use the options available on transition tab to achieve the desired behaviour already.


----------



## tophee (Dec 4, 2020)

Thanks for an excellent plugin! I was hoping that this might also allow me to select specific windows as source, but this doesn't seem to be possible at the moment so I'm mentioning it here in case you want to implement it. I believe you have most of the code in place already...

So what I mean is the following: the built-in window capture feature in OBS is quite limited when it comes to automatically selecting windows based on their title. You either have to provide the exact title (and you can't even enter it manually) or let OBS do some rough guess-work when selecting windows with similar titles. An example of what OBS can't do currently, is distinguish between between PowerPoint Presenter View and the Slide Show  that is shown to the audience. For obvious reasons, it would be good if it would reliably select the audience view. 

In Advance Scene Switcher the correct window is easily identified with (PowerPoint Slide Show  - )(.*)(pptx), but I can only use it to change to a specific scene, but not to tell OBS to use that window as a source.  

Would this be something you could add?


----------



## Lawrence_SoCal (Dec 4, 2020)

tophee said:


> An example of what OBS can't do currently, is distinguish between between PowerPoint Presenter View and the Slide Show  that is shown to the audience.



In the vein of keeping it simple... are you using PowerPoint's Windowed Slide Show view, or Full Screen?
  if Full screen, you could do Display vs Window capture and then not worry about it?
or do you not have a 2nd monitor to dedicate to the PPTx audience view?  just curious


----------



## Drece (Dec 8, 2020)

There seems to be some bug when using the advanced scene switcher with the move plugin. If I use the sequence tab to switch sources (using transition B - not my default), then use the transition tab to set back my transition to default (transition A), the scenes don't switch


----------



## Warmuptill (Dec 8, 2020)

Drece said:


> There seems to be some bug when using the advanced scene switcher with the move plugin. If I use the sequence tab to switch sources (using transition B - not my default), then use the transition tab to set back my transition to default (transition A), the scenes don't switch


The issue here is most likely that the transition type is changed while a transition is still in progress.
Can you check if that problem also happens in this version of the plugin?








						add no match delay option (#78) · WarmUpTill/SceneSwitcher@9711390
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				



(You might have to be logged into Github to be able to download the build - if that is an issue for you let me know)


----------



## battleck (Dec 9, 2020)

Sorry if the question already answered, but i cant figure it out...
is there any way to change the "stinger" settings (choose another transition video) when used in "sequence" tab? 
if yes, how? i cant find it...

thank you :)


----------



## Warmuptill (Dec 10, 2020)

battleck said:


> Sorry if the question already answered, but i cant figure it out...
> is there any way to change the "stinger" settings (choose another transition video) when used in "sequence" tab?
> if yes, how? i cant find it...
> 
> thank you :)


Can you not just add a second transition of the stinger type with the changed settings and use that one for the scene sequence switches?
The scene switcher itself cannot adjust the settings of transition - it can only switch to different transitions.


----------



## Warmuptill (Dec 10, 2020)

Warmuptill updated Advanced Scene Switcher with a new update entry:

Minor additions and fixes



> Fixes:
> 
> fix crash on first startup on fresh install of OBS
> fix crash on deleting last screen region entry when guide frame was active
> ...



Read the rest of this update entry...


----------



## ContentDeveloper (Dec 10, 2020)

Thank you, @Warmuptill, for making my log file request permanent!


----------



## noobYouTuber (Dec 14, 2020)

One thing which I feel is needed in this tool is way to enable and disable the sequence anytime we want even from the remote Dock. I am using a mobile app which uses Web-socket to control OBS but I don't think there is anyway to control the sequence which can be helpful as a filler when there is no main event or crowd scenes.


----------



## Drece (Dec 14, 2020)

Warmuptill said:


> The issue here is most likely that the transition type is changed while a transition is still in progress.
> Can you check if that problem also happens in this version of the plugin?
> 
> 
> ...


Hi, unfortunately it' still the same outcome. I'm trying to use a move transition on one scene into my main scene, and then when it gets to the main scene i'm trying to revert it back to my stinger


----------



## Warmuptill (Dec 14, 2020)

noobYouTuber said:


> One thing which I feel is needed in this tool is way to enable and disable the sequence anytime we want even from the remote Dock. I am using a mobile app which uses Web-socket to control OBS but I don't think there is anyway to control the sequence which can be helpful as a filler when there is no main event or crowd scenes.


The scene sequences should be cancelled if you switch to a different scene (which itself is not part of new sequence)
I am not familiar with the remote dock or the web-socket plugin but maybe a hotkey could be used to stop the scene switcher?

Alternatively you could create a copy of one of the scenes in the sequence, which you could switch to.
As this new scene will not be part of the configured scene sequence no automatic scene switching will happen.

If other settings of the plugin should interfere with this method (e.g. switch if no condition is met):
The scene switcher supports specifying scenes on which the plugin is paused.
You could create a copy of one of the scenes in the sequence and configure that one to pause the scene switcher all together.



Drece said:


> Hi, unfortunately it' still the same outcome. I'm trying to use a move transition on one scene into my main scene, and then when it gets to the main scene i'm trying to revert it back to my stinger


Does the same issue happen for other transition types which have a set duration as well? (e.g. fade with a long duration)


----------



## Junious (Dec 15, 2020)

Nice !

But, is it possible to integrate a trigger at the end of a video ?

 Thanks in advance.


----------



## Warmuptill (Dec 15, 2020)

Junious said:


> Nice !
> 
> But, is it possible to integrate a trigger at the end of a video ?
> 
> Thanks in advance.


I recently added ...

add media state "played to end", which should only trigger a scene change when a media source was played to completion as opposed to also switching if the playback was ended prematurely.
Is this maybe what you are looking for?
In general the Media tab might be what you could be interested in.

(sorry if you were referring to something else - I was not sure what the context of your post was)


----------



## Drece (Dec 17, 2020)

Warmuptill said:


> The scene sequences should be cancelled if you switch to a different scene (which itself is not part of new sequence)
> I am not familiar with the remote dock or the web-socket plugin but maybe a hotkey could be used to stop the scene switcher?
> 
> Alternatively you could create a copy of one of the scenes in the sequence, which you could switch to.
> ...


It seems to work with the cut and stinger transitions, but for the fade and move, it bugs out


----------



## ckbcowboy (Dec 18, 2020)

Very cool plugin! This may be totally impossible, but like the audio based scene switching, what about _video_ based scene switching that looked for a certain threshold of pixels to be changed in a video source or region within a video source to switch scenes? Because I could _totally make _use of motion detection based scene switching!


----------



## Warmuptill (Dec 18, 2020)

ckbcowboy said:


> Very cool plugin! This may be totally impossible, but like the audio based scene switching, what about _video_ based scene switching that looked for a certain threshold of pixels to be changed in a video source or region within a video source to switch scenes? Because I could _totally make _use of motion detection based scene switching!


There is a separate plugin in development for that:








						Tags · HoneyHazard/PixelMatchSwitcher
					

PixelMatchSwitcher plugin for OBS Studio. Contribute to HoneyHazard/PixelMatchSwitcher development by creating an account on GitHub.




					github.com


----------



## ckbcowboy (Dec 20, 2020)

Interesting. PixelMatchSwitcher seems pretty different than what I was talking about, even though it does look at source video, if you read their features and use-cases. I still think some kind of "motion detection" would be valuable for automated scene switching!


----------



## GoingSunny (Dec 20, 2020)

Chrome seems to think this is a virus.


----------



## Warmuptill (Dec 20, 2020)

GoingSunny said:


> View attachment 64817
> 
> Chrome seems to think this is a virus.


Well, thanks for the hint but I'm not sure what to do about that.
The source code and even the build scripts are available on github in case you have any doubts.

Edit:
Apparently the offending binary was the 32bit Windows version of the plugin.
I have no idea what could have possibly triggered the Windows Defender to block it.
Rebuilding the plugin seems to have resolved the issue.

I have updated the release to contain the new binaries.

So thanks again for reporting the issue!

Edit2:
Microsoft thankfully confirmed it be a false positive and the detection will be removed.
*



			Analyst comments:
		
Click to expand...

*


> We have removed the detection.  Please follow the steps below to clear cached detection and obtain the latest malware definitions.
> 1. Open command prompt as administrator and change directory to c:\Program Files\Windows Defender
> 2. Run “MpCmdRun.exe -removedefinitions -dynamicsignatures”
> 3. Run "MpCmdRun.exe -SignatureUpdate"
> ...


----------



## Rogeriomonici (Dec 22, 2020)

Can you tell me if I can import a single scene (with its sources) from one scene collection to another scene collection?


----------



## Lawrence_SoCal (Dec 24, 2020)

Rogeriomonici said:


> Can you tell me if I can import a single scene (with its sources) from one scene collection to another scene collection?


So, nothing to do with Advance Scene Switcher, right, just basic OBS functionality?  if ys, there is a long running thread asking this exact question, and the short answer is, No, not natively. you can hand edit config files to copy settings, but due to complexity in embedded/grouped sources and others, not currently possible [the details on how to do manually are in the thread I mentioned]


----------



## Gem4ik (Dec 26, 2020)

Hello! Please, help me!
For example, i have 3 scenes: When i MANUALLY switch from 1st to 3rd, i need transition A, and when i go from 2nd to 3rd, i need transition B.
So, OBS's "Transition override" doesn't help since, i need two different transitions for the same scene (3rd). I tried "Transition" tab on Advanced Scene Switcher, but it only works with AUTOMATED sequences.
So is this plugin bugged, or i need different plugin?


----------



## Warmuptill (Dec 26, 2020)

Gem4ik said:


> Hello! Please, help me!
> For example, i have 3 scenes: When i MANUALLY switch from 1st to 3rd, i need transition A, and when i go from 2nd to 3rd, i need transition B.
> So, OBS's "Transition override" doesn't help since, i need two different transitions for the same scene (3rd). I tried "Transition" tab on Advanced Scene Switcher, but it only works with AUTOMATED sequences.
> So is this plugin bugged, or i need different plugin?


Please have a look at this plugin:





						OBS Transition Matrix [Discontinued]
					

This served its purpose as a prototype and a more fleshed and properly supported plugin now exists for this functionality.  Check it out: Transition Table




					obsproject.com


----------



## ContentDeveloper (Dec 26, 2020)

Try duplicating Scene3 to Scene4, then use your alternate transisition when going from Scene2 to Scene4...


----------



## Lawrence_SoCal (Dec 26, 2020)

Warmuptill said:


> 10 update v1.8.1 Advanced Scene Switcher with a new update entry: Minor additions and fixes[/plain]  Read the rest of this update entry...


As before, thank you @Warmuptill (and @Exeldro) so much for this great plug-in, which makes my HoW stream practical as a 1 person operation.

Observations as I just upgraded from v1.6.2? (the BETA version with Auto Record start based on Scene) to v1.8.1 { I upgraded as I started working with VLC Media Sources}. Note: I'm still on OBS v25.0.8
1. On General Tab, Priority list, Time was listed twice (I had previously adjusted priority/tab position)
  after number crashes (I also upgrade Media Controls from v0.2.0 to v0.3.0... the only other change... however, had Media Sources pointing to items where file had been moved (and not yet updated), I notice Time only listed once in Priority List now (but my prior priority order is gone, and had to be reset)... so not sure what happened... but something that shouldn't have.. sorry didn't check list to see if a Tab missing from Priority list and if a pointer type issue)... At this point (updated all Media Sources in all Scenes), no more crashing and all seems ok
2. Media Tab - my list is longer than default screen height allows (thanks for allowing plug-in window to be expanded to see full list at once). Recommendation (if possible/practical)
  a- when hitting plus to add a new Media scene change, scroll list to see the new added item (I thought the "+" didn't work at first)
  b - on When condition - it would be nice if Media List was in Scene or Alphabetical order. What I'm seeing appears almost random (with 27 Media items in my list). The Switch to is already in Scene order (appreciated)
Note: Played to end is working well for me!
3. On the Time tab, in white text box for time, the light grey text is hard to read (until I mouse over and the background goes black)


----------



## Warmuptill (Dec 28, 2020)

Lawrence_SoCal said:


> As before, thank you @Warmuptill (and @Exeldro) so much for this great plug-in, which makes my HoW stream practical as a 1 person operation.
> 
> Observations as I just upgraded from v1.6.2? (the BETA version with Auto Record start based on Scene) to v1.8.1 { I upgraded as I started working with VLC Media Sources}. Note: I'm still on OBS v25.0.8
> 1. On General Tab, Priority list, Time was listed twice (I had previously adjusted priority/tab position)
> ...



Not sure what went wrong there.
I tried adding invalid configuration values to replicate the issue but so far I was not able to.
I will investigate further if I find the time to do so.
I have added sorting and focus on the newly added entries here:








						Scroll · WarmUpTill/SceneSwitcher@21d956b
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				



I will see if I can find a solution for that - thanks for the hint.
EDIT: Should be fixed with:








						Scroll · WarmUpTill/SceneSwitcher@49afa36
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com


----------



## hammerheaddown (Dec 30, 2020)

is it possible to have a RTMP feed as a scene ?  maybe i am just missing it.


----------



## Junious (Dec 30, 2020)

Warmuptill said:


> I recently added ...
> 
> add media state "played to end", which should only trigger a scene change when a media source was played to completion as opposed to also switching if the playback was ended prematurely.
> Is this maybe what you are looking for?
> ...



Sorry for the late response.
Thank you very much it's perfect for me!
Have a good end of year holiday!


----------



## Warmuptill (Dec 31, 2020)

Warmuptill updated Advanced Scene Switcher with a new update entry:

Audio, file, pause tab improvements, translation support, and more



> Additions:
> 
> Add support for translating the plugin into different languages - German and Chinese translations are available
> Add option to pause individual switching methods on the pause tab
> ...



Read the rest of this update entry...


----------



## That Cicero Guy (Dec 31, 2020)

Warmuptill said:


> Can you please enable verbose logging on the general tab and share the log file?
> 
> Edit: Sorry if this is stating the obvious - but did you enable the scene switcher and did you set a reasonable interval on the general tab ?
> I have not been able to test this feature much so there could definitely be some issues I did not think about.



Hello,

I’m running across the same issue. I have OBS 26.0.2 installed. I have a bit of an elaborate setup with multiple cams, scenes, etc. Everything works great with the updated plugin from today for the 10 or so scenes I use switching with but this audio switcher. I haven’t used a version since this was added, so this is the first time I’ve seen or tried the feature. I have it enabled and set so it’s triggered with 10% Above by my main microphone. Nothing I do seems to work. I’ve tried multiple other audio sources as well.

Should I enable logging and attach to the thread, or message privately?

Thanks! Appreciate the plug-in. It’s great!

Happy New Year!


----------



## Warmuptill (Jan 2, 2021)

That Cicero Guy said:


> Hello,
> 
> I’m running across the same issue. I have OBS 26.0.2 installed. I have a bit of an elaborate setup with multiple cams, scenes, etc. Everything works great with the updated plugin from today for the 10 or so scenes I use switching with but this audio switcher. I haven’t used a version since this was added, so this is the first time I’ve seen or tried the feature. I have it enabled and set so it’s triggered with 10% Above by my main microphone. Nothing I do seems to work. I’ve tried multiple other audio sources as well.
> 
> ...


Just for anyone interested what the problem was:

The scene switcher was "stuck" in a scene sequence.
During the waiting time of a scene sequence the scene switcher does not perform any additional checks, so it misses the audio input.

For this to work I added the option to mark a sequence as "interruptible".






An interruptible sequence can be interrupted by any other switching method during the wait period and will only switch to the next scene if the specified previous scene was active for the specified duration.
(This new behaviour is of course only optional and will not take place if "interruptible" is not checked)

This then allows you to setup a sequence of scenes which can be interrupted at any time by audio input triggering a scene change (or any other switching method).

I have updated the last release to also contain this change.


----------



## That Cicero Guy (Jan 2, 2021)

Thanks again for this fix.:) Much appreciated.

I have a suggestion, but I'm not sure if it's valid or even worth adding. It may already be there somewhere, as I missed the Pause tab... :-O

Is there a way to set an override up so when the audio-activated scene activates, it overrides the Sequence time interval to switch to the next scene.

For example, a scene I have is set to switch after 20 seconds, but if it's activated by the audio switch, it will progress to the next scene after only 5 second of no audio. I set up a separate duplicate scene to mimic this, but figure I would ask. Kinda like an argument which says, for this activation, switch to next scene after X seconds, which does a one-time override of what's in the sequence for that scene.

Or, is there  a way to only show an audio-switched scene when speaking, and have it go back to the sequence rotation after the audio is silent, without that scene being in the sequence, so the scene is only active when triggered by audio, and only then? I may be missing something again.

Thanks!


----------



## Warmuptill (Jan 2, 2021)

That Cicero Guy said:


> Thanks again for this fix.:) Much appreciated.
> 
> I have a suggestion, but I'm not sure if it's valid or even worth adding. It may already be there somewhere, as I missed the Pause tab... :-O
> 
> ...


At the moment the scene switcher does not know what it did in the last cycle and there is no built-in feature like that.

You could of course create a copy of the no-audio scene, which you could switch to automatically, if there was no audio for a certain time period (chose 'below' x% ... on the audio tab) and create a dedicated scene sequence entry with the reduced duration, which leads back to the regular scene sequence.

Simplified example:

Sequences:

SequenceScene1 -> wait 20s -> audioScene
audioScene -> wait 20s -> noAudio
noAudioScene -> wait 20s -> SequenceScene2
SequenceScene2 -> wait 20s -> SequenceScene1
noAudioSceneCopy -> wait for *0s *-> SequenceScene2
Audio:

If volume of mic is *above* 10% for 5s switch to AudioScene
If volume of mic is *below* 10% for 5s switch to noAudioSceneCopy

I hope I understood your request correctly and it is somewhat clear what I mean.


----------



## That Cicero Guy (Jan 2, 2021)

Warmuptill said:


> At the moment the scene switcher does not know what it did in the last cycle and there is no built-in feature like that.
> 
> You could of course create a copy of the no-audio scene, which you could switch to automatically, if there was no audio for a certain time period (chose 'below' x% ... on the audio tab) and create a dedicated scene sequence entry with the reduced duration, which leads back to the regular scene sequence.
> 
> ...



Yes. That makes perfect sense. I was actually playing around with the Below option before I created the posts. Great idea. Thank you. :)


----------



## kineticscreen (Jan 3, 2021)

Wow this plugin might be exactly what I've been looking for.

Unless there is already a way of doing this, it would be great if there was a way of creating 'cumulative' audio trigger.

IE. "If Input A AND Input B are above x dB, then cut to Scene X"

This would most obviously be useful for when multiple people are talking and you want to automatically cut to a wide shot.


----------



## Warmuptill (Jan 3, 2021)

kineticscreen said:


> Wow this plugin might be exactly what I've been looking for.
> 
> Unless there is already a way of doing this, it would be great if there was a way of creating 'cumulative' audio trigger.
> 
> ...


Combining conditions is currently not possible.
I will add it to the todo list but I cant promise implementing it soon.

Thanks for the suggestion!


----------



## hammerheaddown (Jan 3, 2021)

so how would audio trigger work if i use a tone?  i want to use something like this and when that plays switch to switch








						TV colour bars test card screen with sine tone in 4K
					

I noticed most test pattern screens available here on YT were very low-quality, so I decided to make an Ultra-High-Definition one. I made the test card mysel...




					www.youtube.com
				




i would prob use a DTMF Tone like Tv does 

so would your trigger do that?


----------



## Warmuptill (Jan 3, 2021)

hammerheaddown said:


> so how would audio trigger work if i use a tone?  i want to use something like this and when that plays switch to switch
> 
> 
> 
> ...


The plugin only checks the volume of an audio source and not the frequencies used - if that is your question.


----------



## hammerheaddown (Jan 3, 2021)

yes! it should help...  does anyone do videos on how these things work,  im a visual learner i get confused reading things  ( plus om half blind lol)


----------



## flyingdoodah (Jan 4, 2021)

Thanks for making this plugin! Can't wait to use it! I just installed it and all of the options seem to be displaying some of the coding (not sure if I'm saying this right).  Any tips on correcting the display?


----------



## Warmuptill (Jan 4, 2021)

flyingdoodah said:


> Thanks for making this plugin! Can't wait to use it! I just installed it and all of the options seem to be displaying some of the coding (not sure if I'm saying this right).  Any tips on correcting the display?View attachment 65424


Looks like you missed installing the "data" folder, which contains the translations for these strings.

I would recommend just running the installer, but if you want to manually install it you have to copy "SceneSwitcher\Windows\data" folder from the downloaded "SceneSwitcher.zip" archive to your OBS Studio installation directory, which is usually located at "C:\Program Files (x86)\obs-studio\".

├───data
│   ├───obs-plugins
│   │   ├───advanced-scene-switcher
│   │   │   └───locale                      <- translations are in here :)
...


----------



## flyingdoodah (Jan 5, 2021)

That did the trick! Thanks!


----------



## Warmuptill (Jan 5, 2021)

kineticscreen said:


> Wow this plugin might be exactly what I've been looking for.
> 
> Unless there is already a way of doing this, it would be great if there was a way of creating 'cumulative' audio trigger.
> 
> ...




As something like this was requested multiple times over the last couple of days I added a simpler version of your suggestion:




If that should suffice for your use case also you can find a first build with these changes here in a couple of minutes:








						add fallback option if multiple audio matches are active · WarmUpTill/SceneSwitcher@7f9e1b1
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				



(Downloading the release might require you to be logged into Github - if that is an issue for you let me know)

I would appreciate if you could give this a try and let me know if you run into any issues.


----------



## ghostman90215 (Jan 6, 2021)

I found another feature to ask for:

Next Scene Selector

As an OBS Producer I would like to configure the logical next scene based on the current scene so that when I am streaming the next scene I want to cut to will already be selected in the scene list.

I know this will be done when:

Given:
I have three scenes in OBS: Scene A, Scene B, and Scene C​When:

I add Scene A to the list of Next Scene Selector tab, and 
Specify that Scene C is the Next Scene behind Scene A, and
Specify that Scene B is the Next Scene behind Scene C, and
I am streaming Scene A, and
Scene C is queued in the Scene list, and
I press the transition button to Scene C
THEN 

Scene B is automatically selected in the Scene list and queued as the next scene


----------



## kineticscreen (Jan 6, 2021)

Warmuptill said:


> As something like this was requested multiple times over the last couple of days I added a simpler version of your suggestion:



Great work! A couple of things I've found with some early testing:

It's exacerbating an already existing problem, in that it's easy for  very quick cuts to happen, because maybe two sources hit their change threshold/time almost simultaneously. To really make this perfect there would need to be both the minimum time to trigger, as well as a *minimum hold time on a shot before it can be changed again*.

This could either be done on each shot, so it would look like:
When the volume of ___ is </> _____ for  _____ switch to _____ using ______* for at least _____ seconds*

Or it could just be a global setting, of minimum hold time between triggers.

I know there is the general "check switch conditions every ___" setting, but that also affects the responsiveness in general, rather than just buffering between subsequent triggers.


Also, there appears to be a bug where triggering two sounds at once often first triggers one of the individual triggers to go first, before it goes to the fallback. (I tested this by simultaneously running tone to both inputs, and seeing that it wouldn't always just cleanly go to the fallback scene)


----------



## Warmuptill (Jan 6, 2021)

ghostman90215 said:


> I found another feature to ask for:
> 
> Next Scene Selector
> 
> ...



Thanks for the suggestion!

Just to confirm: You are interested in an option which would allow you to automatically set the correct "Preview" Scene while running in "Studio Mode", right?

If so, I added it to the todo list, but I am not sure when I will get around to implementing it.

Althoug not exactly what you are looking for maybe this might help you in the meantime?





						Free - OBS Scene Queue
					

OBS v28: OBS Scene Queue doesn't support OBS Websocket v5 which is used in OBS v28. You should install a compatible websocket version found here in order to use OBS Scene Timer.  ---  This basic application lets you configure your scene sequence...




					obsproject.com
				






kineticscreen said:


> Great work! A couple of things I've found with some early testing:
> 
> It's exacerbating an already existing problem, in that it's easy for  very quick cuts to happen, because maybe two sources hit their change threshold/time almost simultaneously. To really make this perfect there would need to be both the minimum time to trigger, as well as a *minimum hold time on a shot before it can be changed again*.
> 
> ...



The "minimum hold time" is a good suggestion and I agree that adjusting the check interval to achieve the same behaviour has undesired side effects.

Adding it as a global option should be rather simple to do, so I went for that approach.
(Although configuring it for each entry in the scene switcher would also be possible)





A build should be available here in a couple of minutes - feedback is appreciated:








						add fallback option if multiple audio matches are active · WarmUpTill/SceneSwitcher@fa411a0
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				




Regarding the latter observation, please note that the duration specified for the fallback is additive to the earliest second audio entry match.
So for example if all audio sources start playing a sound at the same time and the following is configured:

if volume ... for 3s ...
if volume ... for 2s ...
if multiple entries match for 1s ...
What will happen is that second entry will match first after two seconds have passed and the scene switcher will switch to the configured scene.
Then after another second has passed the scene switcher will switch to the first entry as it has a higher priority than the second one.
Finally after another second - so at second four - the fallback comes into effect as now both entry one and entry two have matched at the same time for one second.

Could this have been what you were experiencing?
If so you might have to set the duration of the fallback option to 0s.


----------



## ghostman90215 (Jan 6, 2021)

What you are doing here is nothing short of amazing! Thank you for all the hard and wonderful work!




Warmuptill said:


> Thanks for the suggestion!
> 
> Just to confirm: You are interested in an option which would allow you to automatically set the correct "Preview" Scene while running in "Studio Mode", right?
> 
> ...



I think you’ve mostly interpreted my late night drivel, yes. I appreciate the stop-gap suggestion and will check it out today.

If I get some time today, maybe I’ll mock-up the flow, and behavior. Would that help?

The context for this for public events such as worship services which have a “set list” of scenes for the order of services. Granted, some of the scenes are just duplicates, but we are also logging each scene switch to a edit definition list for later post-production editing and archival. The proposed feature along with other plug-ins allows one person to focus on the  impact of the “product” and less on the production engineering.


----------



## Lawrence_SoCal (Jan 6, 2021)

ghostman90215 said:


> The context for this for public events such as worship services which have a “set list” of scenes for the order of services. Granted, some of the scenes are just duplicates, but we are also logging each scene switch to a edit definition list for later post-production editing and archival. The proposed feature along with other plug-ins allows one person to focus on the  impact of the “product” and less on the production engineering.



As a fan of @Warmuptill's plug-in, and using for House of Worship for last 9 months, I thought I'd chime in here. My typical service has 25+ OBS scenes, and as you mention, many of these are duplicative (we go back and forth from pre-recorded content [music/readings/announcements, etc] and live video). Jumping back and forth in scene list did not work for a solo operator, even one highly caffeinated. So, my OBS scene list (which can be re-arranged in any order) is in our service order. For me, the next OBS scene is ALWAYS the scene after (under) the one I'm on now. I don't use Studio mode.
Using the automation of this plug-in:
- based on clock time, I move to a set scene to start recording (I start streaming in advance), then move scene to countdown timer page, and start a replay prelude (picture in picture scene). We start streaming 10 minutes before service 'starts', with actual live video starting 2 minutes after the hour (12 minutes after starting stream). Every scene change is automated using this plug-in.
- The only 'manual' task I have to start with is advancing the PowerPoint slides (service bulletin)
- During the service, my tasks are
   - manually advancing to next scene when current scene is live video (can't time or otherwise automate when speaker is done and ready for next scene). Using Media based Scene switching, when a pre-recorded video ends, Scene is auto advanced
   - manually advance PPTx slideshow to keep up with service (the part I'm most interested in automating next but O365 security paradigm changes doesn't make that easy)
   - manually control PTZ camera as required (completely manual s/w based at the moment) but once automation coming
   - keep an on on livestream platform comments (so as to be aware of audio issues, etc) and occasionally replying, posting sermon questions, etc.
      We have someone else (Digital Usher to monitor comments & stream, and they TXT me if need be)
  -  at the end, I use plug-ins Sequence to handle the Postlude, Go In Peace / Join us for virtual coffee hour, copyright slide, end stream/recording

The above is something that can be done solo with the right person (you do have to keep track of a number of items at once)

So, i get the idea of Next, but if I have to push a button for next, I'd argue that it is just as easy (and in the KISS mindset) to simply click on the next scene down in the OBS scene list... just a thought. I'm happy to web conference and show my setup, for anyone interested (direct message... not this thread)


----------



## kineticscreen (Jan 7, 2021)

Warmuptill said:


> Regarding the latter observation, please note that the duration specified for the fallback is additive to the earliest second audio entry match.
> So for example if all audio sources start playing a sound at the same time and the following is configured:
> 
> if volume ... for 3s ...
> ...



Yes that sounds exactly like an explanation for what I was seeing. I will have a play with the new build and see how much having a minimum hold time helps to fix the problems. But what I was seeing already was that in a real conversation it was very hard to get the 'wide shot' (multiple inputs) to trigger.

It might be that having that as the lowest priority trigger in the stack might be the opposite of what is useful. In your above example, it would probably be better if the multiple trigger could have the _highest_ priority. As it would make sense if two people are talking over each other, it usually will then collapse to only one person continuing to talk.
Is there a way that the 'multiple entries' could itself be a field like the others, that can also be moved up and down to change its priority?

I have a feeling that the minimum change time is actually going to make the problem even worse - because triggerin two entities at the same time will first trigger one of them, and then that will hold until it is allowed to trigger again - at which point the multiple triggers may not be true anymore. Even setting the multiple trigger to 0s would fail to trigger in this scenario.


----------



## kineticscreen (Jan 7, 2021)

Yeah so what you described is exactly what's happening, but it ultimately means it doesn't work.
With these settings (and the new minimum switch hold set to 1.3s):






Sending tone to two channels results in:

After about half a second it always goes to the first trigger, and then about a second later it goes to the wide shot.

So even if it is the 2nd and 3rd trigger, it will still first cut to the first trigger before cutting to the wide shot.

So yeah, how hard would it be to at least make the multiple trigger first priority rather than last?


----------



## Warmuptill (Jan 7, 2021)

kineticscreen said:


> Yeah so what you described is exactly what's happening, but it ultimately means it doesn't work.
> With these settings (and the new minimum switch hold set to 1.3s):
> 
> View attachment 65521
> ...


Sorry, I seem to have been a bit unclear in my description as to how it works exactly.

As soon as any match is found the first thing being checked is whether there is also a second match.
If there is a second match (*and* the configured duration condition for the fallback option is fulfilled) the fallback scene will be selected to be switched to.
If that is not the case the scene of the original (and only) match will be selected to be switched to.

So the fallback option always has the highest possible priority it can have in regards to the audio scene switches.
Unless of course I made an error in the implementation - if you want to double check, this is the relevant part:








						SceneSwitcher/switch-audio.cpp at 17c4fefb3756175db0832bc48c5f3036abd00618 · WarmUpTill/SceneSwitcher
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				




As you have configured a duration of 0.2s for the audio fallback option it is impossible to immediately switch to the fallback scene the first time a second match is found, because the very first time two or more audio entries match, exactly 0 seconds have passed for the fallback duration condition.
Only the second time around (or even later depending on your configured check interval) will the audio fallback duration condition be fulfilled and scene switcher will switch to the configured fallback scene.
That means that with a configured fallback duration of anything > 0s you will always first match a single entry before matching multiple entries and using the fallback scene.

(I think your idea of how the scene switcher works is that it would perform all of these checks in parallel while in reality it performs them sequentially - thus leading to a different expectation for its behavior.)

So my recommendation would be to select 0.00s for the fallback scene if you want your desired behavior of immediately switching to "wide shot".

I hope that helps clearing things up :)
If you have suggestions for improvement feel free to mention them of course!


----------



## kineticscreen (Jan 8, 2021)

Yeah there's something wrong with it, and I'm having trouble working out what exactly it is. But it's essentially getting 'stuck' sometimes and not triggering, whilst other moments it's behaving itself. But it seems to be less responsive than it was before the new additions.

How hard would it be to create a little indicator in at least the Audio tab to indicate which triggers are currently 'active' if that makes sense?

I've been trying to work out the problem by just creating 5 scenes in OBS to be triggered to give me a sense of exactly what's happening:
- Channel 1
- Channel 2
- Chaneel 3
- Multiple
- No Trigger

But even then it's still not clear what exactly is going wrong. It would also be helpful in setting the audio thresholds, because it seems like part of the problem is that it's infinitely more complicated when dealing with actual speech, rather than just tones.


----------



## kineticscreen (Jan 8, 2021)

OK I'm chasing this down. Part of the problem appears to be that with speech, you're not getting a clean trigger, because a slight pause is enough to 'reset' the trigger, which is particularly a problem when 2 people are talking at once, because at any moment it might be interpreted as only 1 person. I've had some luck with adding an audio 'echo' filter on the channels, to essentially smooth out their peaks and troughs. But then this of course creates issues with responsiveness, because it will also extend the end of one person talking. 
So ideally, you'd need some kind of 'averaging' of the audio metering. And having the multiple input having a separate "do not trigger agai"' bias would also help a lot. Because ultimately you'd want to set the individual inputs to be more sensitive, but then have the multiple trigger more sticky once it had triggered. If that all makes sense.


----------



## Warmuptill (Jan 8, 2021)

kineticscreen said:


> How hard would it be to create a little indicator in at least the Audio tab to indicate which triggers are currently 'active' if that makes sense?


You can enable verbose logging on the general tab and open the OBS log viewer (not sure if that is what it is called) to see what exactly is currently matching.

>So ideally, you'd need some kind of 'averaging' of the audio metering.
That might be doable with the OBS API - i will look into it.

EDIT:
The easiest change was just to look at the maximum peak value observed over the whole switch interval period, instead of just checking the current peak value at the moment of the check happens to be performed.
That should in theory improve the situation, so "pauses" in the range less than the configured scene switcher check interval will still result in a match, if there was at least a short moment where the configured volume threshold was reached.

You can find a build with this change here in a couple of minutes.








						use maximum peak value during switch interval for audio match · WarmUpTill/SceneSwitcher@7f40aed
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				




>And having the multiple input having a separate "do not trigger again" bias would also help a lot.
Hm, I think I understand what you mean.
Ultimately the current fallback solution for the audio tab is just a quick workaround.
The real solution would be to allow combining multiple conditions (not just audio).
Then you could configure the sensitivity to your liking.
But this would require a bigger rework of the plug-in, which is not something I have the time to implement any time soon, unfortunately.


----------



## wabi (Jan 8, 2021)

any idea why installation of plugin fails? tried it on several computer and also reinstalled OBS and plugins. Still not working. Still showing up as below.


----------



## kineticscreen (Jan 9, 2021)

Warmuptill said:


> You can enable verbose logging on the general tab and open the OBS log viewer (not sure if that is what it is called) to see what exactly is currently matching.
> 
> >So ideally, you'd need some kind of 'averaging' of the audio metering.
> That might be doable with the OBS API - i will look into it.
> ...



Wow SOOOO much better! This might be ready for prime time now from my quick testing. Well done!


----------



## Warmuptill (Jan 9, 2021)

kineticscreen said:


> Wow SOOOO much better! This might be ready for prime time now from my quick testing. Well done!


Great to hear it! Thanks for all your testing! :)



wabi said:


> any idea why installation of plugin fails? tried it on several computer and also reinstalled OBS and plugins. Still not working. Still showing up as below.
> View attachment 65632


As mentioned previously you forgot to install the "data" folder.

I would recommend just running the installer, but if you want to manually install it you have to copy "SceneSwitcher\Windows\data" folder from the downloaded "SceneSwitcher.zip" archive to your OBS Studio installation directory, which is usually located at "C:\Program Files (x86)\obs-studio\".

├───data
│  ├───obs-plugins
│ │ ├───advanced-scene-switcher
│ │ │ └───locale <- translations are in here :)
...

I will see if I can add a quick pop-up if a user runs into that situation.
I hope that helps! :)


----------



## wabi (Jan 9, 2021)

Warmuptill said:


> As mentioned previously you forgot to install the "data" folder.


Thanks that resolved my problem.


----------



## Warmuptill (Jan 9, 2021)

Warmuptill updated Advanced Scene Switcher with a new update entry:

Audio tab updates



> An option was added which allows you to specify a scene to switch to if multiple audio entries match at the same time.
> 
> Additionally the way the conditions for the audio tab entries are checked was changed to now look at the maximum audio peaks over the complete cycle - so the check interval configured on the general tab - instead of just checking the volume at the moment the condition happened to be checked.
> You might have to adjust your volume threshold levels.
> ...



Read the rest of this update entry...


----------



## Green Gorilla (Jan 9, 2021)

I tried to install this thing on my mac over four times and neither time did I find it in the tool window. I followed the instructions and made sure to install it both ways suggested in the instructions. Here is the log file: https://obsproject.com/logs/ydGH7Y03iDLgJBtM


----------



## Warmuptill (Jan 9, 2021)

Green Gorilla said:


> I tried to install this thing on my mac over four times and neither time did I find it in the tool window. I followed the instructions and made sure to install it both ways suggested in the instructions. Here is the log file: https://obsproject.com/logs/ydGH7Y03iDLgJBtM


Looks like you will either have to update to a newer OBS version or rely on using an older version of this plugin.
The problem is that the QT libraries differ so the plugin cannot be loaded.

Reason: Incompatible library version: advanced-scene-switcher.so requires version 5.15.0 or later, but QtWidgets provides version 5.14.0


----------



## Decors (Jan 9, 2021)

I've been waiting for switch cool down feature. Awsome update. 
But cool down thing is not working correctly.
It often switch scene immediately even if you add 10s cooldown.
Looks like cooldown timer is always working in background.


----------



## Warmuptill (Jan 9, 2021)

Decors said:


> I've been waiting for switch cool down feature. Awsome update.
> But cool down thing is not working correctly.
> It often switch scene immediately even if you add 10s cooldown.
> Looks like cooldown timer is always working in background.


Hm, strange - I will investigate.
Would you be able to share more details in what circumstances the the cooldown does not work?
Can you maybe provide a log file with verbose logging of the plug-in enabled (this option can be found on the general tab)?
(Also exporting the settings of the plug-in and sharing them could help in reproduction of the issue - if that is OK for you)


----------



## hellbent (Jan 9, 2021)

Is there a way to set a sequence of scenes to loop a predetermined number of times before advancing to the next group of scenes that I'd like to loop thru?  Say for example I have scenes 1 - 12.  I want to loop thru scene 1 for :30, 2 for :15, 3 for :30, 4 for :15, then loop thru that sequence 3 times before doing the same with scenes 5-8, then again with scenes 9-12.


----------



## Warmuptill (Jan 9, 2021)

hellbent said:


> Is there a way to set a sequence of scenes to loop a predetermined number of times before advancing to the next group of scenes that I'd like to loop thru?  Say for example I have scenes 1 - 12.  I want to loop thru scene 1 for :30, 2 for :15, 3 for :30, 4 for :15, then loop thru that sequence 3 times before doing the same with scenes 5-8, then again with scenes 9-12.


Unfortunately, it is not possible to configure the plug-in such a way at the moment without having to create two additional copies of the scenes 1-4.
I will see if this could be implemented somehow.


----------



## Decors (Jan 10, 2021)

Here is a log file.
With those settings below.
1. set window title "a" to switch scene A. also window title "b" to switch scene B.
2. focus window "a" to let ASS switch scene to A.
3. once ASS switched to scene A wait for 8 maybe 9 sec.
4. focus window "b" and let ASS try to switch scene to B. And in my environment ASS switch to scene B within 1 or 2 sec instead waiting for 10 sec.
thanks.

decors


----------



## Warmuptill (Jan 10, 2021)

Decors said:


> Here is a log file.
> With those settings below.
> 1. set window title "a" to switch scene A. also window title "b" to switch scene B.
> 2. focus window "a" to let ASS switch scene to A.
> ...


Thanks, but with your given your example I think there is a misunderstanding as to how this functionality works.

[...] once ASS switched to scene A wait for 8 maybe 9 sec. [...] focus window "b" and let ASS try to switch scene to B. And in my environment ASS switch to scene B within 1 or 2 sec [...]

Am I understanding correctly that you wait for 8 seconds before switching to a different window and then after 2 seconds the scene switcher switches to scene B?

If so then the plug-in is behaving exactly as intended.

The "cool down" period starts as soon as the scene switcher switched to Scene A.
And after 8s + 2s - so the specified 10s - the scene switcher switches to scene B.


What you are looking for is some type of "delayed scene switch", is it not?
So you want to switch to a scene 10 seconds *after* a window was detected, correct?
Such an option does not exist currently, but I will see if something like that could be added.

Depending on your requirements you could maybe work with the sequence tab in combination with the window tab in the meantime.


----------



## Decors (Jan 10, 2021)

I was thinking probably I'm misunderstanding and yeah that's it. :)

What I wanted was like this.

I often alt tab a lot. And every single time if I do that ASS will switch even if I only show alt window for 0.5 sec.
And I was thinking this new feature will avoid that.
But that was my misunderstanding :p
Hopefully we can get that feature in the future.

Thanks man and sorry for wasting your time.
And keep up the good work!


----------



## JasonB (Jan 10, 2021)

I just started using the Advanced Scene Switcher today and noticed two possible bugs.

When using the option in the "General" tab: "Automatically start <streaming> on scene <selected scene>"
If manually transitioning to that selected scene, it doesn't start streaming. It only triggers if the scene was transitioned into automatically by Advanced Scene Swither.

When using the "Audio" tab to set up a transition when my microphone is below x-% for y-seconds
When the scene that captures my microphone is active, the transition set up in the "Audio" tab only triggers if that said scene that captures my microphone begins with sound being picked up by the microphone right from the onset, then dropping below the defined % for the defined time period. If the scene opens with no audio being picked up from my microphone, because I'm not talking when the scene first opens, then I start talking, then stop, dropping the volume below the defined % for the defined time period, the transition doesn't trigger.


----------



## JasonB (Jan 10, 2021)

Suggested Advanced Audio Option:

The ability to use a matching string of spoken words as an audio queue to trigger a transition


----------



## Warmuptill (Jan 10, 2021)

Decors said:


> I was thinking probably I'm misunderstanding and yeah that's it. :)
> 
> What I wanted was like this.
> 
> ...


You can ignore windows on the window title tab so that the scene switcher will act as if the previous window was still the active one.
E.g. to avoid switching when ALT + TAB itself is in focus you can add "Task Switching".



JasonB said:


> I just started using the Advanced Scene Switcher today and noticed two possible bugs.
> 
> When using the option in the "General" tab: "Automatically start <streaming> on scene <selected scene>"
> If manually transitioning to that selected scene, it doesn't start streaming. It only triggers if the scene was transitioned into automatically by Advanced Scene Swither.
> ...


Thanks for reporting potential issues - I will try to reproduce the issues and fix them if possible!

EDIT:
Regarding the first issue:
I cannot reproduce the problem on my end.
Manually switching scenes also triggers starting of streaming / recording.

Did you make sure that the scene switcher is running?
Also note that starting of streaming / recording is only done once per scene change, as otherwise the user might be spammed with errors if the streaming / recording settings are invalid.

If you did make sure both of these points apply and the issue still occurs can you please send me an OBS log file when the issue occurred, while enable the verbose logging of the plug-in on the general tab?

Regarding the second issue:
I am not sure if I understand correctly what the problem is, as I also cannot reproduce the issue.
Are you talking about the global microphone audio source or did you create / use an additional one?
I am asking, because there is a check if an audio source is currently active.
A currently inactive audio source will never match - so maybe that is problem you are running into?


----------



## Warmuptill (Jan 10, 2021)

JasonB said:


> Suggested Advanced Audio Option:
> 
> The ability to use a matching string of spoken words as an audio queue to trigger a transition


Thanks for the suggestion!

Am I understanding correctly that the idea is to try to automatically detect speech?
If so that might be rather difficult to do as some sort of speech recognition software would need to be added. (which also would probably only work for one language)

I would suggest maybe running some sort of external program which writes the output to a file and then using the file tab to switch scenes accordingly.


----------



## Ditismax2007 (Jan 11, 2021)

Hi I am not getting the advented scene switcher installed. i think i do everything right but i don't see him in obs


----------



## Tormy (Jan 11, 2021)

I'm curious to understand how to install this under Windows, without having the need to have a compiler


----------



## Warmuptill (Jan 11, 2021)

Ditismax2007 said:


> Hi I am not getting the advented scene switcher installed. i think i do everything right but i don't see him in obs


Did you run the installer or try to install it manually by copying files to the respective folders?
If you are certain that you copied the files to the correct folder please share a log file of an OBS startup - maybe something goes wrong while loading the plugin.


Tormy said:


> I'm curious to understand how to install this under Windows, without having the need to have a compiler


There is no need to compile the plugin yourself - so you do not need a compiler.
Did you maybe accidentally download the source code instead of the prebuilt binaries?
I would recommend just running the provided installer named "AdvancedSceneSwitcherSetup.exe".


----------



## runecarlsen (Jan 12, 2021)

I just moved to a mac mini m1.. and now, it doesnt work any longer. I only use the MEDIA tab, and i add the file, with the correct settings, nothing happens. Worse, - when I restart OBS, the settings I added, are gone... So, something is very strange! And I have a show on friday :(


----------



## Warmuptill (Jan 12, 2021)

runecarlsen said:


> I just moved to a mac mini m1.. and now, it doesnt work any longer. I only use the MEDIA tab, and i add the file, with the correct settings, nothing happens. Worse, - when I restart OBS, the settings I added, are gone... So, something is very strange! And I have a show on friday :(


I am sorry to hear that you are having troubles getting it to work.
Did you maybe forget to start the plug-in on the general tab just out of habit that it was always running?

If you did make sure that it is running and it is still not working, please send a log file of when the issue happens, while verbose logging is enabled. (See attached screenshot)






Also note that you are able to export your settings on the general tab of the plug-in.
So if you still have access to your old setup you can maybe export the settings there and import them on your new one.
(But please note that this requires the scenes / transition and so on specified in the settings to exist)

>when I restart OBS, the settings I added, are gone
Does this only affect the settings of the plug-in or all settings?


----------



## runecarlsen (Jan 12, 2021)

It only happens to THIS plugin. And whatever I add in this plugin, is gone whenever I restart OBS.
And NO, the Plugin is running. And is still running, after restart of OBS.


----------



## runecarlsen (Jan 12, 2021)

My bummer! I am so sorry! The window of the settings was a bit small, so I didnt see the setting about the transition. If this setting is not set, - it wont be saved, after restart of OBS. It will still be there, until you restart, but not work :)


----------



## Warmuptill (Jan 12, 2021)

runecarlsen said:


> My bummer! I am so sorry! The window of the settings was a bit small, so I didnt see the setting about the transition. If this setting is not set, - it wont be saved, after restart of OBS. It will still be there, until you restart, but not work :)


Ah good, one step closer :)

What exactly have you configured, that is not working?
Can you maybe share a log file as described above?


----------



## runecarlsen (Jan 12, 2021)

Well, after this, everything is OK again :) So, my bummer as said. It works as always! I love this plugin so much!


----------



## Bygrilinho (Jan 14, 2021)

This plugin is great, really nice work! And I have a request: we can already choose if we want to start streaming and/or recording on a given scene, but the stopping function stops both. Could we have an option to stop only recording/only streaming on a given scene?


----------



## Warmuptill (Jan 15, 2021)

Bygrilinho said:


> This plugin is great, really nice work! And I have a request: we can already choose if we want to start streaming and/or recording on a given scene, but the stopping function stops both. Could we have an option to stop only recording/only streaming on a given scene?


Thanks for the suggestion!
A version of the plug-in, where you can select whether to stop streaming, recording or both on a given scene, should be available in a couple of minutes here:








						add option to select auto-stop type · WarmUpTill/SceneSwitcher@617b5d6
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				



(You might have to be logged into Github to be able to download it)

Let me know if this works as expected or if you run into any issues.


----------



## demzou (Jan 16, 2021)

Hi, I have just tried to install on my Mac and I don't seem to be able to get the plugin to appear in OBS.

macOS Mojave 10.15.5
OBS 26.0.2

Installer with the .pkg first, then tried all the copy-paste options. When starting OBS, the plugin is not listed in the Tools menu.

Here's what I am getting in the log when I start OBS:


```
01:51:47.457: os_dlopen(/Library/Application Support/obs-studio/plugins/advanced-scene-switcher/bin/advanced-scene-switcher.so->/Library/Application Support/obs-studio/plugins/advanced-scene-switcher/bin/advanced-scene-switcher.so): dlopen(/Library/Application Support/obs-studio/plugins/advanced-scene-switcher/bin/advanced-scene-switcher.so, 257): Library not loaded: @executable_path/../Frameworks/QtWidgets.framework/Versions/5/QtWidgets
01:51:47.457:   Referenced from: /Library/Application Support/obs-studio/plugins/advanced-scene-switcher/bin/advanced-scene-switcher.so
01:51:47.457:   Reason: Incompatible library version: advanced-scene-switcher.so requires version 5.15.0 or later, but QtWidgets provides version 5.14.0
01:51:47.457:
01:51:47.458: Module '/Library/Application Support/obs-studio/plugins/advanced-scene-switcher/bin/advanced-scene-switcher.so' not loaded
```

This seems to be related to a version of QtWidegts but this is now getting past my skills! Would anyone be able to help?
Many thanks!


----------



## Warmuptill (Jan 16, 2021)

demzou said:


> Hi, I have just tried to install on my Mac and I don't seem to be able to get the plugin to appear in OBS.
> 
> macOS Mojave 10.15.5
> OBS 26.0.2
> ...



If I am not mistaken you will have to upgrade to at least OBS 26.*1* in order for plug-in to be able to load.

The OBS 26.1 release notes contain the following information, which is the cause for the issue you are seeing:
> Updated dependencies on Windows and macOS (such as x264 and Qt) to their latest versions for the latest performance improvements
(I do not mean to say that updating the QT libs was a bad idea!)

I would appreciate if you could give updating OBS a try and report back if the issue is resolved.

If updating to the most recent OBS version should not be possible let me know and I can build a version of the plug-in with the old QT libs.


----------



## demzou (Jan 16, 2021)

Warmuptill said:


> If I am not mistaken you will have to upgrade to at least OBS 26.*1* in order for plug-in to be able to load.
> 
> The OBS 26.1 release notes contain the following information, which is the cause for the issue you are seeing:
> > Updated dependencies on Windows and macOS (such as x264 and Qt) to their latest versions for the latest performance improvements
> ...



It worked!!! Thanks for the help!

It's a great plugin, a lot of potential!
I am not sure it will fit my short term needs but I am going to carry on exploring. 

Here's my use case if you are interested in new features:
I have a set of cameras in the space and a set of scenes that mixes the different cameras. I am using OBS for livetsreaming a dance performance and I'd like to create a timeline to switch from one scene to another automatically, matching the choreography and the music. Most of the time, I need to use the same scene several times during a performance. One workaround in the short term would be to duplicate my scenes, give them different names and use the Sequence tab. But I might end up with a huge list of scenes, making it a bit hard to manage.

Let me know what you think!


----------



## Warmuptill (Jan 16, 2021)

demzou said:


> It worked!!! Thanks for the help!


Glad to hear you got it to work :)



demzou said:


> Here's my use case if you are interested in new features:
> I have a set of cameras in the space and a set of scenes that mixes the different cameras. I am using OBS for livetsreaming a dance performance and I'd like to create a timeline to switch from one scene to another automatically, matching the choreography and the music. Most of the time, I need to use the same scene several times during a performance. One workaround in the short term would be to duplicate my scenes, give them different names and use the Sequence tab. But I might end up with a huge list of scenes, making it a bit hard to manage.


That is indeed a somewhat frequent request.
I will think about adding something which would support such behaviour without having to create a bunch of copies of scenes.

My current idea on how to solve this is that instead of choosing a single scene as a target, one could specify a group of scenes.
A scene group would basically be a list of scenes of which only one will actually be switched to.
Each time a scene group is selected as a target the scene group will advance to the next entry in the list.

So as an example:

Scene Group:
Scene 1
Scene 2
Scene 3

Scene Sequence:
When "Scene 4" is active for X seconds switch to "Scene Group".

The first time around the scene sequence would match it would switch to Scene 1, the second time to Scene 2 and the third time to Scene 3.

What do you think?
Would that be a somewhat reasonable solution?


----------



## demzou (Jan 17, 2021)

Warmuptill said:


> Glad to hear you got it to work :)
> 
> 
> That is indeed a somewhat frequent request.
> ...



This might work, I will have a try.

In the meantime, I managed to get my hands on the obs-websocket  plugin. My performance already uses an instance of node running in MaxMSP. And there's a timeline in there managing the interactive elements of the performance. So I have connected obs-websockets to it and it's working pretty nicely, making my programme completely integrated, I just have to click on one button and the full thing is running automatically. Buuut I am definitely interested in a less tech-heavy solution for future performances, so I will try your solution as well :)

Thanks for the help!


----------



## Warmuptill (Jan 18, 2021)

demzou said:


> This might work, I will have a try.
> 
> In the meantime, I managed to get my hands on the obs-websocket  plugin. My performance already uses an instance of node running in MaxMSP. And there's a timeline in there managing the interactive elements of the performance. So I have connected obs-websockets to it and it's working pretty nicely, making my programme completely integrated, I just have to click on one button and the full thing is running automatically. Buuut I am definitely interested in a less tech-heavy solution for future performances, so I will try your solution as well :)
> 
> Thanks for the help!


That already sound like a pretty great solution!
I am not sure if the method I proposed is really much better.
But I will let you know once I got around to implementing a first working version.
(Can't give an ETA yet unforunately as I do not when I will find the time to implement this)


----------



## pinchi (Jan 18, 2021)

It crashed OBS. Crashes every time if I leave it running and switch to another OBS Profile on Startup. Crash Log attached.


----------



## Warmuptill (Jan 18, 2021)

pinchi said:


> It crashed OBS. Crashes every time if I leave it running and switch to another OBS Profile on Startup. Crash Log attached.


Thanks for reporting about this crash!

I can't seem to reproduce it on my end yet.
What exactly have you configured on the scene sequence tab?
Would you be willing to export your settings for the plugin and send them to me, either via a separate conversation or here?


----------



## pinchi (Jan 19, 2021)

Warmuptill said:


> Thanks for reporting about this crash!
> 
> I can't seem to reproduce it on my end yet.
> What exactly have you configured on the scene sequence tab?
> Would you be willing to export your settings for the plugin and send them to me, either via a separate conversation or here?


Sure, please see attached. It crashed again while I was using Skype over NDI. These crashes didn't happen before I installed the plugin...


----------



## Warmuptill (Jan 19, 2021)

pinchi said:


> Sure, please see attached. It crashed again while I was using Skype over NDI. These crashes didn't happen before I installed the plugin...


Thank you very much for sharing the settings / logs!
I think I found a reason for the initial crash report and started build with this change here:








						fix crash on settings import · WarmUpTill/SceneSwitcher@cff2e3f
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				



I would appreciate if you could give this a try and report back if you run into issues.
(You might have to be logged into Github to be able to download it - if that is a problem please let me know and I can send it to you via other means)

The issue was that the scene switcher allowed importing settings while it was in the middle of a uninterruptible scene sequence causing it to point to invalid data after waking up from the scene sequence delay.
Was this what you were referring to with " switch to another OBS Profile "?

The scene switcher does not seem to involved in the second crash you shared earlier, if I am not mistaken.
Not sure what is going on there, unfortunately.
(Crash in "win-dshow.dll!video_queue_write+0x84")


----------



## pinchi (Jan 20, 2021)

Warmuptill said:


> Thank you very much for sharing the settings / logs!
> I think I found a reason for the initial crash report and started build with this change here:
> 
> 
> ...




So basically I have two profiles on OBS Studio. Profile 1 streams to Twitch, Profile 2 streams to Youtube. Each has its own scene collections (I manually change to another scene collection when I change the profile). So if I start the Scene Switcher in say Profile 1 and then leave it running and move to Profile 2 then the crash happens!

I suspect it will happen again as I think it might be an issue with OBS STUDIO. OR you could program the Scene Switcher to automatically STOP if the user changes to another profile!!

In fact it would be a GREAT FEATURE to have a splash screen when starting OBS Studio to login to ONE particular profile that is functionally different and has a different set of settings than another profile (which can be accessed by logging out of one profile and logging into another) :)


----------



## GridMonkey (Jan 21, 2021)

Hey, i found your plugin by looking for a specific recording automations. Yours is the closet i've found that matches what im looking for, it's so close i was wondering if you could add the feature.

You have 
Automatically stop streaming/recording on scene [whatever you want]
Automatically start [recording] on scene [whatever you want]

What i would love to see, functionality wise would be

Automatically start [streaming/recording] on scene [choice]
Automatically start recording when leaving scene [choice]     
Automatically pause recording on scene [choice]. Unpause when exiting scene [check box]
Automatically end recording on scene [choice]
Automatically end [recording/streaming] on scene [choice]. Delay of [minutes/seconds] Default 0


Reasoning is:

A variety streamer might have multiple scenes arranged for maybe a retro console or full pc capture ect... If they only want to record gameplay then it would be easier to "start recording" when they leave their welcome screen/counttime timer, what ever it is, and then pause the recording when they go to a break screen.

The stop recording/stream is great, but some people have end cards that may thank their audience ect so a timer that lets that scene linger for a bit would be nice before ending.

Thanks so much for the plugin, i've been told you take input suggestions well so i hope you will consider them, and i will be looking at all it's functions to see how best i can implement it.

Grid


----------



## Bygrilinho (Jan 21, 2021)

Warmuptill said:


> Thanks for the suggestion!
> A version of the plug-in, where you can select whether to stop streaming, recording or both on a given scene, should be available in a couple of minutes here:
> 
> 
> ...


Hey there! Sorry for the delay; this works exactly as I expected. Thank you!


----------



## ContentDeveloper (Jan 21, 2021)

@Warmuptill —

I am seeing an odd thing... have Advanced Scene Swithcher working fine on my laptop, but when I replicate my OBS folder structure (I run OBS in portable mode) to another computer, which I access remotely, the Advanced Scene Switcher does not appear in the OBS menu.

I have verified the ASS dll and pdb files are in place (from when I replicated the entire folder to the remote computer).

Anyone have any ideas as to what might be going on?


----------



## Warmuptill (Jan 21, 2021)

pinchi said:


> So basically I have two profiles on OBS Studio. Profile 1 streams to Twitch, Profile 2 streams to Youtube. Each has its own scene collections (I manually change to another scene collection when I change the profile). So if I start the Scene Switcher in say Profile 1 and then leave it running and move to Profile 2 then the crash happens!
> 
> I suspect it will happen again as I think it might be an issue with OBS STUDIO. OR you could program the Scene Switcher to automatically STOP if the user changes to another profile!!
> 
> In fact it would be a GREAT FEATURE to have a splash screen when starting OBS Studio to login to ONE particular profile that is functionally different and has a different set of settings than another profile (which can be accessed by logging out of one profile and logging into another) :)



Stopping the scene switcher on scene collection change is already in place if I am not mistaken.
Maybe I made an error.
I will double check.



GridMonkey said:


> Hey, i found your plugin by looking for a specific recording automations. Yours is the closet i've found that matches what im looking for, it's so close i was wondering if you could add the feature.
> 
> You have
> Automatically stop streaming/recording on scene [whatever you want]
> ...


Thanks for the suggestion - I will add it to the todo list. :)
Can't give you an ETA though.



Bygrilinho said:


> Hey there! Sorry for the delay; this works exactly as I expected. Thank you!


Thanks for the feedback!



ContentDeveloper said:


> @Warmuptill —
> 
> I am seeing an odd thing... have Advanced Scene Swithcher working fine on my laptop, but when I replicate my OBS folder structure (I run OBS in portable mode) to another computer, which I access remotely, the Advanced Scene Switcher does not appear in the OBS menu.
> 
> ...


Without a log file I can't really say.
Maybe the VS redistributable is not installed?


----------



## ContentDeveloper (Jan 22, 2021)

@Warmuptill --

This is what shows in my OBS log file:


```
09:44:11.793: LoadLibrary failed for '../../obs-plugins/64bit/advanced-scene-switcher.dll': The specified module could not be found.
09:44:11.793:  (126)
09:44:11.793: Module '../../obs-plugins/64bit/advanced-scene-switcher.dll' not loaded
```


This is what I have installed for MS VC redistributables:







Oddly, 2015 is missing... and I tried installing that, but it does not seem to install.

Now, another aspect here is that I have Office 365 installed.

Ideas?


----------



## Warmuptill (Jan 22, 2021)

ContentDeveloper said:


> @Warmuptill --
> 
> This is what shows in my OBS log file:
> 
> ...


Error 126 usually means that a dependency of the plugin cannot be found. 
The only one that could be missing on windows is the redistributable as far as I know.

Can you please try running the provided installer?
That should take care of installing the necessary redistributable.

Are you using the same version of the plugin and of OBS in both setups?


----------



## ContentDeveloper (Jan 23, 2021)

Which “provided installer” are you speaking of?

Yes, running the same OBS and ASS on both systems.


----------



## Warmuptill (Jan 23, 2021)

ContentDeveloper said:


> Which “provided installer” are you speaking of?
> 
> Yes, running the same OBS and ASS on both systems.


The file "AdvancedSceneSwitcherSetup.exe" in the Windows folder.


----------



## ContentDeveloper (Jan 23, 2021)

I am not using the very latest ASS verssion, but I _am_ using the same version on both PC’s.

I had merely made sure the same dll and pdb files were in the correct locations on both machines... I’ll try running the installer again.


----------



## Warmuptill (Jan 23, 2021)

ContentDeveloper said:


> I am not using the very latest ASS verssion, but I _am_ using the same version on both PC’s.
> 
> I had merely made sure the same dll and pdb files were in the correct locations on both machines... I’ll try running the installer again.


Ah, I see - I thought you were using the most recent version of the plug-in.

I guess you could run the installer to make sure that the correct redistributable is installed and then switch back to the old version of the plug-in.
(But depending on how old the version is you are using this might affect the settings)

Another thing that could theoretically go wrong in older versions of the plug-in is that it can't find libcurl - although I have never seen that behaviour on Windows.

Just out of curiosity - why are you using an older version of the plug-in?
Did I break any functionality in a newer version or was it some special one-off build I provided?


----------



## ContentDeveloper (Jan 24, 2021)

The version I am using is the one-off you made for me, that creates the auto-switching status log file.

i just have not had a need to move to the latest version yet, and you changed how you are writing the log file — and I had gotten things working with the original log file, so didn’t bother changing it yet.

I’ll move to the latest if your suggestion does not work.

thx!


----------



## KG_User (Jan 29, 2021)

Hey I couldn't get this working on macOS Catalina (unless the tool itself is in some place I don't know how to find inside obs - I assumed it replaced "Automatic Scene Switcher" in the tool drop down -  a description of where to find the tool in obs would help)

So I followed the instructions and installed it but there was no resulting change in obs
Then i tried but could not figure out how to find or extract the .so file

there was no "show pkg contents" option for the pkg file
I used a manual extraction in terminal, but the pkg contents did not have the content described: the advanced-scene-switcher.so file (or the data folder for that matter)

So im kind of stumped rn.


----------



## KG_User (Jan 29, 2021)

Sorry to be such a dolt, but

"Alternatively extract the *so file and data folder and either ..."

how do I do I do this? 
There was no "Show package contents" option on right click on the pkg file
The manual terminal method of "show package contents" did not produce the files you mentioned either.


----------



## Warmuptill (Jan 29, 2021)

KG_User said:


> Sorry to be such a dolt, but
> 
> "Alternatively extract the *so file and data folder and either ..."
> 
> ...


So you ran the *pkg file and did not see the Advanced Scene Switcher option in the tools menu?
If so please share a log file of OBS.

Please note that at least OBS version 26.1 is required for this plugin to work on macOS.
(Unfortunately I can only select 26.0 as the required version on the plugin overview page)


----------



## Warmuptill (Jan 30, 2021)

GridMonkey said:


> Hey, i found your plugin by looking for a specific recording automations. Yours is the closet i've found that matches what im looking for, it's so close i was wondering if you could add the feature.
> 
> You have
> Automatically stop streaming/recording on scene [whatever you want]
> ...


Hey,
I added a first implementation of this functionality here:








						Add scene trigger tab · WarmUpTill/SceneSwitcher@0857607
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				



(You have to be logged into GitHub to be able to download it - if that's an issue please let me know)





I would love to get some feedback :)
I haven't done much testing yet - so I am sorry, if it should break anything.


----------



## ContentDeveloper (Jan 30, 2021)

Here is my feedback... great feature, and thank you for entertaining the idea.

Although I am already achieving this capability thru a combination of other means, it is nice to know may be doable with just your tool.


----------



## GridMonkey (Jan 31, 2021)

Hey, i will give that a test shot soon, the options look good however. I appreciate it, will let you know once i've tried it out.


----------



## GridMonkey (Jan 31, 2021)

So, i gave it a very short rundown in the way i thought i would want it to work, and it did a great job with the recording control. I didnt stream for the test but i suspect that wouldnt matter in this case.





^ just a few scene versions ( i will test it deeper with the scene group tab as well )


After i checked the recording i went back to the tab to change some numbers and the left hand boxes ( scene names ) were all 
[--select scene-- ]
I renamed them closed and reopened the options a few times and it seems to have stuck, unsure if real issue or not.

I also wonder if it would be possible to add a switch on the general behavior tab that makes Advanced Scene Switcher active while streaming?  For my use case it would be so that if the streamer is  modifying scenes they are not accidentally recording things :)  The person i do all the backend stuff for doesn't really understand how much of the software works, just that it does, and often wants to look at the scenes if i have altered assets( i usually just remote change the file but it keeps the same name .)

Either way, this was made much faster than i thought it would be, so again thanks for your work.

Grid


----------



## Warmuptill (Jan 31, 2021)

ContentDeveloper said:


> Here is my feedback... great feature, and thank you for entertaining the idea.
> 
> Although I am already achieving this capability thru a combination of other means, it is nice to know may be doable with just your tool.


Thanks for the feedback!
Just out of curiosity, which combination of tools are you using?
(Just want to see if I maybe could extend this functionality with some stuff I haven't thought about yet)



GridMonkey said:


> So, i gave it a very short rundown in the way i thought i would want it to work, and it did a great job with the recording control. I didnt stream for the test but i suspect that wouldnt matter in this case.
> 
> View attachment 66766
> ^ just a few scene versions ( i will test it deeper with the scene group tab as well )
> ...


Thank you, too, for your feedback! :)

I will investigate what could have led to the scene selection not to be persisted.
Do you happen to know if it was just an UI issue and the underlying triggers were still functional or if the settings were really lost?
(I doubt that you tested for that, but its worth asking)
Usually I would expect that to happen if the underlying scene was deleted, but I do not think that was the case here, was it?

Adding an option to automatically activate the scene switcher as soon as streaming starts should be doable.
I will see if I get around to adding a first draft of this today.

EDIT:
You can find a build with the option to automatically start the scene switcher on recording / streaming start here:








						Add option to automatically start scene switcher on recording / streaming start · WarmUpTill/SceneSwitcher@bc17c78
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				



The setting can be found in the general tab.


----------



## GridMonkey (Jan 31, 2021)

The scenes did not get removed, 
I set up the triggers you see, closed settings, stepped through them in the order i would have wanted, made about a 15 second video in total, opened the folder watched the video, yay it worked. 
went right back into settings to alter a time on the triggers, names were missing, closed settings, reopened settings, names still missing, reinput the names, closed settings, did another recording using the triggers, tabbed to folder watched, tabbed back reopened settings and the names had stayed this time.

So, i didn't try to run the recording triggers with blank names, which im assuming would have told you if it was UI (name persistance?) or underling code. If it pops up again i will do that.  I will be installing the latest version you did and give it an actual real stream/recording test this evening. ( probably a few "fake" tests before hand )

Thanks again.

Grid


----------



## Berkay (Jan 31, 2021)

What do I have to do to set a custom transition to a single scene?


----------



## Warmuptill (Jan 31, 2021)

Berkay said:


> What do I have to do to set a custom transition to a single scene?


You might be looking for something like this:





						Transition Table
					

Inspired by OBS Transition Matrix  Donations You can donate to me via PayPal, GitHub or Patreon.




					obsproject.com


----------



## GridMonkey (Jan 31, 2021)

Warmuptill said:


> Thanks for the feedback!
> Just out of curiosity, which combination of tools are you using?
> (Just want to see if I maybe could extend this functionality with some stuff I haven't thought about yet)
> 
> ...



I tested on the actual live streaming computer before the stream tonight and had some issues then i tested on the same rig i tested your last release on. Unless noted the issues are the same on both machines

On the same rig as the previous release test,  while the recording function still happens, the new option to automatically activate on stream does not seem to work. I selected





And used the same triggers from the last post, I was able to switch off the start screen and recording started instantly. paused/unpaused and ended the same. This happened while the scene switcher was inactive, as shown above.

When i reopened settings the "automatically star the scene switcher when:" was set to [Never]
Same when i set closed the settings closed obs and reopened, box still said [Never]

It feels like two problems?
1) the automatic start mode isn't responding/remembering it's setting ( on the computer that actually went live with a stream, the mode DID switch to active when OBS went live, however the 'Automatically start ... when:' box still said [never], this time it might just be the UI )
HOWEVER:
2) the scene switches cause the recording commands to function when the switcher is inactive. This was the purpose for the request of the new settings box. This in fact may be a carried over issue from your last release as i rolled back to the previous and found the same behavior. If Advanced Scene Switch is active or inactive the recording/pause/buffer/mute ( did not test streaming ) options in scene triggers still occur. Sorry i missed that in the last go around.

Please let me know what more information i can give you, i can always record all the steps i take if there are some information i'm leaving out. The laptop i've been doing the initial testing on has no other plugins installed, fresh install of 26.1.1 64bit. The real rig is also running streamFX and NDI plugin

Thanks again

Grid


----------



## Warmuptill (Feb 1, 2021)

GridMonkey said:


> I tested on the actual live streaming computer before the stream tonight and had some issues then i tested on the same rig i tested your last release on. Unless noted the issues are the same on both machines
> 
> On the same rig as the previous release test,  while the recording function still happens, the new option to automatically activate on stream does not seem to work. I selected
> 
> ...


Thanks for testing the build and reporting the issues!

1) I will check what could be causing that. (Probably just forgot to update the UI when loading the settings)
2) You are right. I will make sure that the scene triggers also respect the state of the plug-in. I will also add an option to pause the triggers on certain scenes on the pause tab.

EDIT:

A build with both of these changes will be available here in a couple of minutes:








						Add option to automatically start scene switcher on recording / streaming start · WarmUpTill/SceneSwitcher@0e78a9f
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com


----------



## ContentDeveloper (Feb 1, 2021)

Warmuptill said:


> ....I guess you could run the installer to make sure that the correct redistributable is installed...



This did not work.... still not seeing the Advanced Scene Switcher menu item show up in OBS on the other computer....


----------



## Warmuptill (Feb 1, 2021)

ContentDeveloper said:


> This did not work.... still not seeing the Advanced Scene Switcher menu item show up in OBS on the other computer....


Then I am out of ideas unfortunately - I assume the message in the OBS log did not change from error 126, did it?
The redistributable is the only dependency I can think of.
Does the same issue also occur with builds that are not the special one-off build I shared with you?


----------



## ContentDeveloper (Feb 2, 2021)

Warmuptill said:


> Then I am out of ideas unfortunately - I assume the message in the OBS log did not change from error 126, did it?
> The redistributable is the only dependency I can think of.
> Does the same issue also occur with builds that are not the special one-off build I shared with you?


 
I had installed your latest version.
The error did not appear in the log file.

Can you tell me which redistributable your installer tries to install?


----------



## Warmuptill (Feb 2, 2021)

ContentDeveloper said:


> I had installed your latest version.
> The error did not appear in the log file.
> 
> Can you tell me which redistributable your installer tries to install?


These:

x86: vc_redist.x86.exe
x64: vc_redist.x64.exe
So with the latest version of the plugin there is no issue?
Or is there just a different error?


----------



## lemonrofl (Feb 2, 2021)

I'm having a bit of an issue getting the fullscreen detection to work when matching window titles with regex. I'm trying to have OBS switch to a scene with a game capture whenever ANY program is fullscreen. The regex used seems to work perfectly on RegExr, and if I uncheck "if fullscreen", it will lock OBS to the game capture scene, so I can only assume the regex is working fine in OBS too. If I select a fullscreen window out of the list of window titles, the fullscreen check will work just fine, but it would be a little annoying if every time I play something new I have to go in and manually add it into OBS. Maybe my regex is wrong, I don't know much regex myself so I had to resort to google which supplied me with both (.*) and [\s\S]+, neither of which will work. I've tried with multiple different games and none were detected when "if fullscreen" was checked.


----------



## Warmuptill (Feb 2, 2021)

lemonrofl said:


> I'm having a bit of an issue getting the fullscreen detection to work when matching window titles with regex. I'm trying to have OBS switch to a scene with a game capture whenever ANY program is fullscreen. The regex used seems to work perfectly on RegExr, and if I uncheck "if fullscreen", it will lock OBS to the game capture scene, so I can only assume the regex is working fine in OBS too. If I select a fullscreen window out of the list of window titles, the fullscreen check will work just fine, but it would be a little annoying if every time I play something new I have to go in and manually add it into OBS. Maybe my regex is wrong, I don't know much regex myself so I had to resort to google which supplied me with both (.*) and [\s\S]+, neither of which will work. I've tried with multiple different games and none were detected when "if fullscreen" was checked.


Thanks for noticing this!
There was indeed an issue where the maximized and full-screen checks would only test for a direct match of the window title and not perform these check based on the regex pattern.

You can find a build with a fix here in a few minutes:








						Fix regex matching for window tab  · WarmUpTill/SceneSwitcher@aa031c5
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				



(You need to be logged into GitHub to able to download it - if that is an issue let me know and I will find other means to share it with you)

If you see any issues with this new build please let me know.


----------



## ukie (Feb 2, 2021)

If I set Scene1 to auto transition to Scene2 using a Fade, Adv Scene Switcher then sets the default transition to fade.
Could we please have it remember the default transition after the trigger?


----------



## GridMonkey (Feb 2, 2021)

Warmuptill said:


> Thanks for testing the build and reporting the issues!
> 
> 1) I will check what could be causing that. (Probably just forgot to update the UI when loading the settings)
> 2) You are right. I will make sure that the scene triggers also respect the state of the plug-in. I will also add an option to pause the triggers on certain scenes on the pause tab.
> ...


Hey,  2 stream tests and everything works as expected. We're not currently using the other automatic features but the triggered recording and only active while streaming features seem to work perfectly. The UI shows the proper settings( compared to last build) and the record triggers work great. 

I appreciate your willingness to add the feature / quick communication and support. Alatus says thank you as well. Automation helps her focus more on her content than on how she put's it out there and that means a lot to her.

Grid


----------



## ContentDeveloper (Feb 3, 2021)

Warmuptill said:


> These:
> 
> x86: vc_redist.x86.exe
> x64: vc_redist.x64.exe
> ...




I noticed that when I ran your installer, it placed the dll file in the wrong location... I do not use the default location (running in "portable" mode), so had to put in a custom path.

Once I figured that out, and moved the dll, I did see the menu item show up.  (NOTE: I had also found that same redist file -- 2015-2109) and installed that too.


----------



## Warmuptill (Feb 3, 2021)

Warmuptill updated Advanced Scene Switcher with a new update entry:

Add Scene Group and Scene Trigger tab



> Major Additions:
> 
> Add scene trigger tab
> This tab allows you to trigger actions on scene change, like stopping streaming or recording.
> ...



Read the rest of this update entry...


----------



## djchicago (Feb 4, 2021)

Hi guys I am new to Ubuntu and am trying to install the plugin. I have the plugin installed here: /usr/share/obs/obs-plugins, but cant get it to work, any direction?


----------



## ukie (Feb 4, 2021)

When running the latest version (1.9)
With the default transition is set to CUT.
Under Transition tab: 
When scene "1" is active change default scene transition to "cut"

Under Sequence:
When "2" is active switch to "1" after "20" seconds using "Fade"

The transition begins from 2 to 1, but the image quickly jumps back to "2", apparently because of the settings under the transition tab.

I am just trying to keep the default transition as "cut", even after the sequence executes with "fade"


----------



## GridMonkey (Feb 4, 2021)

Warmuptill said:


> Warmuptill updated Advanced Scene Switcher with a new update entry:
> 
> Add Scene Group and Scene Trigger tab
> 
> ...


I installed the latest after seeing this major commit, My general Tab still has the options on the General Tab





I'm not sure if that was intended based on





> Add scene trigger tab
> This tab allows you to trigger actions on scene change, like stopping streaming or recording.
> Feel free to make suggestions for additions.
> 
> ...


Or if it's remnants from me having the earlier version installed. Otherwise Things are working Great!

Grid


----------



## SN1974 (Feb 4, 2021)

I am a little confused by the new column on the time tab.

The options are "is active", "is not active" and "switched away from".  The question is WHAT "is active", WHAT "is not active" and WHAT "switched away from" (or should it be "switched away from" WHAT)?

Maybe I'm being dense with this, but I think it needs some explanation.


----------



## Warmuptill (Feb 4, 2021)

GridMonkey said:


> I installed the latest after seeing this major commit, My general Tab still has the options on the General Tab
> View attachment 66915
> 
> I'm not sure if that was intended based on
> ...


Yes, in your test builds the General tab was already adjusted.
I was referring to the "automatically stop streaming on scene" and "automatically start streaming on scene" options, which were moved.



SN1974 said:


> I am a little confused by the new column on the time tab.
> 
> The options are "is active", "is not active" and "switched away from".  The question is WHAT "is active", WHAT "is not active" and WHAT "switched away from" (or should it be "switched away from" WHAT)?
> 
> Maybe I'm being dense with this, but I think it needs some explanation.


This sounds very much like a bug.
Unfortunately I can't check myself at the moment.
Would you be able to share a screenshot?

EDIT: Never mind, I think I found the issue... I updated the release to contain the fix, so please download it once again.
This problem should have only affected the Windows version.

Thanks for reporting the issue so early! :)


----------



## Warmuptill (Feb 4, 2021)

ukie said:


> When running the latest version (1.9)
> With the default transition is set to CUT.
> Under Transition tab:
> When scene "1" is active change default scene transition to "cut"
> ...



I haven't found a good way to resolve this issue.
It does not seem to happen if the sequence is not interruptible - so maybe that might be an option for you.



djchicago said:


> Hi guys I am new to Ubuntu and am trying to install the plugin. I have the plugin installed here: /usr/share/obs/obs-plugins, but cant get it to work, any direction?


Unfortunately, I can't really give you more advice than is already available in the installation instructions.
On Linux the locations for the plug-in files seems to vary a lot.

Maybe checking the OBS log and searching for other plug-ins or locale files might give hints.
If you are completely lost and out of ideas feel free to send me a message and we can try to work it out.


----------



## Warmuptill (Feb 4, 2021)

ukie said:


> When running the latest version (1.9)
> With the default transition is set to CUT.
> Under Transition tab:
> When scene "1" is active change default scene transition to "cut"
> ...


I might have found a solution but I am not sure yet - maybe I just got lucky during testing.
Would you mind giving this build a try?








						Delay setting of default scene transitions · WarmUpTill/SceneSwitcher@1fa283f
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				



(You need to be logged into GitHub to be able to download the release - let me know if that should be an issue for you)


----------



## ukie (Feb 4, 2021)

Warmuptill said:


> I might have found a solution but I am not sure yet - maybe I just got lucky during testing.
> Would you mind giving this build a try?
> 
> 
> ...


Looks like it's still behaving the same way. I'm on Mac OS, by the way. 
To clarify, were you trying to fix the first issue I mentioned, regarding



> Under Transition tab:
> When scene "1" is active change default scene transition to "cut"



or just resetting the default transition back to what it was before the scene sequence trigger occurred?
Both behaviors are still the same for me.


----------



## Warmuptill (Feb 4, 2021)

ukie said:


> Looks like it's still behaving the same way. I'm on Mac OS, by the way.
> To clarify, were you trying to fix the first issue I mentioned, regarding
> 
> 
> ...


I tried to resolve this:
The transition begins from 2 to 1, but the image quickly jumps back to "2", apparently because of the settings under the transition tab.

Maybe some background as what is happening here - hopefully you can spot an issue:
The scene switcher checks every x ms (configured on the General tab) what to do next.
One of these check is taking care of setting the default transitions.
This default transition check will only do something if a certain flag is set.
This flag is only set if OBS sends the event "OBS_FRONTEND_EVENT_TRANSITION_STOPPED".
But for some reason this seems to happen to early and thus the transition type will be changed, while a transition is still happening.
(Although a few ms later it seems to be done)

What I now tried with the above build is using a different OBS event - OBS_FRONTEND_EVENT_SCENE_CHANGED - to reset that flag.
This seemed to work for my tests, but I guess I just got lucky.

I think what I will do now is just wait a small static amount of time after receiving OBS_FRONTEND_EVENT_TRANSITION_STOPPED and before resetting the mentioned flag and see if that helps.
This approach could in theory cause issues when extremely rapidly switching scenes.
But I think that would be an acceptable drawback only applicable for very niche situations anyways.

I will try to provide you a test build for that tomorrow.


----------



## pinchi (Feb 4, 2021)

Great work! I think I might have found something - before updating the plugin asks whether I want to save my settings. I do. After updating the settings can't import. As soon as I click on import the dialog closes. I restart the plugin from OBS menu - settings have not been imported. I will need to set everything again it seems!


----------



## Warmuptill (Feb 5, 2021)

pinchi said:


> Great work! I think I might have found something - before updating the plugin asks whether I want to save my settings. I do. After updating the settings can't import. As soon as I click on import the dialog closes. I restart the plugin from OBS menu - settings have not been imported. I will need to set everything again it seems!


Would you be able to share the settings file with me?


----------



## pinchi (Feb 5, 2021)

Please see attached.


----------



## Warmuptill (Feb 5, 2021)

pinchi said:


> Please see attached.


Thanks!

I cannot seem to observe any issues importing these settings.
What kind of settings are you missing in particular?

> As soon as I click on import the dialog closes.
Are you referring to this dialog box?



If yes, then it is expected that the plugin's settings menu closes after pressing OK.
(Was just being lazy here so I don't have to implement resetting the UI after a settings import)


----------



## Warmuptill (Feb 5, 2021)

Warmuptill said:


> I tried to resolve this:
> The transition begins from 2 to 1, but the image quickly jumps back to "2", apparently because of the settings under the transition tab.
> 
> Maybe some background as what is happening here - hopefully you can spot an issue:
> ...


A build with the proposed change will be available here in a couple of minutes:








						Delay setting of default scene transitions · WarmUpTill/SceneSwitcher@7b59416
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com


----------



## ukie (Feb 6, 2021)

Warmuptill said:


> A build with the proposed change will be available here in a couple of minutes:
> 
> 
> 
> ...


This works. Thank you!


----------



## THE R3Y3S (Feb 6, 2021)

I got a bug when i have a sequence and switch automatically on previous scene. For example, i was on scene 1, switch to scene 2 and then start a sequence, after the end, tool switches on scene 1 and then on scene 2, not instant to scene 2


----------



## Warmuptill (Feb 6, 2021)

THE R3Y3S said:


> I got a bug when i have a sequence and switch automatically on previous scene. For example, i was on scene 1, switch to scene 2 and then start a sequence, after the end, tool switches on scene 1 and then on scene 2, not instant to scene 2


Hm, I am not sure I understand the situation correctly.
Would you maybe be able to export the settings that are causing issues and share them with me?
Or maybe even an OBS log with verbose logging enabled?
(The option to enable verbose logging can be found on the General tab)

What I understood is:
You start by manually switching to scene one.
Active scene: Scene 1
Previous Scene: Unknown
Then you manually switch to scene two.
Active scene: Scene 2
Previous Scene: Scene 1
This triggers a sequence which presumably is supposed to use the "previous scene", which in this case is Scene 1.
Active scene: Scene 1
Previous Scene: Scene 2

So far so good - everything working as expected.
This part I do not understand "then on scene 2, not instant to scene 2".
Do you mean that after you are now manually switching to Scene 2 once again, you would expect it to switch to Scene 2 twice in a row?
I do not think there is any case where the previous scene can be the same as the currently active scene.


----------



## pinchi (Feb 6, 2021)

Warmuptill said:


> Thanks!
> 
> I cannot seem to observe any issues importing these settings.
> What kind of settings are you missing in particular?
> ...


Oh I was expecting that the scene transitions that I set would not just vanish on the upgrade....


----------



## THE R3Y3S (Feb 6, 2021)

Warmuptill said:


> Hm, I am not sure I understand the situation correctly.
> Would you maybe be able to export the settings that are causing issues and share them with me?
> Or maybe even an OBS log with verbose logging enabled?
> (The option to enable verbose logging can be found on the General tab)
> ...











						Gyazo
					






					gyazo.com
				



This is how i setup the sequenced scene https://prnt.sc/yjgv6b


----------



## Warmuptill (Feb 6, 2021)

pinchi said:


> Oh I was expecting that the scene transitions that I set would not just vanish on the upgrade....


That should not be the the case.

@Any potential readers:
Did anyone else also observe this while upgrading to the newer version?
If so please let me know!

The settings file you provided had almost no entries, so something else must be going on.
Are you sure you haven't accidentally switched to a different scene collection or the underlying transition was removed?



THE R3Y3S said:


> Gyazo
> 
> 
> 
> ...


Thanks for the video!
Unfortunately, without knowing what else you have configured it is almost impossible for me to help you and I did not really understand what the actual issue is from your description.
It would also help if you could provide an OBS log of when the issue occurred, with verbose logging enabled, this should tell me why the scene switcher is switching to the scene it does.

Edit: Wait so you have a scene named "Scene 2" and a scene named "scene 2", which you are referring to as "scene 2" and "scene 1"?
This is getting very confusing.
I sent you a direct message in case you do not want to share your settings / log here.


----------



## merlin02131 (Feb 8, 2021)

Lawrence_SoCal said:


> As a fan of @Warmuptill's plug-in, and using for House of Worship for last 9 months, I thought I'd chime in here. My typical service has 25+ OBS scenes, and as you mention, many of these are duplicative (we go back and forth from pre-recorded content [music/readings/announcements, etc] and live video). Jumping back and forth in scene list did not work for a solo operator, even one highly caffeinated. So, my OBS scene list (which can be re-arranged in any order) is in our service order. For me, the next OBS scene is ALWAYS the scene after (under) the one I'm on now. I don't use Studio mode.
> Using the automation of this plug-in:
> - based on clock time, I move to a set scene to start recording (I start streaming in advance), then move scene to countdown timer page, and start a replay prelude (picture in picture scene). We start streaming 10 minutes before service 'starts', with actual live video starting 2 minutes after the hour (12 minutes after starting stream). Every scene change is automated using this plug-in.
> - The only 'manual' task I have to start with is advancing the PowerPoint slides (service bulletin)
> ...



Good Morning 
We live stream our church services on Sunday am as well but not as many services as you do !
Would love to have a conversation as we are now getting rid of Elgado software ) and bringing up OBS Studio as we have moved on . We broadcast on YouTube every Sunday morning from 08:30 am until 11:00 - 11:15 AM .  Being a rookie to OBS , I had an issue on Sunday whereas my camera , Canon HF 800 non wireless camera , has a wide angle lens but the picture coming out was a closed angle and I could not or I do not understand how to resolve that in OBS .   I could not get a wide angle on the altar so I had to revert back to Elgado for the session yesterday ! Sorry for the lengthy but any help would be appreciate !!


----------



## Warmuptill (Feb 14, 2021)

demzou said:


> It worked!!! Thanks for the help!
> 
> It's a great plugin, a lot of potential!
> I am not sure it will fit my short term needs but I am going to carry on exploring.
> ...


I don't know if it is still relevant for you but I tried implementing something that might help in your particular use case.
I added the option to 'extend' scene sequence entries so that each entry can span over multiple scenes.

Example screenshot is attached below:




The "Extend Sequence" window can be opened by either selecting an entry in the list you want to extend and then clicking the "Extend Sequence" button below the list or just double clicking on the particular entry you want to extend.

If you want to give this a try a build with this functionality will be available here in a couple of minutes:








						Add option to extend scene sequences · WarmUpTill/SceneSwitcher@d189d0b
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				



(You will have to be logged into GitHub to be able to download - if that is an issue let me know)

As I haven't tested this functionality extensively yet it might still contain some bugs / issues.
If you should encounter any please let me know! :)


----------



## Warmuptill (Feb 16, 2021)

cyclemat said:


> @very good work but yesterday i had an idea my problem in the moment is that i go to a 2 PC Setup.
> so i had the idea a client on the gaming PC to check the running Programms to change the scenes .
> is it possible?


Well in theory it is possible to achieve what you are trying to do with this plugin but I am sure that there must be better ways.
If you want to specifically use this plugin to do this you have to use a file which is available to both machines (e.g. via a network share) to synchronize the current scene.
Then ...

Configure the machine on which the scene switching happens to also write the currently active scene to a file.
Configure the other machine to read the scene to switch to from a file.
Both of these option can be found on the File tab.

This of course assumes that the scene setup is the same on both machines.


----------



## Johannes V (Feb 16, 2021)

Hi. Is it possible to make it switch the scene to a backup camera scene when the feed of my main camera freezes?

Thanks in advance


----------



## Warmuptill (Feb 16, 2021)

Johannes V said:


> Hi. Is it possible to make it switch the scene to a backup camera scene when the feed of my main camera freezes?
> 
> Thanks in advance


Hello, no, this is not currently possible.
I might add some very rudimentary functionality like that but in general I would recommend this plugin for such tasks:





						Pixel Match Switcher
					

Pixel Match Switcher  Pixel Match Switcher can trigger switching scenes, changing visibility of scene items and filters, and other actions in response to pixels of video being matched against image templates.  Considerable amount of options is...




					obsproject.com


----------



## Johannes V (Feb 16, 2021)

Warmuptill said:


> Hello, no, this is not currently possible.
> I might add some very rudimentary functionality like that but in general I would recommend this plugin for such tasks:
> 
> 
> ...


Thank you for the recommendation, I'll check it out.. And also, I haven't had much look into Advanced Scene Switcher yet but from the preliminary look I took, nice work, Sir!


----------



## Kuffdam (Feb 17, 2021)

Anyone having any issues with setting a hotkey to activate the scene switcher on and off?
I've set a key but it won't turn it on or off


----------



## Warmuptill (Feb 17, 2021)

Kuffdam said:


> Anyone having any issues with setting a hotkey to activate the scene switcher on and off?
> I've set a key but it won't turn it on or off


That's the first time I hear about such issues.
Do you see any messages in the OBS log that the scene switcher stopped / started?


----------



## Kuffdam (Feb 17, 2021)

Warmuptill said:


> That's the first time I hear about such issues.
> Do you see any messages in the OBS log that the scene switcher stopped / started?



My log file attached


----------



## Warmuptill (Feb 17, 2021)

Kuffdam said:


> My log file attached


From the provided log file I would assume the hotkey signal was received:


> 19:21:30.258: [adv-ss] started
> 19:21:32.351: [adv-ss] stopped
> 19:21:34.223: [adv-ss] started
> 19:21:34.524: [adv-ss] stopped
> ...


So I would assume whatever issue you are facing is not related to the hotkeys themselves but what else you have configured in your plugin.
Can you provide more detail what led you to believe that the plugin was not running?
What have you configured and expected to happen?
It would be best to share your current settings for the plugin by exporting them to a file - this can be done on the general tab.
(If you do not want to share this information here feel free to send me a direct message)


----------



## kineticscreen (Feb 18, 2021)

Can anyone think of a way of getting the scene switching to also trigger a midi note? (for external tally or source switching)


----------



## ibnabouna (Feb 18, 2021)

Thank you for the wonderful plugin!

I'm not sure if this is an oversight, but in the Scene Triggers section, there is an option to Mute Source (Audio) whenever a scene is triggered, but there is no option to unmute it again later. It would be great if there was an option to unmute an audio source, as well.


----------



## Lawrence_SoCal (Feb 18, 2021)

kineticscreen said:


> Can anyone think of a way of getting the scene switching to also trigger a midi note? (for external tally or source switching)


Have a scene with one of the command line source items?


----------



## Kuffdam (Feb 19, 2021)

Warmuptill said:


> From the provided log file I would assume the hotkey signal was received:
> 
> So I would assume whatever issue you are facing is not related to the hotkeys themselves but what else you have configured in your plugin.
> Can you provide more detail what led you to believe that the plugin was not running?
> ...



Hi - thanks for coming back to me - export attached
so i have a number of scenes that i want to run through via the scene switcher - with the hot key i just want to turn on the automatic scene switcher and then off when i want the rotation to stop...

for example
main scene
2nd scene
3rd scene

I want to be on the main scene for as long as i want - then when ready trigger the advanced scene switcher on and now have it move through 2nd scene, 3rd scene, main scene every 15 seconds for as long as I want - then using a hot key turn off the scene transition and hold on whichever scene i'm on again till i re-activate it

I hope that makes sense?


----------



## kineticscreen (Feb 19, 2021)

Lawrence_SoCal said:


> Have a scene with one of the command line source items?



Don't quite understand. Can you explain a bit more?


----------



## Warmuptill (Feb 19, 2021)

Kuffdam said:


> Hi - thanks for coming back to me - export attached
> so i have a number of scenes that i want to run through via the scene switcher - with the hot key i just want to turn on the automatic scene switcher and then off when i want the rotation to stop...
> 
> for example
> ...


Not sure if that is causing your issues, but you have the same hotkey bound to start and stop:

```
"startHotkey": [
        {
            "key": "OBS_KEY_2"
        }
    ],
    ...
    "stopHotkey": [
        {
            "key": "OBS_KEY_2"
        }
    ],
```
I will look over the other settings later.

EDIT:
Looks like that might be the issue.
The sequence seems to be working just as expected.
After changing the hotkeys the plugin can be started / stopped as expected also.

Let me know if it works for you after fixing up the hotkey bindings :)


----------



## Warmuptill (Feb 19, 2021)

ibnabouna said:


> Thank you for the wonderful plugin!
> 
> I'm not sure if this is an oversight, but in the Scene Triggers section, there is an option to Mute Source (Audio) whenever a scene is triggered, but there is no option to unmute it again later. It would be great if there was an option to unmute an audio source, as well.


Thanks for the suggestion!
I don't think that should be a lot of work.
I will try to provide a test build later today.

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








						Add scene trigger to unmute source · WarmUpTill/SceneSwitcher@f3596f2
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				



(You will have to be logged into GitHub to be able to download it)

Let me know if you find any issues! :)


----------



## Kuffdam (Feb 19, 2021)

Warmuptill said:


> Not sure if that is causing your issues, but you have the same hotkey bound to start and stop:
> 
> ```
> "startHotkey": [
> ...




Thanks again for the reply

I changed the hotkeys to 1,2,3 on the start, stop and toggle

When I press these keys the plugin still shows inactive
I'm expecting that pressing 1 on my keyboard should change this to active - but it doesnt


SCRAP THAT - ITS WORKING
Brill - thanks for the help.... awesome


----------



## Warmuptill (Feb 19, 2021)

Kuffdam said:


> Thanks again for the reply
> 
> I changed the hotkeys to 1,2,3 on the start, stop and toggle
> 
> ...


Glad to hear that you got it to work! :)
The Plugin UI not updating the status field when using hotkeys to start / stop the plugin is a bug - added to the todo list.


----------



## plus_power (Feb 20, 2021)

I don't know if this is the right place to put this, but I think I found a bug in the plugin. I was thrilled to see the Pause now be able to pause certain switching methods on certain scenes (big props to the developer on that one, it's a feature I really needed and helps the plugin a lot). Unfortunately, whenever I try to pause File switching for a scene, the file switching still happens when I'm on that scene. I've tried adjusting any settings I could to get it working, but it just seems the File switching blatantly takes precedence over Pause. 

Example: Pause [File] checks when [scene is active] [Test Scene]
*File is set to read a name from a file on the desktop*

If I move to "Test Scene" while there is a file on the desktop, it will instantly switch scenes instead of pausing the scene switching method as expected.


----------



## Warmuptill (Feb 20, 2021)

plus_power said:


> I don't know if this is the right place to put this, but I think I found a bug in the plugin. I was thrilled to see the Pause now be able to pause certain switching methods on certain scenes (big props to the developer on that one, it's a feature I really needed and helps the plugin a lot). Unfortunately, whenever I try to pause File switching for a scene, the file switching still happens when I'm on that scene. I've tried adjusting any settings I could to get it working, but it just seems the File switching blatantly takes precedence over Pause.
> 
> Example: Pause [File] checks when [scene is active] [Test Scene]
> *File is set to read a name from a file on the desktop*
> ...


Oh, I think I know what is going on here.
The pausing of file scene switching only acts on the feature which allows switching based on the contents of a file and not the one which allows reading the name of the scene to switch to from a file.

The latter is what you are referring to, right?

If so that should be an easy fix and was just an oversight on my end.
I will try to provide a test build with a fix tomorrow.

Thanks for making me aware of that problem!

EDIT:
Test build will be available here in a couple of minutes:








						Fix checkSwitchInfoFromFile ignoring file switch puase · WarmUpTill/SceneSwitcher@10af913
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				



(You need to be logged into GitHub to be able to download it)

EDIT2:
Don't know if it is useful for you but I also added the option to specify the transition to use on the second line of the file.








						File read transition · WarmUpTill/SceneSwitcher@b02cb7c
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com


----------



## plus_power (Feb 22, 2021)

Warmuptill said:


> Oh, I think I know what is going on here.
> The pausing of file scene switching only acts on the feature which allows switching based on the contents of a file and not the one which allows reading the name of the scene to switch to from a file.
> 
> The latter is what you are referring to, right?
> ...



Perfect! I tried out your test build and it worked like a charm :) Thanks for the quick fix! 

Also, one question for you. I'm trying to have the plugin pause at a certain time (actually make the whole Scene Switcher Inactive, not just the switching methods). Ideally I could have this happen when switching to/away from a scene, I feel like this would fit perfectly into the Scene Triggers, but I only see options for Streaming/Recording. Is there a way to currently do something like this? I know I could technically use a HotKey, but I can't find a good way to automate/integrate it. Again, I appreciate the work you've put in!


----------



## Warmuptill (Feb 22, 2021)

plus_power said:


> Perfect! I tried out your test build and it worked like a charm :) Thanks for the quick fix!
> 
> Also, one question for you. I'm trying to have the plugin pause at a certain time (actually make the whole Scene Switcher Inactive, not just the switching methods). Ideally I could have this happen when switching to/away from a scene, I feel like this would fit perfectly into the Scene Triggers, but I only see options for Streaming/Recording. Is there a way to currently do something like this? I know I could technically use a HotKey, but I can't find a good way to automate/integrate it. Again, I appreciate the work you've put in!


Glad to hear that it's working!

Stopping the scene switcher plugin completly at a certain time is not possible via scene triggers at the moment.
You could however switch to a scene at a certain time of day using the time tab and then pause all switching methods on that scene.
But I assume that will not work for you as the plugin would only be paused on that particular scene.

I will look into adding these option to the scene trigger tab.


----------



## plus_power (Feb 23, 2021)

Warmuptill said:


> Glad to hear that it's working!
> 
> Stopping the scene switcher plugin completly at a certain time is not possible via scene triggers at the moment.
> You could however switch to a scene at a certain time of day using the time tab and then pause all switching methods on that scene.
> ...



Wonderful. Yes, your workaround is what I'm going to end up using. I didn't think it would work at first since my use case is that I want to pause all switching during a looping scene and then resume switching on that same scene by using a hotkey. I realized that I could actually just duplicate the scene entirely and instead of turning on/off the plugin with a hotkey, I could just switch from the "paused" scene to the "unpaused" one seamlessly and it achieves the same desired effect. Thanks so much! This is exactly what I was looking for :)


----------



## Warmuptill (Feb 23, 2021)

plus_power said:


> Wonderful. Yes, your workaround is what I'm going to end up using. I didn't think it would work at first since my use case is that I want to pause all switching during a looping scene and then resume switching on that same scene by using a hotkey. I realized that I could actually just duplicate the scene entirely and instead of turning on/off the plugin with a hotkey, I could just switch from the "paused" scene to the "unpaused" one seamlessly and it achieves the same desired effect. Thanks so much! This is exactly what I was looking for :)


Ah great!

I still went ahead and implemented your originally requested functionality to completely stop and start the plugin via scene trigger.
If you want to give this a try also you can find a build here in a couple of minutes:








						Add scene trigger for starting and stopping the scene switcher · WarmUpTill/SceneSwitcher@e0dea44
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com


----------



## Warmuptill (Feb 24, 2021)

Warmuptill updated Advanced Scene Switcher with a new update entry:

Extended Scene Sequences and more



> Additions / Changes:
> 
> Add option to extend scene sequences.
> Extending a scene sequence allows for more complex switching setups, but should also simplify some setups.​​So for example sequences like "A -> B -> A -> C", which previously were only possible by creating a copy of A, can now be specified in a single entry.​​To extend a sequence either select the sequence you want to modify and...​



Read the rest of this update entry...


----------



## Warmuptill (Feb 28, 2021)

Johannes V said:


> Thank you for the recommendation, I'll check it out.. And also, I haven't had much look into Advanced Scene Switcher yet but from the preliminary look I took, nice work, Sir!


I now added a first version of your requested functionality of being able to detect a frozen image.
A test build can be found here:








						Add video tab · WarmUpTill/SceneSwitcher@0fe770f
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				



(You have to be logged into GitHub to be able to download it)

The functionality can be found on the newly added "Video" tab and the particular condition you might be interested in is "has not changed":


----------



## KG_User (Mar 2, 2021)

Warmuptill said:


> So you ran the *pkg file and did not see the Advanced Scene Switcher option in the tools menu?
> If so please share a log file of OBS.
> 
> Please note that at least OBS version 26.1 is required for this plugin to work on macOS.
> (Unfortunately I can only select 26.0 as the required version on the plugin overview page)


Hey, I just wanted to respond to this (sorry work overtook my streaming schedual). I totally hadn't updated OBS... I'm really sorry to have wasted your valuable time. If it's worth anything: thank you so much for creating this and providing it. And taking the time to help everyone. This plug-in allows me to make things I've been dreaming about for years. Thank you x100.


----------



## Warmuptill (Mar 2, 2021)

KG_User said:


> Hey, I just wanted to respond to this (sorry work overtook my streaming schedual). I totally hadn't updated OBS... I'm really sorry to have wasted your valuable time. If it's worth anything: thank you so much for creating this and providing it. And taking the time to help everyone. This plug-in allows me to make things I've been dreaming about for years. Thank you x100.


Hey, thanks for reporting back to me what the issue was and the kind words!
And no worries not much time was wasted! :D


----------



## jbcurler2010 (Mar 3, 2021)

Really happy with this plugin. I am using Scene Triggers to start and stop streaming. One potential enhancement would be to allow the pausing of these triggers individually and / or be able to set specific times when the triggers are active. I realize that I can take the plugin out of active status to do testing and pre-production work but it would be a nice feature to just be able to avoid engaging the triggers without deactivating the plugin. Thanks.


----------



## Warmuptill (Mar 3, 2021)

jbcurler2010 said:


> Really happy with this plugin. I am using Scene Triggers to start and stop streaming. One potential enhancement would be to allow the pausing of these triggers individually and / or be able to set specific times when the triggers are active. I realize that I can take the plugin out of active status to do testing and pre-production work but it would be a nice feature to just be able to avoid engaging the triggers without deactivating the plugin. Thanks.


Thanks for the suggestion!
I will add it to the todo list.


----------



## Lawrence_SoCal (Mar 4, 2021)

jbcurler2010 said:


> Really happy with this plugin. I am using Scene Triggers to start and stop streaming. One potential enhancement would be to allow the pausing of these triggers individually and / or be able to set specific times when the triggers are active. I realize that I can take the plugin out of active status to do testing and pre-production work but it would be a nice feature to just be able to avoid engaging the triggers without deactivating the plugin. Thanks.


In that vein, I'll share my approach (as I ran into same issue of a trigger, and not wanting to unintentionally trigger such)
so, for example, I have an intro scene for creating video thumbnail, and I switch to it based on time, and start recording. But when I'm in pre-production, I don't want to record. So I have a duplicate (2nd) scene I use that I check my image/view, but the scene sequencing/timer/and recording trigger are all based on the 1st scene. This duplicate (2nd) scene is then skipped over in the scene automation (going to 3rd scene which has my countdown timer)


----------



## Warmuptill (Mar 5, 2021)

Warmuptill updated Advanced Scene Switcher with a new update entry:

Add video tab



> Additions:
> 
> Added video tab.
> 
> ...



Read the rest of this update entry...


----------



## kashayar (Mar 7, 2021)

Hey everybody,

I have an issue and I assume I'm just too stupid to configure the switcher correctly:
I have my OBS setup with 3 scenes:
- backup
- RTMP Channel One
- RTMP Channel Two

What I want to do is:
If Channel One starts broadcasting it should switch to channel one
if channel two starts broadcasting it should switch to channel two
if both are not broadcasting it should switch to backup

I did this by setting up




If none matched go to backup

And in Audio (because we're doing audio streams)




What is working good:
broadcast killed -> go to backup

but then it stops and doesn't switch to the beginning broadcast. What did i do wrong?

Thank you for the help in advance


----------



## Warmuptill (Mar 7, 2021)

kashayar said:


> Hey everybody,
> 
> I have an issue and I assume I'm just too stupid to configure the switcher correctly:
> I have my OBS setup with 3 scenes:
> ...


Just for completeness I will also post the findings we had here:
The issue was resolved when allowing checking the volume of "inactive" audio sources, which by default will not be done.

A build with a toggle option that allows for this new behaviour can be found here here:








						Add option to check volume of 'inactive' audio sources. · WarmUpTill/SceneSwitcher@b8896a8
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				



(It is required to be logged into GitHub to be able to download it)

Uncheck the checkbox marked below for the new behaviour to take effect.


----------



## ukie (Mar 12, 2021)

Warmuptill said:


> A build with the proposed change will be available here in a couple of minutes:
> 
> 
> 
> ...


So after some more testing, it is still happening intermittently, but not less often than not. Does the small delay you introduced need to be increased some more?


----------



## Warmuptill (Mar 13, 2021)

ukie said:


> So after some more testing, it is still happening intermittently, but not less often than not. Does the small delay you introduced need to be increased some more?


I just started a test build which should allow you to configure the delay to a value of your choosing - should be finished in a couple of minutes:








						Add option to configure default transition delay.  · WarmUpTill/SceneSwitcher@357dd34
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com


----------



## lorado (Mar 14, 2021)

Hello guys. Thanks for the awesome plugin. I have some issues on my macOS machine...
I tried this plugin about two days ago, and custom transition between scenes worked fine.
Then I was working on some OBS library, so I have installed many of dev libraries and stuff, to get developer obs running.
Now I wanted to turn back to my regular OBS usage,  but Transition rules between scenes are not working anymore =\
Also after defining Scene Groups, they were shown in the dropdown on transition page only once, and now they are disappeared... And Transition rules are not working at all...
Do you have any suggestions, how I could solve my problem?

macOS 11.2.3
OBS 26.1.2
Scene switcher - 1.10


----------



## Warmuptill (Mar 14, 2021)

lorado said:


> Hello guys. Thanks for the awesome plugin. I have some issues on my macOS machine...
> I tried this plugin about two days ago, and custom transition between scenes worked fine.
> Then I was working on some OBS library, so I have installed many of dev libraries and stuff, to get developer obs running.
> Now I wanted to turn back to my regular OBS usage,  but Transition rules between scenes are not working anymore =\
> ...


Unfortunately it is very difficult for me to say what is going on without more details.
Would you be able to share a log file, with the verbose logging of the plug-in enabled?
The verbose logging option can be found on the general tab.
Additionally it would be very useful if you let me know when in the log file the issue happened.

If you can also share your scene collection and export your plug-in settings I might identify the problem quicker while I reproduce it on my end.
(If you don't want to share this information here feel free to start a separate private conversation)

In general entries in the plug-in are removed if the underlying scenes, transitions or sources are removed.
Also incomplete entries are ignored, which might be what you are experiencing.
For example "Switch from 'Scene 1' to 'select scene' using Cut" will be ignored as no second scene is specified.

EDIT: Another point to note is that the plugin does not handle changing the language of OBS very well as the names of the transitions are changed. I might have to look into handling this better when I find the time to do so.

EDIT2: Just for completeness I will update the current status here as well:
The issue was identified.
There was just a understanding - manual transition changes will not be affected by the settings on the transition tab.
For anyone interested in such functionality please check out the transition table plugin here:





						Transition Table
					

Inspired by OBS Transition Matrix  Donations You can donate to me via PayPal, GitHub or Patreon.




					obsproject.com


----------



## RoachMcKrackin (Mar 16, 2021)

First off, love the plugin! It's almost exactly what I need, especially with some of the latest updates. My ideal setup is switching to random scene groups while the plugin is active. Unfortunately, I am having some difficulty getting this to work properly. 

I have my Scene Groups all set up, and that all works as expected. However, when I go to Random to add them they are not in the scenes list in the Random tab.  Even stranger, they did appear there the first time I set it up, and I selected one and closed the Advanced Scene Switcher window, and when I  reopened it, it was nowhere to be found., and has not been seen again since, despite multiple program restarts.

I do notice that the scenes seem to be available in the scene lists in the Title and Media tabs. Are random scenes a limitation of the Scene Groups functionality, or did I run into a glitch somewhere?

I'm running Windows 10 with OBS v26.1.1 and Advanced Scene Switcher v1.10 (Though this issue started with the prior version, which I updated in trying to resolve this)

Any help or guidance you can provide is greatly appreciated.


----------



## DrakeV3. (Mar 16, 2021)

Hello, I find this plugin very awesome, and I've noticed the dev is still around :D nice one!

Btw, I don't know if it's already been suggested or the feature is already inside and it's me who cannot find it.

It would be very cool to switch to different scene using the same trigger and land on a different scene based on the starting scene.

IE.

I have 2 scenes, A1 and B1.
And have two slightly modified scenes that are A2 and B2

I'm on scene "A1"
I receive an update on my txt file "trigger.txt"  (it's just a counter that increases everytime something on a website is triggered )
The switcher sends me to "A2" scene.
I then manually switch to scene "B1"
if I receive an update on my txt file "trigger.txt" it would be cool if it switched on the "B2" scene instead of the "A2"

Is there a way to do it? Am I missing something?


----------



## Warmuptill (Mar 16, 2021)

RoachMcKrackin said:


> First off, love the plugin! It's almost exactly what I need, especially with some of the latest updates. My ideal setup is switching to random scene groups while the plugin is active. Unfortunately, I am having some difficulty getting this to work properly.
> 
> I have my Scene Groups all set up, and that all works as expected. However, when I go to Random to add them they are not in the scenes list in the Random tab.  Even stranger, they did appear there the first time I set it up, and I selected one and closed the Advanced Scene Switcher window, and when I  reopened it, it was nowhere to be found., and has not been seen again since, despite multiple program restarts.
> 
> ...


Glad you like the plugin! :)

The Random tab does not allow selecting scene groups as I just could not think of a scenario where this would be useful.
Maybe this was just a bad judgement call on my side.
Could you describe your use case for the scene groups on the Random tab in a bit more detail?

But in general this is not a strict limitation - I could allow selecting scene groups there at any time.
You can find a build where this is enabled here in a couple of minutes:








						Enable use of Scene Groups for Random tab. · WarmUpTill/SceneSwitcher@ccbaeee
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				



(You will have to be signed into GitHub to be able to download it - let me know if that is an issue for you)


----------



## Warmuptill (Mar 16, 2021)

DrakeV3. said:


> Hello, I find this plugin very awesome, and I've noticed the dev is still around :D nice one!
> 
> Btw, I don't know if it's already been suggested or the feature is already inside and it's me who cannot find it.
> 
> ...


Thanks for the suggestion! :)

Just to make sure I understand your request correctly - you want to switched scenes based on file content AND depending on whatever scene is currently active, right?
If so I am afraid something like this is currently not possible.

It was already requested in the past to allow combining conditions. (Although in other contexts of course)
Unfortunately this would require reworking the plug-in quite a bit and is not something that I will be able to do in short term.

Nevertheless this is something I am interested in doing as it sound like a fun thing to try to implement, so I will add it to the todo list.


----------



## ukie (Mar 16, 2021)

Warmuptill said:


> I just started a test build which should allow you to configure the delay to a value of your choosing - should be finished in a couple of minutes:
> 
> 
> 
> ...


THank you!


----------



## DrakeV3. (Mar 16, 2021)

Warmuptill said:


> Thanks for the suggestion! :)
> 
> Just to make sure I understand your request correctly - you want to switched scenes based on file content AND depending on whatever scene is currently active, right?
> If so I am afraid something like this is currently not possible.
> ...



Exactly :)

And it could be expanded to all the other condition that causes a switch but I think that is what you meant with combining conditions

If in this scene, then go to this one
if in this other scene, then go to this other one
whenever the triggering event occurs.

in my case I need it to work with the file changing, yep :D


----------



## lorado (Mar 17, 2021)

Ok, I got another question... When I setup switching scene, after my video media source is about to end (1 Second before end), I jump to the previous scene, using a different transition, as my "default" one. But after triggering this automatic scene switch, my currently selected transition changes to that, which was defined on media end hook. I was expecting, that after specified transition is done, it would jump back to the default defined, and not overwrite this. 
I found a workaround for this, by defining my "default" transition, when I come to the specific scene, from which I actually jump to the scene with the video media source. But I think this behavior may be changed, so it makes more sense to users? I don't know...


----------



## Warmuptill (Mar 17, 2021)

lorado said:


> Ok, I got another question... When I setup switching scene, after my video media source is about to end (1 Second before end), I jump to the previous scene, using a different transition, as my "default" one. But after triggering this automatic scene switch, my currently selected transition changes to that, which was defined on media end hook. I was expecting, that after specified transition is done, it would jump back to the default defined, and not overwrite this.
> I found a workaround for this, by defining my "default" transition, when I come to the specific scene, from which I actually jump to the scene with the video media source. But I think this behavior may be changed, so it makes more sense to users? I don't know...


I thought about changing this behaviour in the past, but changing the active scene transition type while scene changes are ongoing can cause a lot of issues, which is why I chose not to implement it.
(Changing the scene transition too early will lead to the transition to just be cancelled and the previous scene still being displayed while in the UI the new scene is already selected. Adding a hardcoded delay before restoring the transition in turn will lead to the same issue again if the user should choose to change to a different scene at an unfortunate time.)


----------



## RoachMcKrackin (Mar 17, 2021)

Warmuptill said:


> Glad you like the plugin! :)
> 
> The Random tab does not allow selecting scene groups as I just could not think of a scenario where this would be useful.
> Maybe this was just a bad judgement call on my side.
> ...



Thank you so much! I'll try it out shortly.

Here's an example use case: As a DJ, I want to keep my livestreams exciting, so I have many different types of scenes, including various logo bumps, and multiple cameras for both "main stage" and "behind the scenes" shots. 

Prior to the group functionality being released, I used the random tab to load all the scenes I wanted to load that would auto-switch, but that means sometimes there would be multiple logo stings one after another, and not nearly enough time was spent on what I would consider my "main program" shots. Unfortunately there was no way to change this.

Now, with scene groups, I can create groups for my different types of shots: Main Stage, Logo Stings, and Behind The Scenes, and set each of these groups to play at random, so you'll never get two of the same type of shot.

Hope this makes sense, and if there's a better way to accomplish what I'm describing, definitely let me know!

Thanks again!


----------



## Warmuptill (Mar 17, 2021)

RoachMcKrackin said:


> Thank you so much! I'll try it out shortly.
> 
> Here's an example use case: As a DJ, I want to keep my livestreams exciting, so I have many different types of scenes, including various logo bumps, and multiple cameras for both "main stage" and "behind the scenes" shots.
> 
> ...


Ah that makes sense - thank you very much for the example!
I will make sure to enable selection of scene groups for the Random tab in the next update.


----------



## DominiqueDJOYCE (Mar 18, 2021)

Hi there, 
French One here.

Beginning to use your plug-in, and it fits the way i aim to stream.

I should need two things to be perfect.

1. select the duration individually for transition, because here i my default timer is set and used, but i am willing to control that timer for each transition, and thx to you i can use my installed transition.
3. Maybe a random timer, change scene1 to scene 2, between 30 and 40s, and this scene2 to scene3 between 20 and 25s, to make things more imprevisible and human/natural?

Very good and hard work, thx to provide such plugins !


----------



## RoachMcKrackin (Mar 18, 2021)

Warmuptill said:


> Ah that makes sense - thank you very much for the example!
> I will make sure to enable selection of scene groups for the Random tab in the next update.



Ok, so good news and bad news:

Good news: Scene Groups now appear in the Random tab! 
Bad news: Scene switching does not work when scene groups are selected.

Here are some images of my configuration to hopefully sort this out:









Of note: If I switch the Scene Groups in the Random tab to Scenes with no other changes the plugin works as expected.

Thank you for your continued assistance on this!


----------



## Warmuptill (Mar 18, 2021)

RoachMcKrackin said:


> Ok, so good news and bad news:
> 
> Good news: Scene Groups now appear in the Random tab!
> Bad news: Scene switching does not work when scene groups are selected.
> ...


Ah you are right, my bad.
I only tested with a single scene group and that just happened to work.
Using multiple scene groups required some minor changes.
You can find a new build here in a few:








						Fix scene groups not being selected when using more than one entry on the Random tab. · WarmUpTill/SceneSwitcher@1b8cb76
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com


----------



## Warmuptill (Mar 18, 2021)

DominiqueDJOYCE said:


> Hi there,
> French One here.
> 
> Beginning to use your plug-in, and it fits the way i aim to stream.
> ...


I am not sure if I understand your request correctly but for your first point you might want to check out the transition table plugin:





						Transition Table
					

Inspired by OBS Transition Matrix  Donations You can donate to me via PayPal, GitHub or Patreon.




					obsproject.com
				




I will add the last point to the todo list.
Thanks for the suggestion!


----------



## RoachMcKrackin (Mar 18, 2021)

Warmuptill said:


> Ah you are right, my bad.
> I only tested with a single scene group and that just happened to work.
> Using multiple scene groups required some minor changes.
> You can find a new build here in a few:
> ...



We have joy! Thank you so much!!


----------



## Yokondo (Mar 19, 2021)

Hi, is there a way that you could create a loop through a selected group?, I mean, I want to change between 5 sceens at 0.5 sec between each sceen, but need them as a loop through this group. Could that be a new feature?


----------



## Warmuptill (Mar 19, 2021)

Yokondo said:


> Hi, is there a way that you could create a loop through a selected group?, I mean, I want to change between 5 sceens at 0.5 sec between each sceen, but need them as a loop through this group. Could that be a new feature?


I am not sure if I understand your request.
Can you elaborate on how this would be different to using a scene sequence?


----------



## Yokondo (Mar 19, 2021)

Warmuptill said:


> I am not sure if I understand your request.
> Can you elaborate on how this would be different to using a scene sequence?


Hi, say I want to have a loop through the 4 cameras during 5 seconds or 8 or 10 or 12 so the loop would be there unless I change to another scene. I have tested on the sequence and need to duplicate scenes to make more time to loop cause you cannot duplicate them


----------



## Yokondo (Mar 19, 2021)

Yokondo said:


> Hi, say I want to have a loop through the 4 cameras during 5 seconds or 8 or 10 or 12 so the loop would be there unless I change to another scene. I have tested on the sequence and need to duplicate scenes to make more time to loop cause you cannot duplicate them


Hi, I have just found the extend feature on the plug in, it's awesome to work with, just I needed to create 30 extended values while it could've been just 3 scenes and loop them. Could be a future feature. 
It's awesome. Love the plug in


----------



## sunsetsbrew (Mar 20, 2021)

@Warmuptill the audio switcher is fantastic.  What are the chances of ever being able to do other things besides switch a scene with the audio trigger?  I would LOVE to be able to toggle sources, or even source filters using this.  seriously great work.


----------



## Warmuptill (Mar 20, 2021)

sunsetsbrew said:


> @Warmuptill the audio switcher is fantastic.  What are the chances of ever being able to do other things besides switch a scene with the audio trigger?  I would LOVE to be able to toggle sources, or even source filters using this.  seriously great work.


At the moment I have not planned to implement actions besides scene switching - but I will make a note on my todo list anyways :)
Thanks for the suggestion!


----------



## sunsetsbrew (Mar 21, 2021)

Warmuptill said:


> At the moment I have not planned to implement actions besides scene switching - but I will make a note on my todo list anyways :)
> Thanks for the suggestion!



My use case would be for reactive visual/audio effects when people are speaking in a multi-guest stream, I would be able to do cool things like change an image when someone is talking, be able to let the guests know when they are talking over each other, or even have audio triggered source moves (using source filter activation triggers) which expand a guests video window a bit to emphasize who is speaking.  I use advanced scene switcher for so many things already it has really simplified my workflow, so anything else is icing on the cake :)


----------



## iGrayden (Mar 24, 2021)

Can I have someone help me install this? What programs do i need to launch instalation becuase I'm trying my best and I'm very new to all this and I'm so frustrated I'm on the verge of tears


----------



## DominiqueDJOYCE (Mar 24, 2021)

Warmuptill said:


> I am not sure if I understand your request correctly but for your first point you might want to check out the transition table plugin:
> 
> 
> 
> ...


 Yes i will check Transition Tables, sounds good.
And to do lists are efficient.
Thx!!


----------



## Warmuptill (Mar 24, 2021)

iGrayden said:


> Can I have someone help me install this? What programs do i need to launch instalation becuase I'm trying my best and I'm very new to all this and I'm so frustrated I'm on the verge of tears


What OS and which version of OBS are you using?

For Windows I would recommend just running the file "AdvancedSceneSwitcherSetup.exe".
For Mac just run "SceneSwitcher.pkg".
For Linux it can be more complicated unfortunately and it entirely depends on your setup.

Note that for Windows and Linux you will have to use at least OBS version 25 and for MacOS at least version 26.

If you need further help feel free to send me a message.


----------



## Warmuptill (Mar 24, 2021)

Warmuptill updated Advanced Scene Switcher with a new update entry:

Add network tab



> Additions and changes:
> 
> Add "Network" tab.
> 
> ...



Read the rest of this update entry...


----------



## marcob8986 (Mar 25, 2021)

Warmuptill said:


> Warmuptill updated Advanced Scene Switcher with a new update entry:
> 
> Add network tab
> Read the rest of this update entry...



Hi I had advanced scene switcher set up to automatically switching from a spash screen to webcam after 1 sec since recording started. This worked for a while.






After this update the splash screen is coming back after switiching to the webcam. The behaviour is really strange.

This is the log file


```
11:54:14.449: ==== Recording Start ===============================================
11:54:14.449: [ffmpeg muxer: 'simple_file_output'] Writing file 'C:/Users/Marco Braglia.DESKTOP-DMRC5KP/Videos/Registrazioni OBS/2021-03-25 11-54-14.mkv'...
11:54:15.550: User switched to scene 'Webcam Zoom'
11:54:19.003: [ffmpeg muxer: 'simple_file_output'] Output of file 'C:/Users/Marco Braglia.DESKTOP-DMRC5KP/Videos/Registrazioni OBS/2021-03-25 11-54-14.mkv' stopped
11:54:19.003: Output 'simple_file_output': stopping
11:54:19.003: Output 'simple_file_output': Total frames output: 267
11:54:19.003: Output 'simple_file_output': Total drawn frames: 273
11:54:19.006: ==== Recording Stop ================================================
11:54:19.050: warning: 2 frames left in the queue on closing
```

The problem is even if I switch manually to the webcam scene, the selected scene is highlighted but the preview shows the "spalsh screen".
See below images. How is that even possibile? I have no filters on either scene and no automated switches beyond thiefirst.









the webcam zoom scense shuld show...the webcam:


----------



## Warmuptill (Mar 26, 2021)

marcob8986 said:


> Hi I had advanced scene switcher set up to automatically switching from a spash screen to webcam after 1 sec since recording started. This worked for a while.
> 
> View attachment 69314
> 
> ...


Just for completeness in case anyone else faces this issue:
This was already clarified in a separate conversation.
The issue was caused by the "default transition" settings. 
Increasing the delay resolved the issue.


----------



## thewitt (Apr 2, 2021)

Does this run on MacOS Mojave (10.14.6)?  It simply crashes OBS on startup in my installation on 26.1.2.


----------



## Warmuptill (Apr 2, 2021)

thewitt said:


> Does this run on MacOS Mojave (10.14.6)?  It simply crashes OBS on startup in my installation on 26.1.2.


There are apparently some issues with the most recent version of the plugin on MacOS in some circumstances. (Thanks *thewitt *for pointing this out!)
If you experience crashes on MacOS please use the previous version:


			https://obsproject.com/forum/resources/advanced-scene-switcher.395/version/3201/download
		


I will update the release once I have identified the issue.


----------



## Warmuptill (Apr 3, 2021)

Warmuptill updated Advanced Scene Switcher with a new update entry:

Add option to save window state and disabe network tab for macOS



> Added option to save window state
> This new option can be found on the general tab and allows you to save the size and position of the plugin's settings window.
> 
> 
> ...



Read the rest of this update entry...


----------



## lightedcandle (Apr 6, 2021)

*Bug?
Upgraded to Advanced Scene Switcher 1.11.1*
Audio switching not working.
Obs 26.1.1 64Bit Windows 10


----------



## Warmuptill (Apr 7, 2021)

lightedcandle said:


> *Bug?
> Upgraded to Advanced Scene Switcher 1.11.1*
> Audio switching not working.
> Obs 26.1.1 64Bit Windows 10


Do you have a log file and more details what you have configured exactly?
(It would be best to enable verbose logging on the general tab and export the plugin settings)
Which version were you using previously?


----------



## GeoffMC (Apr 9, 2021)

I have a default slide show running all the time but when the audio is switched on I want to move to my camera scene. In addition I want to go via a 'introduction' camera scene (which has a 'welcome' banner on), and only switch to the main camera scene when people start talking (i.e. audio above a certain level). 
I also want to switch back to the default slide show when the audio is turned off.
(Audio comes from an external audio system)

So I have 2 audio triggers, Audio1 at 28% for 0s ("PTZ-New" = main camera scene), and Audio2 at 0% for 30s ("PTZ+Welcome" = introduction scene). I also have the 'audio_fallback' set to choose the main camera scene.
In addition I have a 'sequence' scene that switches from the main camera scene back to the default slide show ("24Hr+AllMasses") after 2mins.

What I found was that the default slide show would occasionally briefly fade in (only for <1sec), even though the sound was still on. What is the logic between the various categories of tiggers (i.e. Audio and Sequence)? I have the priority set to Audio then Time then Sequence. If audio is currently triggered, does (should) this prevent Sequence being triggered? Under what (audio) contitions could Sequence be triggered? I was hoping it would only be after the audio was competely turned off.
How does the 'interruptable' option come into play here?

Also it would sometimes flip back to the 'introduction' scene (I think when the audio was quiet but NOT for 30secs).
What is the logic when there are 2 audio triggers in this case? If the main scene is triggered but then the audio drops to below that trigger level should the 'introduction' scene get tiggered? and if so should this be only after 30s (in my case) of quiet audio has elapsed?
If the audio is above 28% it is also at the same time above 0% so are they both considered triggered (after being like this for 30s)? If so how so they 'recover' from this situation? What happens when the audio drops below 28% - to me this is when the 2nd audio trigger should start counting its 30s...???
I was expecting that as long as there is audio about 28% at least once every 30secs, then it would just stay on the main camera scene.

I modified the audio triggers slightly to be:
Audio1 23% for 0.5s
Audio2 1% for 30s
(fall-back is still to the 'Audio1' scene)
Sequence still switches from the 'Audio1' scene to the default slide show but now after 5mins (still not 'interruptable')
This seemed to improve things but I still don't really know what the actual logic is to know how best to configure things.
Is there a better way to get/keep the introduction scene up before people start talking (i.e. when audio system is on but there is only background noise)?
Maybe the logging could be enhanced to show exactly what parameters were detected and hence what matched (e.g. "audio above 28% was detected for 0.5s" or "audio fell below 28% for X seconds" or "no audio detected for 30secs so sequence is to be triggered")?
In the log I see 'match for sequence' at the same second as the previous match for Audio - to me there should at least be a 30sec gap before the 'sequence' trigger should kick in?
Log file attached.
Thanks


----------



## Warmuptill (Apr 9, 2021)

GeoffMC said:


> I have a default slide show running all the time but when the audio is switched on I want to move to my camera scene. In addition I want to go via a 'introduction' camera scene (which has a 'welcome' banner on), and only switch to the main camera scene when people start talking (i.e. audio above a certain level).
> I also want to switch back to the default slide show when the audio is turned off.
> (Audio comes from an external audio system)
> 
> ...



>What is the logic between the various categories of tiggers (i.e. Audio and Sequence)? I have the priority set to Audio then Time then Sequence.

The scene switcher performs checks whether it should switch scenes every 300ms.
The order in which the different scene switching methods (audio-, time-, sequence-, video-, file-, ... -based scene switching) are checked is defined in the priority list on the general tab.
The entries for each particular switching method are checked top to bottom.
In your case that means first all entries on the audio tab are checked before the ones on the sequence tab are checked.

>If audio is currently triggered, does (should) this prevent Sequence being triggered?
If a match was found no further checks are performed for the given interval (300ms for you).

>Under what (audio) contitions could Sequence be triggered? I was hoping it would only be after the audio was competely turned off.
A sequence can only be triggered if no audio match was found - assuming audio has a higher priority than sequence.
Maybe you could use the "pause" tab to completely pause the scene sequence checks while you are on scenes on which you expect audio be active still.

>How does the 'interruptable' option come into play here?
The scene sequence has to "wait" before it switches scenes.
The "interruptible" option lets you specify whether or not during this wait time other scene switching check can be performed (meaning the wait can be interrupted) or not (the wait is uninterruptible).
I am not sure what would be more fitting for your exact scenario.

>What is the logic when there are 2 audio triggers in this case?
The order of the entries of the audio tab is important.
The top one is checked first.
You can however also specify a scene to switch to if multiple entries on the audio tab are active at the same time.
This option can be found on the lower parts of the audio tab.

>Is there a better way to get/keep the introduction scene up before people start talking (i.e. when audio system is on but there is only background noise)?
You could pause the scene switcher while on the introduction scene by specifying to stop all checks while on the introduction scene on the pause tab.
Alternatively you could just stop the plugin using a hotkey.

>Maybe the logging could be enhanced
I agree.
Just haven't gotten around to do that :)

>In the log I see 'match for sequence' at the same second as the previous match for Audio - to me there should at least be a 30sec gap before the 'sequence' trigger should kick in?
Maybe there is a slight misunderstanding on how the plugin checks the audio conditions.
The duration you specified for the audio entry does not "block" all other switching methods to be checked for this amount of time and then decide whether it should switch the scene or not.
Instead all checks are performed roughly every 300ms and only if the audio tab entry condition was true 100 times in a row will the scene be switched. (100 * 300ms = 30s)
During this time other switching methods can still result in a match and thus a scene switch.

I am not sure if it is relevant for you case but there is also an option on the general tab to set a "cooldown period" after a scene switch, to prevent rapid scene changes.
This will mean that at least x amount of time has to pass before the next automated scene change can happen.

I hope that answered at least some of your questions.
Let me know if there is anything that is not clear yet.

If you do further questions please also export your current settings and share them?
(The option to do so can be found on the General tab)
This makes it a bit easier to look for potential configuration problems.


----------



## Warmuptill (Apr 10, 2021)

Warmuptill updated Advanced Scene Switcher with a new update entry:

Fixes and add option to use transition overrides for transition changes



> Fix crash on Linux if no ewmh support is available
> Re-enable network tab for MacOS
> Add add option to use transition overrides for transition changes instead of changing the active transition.
> The option can be found on the transition tab.
> [IMG...



Read the rest of this update entry...


----------



## Warmuptill (Apr 10, 2021)

lorado said:


> Ok, I got another question... When I setup switching scene, after my video media source is about to end (1 Second before end), I jump to the previous scene, using a different transition, as my "default" one. But after triggering this automatic scene switch, my currently selected transition changes to that, which was defined on media end hook. I was expecting, that after specified transition is done, it would jump back to the default defined, and not overwrite this.
> I found a workaround for this, by defining my "default" transition, when I come to the specific scene, from which I actually jump to the scene with the video media source. But I think this behavior may be changed, so it makes more sense to users? I don't know...


In case it is still relevant for you:
With the most recent update I added the option to rely solely on transition overrides for transitions triggered by the plugin - so without changing the active transition selection.


----------



## GeoffMC (Apr 13, 2021)

Warmuptill said:


> >What is the logic between the various categories of tiggers (i.e. Audio and Sequence)? I have the priority set to Audio then Time then Sequence.
> 
> The scene switcher performs checks whether it should switch scenes every 300ms.
> The order in which the different scene switching methods (audio-, time-, sequence-, video-, file-, ... -based scene switching) are checked is defined in the priority list on the general tab.
> ...


Thanks for all this information it is useful.
However even after taking on board what you have said so for I still see 'unexplained behaviour' in the switching in that I still can't explain why it switches on my 2nd Audio trigger when it does as I believe it should still be switching on the 1st Audio trigger - I will monitor the situation more closely and then provide you with the logs and settings and a dialog of what happened so you can check and comment.
However this morning I started the Adv-ss and it switched/triggered on 'Audio1' but the audio isn't on and certainly isn't above the 23% threshold - can you explain this please? here is the relevant log extract:

09:10:22.689: User switched to scene '24Hr+AllMasses'
09:16:30.113: [adv-ss] started
09:16:30.113: [adv-ss] try to sleep for 500
09:16:30.621: [adv-ss] match for 'audio' - switch to scene 'PTZ-New'
09:16:30.663: warning: deprecated pixel format used, make sure you did set range correctly
09:16:30.697: [window-capture: '(null)'] update settings:
09:16:30.697:     executable: POWERPNT.EXE
09:16:30.697:     method selected: WGC
09:16:30.697:     method chosen: WGC
09:16:30.697: 
09:16:30.730: [adv-ss] switched scene
09:16:30.731: [adv-ss] try to sleep for 384
09:16:31.147: [adv-ss] try to sleep for 468
....
09:16:45.158: [adv-ss] try to sleep for 480
09:16:45.658: [adv-ss] try to sleep for 480
09:21:32.132: Last log entry repeated for 570 more lines
09:21:32.132: [adv-ss] match for 'sequence' - switch to scene '24Hr+AllMasses'


----------



## Warmuptill (Apr 13, 2021)

GeoffMC said:


> Thanks for all this information it is useful.
> However even after taking on board what you have said so for I still see 'unexplained behaviour' in the switching in that I still can't explain why it switches on my 2nd Audio trigger when it does as I believe it should still be switching on the 1st Audio trigger - I will monitor the situation more closely and then provide you with the logs and settings and a dialog of what happened so you can check and comment.
> However this morning I started the Adv-ss and it switched/triggered on 'Audio1' but the audio isn't on and certainly isn't above the 23% threshold - can you explain this please? here is the relevant log extract:
> 
> ...


What do you mean by "but the audio isn't on and certainly isn't above the 23% threshold"?
Is the source muted or is the audio source just currently part of the active scene?

In either of those cases the volume threshold is still checked.
If you don't want to check the volume of an audio source while it is not currently active you can use the checkbox to the right of each audio tab entry to specify that.

Could that explain the observed behavior?


----------



## GeoffMC (Apr 14, 2021)

Warmuptill said:


> What do you mean by "but the audio isn't on and certainly isn't above the 23% threshold"?
> Is the source muted or is the audio source just currently part of the active scene?
> 
> In either of those cases the volume threshold is still checked.
> ...


So the laptop has an external audio box connected by USB . This box is fed from the sound system in the building. The sound system is normally powered off. This means there is absolutely no audio on this 'Onyx-Main' device until the audio system is powered on (which is when we want to swich to the camera). 
From my exported 'settings' file (also attached) I see the option "ignoreInactiveSource": true for this audio device/trigger, which means that the volume of this device isn't checked when the audio isn't active -  although what does 'active' mean in this context? How and when does the audio become 'active' (or inactive)?

I'm attaching the log from yesterday's session (zipped) along with the exported settings.
The external audio system was switched on at 11:52 which is when Audio1 1st matches (=PTZ-New scene)  and it is turned off at 12:30.
The adv-ss is started at 09:30
1hr later (3600s) we see the "non_matching_scene" (=24Hr+AllMasses) triggering (although the log entry doesn't confirm which trigger or scene this was!):
09:38:26.453: [adv-ss] try to sleep for 470
10:30:31.744: Last log entry repeated for 6241 more lines
10:30:31.894: [adv-ss] switched scene
10:30:31.894: [adv-ss] try to sleep for 322
10:30:32.227: [adv-ss] cooldown active - ignoring match
10:30:32.227: [adv-ss] try to sleep for 490
10:30:32.726: [adv-ss] cooldown active - ignoring match
-> but what match is it ignoring (every 500ms)?
The 'cooldown active - ignoring match' message is then repeated continuously for 1h22m until we see the 1st Audio trigger match (when the external audio is switched on):
11:52:32.319: [adv-ss] cooldown active - ignoring match
11:52:32.320: [adv-ss] try to sleep for 492
11:52:32.818: [adv-ss] match for 'audio' - switch to scene 'PTZ-New'
11:52:32.818: [adv-ss] cooldown active - ignoring match
(Note it still seems to be ignoring some other match???)
Then a minute later we have 'audio-fallback' kicking in - which indicates that both audio triggers matched - and indeed my 2nd audio trigger (PTZ-Welcome) currently has a 60sec delay so this explains that behaviour:
11:53:39.904: [adv-ss] try to sleep for 487
11:53:40.403: [adv-ss] match for 'audio' - switch to scene 'PTZ-New'
11:53:40.403: [adv-ss] match for 'audio_fallback' - switch to scene 'PTZ-New'
11:53:40.403: [adv-ss] cooldown active - ignoring match
11:53:40.403: [adv-ss] try to sleep for 489
-> however this 'audio_fallback' situation then continues every 500ms (my check interval) for the next 25mins. This suggests that both audio sources continually match - I would have thought that the Audio2 match time (60s) would be 'reset' after a match/scene switch (in this case the Audio1 match + the audio_fallback aspect) so that Audio2 should re-start counting its 60s again only after this match???
In fact to me the Audio2 trigger timer should be reset whenenver Audio1 matches - so that my Audio2 trigger can only kick in after a 60sec period of nothing triggering audio1 (i.e. nothing above the volume threshold I have set for Audio1 for a continuous 60secs) - if this isn't the current behaviour what would be the problem in making it behave like this? Would it break some other logic?

Now during this 25mins section I also see "cooldown active - ignoring match" which is also continually every 500ms. Surely since the cooldown is set to 5s  there should be a 5sec gap before new checks are done??? Otherwise what is this cooldown doing? What is going on during this cooldown period? Are counters/timers for the audio checks still going on or are they 'held' for the cooldown duration?

At the end, the external audio is switched off at 12:25 and we then just (only) see the 'try to sleep' messages for the next 5mins followed by:
12:25:55.163: [adv-ss] try to sleep for 485
12:30:41.016: Last log entry repeated for 570 more lines
12:30:41.017: [adv-ss] match for 'sequence' - switch to scene '24Hr+AllMasses'
12:30:41.212: [adv-ss] switched scene
12:30:41.212: [adv-ss] try to sleep for 283
-> which is as expected as 'sceneRoundTrip' is set to swtich from PTZ-New to  "24Hr+AllMasses" after 300s (5mins)
Then we see 'try to sleep' for the next 60mins after which we start seeing the 'cooldown active' messages again!
These messages continue for the remainder of the log:
12:30:56.025: [adv-ss] try to sleep for 489
13:30:46.433: Last log entry repeated for 7171 more lines
13:30:46.433: [adv-ss] cooldown active - ignoring match
13:30:46.433: [adv-ss] try to sleep for 488
-> So what is happening here? Why do set start seeing the 'cooldown active' messages again?
The only thing I know of that is set for 1hr is the "non_matching_scene" trigger - and since the scene was already on the '24Hr+AllMasses' scene there would have been no actual scene switch required. Does this explain the 'cooldown active' messages somehow?

I can also see 2 brief matches/switches for the Audio2 trigger (PTZ-Welcome scene). Presumably it went quiet here - below the 23% threshold for Audio1 - so that the Audio2 was able to match. But it then immediately goes back to PTZ-New as Audio1 then does match.
So if Audio1 matched at 12:11:08 and again 1sec later at 12:11:09 how did Audio2 get in inbetween these matches when a) Audio2 has a 60sec timer and b) the 'cooldown' timer is set to 5secs?!?!
12:11:08.639: [adv-ss] match for 'audio_fallback' - switch to scene 'PTZ-New'
12:11:08.639: [adv-ss] cooldown active - ignoring match
12:11:08.639: [adv-ss] try to sleep for 489
12:11:09.138: [adv-ss] match for 'audio' - switch to scene 'PTZ+Welcome'
12:11:09.143: [adv-ss] switched scene
12:11:09.143: [adv-ss] try to sleep for 486
12:11:09.643: [adv-ss] match for 'audio' - switch to scene 'PTZ-New'

12:14:57.415: [adv-ss] match for 'audio' - switch to scene 'PTZ-New'
12:14:57.415: [adv-ss] match for 'audio_fallback' - switch to scene 'PTZ-New'
12:14:57.415: [adv-ss] cooldown active - ignoring match
12:14:57.415: [adv-ss] try to sleep for 495
12:14:57.916: [adv-ss] match for 'audio' - switch to scene 'PTZ+Welcome'
12:14:57.916: [adv-ss] cooldown active - ignoring match
12:14:57.916: [adv-ss] try to sleep for 495
12:14:58.416: [adv-ss] match for 'audio' - switch to scene 'PTZ-New'

Please could you explain what is happening above as I want to know how to control Audio1 and Audio2 better.
Ultimately I want the Audio2 trigger (PTZ-Welcome) to only kick in when the audio is on but there is only background noise. Once people start talking into the microphones I want Audio1 (PTZ-New) to override Audio2 and keep the 'PTZ-New' scene active (and to NOT go back to PTZ-Welcome when the audio drops below the threshold only for short time). I think it should be possible to adjust the volume levels/timers to achieve this but so far I have too many unexplained behaviours to be able to work this out.
Thanks.


----------



## Warmuptill (Apr 14, 2021)

GeoffMC said:


> So the laptop has an external audio box connected by USB . This box is fed from the sound system in the building. The sound system is normally powered off. This means there is absolutely no audio on this 'Onyx-Main' device until the audio system is powered on (which is when we want to swich to the camera).
> From my exported 'settings' file (also attached) I see the option "ignoreInactiveSource": true for this audio device/trigger, which means that the volume of this device isn't checked when the audio isn't active -  although what does 'active' mean in this context? How and when does the audio become 'active' (or inactive)?
> 
> I'm attaching the log from yesterday's session (zipped) along with the exported settings.
> ...


>How and when does the audio become 'active' (or inactive)?

I think this depends on whether or not the audio source is part of the currently active scene, but I am not 100% sure.
I am just calling obs_source_active() to decide whether or not to check the volume of the specified source.

> but what match is it ignoring (every 500ms)?

This is most likely the scene switch triggered if no condition is matched at all.

>This suggests that both audio sources continually match - I would have thought that the Audio2 match time (60s) would be 'reset' after a match/scene switch (in this case the Audio1 match + the audio_fallback aspect) so that Audio2 should re-start counting its 60s again only after this match???

This is not the case.
You have to see the duration field as an "at least for x duration, but including values after x".
The time only resets if the specified volume threshold is no longer reached.

>what would be the problem in making it behave like this? Would it break some other logic?

Changing it would definitively break some existing use cases which rely on the current implementation.
It might not even work in your specific use case as you have specified a scene to switch to if no condition is met.
(You would then only stay on your audio scene for 500ms before switching back to the scene to switch to if no condition is met)

>Surely since the cooldown is set to 5s  there should be a 5sec gap before new checks are done???
>Are counters/timers for the audio checks still going on or are they 'held' for the cooldown duration?

Checks are still performed, but matches are ignored.
The reason being that counter are still incremented correctly each loop.

> [...] But it then immediately goes back to PTZ-New as Audio1 then does match.
>So if Audio1 matched at 12:11:08 and again 1sec later at 12:11:09 how did Audio2 get in inbetween these matches when a) Audio2 has a 60sec timer and b) the 'cooldown' timer is set to 5secs?!?!

The scene is only switched whenever you see this message:
[adv-ss] switched scene
So just as you expected there was only a scene change every 5 seconds.
(As mentioned above the conditions are still checked during the "cooldown", but no scene change is happening)


I assume to get this to always work exactly like you expect you would need to be able to combine conditions.
This is not currently possible but was requested a few times already.
I am looking into it, but I can't promise anything anytime soon yet.

Maybe you could also use "scene groups" for Audio2 to achieve to get closer to what you are looking for.
This scene group would then only switch to "PTZ-Welcome" for a specified amount of time and after that switch to "PTZ-New".

I hope that helps!


----------



## Alex-1968 (Apr 15, 2021)

Нет ни у кого перевода этого плагина на русский язык?
No one has a translation of this plugin into Russian? 

Или подробной инструкции по пользованию на русском языке?
Or detailed instructions for use in Russian?


----------



## Warmuptill (Apr 15, 2021)

Alex-1968 said:


> Нет ни у кого перевода этого плагина на русский язык?
> No one has a translation of this plugin into Russian?
> 
> Или подробной инструкции по пользованию на русском языке?
> Or detailed instructions for use in Russian?


Unfortunately I do not know any Russian translations for this plugin or any guides in Russian.
If you should stumble upon a Russian translation, which I could integrate into the plugin, feel free to let me know.


----------



## mazydizzle (Apr 15, 2021)

Hi, is it possible for this plugin to switch only the video part of a stream and not the audio? So ideally, after som sort of trigger, say every 5 mins, the video switches to some other video file, but the audio remains unchanged. Once the 2nd video has finished playing, the video swiches back to the original source. And have this behaviour continuouly loop. Thanks


----------



## Warmuptill (Apr 16, 2021)

mazydizzle said:


> Hi, is it possible for this plugin to switch only the video part of a stream and not the audio? So ideally, after som sort of trigger, say every 5 mins, the video switches to some other video file, but the audio remains unchanged. Once the 2nd video has finished playing, the video swiches back to the original source. And have this behaviour continuouly loop. Thanks



This plugin switches scenes not sources.
Maybe this will work for you? :)





						Source Switcher
					

Download Plugin for OBS Studio to add a source that switches between a list of sources  Add "Source Switcher" source to your scene. In the Sources property set a list of source names you want to switch between. Set the switch conditions using...




					obsproject.com


----------



## qhobbes (Apr 16, 2021)

I use the output timer to stop a stream after a variable amount of time. Is it possible to switch to Scene X when there are 10 seconds left in the stream (or something like that)?


----------



## lightedcandle (Apr 17, 2021)

Warmuptill said:


> Do you have a log file and more details what you have configured exactly?
> (It would be best to enable verbose logging on the general tab and export the plugin settings)
> Which version were you using previously?


I'm using Version 
*1.11.2*
Thanks for your response. 
It seems I didn't see that the window expands to the right for more settings. I checked the box that says "Unless Source is active" and then it worked. I also changed the transition to Cut instead of "Use current transition". Thanks for your response but its working now.


----------



## Warmuptill (Apr 17, 2021)

qhobbes said:


> I use the output timer to stop a stream after a variable amount of time. Is it possible to switch to Scene X when there are 10 seconds left in the stream (or something like that)?


You could use a scene sequence in addition to the scene trigger you have set up to achieve that behaviour.


lightedcandle said:


> I'm using Version
> *1.11.2*
> Thanks for your response.
> It seems I didn't see that the window expands to the right for more settings. I checked the box that says "Unless Source is active" and then it worked. I also changed the transition to Cut instead of "Use current transition". Thanks for your response but its working now.


Glad to hear you got it to work! :)


----------



## hpmoon (Apr 18, 2021)

I love the new Video tab, but regret that so far its drop-down options include "has not changed" instead of "has changed."  It would be incredibly useful for me and probably many others to have a static PowerPoint presentation running-full screen on a separate monitor, for example, getting switched to when the static slide advances to the next one, for a set period of time (say, 30 seconds), then moving along to the Sequence tab's list of scenes to cycle through.  Any chance that's on the development horizon?  Thanks!


----------



## Warmuptill (Apr 18, 2021)

hpmoon said:


> I love the new Video tab, but regret that so far its drop-down options include "has not changed" instead of "has changed."  It would be incredibly useful for me and probably many others to have a static PowerPoint presentation running-full screen on a separate monitor, for example, getting switched to when the static slide advances to the next one, for a set period of time (say, 30 seconds), then moving along to the Sequence tab's list of scenes to cycle through.  Any chance that's on the development horizon?  Thanks!


Thanks for the suggestion!
I quickly threw together a first version of your requested functionality.




A build should be available here in a few minutes:








						Add option "has changed" to video tab · WarmUpTill/SceneSwitcher@582ea3a
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				



(You will have to be signed into GitHub to be able to download it)

Please let me know if everything is working as expected! :)


----------



## hpmoon (Apr 20, 2021)

Warmuptill said:


> Thanks for the suggestion!
> I quickly threw together a first version of your requested functionality.
> View attachment 70193
> A build should be available here in a few minutes:
> ...


Thank you very much. I'm still figuring all this out so will get back to you once I've given it a good effort.  What I'm hoping is that after that new option under the Video tab executes, I can resume a Sequence (the only other thing configured) based on those two tabs being the top priorities -- and that runs until interrupted by another "has changed" action under the Video tab, cycling back to Sequence after execution.

I'm amazed by the vast number, if not majority, of OBS users who integrate PowerPoint presentations into livestreams, yet despite that, there are still big obstacles in the OBS ecosystem (and plug-in authors like yourself are key to improving the situation).  This functionality you so kindly started adding is one big step -- but the holy grail is to somehow let a remote clicker, or hotkey, advance PowerPoint slides manually even when PowerPoint does not "have focus" (is not the currently activated window).  I know that is generally beyond the control of a given application or plug-in, but if it's at all possible that way, nirvana FYI!


----------



## Lawrence_SoCal (Apr 20, 2021)

out of scope for this thread, but for @hpmoon in reference to above post.... I find I'm able to advance PPTx slides using scroll wheel of mouse *without* making PPT the active window (ie' have 'focus). I just have a small portion of the PPTx windowed slide visible on screen, mouse over (but *NOT* click, bring PPTx to front/focus), scroll 1 page, and I'm all set. I'd love to automate PPTx page change based on OBS scene change, but alas MS new security and Office interface paradigm makes that a huge challenge... so I've done it manually for last year ... oh well. I have more PPTx pages than scenes, and changing OBS from PPTx doesn't work in my use case (maybe I could, and intriguing new option here I'd have possibly restructured for, but presentation format is changing, so no longer an issue for me after one last stream using old format (w/ PPTx)


----------



## GeeMack (Apr 21, 2021)

hpmoon said:


> ... but the holy grail is to somehow let a remote clicker, or hotkey, advance PowerPoint slides manually even when PowerPoint does not "have focus" (is not the currently activated window).



In some cases it may be as simple as exporting the PowerPoint slides as PNG or JPG images, then use those images (or their folder) to create an Image Slide Show source in OBS. Set a couple hotkeys for moving forward or back through the slides. Add that Slide Show source to any scene.


----------



## Warmuptill (Apr 30, 2021)

DrakeV3. said:


> Hello, I find this plugin very awesome, and I've noticed the dev is still around :D nice one!
> 
> Btw, I don't know if it's already been suggested or the feature is already inside and it's me who cannot find it.
> 
> ...


I am currently working on implementing functionality that would support this use case (and combining different switching methods in general).
This would be example on how to configure a macro for the "A" case:




If you want to give this a try you can find a build here:








						Add Macro tab · WarmUpTill/SceneSwitcher@506b266
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				



(You will have to be logged into GitHub to be able download it)

Please note that it is still under development and might contain bugs.
Feedback would be much appreciated!


----------



## Warmuptill (Apr 30, 2021)

GeoffMC said:


> I have a default slide show running all the time but when the audio is switched on I want to move to my camera scene. In addition I want to go via a 'introduction' camera scene (which has a 'welcome' banner on), and only switch to the main camera scene when people start talking (i.e. audio above a certain level).
> I also want to switch back to the default slide show when the audio is turned off.
> (Audio comes from an external audio system)
> 
> ...


Also for your usecase the above test build might be interesting as it also allows combining multiple audio conditions.
For example:


----------



## GeoffMC (May 2, 2021)

I simplified the scene switch for now to leave only one audio trigger.
However this week it switched away to the 24Hr scene even though there was audio present:

12:26:39.488: [adv-ss] match for 'audio' - switch to scene 'PTZ-New'
12:26:39.488: [adv-ss] try to sleep for 500
12:26:39.990: [adv-ss] try to sleep for 499
12:26:40.492: [adv-ss] try to sleep for 497
12:26:40.991: [adv-ss] try to sleep for 498
12:26:41.493: [adv-ss] try to sleep for 497
12:26:41.992: [adv-ss] try to sleep for 498
12:26:42.490: [adv-ss] match for 'sequence' - switch to scene '24Hr+AllMasses'
12:26:42.499: [adv-ss] switched scene
12:26:42.499: [adv-ss] try to sleep for 492

-> Why did it switch to 24Hr at 12:26:42 if it matched audio just before at 12:26:39?
Sequence is set for 5mins after PTZ-New but is interruptible (settings and log attached)


----------



## GeoffMC (May 2, 2021)

Also I have see it apparently detect audio and hence switch to 'PTZ-New' when the (external) audio wasn't on.
There is no signal on this audio input at this time. Is there any explanation to this?
Log shows:
07:15:37.646: [adv-ss] try to sleep for 496
07:18:08.830: Last log entry repeated for 301 more lines
07:18:08.831: [adv-ss] match for 'audio' - switch to scene 'PTZ-New'
07:18:08.996: [adv-ss] switched scene
07:18:08.997: [adv-ss] try to sleep for 333
(Audio isn't switched on until 8:15 or so)
Log file attached (settings file same as previous post)


----------



## Warmuptill (May 2, 2021)

GeoffMC said:


> I simplified the scene switch for now to leave only one audio trigger.
> However this week it switched away to the 24Hr scene even though there was audio present:
> 
> 12:26:39.488: [adv-ss] match for 'audio' - switch to scene 'PTZ-New'
> ...


As far as I can see the scene was never changed away from 'PTZ-New' for a long time.
Meaning the start scene 'PTZ-New' was active for the necessary amount of time to trigger the scene sequence.

In fact the scene was active for quite a bit longer, but with your current setup the sequence check only get a chance to run when audio did not match anything, as the audio checks a higher priority than the sequence checks.
(Internally the sequence check counts how many times it was called with the while the start scene was active - I think I will change this behavior to instead measure the time that has passed, but this will not change anything for your use case, besides triggering your undesired behaviour earlier)


Am I understanding correctly, that what you are trying to achieve is?
1. If audio output is "active" -> switch to scene A
2. If audio output is *not *"active" *and *the current scene is A and is active for X amount of time -> wait for Y amount of time and switch to scene B.

Or is it more complicated?



GeoffMC said:


> Also I have see it apparently detect audio and hence switch to 'PTZ-New' when the (external) audio wasn't on.
> There is no signal on this audio input at this time. Is there any explanation to this?
> Log shows:
> 07:15:37.646: [adv-ss] try to sleep for 496
> ...


Unfortunately I cannot tell you why this happened.
I just read out the "peak" value for the selected audio source.
Maybe the audio source emits some tiny amount of noise that happened to be surpassing the very low threshold you have set?


----------



## GeoffMC (May 2, 2021)

Warmuptill said:


> As far as I can see the scene was never changed away from 'PTZ-New' for a long time.
> Meaning the start scene 'PTZ-New' was active for the necessary amount of time to trigger the scene sequence.
> 
> In fact the scene was active for quite a bit longer, but with your current setup the sequence check only get a chance to run when audio did not match anything, as the audio checks a higher priority than the sequence checks.
> ...


Yes your assesment is just about ok - if anything my current requirement is even simpler than that, but the only way I could see to do what I wanted was something like your point 2.
This would meet my requirements:
1. If audio output is "active" -> switch to scene A
2. If audio has not been "active" for Y amout of time then switch to scene B
but I can't see how to implement point 2 directly with the logic available...


----------



## Warmuptill (May 2, 2021)

GeoffMC said:


> Yes your assesment is just about ok - if anything my current requirement is even simpler than that, but the only way I could see to do what I wanted was something like your point 2.
> This would meet my requirements:
> 1. If audio output is "active" -> switch to scene A
> 2. If audio has not been "active" for Y amout of time then switch to scene B
> but I can't see how to implement point 2 directly with the logic available...


Well if it is as simple as "If audio has not been "active" for Y amount of time then switch to scene B" relying on just an entry on the audio tab should suffice.
`When volume of <audio source> is below <threshold> for <Y> switch to <scene B> using <Current transition>`
Or am I misunderstanding something?

If you should require something like "If audio output is *not *"active" *and *the current scene is A and is active for X amount of time -> wait for Y amount of time and switch to scene B." the Macro tab might come in handy as I mentioned above.
It provides the option to combine multiple switching methods.
For example the above statement could be translated to:


----------



## GeoffMC (May 3, 2021)

so I tried the 'audio below threshold' trigger (hadn't realised I could do that!) and while it worked initially I couldn't get it to work again.
Once it has matched once, the log continuously shows  a 'match' for the audio (since it is currently always below the threshold as it is currently off) .
What is it that has to happen for it to trigger again? I.E. when would the cycle be reset? Does it just require some other match/trigger or does it need something more before it will start the  'audio below threshold' trigger timer again?
Also it seems that I can only have a max of 90secs in the audio timer...


----------



## Warmuptill (May 3, 2021)

GeoffMC said:


> so I tried the 'audio below threshold' trigger (hadn't realised I could do that!) and while it worked initially I couldn't get it to work again.
> Once it has matched once, the log continuously shows  a 'match' for the audio (since it is currently always below the threshold as it is currently off) .
> What is it that has to happen for it to trigger again? I.E. when would the cycle be reset? Does it just require some other match/trigger or does it need something more before it will start the  'audio below threshold' trigger timer again?
> Also it seems that I can only have a max of 90secs in the audio timer...


I am not sure what you mean by "reset".
The below condition works just like the above condition, so it will trigger a scene change as long as the specified condition is true.
The time is "reset" to zero if the condition is false.

>Also it seems that I can only have a max of 90secs in the audio timer...
99 seconds was just an aribrary limit I chose. I changed this recently - you can find a build where this was changed here:








						Add Macro tab · WarmUpTill/SceneSwitcher@d26bbba
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com


----------



## GeoffMC (May 4, 2021)

(I've now installed the #424 built you mentioned above.)
I am still not seeing the behaviour I expect with the audio below trigger.
It is currently set to 18secs so I expect that if I change to any other scene, and if the audio is below the 1% threshold (which is currently is as its off) then 18secs later it will switch to my trigger scene but this doesn't happen.
Why does it not switch to '24Hr+AllMasses' even though the log shows this as matching?


----------



## Warmuptill (May 4, 2021)

GeoffMC said:


> (I've now installed the #424 built you mentioned above.)
> I am still not seeing the behaviour I expect with the audio below trigger.
> It is currently set to 18secs so I expect that if I change to any other scene, and if the audio is below the 1% threshold (which is currently is as its off) then 18secs later it will switch to my trigger scene but this doesn't happen.
> Why does it not switch to '24Hr+AllMasses' even though the log shows this as matching?


The build did not change any behavior.
I was only referring to it regarding the limit for the duration selection:

>>Also it seems that I can only have a max of 90secs in the audio timer...
>99 seconds was just an aribrary limit I chose. I changed this recently - you can find a build where this was changed here [...]

When you see the log `[adv-ss] switched scene` the OBS frontend event to switch scenes has been sent by the scene switcher, but the corresponding "confirmation" log by OBS `User switched to scene ...` is missing.
So I am not sure what is going on on your end.

I also tried to replicate your scene / source setup on my end and do not encounter any issues.
(I added scenes for "24Hr+AllMasses", "PTZ-New" and used my microphone as "1:Onyx-Main".)
The scenes were switched as expected.

How long are your transitions and what kind of transition are you using?


----------



## GeoffMC (May 5, 2021)

Transitions are 'Fade'. I have a few 'Fade' quick transitions set in OBS with times of 300ms, 1000ms and 3000ms but the Adv switcher only allows a single 'Fade' option (or one of the other types) so I'm guessing its just using the default of 300ms?
It did however seem to work OK when it was 'live' (i.e. when the audio actually got switched on then subsequently off).

But I don't see 'user switched to scene' in the logs that you mentioned above. I only see this if I manually switch to a different scene in OBS. Furthermore I see 'user switched to scene'  when I manually/directly choose a different scene in OBS - which is BEFORE I click on any transition to make that scene 'live'. OBS is in Preview/Program mode. How does  the adv scene swither deal with this aspect? Does it differentiate between switching to a scene and subsequently transitioning to the scene? The log doesn't seem to relect this.
I see "[adv-ss] switched scene" when the switching actually happens/is triggered - does this imply switching AND transitioning?
Note that I see "Switched to scene 'PTZ-New'" when OBS is starting up - which I think is OBS recalling the scene that was last 'active' when OBS was stopped.

OK I think I've answered some of these points now - I used 'baretail' on the OBS log to see the log entries generated in real time.
1. I get: "user switched to scene" when I simply/manually choose a different scene in OBS.
Presumably the entry: "[adv-ss] match for 'audio' - switch to scene '24Hr+AllMasses'" is the [adv-ss] equivalent to the OBS "user switched to scene" log entry above?
2. When I manually transition to the selected scene there is no entry in the OBS log (with [adv-ss] off).
3. When [adv-ss] is on we see "[adv-ss] switched scene" when it wants to transition to that scene that has been triggered.
Would you agree with these points?
However I believe that this is where things aren't always working. I see 'switched scene' in the log but no change to the OBS scene being output. Is there any way that the code could verify that its 'transition' command was accepted/acted upon? Is there a return code that can be checked (and maybe logged)?

In the attached log, you can see some manual scene switches (although you can't see the transitions) and at 06:57:39 after avd-ss is started you see [adv-ss] 'switched scene' to the '24Hr+AllMasses' scene which is OK.
However at 06:58:49 I manually changed the scene and transitioned as per this log entry:
06:58:49.699: User switched to scene 'PTZ+Welcome'
adv-ss then matches on the audio and wants to switch to the '24Hr+AllMasses' scene
adv-ss then triggers at 06:58:54 where we see:
06:58:54.677: [adv-ss] switched scene
But no scene change actually occured in OBS - it is still showing  the scene 'PTZ+Welcome'
The log then continues matching with: [adv-ss] match for 'audio' - switch to scene '24Hr+AllMasses'
but no further scene changes are tried and we are left with the wrong scene.


----------



## Mango (May 5, 2021)

First of all, thank you for this excellent and very powerful plugin.  We have been using it for our church services with great results.

We have a slide show and media sources that we switch between.  The script requires viewers to see Slide A, then play a media source, then see Slide B.  Currently I do this with this plugin and hotkeys.  I have assigned a hotkey to advance the slide and switch to the media source scene.  Then, Advanced Scene Switcher switches back to the slide show scene at the end of the video.

Limitations to this are I must use the Cut transition (no fades otherwise the viewer will see Slide B too early), and I cannot use the mouse to switch scenes (must use hotkeys).  Is there a better way to do what I'm doing?

Thanks,
Mango


----------



## Warmuptill (May 5, 2021)

GeoffMC said:


> Transitions are 'Fade'. I have a few 'Fade' quick transitions set in OBS with times of 300ms, 1000ms and 3000ms but the Adv switcher only allows a single 'Fade' option (or one of the other types) so I'm guessing its just using the default of 300ms?
> It did however seem to work OK when it was 'live' (i.e. when the audio actually got switched on then subsequently off).
> 
> But I don't see 'user switched to scene' in the logs that you mentioned above. I only see this if I manually switch to a different scene in OBS. Furthermore I see 'user switched to scene'  when I manually/directly choose a different scene in OBS - which is BEFORE I click on any transition to make that scene 'live'. OBS is in Preview/Program mode. How does  the adv scene swither deal with this aspect? Does it differentiate between switching to a scene and subsequently transitioning to the scene? The log doesn't seem to relect this.
> ...


On my build of OBS the following messages appear close together regardless of manual or automated scene change:
User switched to scene 'A'
[adv-ss] switched scene

Manually triggering  scene change will only trigger the former message.
When you see the latter the scene switcher actually tried switching scenes by using obs_frontend_set_current_scene() with the corresponding source.
The scene switcher does not attempt to use obs_frontend_set_current_scene() if the current scene is already the desired scene or the target scene is null.
>Is there a return code that can be checked
There is no return code for obs_frontend_set_current_scene().

When you see "[adv-ss] match for 'audio' ..." logs it means that a condition was matched, but as described above this may not necessarily result in scene change.

>It did however seem to work OK when it was 'live' 
I am not sure how that would affect the scene switcher in any way.

As you mentioned quick transitions - Is the problem maybe related to running OBS in "Studio Mode"?
Can you running it without Studio Mode enabled as a quick test.



Mango said:


> First of all, thank you for this excellent and very powerful plugin.  We have been using it for our church services with great results.
> 
> We have a slide show and media sources that we switch between.  The script requires viewers to see Slide A, then play a media source, then see Slide B.  Currently I do this with this plugin and hotkeys.  I have assigned a hotkey to advance the slide and switch to the media source scene.  Then, Advanced Scene Switcher switches back to the slide show scene at the end of the video.
> 
> ...


Glad you like the plugin :)

>I must use the Cut transition (no fades otherwise the viewer will see Slide B too early)
So adding a "wait" before triggering a scene change would be useful for you?
If so maybe this build of the plugin might be of interest to you:












						Add Macro tab · WarmUpTill/SceneSwitcher@5a250af
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com


----------



## qhobbes (May 6, 2021)

Is there any way to use this with the Output Timer? Example: Switch to End scene when 10 seconds are left.


----------



## Warmuptill (May 6, 2021)

qhobbes said:


> Is there any way to use this with the Output Timer? Example: Switch to End scene when 10 seconds are left.


Unfortunately I do not think there is any API to interact with the Output Timer so this is not possible (Please let me know if I am wrong).

I guess as a workaround you could create a macro which starts the recording / streaming, waits for a while, switches to scene "End", waits for a while and then stops the recording/streaming.
But you would of course have to make sure to only trigger this once and do not have the remaining showing up in the Output Timer.


----------



## kellemar (May 8, 2021)

Hi,

A couple questions since I'm unsure.

For Media switching, what's the different between "Played to End" and "Ended"?

Under Scene Triggers, what is "active" and "Non-active"?


----------



## Warmuptill (May 8, 2021)

kellemar said:


> Hi,
> 
> A couple questions since I'm unsure.
> 
> ...


>For Media switching, what's the different between "Played to End" and "Ended"?
The "Played to End" state is mostly useful for playlist which would trigger the "Ended" state every time the end of an item in the playlist is reached instead of at the end of the complete playlist.

>Under Scene Triggers, what is "active" and "Non-active"?
Assuming you have two scenes "A" and "B" and you are currently showing Scene "A".
Scene "A" would be considered active and scene "B" not active.


----------



## Warmuptill (May 15, 2021)

Warmuptill updated Advanced Scene Switcher with a new update entry:

Add macro tab



> Added the Macro tab
> 
> Macros will allow you to perform a string of actions based on a combination of conditions.
> For example this will allow you to only used audio based scene switching if a certain window is currently in focus.
> ...



Read the rest of this update entry...


----------



## Alex-1968 (May 17, 2021)

Thank you *Warmuptill * for creating a very useful and useful plugin.  I am a Russian-speaking user, and it is more convenient for me to use the Russian version of the plugin, which has not yet been available. Now I have made a translation and am sharing with everyone who needs the Russian version of this wonderful plugin. 






Add the ru-RU.ini file from the archive to the folder along the path:
C:\Program Files\obs-studio\data\obs-plugins\advanced-scene-switcher\locale

 Tested on current versions OBS  26.1.1  and 27.0.0 - rc4
Advanced Scene Switcher 1.12


----------



## Warmuptill (May 17, 2021)

Alex-1968 said:


> Thank you *Warmuptill * for creating a very useful and useful plugin.  I am a Russian-speaking user, and it is more convenient for me to use the Russian version of the plugin, which has not yet been available. Now I have made a translation and am sharing with everyone who needs the Russian version of this wonderful plugin.
> 
> 
> 
> ...


Thank you for the kind words!
Would you mind if I integrate your translation into the plugin officially?


----------



## Alex-1968 (May 17, 2021)

*Warmuptill

no, of course, I don’t mind*


----------



## itsyourapp (May 21, 2021)

Hi. This plugin is amazing. I love. Thank you! 

I have 4 scenes that I want to be cycled through randomly. The Random tab takes care of that wonderfully with "if no switch condition is met for 0 seconds switch to any scene in the Random tab". 

Now I want to add one sequence of scenes that can kicked off/triggered. The problem I am having is that no matter how I do (macros, scene groups), the random scene switcher is always fighting with the sequence. 

Is this a user error or a bug?


----------



## Andreas Kronlachner (May 21, 2021)

Hello Warmuptill!

Would it be possible to extend the "Network" feature by following options:
- include the "Preview" scene as well
- select for what scene what role (client/server) is used - e.g. for "Live" scene act as server, for "Preview" scene act as Client

I have a special use case for that in connection with the new Downstream Keyer from Exeldro, bringing in Graphics dynamically via NDI from a separate laptop. Your implementation would then allow on the "Live Production" laptop to show the graphics first in Preview before keying it on. All graphics handling is offloaded to a separate laptop in my setup


----------



## Warmuptill (May 21, 2021)

itsyourapp said:


> Hi. This plugin is amazing. I love. Thank you!
> 
> I have 4 scenes that I want to be cycled through randomly. The Random tab takes care of that wonderfully with "if no switch condition is met for 0 seconds switch to any scene in the Random tab".
> 
> ...


Can you share the settings which are causing you trouble? (Export on the General tab)
Maybe I can spot the issue you are facing.



Andreas Kronlachner said:


> Hello Warmuptill!
> 
> Would it be possible to extend the "Network" feature by following options:
> - include the "Preview" scene as well
> ...


Thanks for the suggestion!
I will look into it.


----------



## ASchneider (May 22, 2021)

Hello @Warmuptill, thank you very much for this great plugin, now with the macro tab, your solution helped me to get rid of 2 other OBS companion software for automating.

I truly believe that 90% of the functions of your plugin could be transferred to the macro tab and work so much better. Since this is just the beginning, I'm using Noobs Commander (OBS Commands) to create bat files with some actions that are still not supported at the moment, but I'm sure eventually it will be added to it :)

I have just one question/suggestion for you, if you don't mind: opening the current logs window, I could see a couple of macros running over and over because of its trigger matches the current scene. For example: mute an audio output when this scene is currently showing. Since I've set it to run every 1000ms, it keeps muting the output audio at every 1 second. I know that it works since the audio is muted over and over but I have a couple of macros that executes a bat file that I just need it to do it once for every trigger. I also understand that audio level triggers should execute every x milliseconds, makes sense, but maybe an "execute once" or automatic identification of actions that only needs to run once would be brilliant. Also, the logs files at the end of my streams are almost 2mb TXT files haha

Do you think that this could be sorted somehow?

Again, thank you very much for your great work!


----------



## ExpertOBS (May 22, 2021)

Hi and thanks for the awesome plugin. Need a little help here. I have all my scenes setup under the media tab to go through 1 -8 scenes, in order. It works great but I frequently need to restart it because it will randomly start switching between ALL random scenes back and forth until I start and stop it several times then randomly it will work and start playing in order from SCENE 1-8  start to end. I dont know what setting it is or what I am doing wrong. Please help as I dont know what setting is causing this or is it a bug?


----------



## Warmuptill (May 22, 2021)

ASchneider said:


> Hello @Warmuptill, thank you very much for this great plugin, now with the macro tab, your solution helped me to get rid of 2 other OBS companion software for automating.
> 
> I truly believe that 90% of the functions of your plugin could be transferred to the macro tab and work so much better. Since this is just the beginning, I'm using Noobs Commander (OBS Commands) to create bat files with some actions that are still not supported at the moment, but I'm sure eventually it will be added to it :)
> 
> ...


Thanks for the suggestions!

>some actions that are still not supported at the moment
I would be very much interested in what additional actions you are looking for, so I can improve the plugin!
(I already implemented actions for scene item visibility, global source en-/disable and filter en-/disable options)

>an "execute once" or automatic identification of actions
Great suggestion.
I plan on supporting additional actions which let you pause (or unpause) macros, which could be useful here.
(So the macro can just disable or "pause" itself once it was run)
I also already implemented the "interval" condition which lets you control how often a macro is able to be triggered.

>Also, the logs files at the end of my streams are almost 2mb TXT files haha
Good point :)
I will try to reduce the logging a bit more when not running in verbose mode.

If you want to give the above mentioned features a try you can choose any recent build on GitHub from the master branch.
But these might of course still contain some bugs as they are still under development.



ExpertOBS said:


> Hi and thanks for the awesome plugin. Need a little help here. I have all my scenes setup under the media tab to go through 1 -8 scenes, in order. It works great but I frequently need to restart it because it will randomly start switching between ALL random scenes back and forth until I start and stop it several times then randomly it will work and start playing in order from SCENE 1-8  start to end. I dont know what setting it is or what I am doing wrong. Please help as I dont know what setting is causing this or is it a bug?


I think the state "Played to End" might work better here.

I think what is happening in the "error" case is that multiple media sources are in the state "ended" at the same time.
Then once the plugin switches to a specified scene the playback for the media source is started again - meaning the condition is which lead to this scene change is no longer true and the next one in the list is checked.
This will trigger another scene switch.
This in turn might lead to the playback that was started by the previous scene switch to end once again.
And this finally results in a loop of seemingly random scene switches.

Let me know if this works!


----------



## ExpertOBS (May 22, 2021)

Warmuptill said:


> Thanks for the suggestions!
> 
> >some actions that are still not supported at the moment
> I would be very much interested in what additional actions you are looking for, so I can improve the plugin!
> ...


Thank you I will try this!


----------



## ExpertOBS (May 22, 2021)

> I think the state "Played to End" might work better here.
> 
> I think what is happening in the "error" case is that multiple media sources are in the state "ended" at the same time.
> Then once the plugin switches to a specified scene the playback for the media source is started again - meaning the condition is which lead to this scene change is no longer true and the next one in the list is checked.
> ...


Think it did solve the issue. Thanks so much!


----------



## itsyourapp (May 22, 2021)

Warmuptill said:


> Can you share the settings which are causing you trouble? (Export on the General tab)
> Maybe I can spot the issue you are facing.
> 
> 
> ...


Great thanks! What happens on a fresh launch with the attached export is that it correctly randomly cycles through the three scenes in the random list. Then I manually cue the Empty scene (which is programmed to trigger the sequence after 3 seconds). After 3 seconds the first scene in the sequence is triggered, great. It plays and as soon as it is finished, it continues to the second (and final) scene of the sequence (which I want to play indefinitely), at which point the scenes from the random list rapidly cycle through about one every second, jumping around quickly and creating a very visually overwhelming disturbance. Then the plugin is in a broken state. If I stop the plugin, manually cue up a scene from the random list, and start the plugin again, it still randomly cycles one scene per second. I have to restart OBS for the random sequences to work again.


----------



## Warmuptill (May 22, 2021)

itsyourapp said:


> Great thanks! What happens on a fresh launch with the attached export is that it correctly randomly cycles through the three scenes in the random list. Then I manually cue the Empty scene (which is programmed to trigger the sequence after 3 seconds). After 3 seconds the first scene in the sequence is triggered, great. It plays and as soon as it is finished, it continues to the second (and final) scene of the sequence (which I want to play indefinitely), at which point the scenes from the random list rapidly cycle through about one every second, jumping around quickly and creating a very visually overwhelming disturbance. Then the plugin is in a broken state. If I stop the plugin, manually cue up a scene from the random list, and start the plugin again, it still randomly cycles one scene per second. I have to restart OBS for the random sequences to work again.


That was indeed a bug in the random tab's behaviour - thanks for pointing it out.

You can find a build which includes a fix here in a few minutes:








						Fix rapid scene switches by random tab · WarmUpTill/SceneSwitcher@a8c4b1c
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				



(You will have to be logged into GitHub to be able to download it - let me know if that should be an issue)

Let me know if everything works as expected with the fixed build!


----------



## Warmuptill (May 22, 2021)

ASchneider said:


> Hello @Warmuptill, thank you very much for this great plugin, now with the macro tab, your solution helped me to get rid of 2 other OBS companion software for automating.
> 
> I truly believe that 90% of the functions of your plugin could be transferred to the macro tab and work so much better. Since this is just the beginning, I'm using Noobs Commander (OBS Commands) to create bat files with some actions that are still not supported at the moment, but I'm sure eventually it will be added to it :)
> 
> ...



I now implemented the previously mentioned features.

Reduced logging in non-verbose mode
Add option to pause individual macros
Add macro action to pause macros
Add the interval macro condition
Example screenshot:





You can find a build containing these features here in a few minutes:








						Macro pause · WarmUpTill/SceneSwitcher@e08fbc2
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				



(You need to be logged into GitHub to be able to download it)

Feedback would be appreciated! :)


----------



## ASchneider (May 22, 2021)

Warmuptill said:


> I now implemented the previously mentioned features.
> 
> Reduced logging in non-verbose mode
> Add option to pause individual macros
> ...


Hello again sir!

Wow, just wow haha

I'll take it for a quick test drive and let you know, for sure.

Since I use LioranBoard, these are the ideas I had as suggestions for your plugin:

1. Text sources: use it on both trigger and action, so we could read (globally) a text source so if it matches some text, do something. On the action side, would be nice to change text sources.
2. Multiple trigger organization: I'm not really sure how AND and OR work here. How does the next OR, having an AND works? Like a parentheses on a mathematical equation, you could group those AND and OR for a better understanding and result.
3. Audio source trigger: being able to set audio status like muted/unmuted (globally) as trigger
4. Source/Scene filter trigger: same as the above (globally) but with filters visibility.
5. Wait/delay: does those actions stop when the trigger no longe matches the current scene?
6. Pause, stop, next/previous tracks: being able to do these actions on media sources, like VNC speacilly.
7. Variables: now that's a bit too much, maybe haha but being able to create and update local variables to use on other trigger or action settings would be nice. Again, I use LioranBoard and it is a much complex and suitable software for those kinds of things.

I really think your plugin is one of the most powerful ones available now, specially when you added the idea of MACROS, this is just awesome! Again, I think that more than 90% of the other tabs can be done only in the macro one and, going forward, it could be something of a LioranBoard killer for most people.

On last thought: maybe this plugin should be called OBS MACROS hahaha

Thank you very much for your work here, just amazing. Have a great day!


----------



## ASchneider (May 22, 2021)

Sorry, one last suggestion: Delete/change order of any actions/trigger: I think it is only possible to remove the last trigger/action, it would be nice to be able to dele anything in between, also changing its orders.


----------



## ASchneider (May 22, 2021)

Hello @Warmuptill, sorry to bother you but I ran into some problems while using the beta version. I've set the macro to disable a global source and after that, the VLC source in this case, was having problems. The source was enabled (manually) but the audio meters were not showing anything, very weird. I've set it to monitor and nothing. I have a source mirror that uses this VLC source to apply some filters on other scenes, the audio coming from that source mirror was OK (very odd). I had to create another quick macro to set it to enable that global source (VLC) and then it started showing something in the audio meter and playing sounds. Also, enabling and disabling some sources globally are not working for me.

It seems that your plugin is actually disabling a global source not showing in the UI. Here's an example:





Musicas - In game is a source mirror from Musicas (other scene). You can see the Musicas audio meter showing something but not the source mirror (musicas - in game). I've set a macro to disable the "Musicas - in game" and it did, but it does not shows in the UI (you can still see the eye icon on it).

Thanks.


----------



## ASchneider (May 22, 2021)

Hello again :)

Another feedback: I've set a couple of macros to pause each other at the end so it could act as a switch, to only run it once, like we had discussed before. This could work but a much better solution would be to have an option to "only run it once". That would help a lot to avoid errors when something happens and because of a sequence error, the switch doesn't work anymore.

Thanks.


----------



## itsyourapp (May 23, 2021)

Warmuptill said:


> That was indeed a bug in the random tab's behaviour - thanks for pointing it out.
> 
> You can find a build which includes a fix here in a few minutes:
> 
> ...


That does seem to fix it the quick cycling. However once it gets to the final scene in the sequence the Randomizer takes over. That might be a feature not a bug. How do I have it stay on the final scene indefinitely so the randomizer does not take over?


----------



## Warmuptill (May 23, 2021)

itsyourapp said:


> That does seem to fix it the quick cycling. However once it gets to the final scene in the sequence the Randomizer takes over. That might be a feature not a bug. How do I have it stay on the final scene indefinitely so the randomizer does not take over?


That is indeed intended.
You could just "Pause" the scene switcher while on that scene. (See "Pause" tab)


----------



## Warmuptill (May 23, 2021)

ASchneider said:


> Hello again sir!
> 
> Wow, just wow haha
> 
> ...


Thank you so much for the many suggestions and your feedback!
I really do appreciate it a lot! :)

>Multiple trigger organization
I agree, visually it could definitely be improved. I am just not sure how, yet.
At the moment the order of operations will be the following assuming you have 4 conditions and they are linked with "and", "and not" and "or":
`((((Condition 0) && (Condition 1)) && (!(Condition 2))) || (Condition 3))`

>Audio source trigger
I think I might have implemented that already as part of the version you tried, by allowing you to control the master volume in the audio action.

>Source/Scene filter trigger
Scene visibility and hiding filters per source is part of the test build, but I assume you want to disable "all filter with name abc" and "all item in scene 123" at once right?

>Wait/delay
No, it is just a simple wait for now.
The whole plugin goes to sleep during this time.
Good suggestion, but might be a bit complicated to implement.

>Pause, stop, next/previous tracks
Media source actions were already implemented but on a different branch.
I merged it into the pause-branch in case you want to give it a try:








						Macro pause · WarmUpTill/SceneSwitcher@e08fbc2
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				




>Variables
That seems very advanced indeed.
I will keep it in mind, but I doubt that I will introduce it any time soon ;)

>Delete/change order of any actions/trigger
Good suggestion - That is already on the todo list.

>I've set the macro to disable a global source
I think that behavior is intended from the point of view of the OBS API - I will see if there is a API call more fitting.
Just to clarify: What would you have expected to happen? (Audio, video and UI)
Would the scene visibility action maybe be more suited to this particular case?

>This could work but a much better solution would be to have an option to "only run it once"
What do you think about adding a "count" condition, which limits how often a macro can be run?
I agree that the current pause action is a bit more complicated to set up, but at the same time it should also be more powerful.
(There should be no harm in having multiple ways to achieve this besides UI clutter ;))


----------



## Warmuptill (May 23, 2021)

Andreas Kronlachner said:


> Hello Warmuptill!
> 
> Would it be possible to extend the "Network" feature by following options:
> - include the "Preview" scene as well
> ...


I now implemented the first feature of adding an option to synchronize the preview scene also.
You can find a test build here in a few minutes:








						Network tab preview scene · WarmUpTill/SceneSwitcher@2872214
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				



(You need to be logged into GitHub to be able to download it)




The feature regarding client / server role selection per scene will take a bit more time and I am not yet sure when I will get around to it.


----------



## ASchneider (May 23, 2021)

Warmuptill said:


> Thank you so much for the many suggestions and your feedback!
> I really do appreciate it a lot! :)
> 
> >Multiple trigger organization
> ...


Hello again :)

No worries, when I find something really cool and useful like this, I feel the need to help as much as possible, since you had put so much effort and work on this, this is the least I could do :)

Did you liked the first suggestion about Text GDI sources? That would be really useful if able to read a global source as a trigger or change text to any other sources. For example: If set the name of the game in the "starting soon" scene, OBS could change to the correct game overlay automatically in the "playing" scene. Even a per-scene voice control could be done using the closed caption plugin haha

About the "Source/Scene filter trigger" the idea is to be able to check any source if it is visible or not as a trigger. So a trigger would be: IF SOURCE something is ENABLED (globally). This would help as a condition to check if something elsewhere is hidden or not, to start the macro.

About the "I've set the macro to disable a global source" I was not able to express myself correctly, sorry. There's a problem (beta) when you set an action to hide/enable (same as visibility, right?) a source, if set it to a media player, for example, the music stops as the source is disabled but in the source list it keeps showing as visible (eye icon). I could not make it to play again, even switching the eye icon off and on again, I thought something broke here because that's not how OBS works, but I've managed to fix it by creating a temporary macro that just enables this media source again and it started to play again. So it seems that your plugin is disabling the source in the background in a way that is not possible to control it anymore in the user interface.

About the "only run it once" I totally agree that adding buttons everywhere would just clutter the user interface. I think a "count" condition would work just fine! I'm just not sure when this status is reseted? When the scenes changes or the conditions of the macro are again matched in the same scene?

Thank you very much for all explanations and effort in making this, possibly, the most powerful OBS plugin ever :)


----------



## itsyourapp (May 23, 2021)

Warmuptill said:


> That is indeed intended.
> You could just "Pause" the scene switcher while on that scene. (See "Pause" tab)


Works great. I'm all set. Great tool and thank you!


----------



## Warmuptill (May 23, 2021)

ASchneider said:


> Hello again :)
> 
> No worries, when I find something really cool and useful like this, I feel the need to help as much as possible, since you had put so much effort and work on this, this is the least I could do :)
> 
> ...


>Did you liked the first suggestion about Text GDI sources?
Sounds interesting.
I will have to check how easy / difficult it will be to implement as I have never interacted with text sources before.

>About the "Source/Scene filter trigger"
Ah I see. By "enabled globally" you mean if the source is visible / hearable at the moment?
So probably this API:

```
bool obs_source_active(const obs_source_t *source)
Returns
true if active, false if not.
A source is only considered active if it’s being shown on the final mix
```

>action to hide/enable (same as visibility, right?) a source
It is not the same.

What you are looking for is probably scene visibility. (If you can think of a better name let me know)
This will also change the status of the "eye" symbol as you would expect.

Maybe I should add a warning that disabling sources cannot be undone via the UI of OBS.

>I'm just not sure when this status is reseted?
For now I would just add a button to reset the counter.
In future I might add a separate action to control counters of individual macros.


----------



## ASchneider (May 23, 2021)

Warmuptill said:


> >Did you liked the first suggestion about Text GDI sources?
> Sounds interesting.
> I will have to check how easy / difficult it will be to implement as I have never interacted with text sources before.
> 
> ...


Hello @Warmuptill!

Ok, got it, so hide sources is not the same as source visibility. I'm trying to use it but choosing the desired scene visibility scene, I'm unable to select the group I intent to hide its visibility. Is that correct? I can all other sources there, except the group one.

Thanks.


----------



## ASchneider (May 23, 2021)

Hello again, after some tests, it seems that I can now select the sources from inside that group if I collapse it (click to show all sources from that group) but not the group source itself. Not sure if this is intended but if I close the group on the scene sources, they don't show in your plugin to select them anymore, neither the group source itself.

Group closed:




Group opened:


----------



## ASchneider (May 23, 2021)

Also, scene visibility is not working for me...





It does pause the current macro as set by the end of the macro so it is triggering. Not sure why source is not hidding.

Thanks.


----------



## Warmuptill (May 24, 2021)

ASchneider said:


> Also, scene visibility is not working for me...
> 
> View attachment 71464
> 
> ...


Sorry about this and thank you for the tests and investigation!
I had only tested without these scene groups. (I didn't even know this feature existed to be honest)

I have fixed this behaviour and also allowed groups to be selected as the target of the scene visibility action.
You can find a build here in a few minutes:









						Fix visibility of scene items in groups not changing · WarmUpTill/SceneSwitcher@2b1ee33
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com


----------



## Andreas Kronlachner (May 24, 2021)

Warmuptill said:


> I now implemented the first feature of adding an option to synchronize the preview scene also.
> You can find a test build here in a few minutes:
> 
> 
> ...



Hello Warumtill!

Did intensive tests today and it works fine! Thanks for the quick implementation! However double click automatically also switches the scene on my "Live Production" laptop so I have to be really careful :-)

Regarding the client / server role selection: It was initially not meant per scene - just in general for all scenes - so your checkbox solution is perfectly well but it should work and be named "Synchronize ONLY preview scene when running in Studio mode"

Hope this is just a few lines of code in your business logic, or is it more complicated?

Kind regards
Andreas


----------



## Warmuptill (May 24, 2021)

Andreas Kronlachner said:


> Hello Warumtill!
> 
> Did intensive tests today and it works fine! Thanks for the quick implementation! However double click automatically also switches the scene on my "Live Production" laptop so I have to be really careful :-)
> 
> ...


I now added the option to not send scene change messages.




A build will be available here in a few minutes:








						Network tab preview scene · WarmUpTill/SceneSwitcher@f6049e0
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com


----------



## ASchneider (May 24, 2021)

Warmuptill said:


> Sorry about this and thank you for the tests and investigation!
> I had only tested without these scene groups. (I didn't even know this feature existed to be honest)
> 
> I have fixed this behaviour and also allowed groups to be selected as the target of the scene visibility action.
> ...


Thank you very much! I've tested and it works perfectly, amazing. Have a great day!


----------



## ASchneider (May 24, 2021)

Hello @Warmuptill, I think I've another bug: every time I restart OBS, pause settings are restored to "--select macro--".




Thanks.


----------



## Warmuptill (May 24, 2021)

ASchneider said:


> Hello @Warmuptill, I think I've another bug: every time I restart OBS, pause settings are restored to "--select macro--".
> 
> View attachment 71492
> Thanks.


Thanks! :)
That is fixed already.
(Macros were not yet all loaded while the references to other macros were set)

A build with a fix and also the count feature I mentioned is available here:








						Macro count · WarmUpTill/SceneSwitcher@cc901b4
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				




Note that I also reworked the pause action slightly and combined it with the counter reset action.
(The action entry is now named "Macro" - old pause actions will not be loaded)


----------



## ASchneider (May 24, 2021)

Warmuptill said:


> Thanks! :)
> That is fixed already.
> (Macros were not yet all loaded while the references to other macros were set)
> 
> ...


Hello!

Amazing, I really liked how you have implemented the count feature, really nice. I see that it resets itself after OBS restarts, wouldn't it be nice to reset itself after Advanced Scene Switcher restarts too (stop and starts again)?

Also, it seems that the problem with selection groups has returned :)

*

*

Maybe you missed the built that you had it fixed before...

Thanks a lot!


----------



## Warmuptill (May 24, 2021)

ASchneider said:


> Hello!
> 
> Amazing, I really liked how you have implemented the count feature, really nice. I see that it resets itself after OBS restarts, wouldn't it be nice to reset itself after Advanced Scene Switcher restarts too (stop and starts again)?
> 
> ...


>wouldn't it be nice to reset itself after Advanced Scene Switcher restarts too (stop and starts again)?
Good idea! I will add it to the todo list.

>Also, it seems that the problem with selection groups has returned
I am using different branches for development of the different features and fixes.
This particular branch was created when the source selection changes were not yet merged to the master branch.
So this is expected - I should have mentioned that, but I simply had not thought of it.
But thanks for noticing and pointing it out! :)

I started a build containing the count feature based on the latest state of the master branch in case you need it:








						Macro count · WarmUpTill/SceneSwitcher@1ac8a45
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com


----------



## ASchneider (May 24, 2021)

Warmuptill said:


> >wouldn't it be nice to reset itself after Advanced Scene Switcher restarts too (stop and starts again)?
> Good idea! I will add it to the todo list.
> 
> >Also, it seems that the problem with selection groups has returned
> ...


Thank you! I'll give it a try as soon as it is ready. I was wondering: would it be possible to have an action to stop the plugin entirely? I have a macro that is used on the last scene, when I finish my stream, to stop streaming/recording after 2 minutes of showing the last scene and it would be nice to stop Advanced Scene Switcher after that, so I could go trough the scenes that has triggers and change something if needed without having the plugin doing anything.


----------



## ASchneider (May 24, 2021)

Ok, so the latest beta is great, both groups and macros are now functioning as it should :)

I was thinking about the source and scene visibility actions: not sure how disabling a source would help, since you cannot control it using OBS UI, comparing to the current scene visibility. Don't you think it might confuse people and cause more problems than help?

Also, not sure if scene visibility is the best name, since it only changes sources. Maybe just calling "source visibility" would be more clear to understand :)

Another small suggestion: as you can see on my latest screen grab, would it be possible to sort the sources the same way it is shown on the source list? That would help to find what source you need to set if you have many items and you had them organized it before.





Now it shows the list in reverse, as you can see in the image.

Thanks!


----------



## Andreas Kronlachner (May 25, 2021)

Thanj


Warmuptill said:


> I now added the option to not send scene change messages.
> View attachment 71483
> A build will be available here in a few minutes:
> 
> ...


Thanks Warmuptill! This eases my graphics handling and monitoring tremendously. Looking forward to your next functional enhancements! Andreas


----------



## Warmuptill (May 27, 2021)

ASchneider said:


> Ok, so the latest beta is great, both groups and macros are now functioning as it should :)
> 
> I was thinking about the source and scene visibility actions: not sure how disabling a source would help, since you cannot control it using OBS UI, comparing to the current scene visibility. Don't you think it might confuse people and cause more problems than help?
> 
> ...



>I was thinking about the source and scene visibility actions: not sure how disabling a source would help, since you cannot control it using OBS UI, comparing to the current scene visibility. Don't you think it might confuse people and cause more problems than help?

I thought it might be useful if one would want to disable a source on every single scene, but I do agree that it might confuse people.
For now I added a warning clearly stating that disabling a source globally cannot be controlled via the regular OBS UI.

>Also, not sure if scene visibility is the best name, since it only changes sources. Maybe just calling "source visibility" would be more clear to understand :)

What about "scene item visibility"? (The name used in the API)

>Another small suggestion: as you can see on my latest screen grab, would it be possible to sort the sources the same way it is shown on the source list? That would help to find what source you need to set if you have many items and you had them organized it before.

Good point. This is stems from the way I am enumerating through the different sources.
I resorted to just sorting it alphabetically as even the using the order of sources might become confusing with a lot of sources.


I now implemented the source activity, visibility and settings conditions as well as the macro action to stop the plugin.
(Sorry that it took me so long to get around to it)





A build will be available here in a few minutes:








						Test build · WarmUpTill/SceneSwitcher@e8f42ca
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				




Let me know if it works as expected and what you think, if you should get the chance to give it a try! :)


----------



## ASchneider (May 27, 2021)

Warmuptill said:


> >I was thinking about the source and scene visibility actions: not sure how disabling a source would help, since you cannot control it using OBS UI, comparing to the current scene visibility. Don't you think it might confuse people and cause more problems than help?
> 
> I thought it might be useful if one would want to disable a source on every single scene, but I do agree that it might confuse people.
> For now I added a warning clearly stating that disabling a source globally cannot be controlled via the regular OBS UI.
> ...


Hello again! Amazing stuff, thank you very much

>What about "scene item visibility"? (The name used in the API)

Great! I really like it :)

I'll take a look at the new source trigger, everything else looks excellent.

I was wondering: I've tried on of your latest built test from a couple of days ago and it seems that macro actions (pause/unpause) were again not saving... Have you merged all of those fixes that we had talked before in your latest beta built? https://github.com/WarmUpTill/SceneSwitcher/actions/runs/883337651

Thank you!


----------



## ASchneider (May 27, 2021)

Wow, now this is just amazing hahah




It would be great to have the source action to be able to write its JSON paramentes, just like the trigger could read it, I could change text, fonts or anything else in any source. If that's possible, now source actions makes sense for me haha

I can see that some drop-down lists are now showing in alphabetical order, it helped a lot to find the source I needed, but some other lists are not, just to let you know.

I think this build is now saving macro actions settings :)

Great job! The next final version will be a great upgrade from the last one, so many new features. My final suggestion would be to have trigger/action sorting/deleting and that's a wrap haha

Thank you!


----------



## ASchneider (May 28, 2021)

Ok... I was trying to create a macro that changes my webcam position based on the mouse cursor position (half screen left/right) and was not possible because the move filter was in the scene item haha





It would be great to see scene filters here.

Thanks.


----------



## rusty1 (May 28, 2021)

I am using the Advanced Scene Switcher to do two main tasks...

1) I created a random switcher on a timer. Every twelve seconds it cuts to a different scene within the same scene group. This is like an auto-pilot editing mode. I assigned hotkeys for turning on and off the Advanced Scene Switcher, so that I can have manual control over scene switching when I want it.

2)  I'm also using the Advanced Scene Switcher for its ability to switch back to the previous scene when media ends. So, I trigger a scene change that plays a video, and when that video finishes it automatically returns to the previous scene.

But there is one thing I can't figure out. I want to be able to turn on and off the random switcher, but I want to keep the media-state triggers always active. Right now, it's all or nothing. If I turn off the Advanced Scene Switcher to disable the random switcher, then I lose my media-triggers too. 

Is there a boolean variable I can use as a conditional to toggle on and off some features, while keeping other features on at all times?


----------



## rusty1 (May 28, 2021)

rusty1 said:


> I am using the Advanced Scene Switcher to do two main tasks...
> 
> 1) I created a random switcher on a timer. Every twelve seconds it cuts to a different scene within the same scene group. This is like an auto-pilot editing mode. I assigned hotkeys for turning on and off the Advanced Scene Switcher, so that I can have manual control over scene switching when I want it.
> 
> ...


----------



## Warmuptill (May 28, 2021)

ASchneider said:


> Hello again! Amazing stuff, thank you very much
> 
> >What about "scene item visibility"? (The name used in the API)
> 
> ...


>I've tried on of your latest built test from a couple of days ago and it seems that macro actions (pause/unpause) were again not saving

The test build provided yesterday should have "everything", so if you do encounter issues please let me know!

>It would be great to have the source action to be able to write its JSON paramentes, just like the trigger could read it, I could change text, fonts or anything else in any source.

That is on the todo list already :)
I might get around to that later today.

>I can see that some drop-down lists are now showing in alphabetical order, it helped a lot to find the source I needed, but some other lists are not, just to let you know.

You are right - it probably makes sense to apply this to all selections.

>It would be great to see scene filters here.

Makes sense - didn't even occur to me that this is possible. :D
I will look into it!


rusty1 said:


> I am using the Advanced Scene Switcher to do two main tasks...
> 
> 1) I created a random switcher on a timer. Every twelve seconds it cuts to a different scene within the same scene group. This is like an auto-pilot editing mode. I assigned hotkeys for turning on and off the Advanced Scene Switcher, so that I can have manual control over scene switching when I want it.
> 
> ...


I am not sure if there is a good way to achieve what you are looking for. (Controlling individual switching methods via Hotkeys)
You could maybe achieve something similar, if you instead of stopping the plugin completely via a hotkey instead switch to a scene contniously triggering a scene change to itself.

But that is a good suggestion I might introduce for the macro tab.
Registering a hotkey to pause each macro.


----------



## rusty1 (May 28, 2021)

Thank you, I'll give the continuous triggering a scene change to itself a try. Hot keys for pausing each macro would be very cool. It's almost like I wish I could run two separate instances of the Advanced Scene Switcher, each with its own on-off control.


----------



## ASchneider (May 28, 2021)

Warmuptill said:


> >I've tried on of your latest built test from a couple of days ago and it seems that macro actions (pause/unpause) were again not saving
> 
> The test build provided yesterday should have "everything", so if you do encounter issues please let me know!
> 
> ...


Thanks again!

I was thinking of how to show and edit source attributes (JSON). What do you think of something like this?





Not sure if all fields are visible for all sorts of sources but maybe it could start as blank, when you click on "Get current settings" this GUI/boxes could show up with the current fields and its attributes. If nothing is set, just the field on the left and then a blank darker box on the right, so you could set what ever you need. Maybe another checkbox to "show empty" would show empty fields, to avoid clutter.

I'm thinking of a "regular" user trying to understand JSON code for the first time and not knowing what to do or messing something up with the code.

Anyways, just a simpler way to show a JSON code as an easy graphic interface :)

This could be used on both trigger and action, maybe.

Thanks!


----------



## Warmuptill (May 28, 2021)

ASchneider said:


> Thanks again!
> 
> I was thinking of how to show and edit source attributes (JSON). What do you think of something like this?
> 
> ...


Good suggestion, but might be a lot of work.
I will look into it. (Maybe I can reuse the OBS properties selection somehow)

For now I would just leave it as a textbox.

A build with your previous suggestions will be available here in a few minutes:








						Test build · WarmUpTill/SceneSwitcher@730427e
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				




Added settings modification option to macro action "source"
Sort (most) selection fields alphabetically
Add scenes to "filter" action
Some bug fixes


----------



## ASchneider (May 28, 2021)

Warmuptill said:


> Good suggestion, but might be a lot of work.
> I will look into it. (Maybe I can reuse the OBS properties selection somehow)
> 
> For now I would just leave it as a textbox.
> ...


Hello!

I'm giving the latest beta a spin.

Not sure if that many "select filter" should be there :)





It seems that it is not saving its correct settings there as well.

Also, not sure if this trigger (Screen region) could had a "for x seconds"





Thanks!


----------



## ASchneider (May 28, 2021)

So this is what I want to achieve :)









						Streamable Video
					

Watch this video on Streamable.




					streamable.com
				




It would be nice to have this trigger only reacts for X amount of seconds on that spot.

Thank you very much @Warmuptill


----------



## Warmuptill (May 28, 2021)

ASchneider said:


> Hello!
> 
> I'm giving the latest beta a spin.
> 
> ...



>Not sure if that many "select filter" should be there :)
Good find! Fixed.








						Test build · WarmUpTill/SceneSwitcher@a8e35b7
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				



(The problem also applied to scene items.)

>It would be nice to have this trigger only reacts for X amount of seconds on that spot.
I feel like a more general approach might be in order.
I keep adding the source selection to almost all condition types.
What do you think about adding the duration as a generic option to every condition type like so?








rusty1 said:


> Thank you, I'll give the continuous triggering a scene change to itself a try. Hot keys for pausing each macro would be very cool. It's almost like I wish I could run two separate instances of the Advanced Scene Switcher, each with its own on-off control.


A build supporting hotkeys to un-/pause each macro will be available here in a few minutes:








						Add option to un-/pause macros using hotkeys · WarmUpTill/SceneSwitcher@d386799
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				



(You need to be logged into GitHub to be able to download it)
Let me know if you run into any issues!


----------



## ASchneider (May 28, 2021)

Warmuptill said:


> >Not sure if that many "select filter" should be there :)
> Good find! Fixed.
> 
> 
> ...


Hello!

>What do you think about adding the duration as a generic option to every condition type like so?
I love it :)

I'll download and test the latest built. I see that you have a couple of new builds named "cleanup", are those compiled with all of the changes from above?

Thanks!


----------



## ASchneider (May 29, 2021)

Hello @Warmuptill. I was wondering: do you want to continue our beta testing on the issues system from your GitHub project? Maybe it would be better for you to track everything and merge new builds.

I was testing the latest built and not sure if the conditions OR AND are working for me.

Thanks.


----------



## Warmuptill (May 29, 2021)

ASchneider said:


> Hello @Warmuptill. I was wondering: do you want to continue our beta testing on the issues system from your GitHub project? Maybe it would be better for you to track everything and merge new builds.
> 
> I was testing the latest built and not sure if the conditions OR AND are working for me.
> 
> Thanks.


Whatever you prefer - I am thankful for any testing support I can get! :)
Please provide a log file with verbose logging enabled and the settings you are using to reproduce the issue.


----------



## ASchneider (May 29, 2021)

Warmuptill said:


> Whatever you prefer - I am thankful for any testing support I can get! :)
> Please provide a log file with verbose logging enabled and the settings you are using to reproduce the issue.


Got it. I've created an issue so you can better track it :)


----------



## Warmuptill (May 30, 2021)

ASchneider said:


> Hello!
> 
> >What do you think about adding the duration as a generic option to every condition type like so?
> I love it :)
> ...


I now implemented the generic time constraint for each macro condition.



A fist build will be available here in a few minutes (all fixes should be included):








						Macro duration · WarmUpTill/SceneSwitcher@8507941
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				



Let me know what you think! :)


----------



## ASchneider (May 30, 2021)

Warmuptill said:


> I now implemented the generic time constraint for each macro condition.
> View attachment 71653
> A fist build will be available here in a few minutes (all fixes should be included):
> 
> ...


Hello!

It works flawlessly, thank you!

Here's an example:









						Streamable Video
					

Watch this video on Streamable.




					streamable.com


----------



## manoiese (May 31, 2021)

is there likely to put an *endif* in the file section? it would help a lot to return for a scene.


----------



## manoiese (May 31, 2021)

any probability of putting (previous scene) in General Behavior?


----------



## lowkeyripper (Jun 1, 2021)

Hello,

I am wondering if it is currently possible to switch to a scene based off of being in game capture?
I have a lot of specific scenes for niche uses (e.g. using .exe switchers to go for various scenes), but now that I am experimenting playing different games I notice that I often forget to toggle the scene properly because I am too lazy and forgetful to do so haha.

A concrete example would be like...
I set up A.exe --> switch to Gaming scene
I play Game A.
I close game A and I start playing Game B.
I swap to the Gaming scene manually.
I alt-tab to chrome, chrome.exe triggers and switches to chrome scene.
I alt-tab back to Game B but it doesnt load....because nothing is set up.
I close Game B and go play Game C ....same deal.

I'd love to have some kind of "if in borderless fullscreen or full screen mode, switch to Gaming scene" or something similar.
I do have a Streamdeck and I do have the potential to use hotkey to focus on the foreground window. Is there a way to automate the two so that it'd function the same has having an automatic scene switcher? Hopefully what I said made sense, I can try to explain this all better.


----------



## ASchneider (Jun 1, 2021)

lowkeyripper said:


> Hello,
> 
> I am wondering if it is currently possible to switch to a scene based off of being in game capture?
> I have a lot of specific scenes for niche uses (e.g. using .exe switchers to go for various scenes), but now that I am experimenting playing different games I notice that I often forget to toggle the scene properly because I am too lazy and forgetful to do so haha.
> ...


Hey there!

Have you checked the great Source trigger settings options? You could use the "window" parameter as a trigger for a specific game you are playing, like this:





It works the same way with any source, as long as you can identify what you need inside the JSON parameters.


----------



## Warmuptill (Jun 1, 2021)

manoiese said:


> is there likely to put an *endif* in the file section? it would help a lot to return for a scene.


Can you elaborate on that or give an example of what you are trying to achieve?



manoiese said:


> any probability of putting (previous scene) in General Behavior?


You are referring to the "if no switch condition is met ..." option right?
If so I don't think this would achieve desirable effects.
The problem with this would be that it would cause the plugin to continuously switch back and forth between the last two scenes.
Assuming you are currently on scene "A" and the previous scene was scene "B" and no switch condition is met the following would occur:

Scene switcher switches to scene B and sets previous scene to scene A
Scene switcher goes to sleep
Scene switcher switches to scene A and sets previous scene to scene B
Scene switches goes to sleep
Go to step 1.



lowkeyripper said:


> Hello,
> 
> I am wondering if it is currently possible to switch to a scene based off of being in game capture?
> I have a lot of specific scenes for niche uses (e.g. using .exe switchers to go for various scenes), but now that I am experimenting playing different games I notice that I often forget to toggle the scene properly because I am too lazy and forgetful to do so haha.
> ...



You have multiple options to achieve what you are looking for.
You could either set up a macro to switch to the gaming scene if *any* window that is fullscreen is in the foreground (focus) by using something like this:



In this case the ".*" is a regular expression meaning use any symbol (".") any number of times ("*").

Alternatively you could just provide multiple specific window title conditions and combine them with "OR" like so:




To automatically switch to the scene showing the browser you could use the "process" condition as it is independent of the window title.
(Usually the window title of the browser changes when you visit different websites)




If you want you can even extend the macro for the browser source to not apply if the game windows are currently open.

I hope that helps.
If you need more examples or support in setting this up feel free to send me a message! :)


----------



## siambkbgr (Jun 3, 2021)

The plug-in is great.
I use the screen region for switching. I wish for the switcher to wait until clicking on the region to switch. Is it possible?


----------



## Warmuptill (Jun 3, 2021)

siambkbgr said:


> The plug-in is great.
> I use the screen region for switching. I wish for the switcher to wait until clicking on the region to switch. Is it possible?


Unfortunately right now it is not possible.
But it is a good suggestion - I will add it to the todo list and look into it.
Thanks!


----------



## Warmuptill (Jun 5, 2021)

Warmuptill updated Advanced Scene Switcher with a new update entry:

Extend macro functionality



> The main focus of this update was to extend the capabilities of the macro tab.
> Additions:
> 
> Macro actions:
> ...



Read the rest of this update entry...


----------



## BarrySDCA (Jun 5, 2021)

Is switching by time working?  I've been using this for a while with the "sequence" functions.  Now I added 4 settings to also switch by time, but they don't do anything.  Using OBS on Ubuntu 27.0.0.  Thank you


----------



## snss (Jun 6, 2021)

@*Warmuptill: *1. Can you include an update mechanism directly into the plugin to make easier the update process? 2. Can you put somewhere the version of the plugin? For these two I would like to suggest a new tab called for example About&Update. 
As always, great work!
Thank you.


----------



## Warmuptill (Jun 6, 2021)

BarrySDCA said:


> Is switching by time working?  I've been using this for a while with the "sequence" functions.  Now I added 4 settings to also switch by time, but they don't do anything.  Using OBS on Ubuntu 27.0.0.  Thank you


Can you give an example of what you are trying to achieve and share your current settings?
(Have you adjusted the priority of the different switching methods accordingly?)



snss said:


> @*Warmuptill: *1. Can you include an update mechanism directly into the plugin to make easier the update process? 2. Can you put somewhere the version of the plugin? For these two I would like to suggest a new tab called for example About&Update.
> As always, great work!
> Thank you.


Thanks for the suggestion!
I will look into it.


----------



## Yokondo (Jun 7, 2021)

Hi, awesome plug in, i found some things could help:

on this windows could be a fixed size of popup, and add a scroll, cause i couldn't scroll to the lower rows:





Also, could be a random group of stingers, and on each of theese secuences, or any criteria, select the random stinger group:





Thanks for the devv duude.


----------



## Bairespm (Jun 7, 2021)

@*Warmuptill*

gracias por la aplicación es genial, hay algunas partes que funcionan y otras que no, detalle
1.- MACRO
Intente ejecutar un programa con una escena y se ejecuta sin parar, lo abre una y otra vez sin cesar. Imagen adjunta
 2.- MACRO
Tengo 3 escenas
a) host 1box
b) invitado 1box
c) ambos 2box

Creo una macro que al pasar 12 minutos cambia a la escena comercial

el problema es que solo deja los siguientes condicionales
-y
-o
-y no
-o no

y necesito uno que permita si entre las 3 escenas llegan a los 12 minutos entonces cambian a escena comercial

usando "y" agregue a) + b) + c) entonces 12 + 12 + 12
usando "o"
si a) tienes 12 minutos
o si b) tiene 12 minutos
o si c) tiene 12 minutos

Pero qué pasa si cambio entre esas tres escenas en la transmisión y solo tengo 12 minutos antes de los comerciales, no tengo forma de programarlo con MACROS.
Probé con ESCENAS DE GRUPO pero ninguna de las dos, ya que solo permite seleccionarla en salida, sin entrada

3- TRANSICIÓN
ELEMENTO Cambiar la transición si la escena está activa

si solo selecciona una escena para cambiar la transición, funciona perfectamente
ahora, si selecciona varias escenas cuando desea cambiar manualmente la escena, no cambia, o cambia y no se muestra permaneciendo en la escena actual

4- AUDIO
Es global, si quiero usarlo solo cuando esté en las 2 primeras escenas para que cambie a una tercera es perfecto.
pero si estoy en una escena diferente, como la escena "Noticias"
y el invitado habla, la escena cambia y no es lo que quiero. Sería bueno poder elegir en qué escenas hacer que funcione.


Esto es lo que he visto hasta ahora. Creo que es la mejor aplicación que tiene el conmutador de escenas avanzado obs. el mejor

Gracias


----------



## Bairespm (Jun 7, 2021)

También me gustaría que pudieras agregar tiempo para que se muestre u oculte ya que si pongo esta condición no puedo activarlo porque lo desactiva. en otras palabras, si activo esta macro, no puedo habilitar manualmente la fuente.
thnks


----------



## Warmuptill (Jun 7, 2021)

Yokondo said:


> Hi, awesome plug in, i found some things could help:
> 
> on this windows could be a fixed size of popup, and add a scroll, cause i couldn't scroll to the lower rows:
> 
> ...


Thanks for the suggestions!
I will look into it / add it to the todo list :)



Bairespm said:


> @*Warmuptill*
> 
> gracias por la aplicación es genial, hay algunas partes que funcionan y otras que no, detalle
> 1.- MACRO
> ...


I used google translate so let me apologize in advance if I misunderstood anything.

1.) You can limit the amount of times a macro is run by using the "count" condition (and macro action option to reset the counters if necessary).
Alternatively you can use time restrictions on the condition to limit the amount of time the condition is true, which triggers the action to run the specified program.

But I agree that this might be a bit cumbersome.
Maybe I can just introduce a condition like "if scene was changed recently", but I have too look into it first.

2.)  Basically you would want nested conditions, right?
That is indeed currently not supported.

But maybe using the "interval" condition in combination with the scene condition might also work here?
So something like this:

If current scene is "host 1box"
OR
current scene is "guest 1box"
OR
current scene is "both 2box"
AND
12 minutes have passed
-----
Switch to "commercial scene"

But this is of course not perfect as the interval will continue to run even when the other scenes are not active.

3.) I am not sure if I understand correctly but you might have to adjust the delay value after which the transition is changed.

Maybe this plugin might be more suited to what you are looking for?





						Transition Table
					

Inspired by OBS Transition Matrix  Donations You can donate to me via PayPal, GitHub or Patreon.




					obsproject.com
				




4.) Are you referring to macros or the audio tab?
Using macros you should be able to achieve what you are looking for.
So something like this:

If NOT current scene is "news"
AND
volume of "guest mic" is above 30%
-----
Switch to "guest scene"

Thanks for the suggestions and I hope I could at least help a bit! :)



Bairespm said:


> También me gustaría que pudieras agregar tiempo para que se muestre u oculte ya que si pongo esta condición no puedo activarlo porque lo desactiva. en otras palabras, si activo esta macro, no puedo habilitar manualmente la fuente.
> thnks


Assuming I understood you correctly you could rely on the "time constraint" feature to only trigger the actions at the beginning of a scene change.
(I am referring to the options you can access by clicking the small clock icon)


----------



## Bairespm (Jun 8, 2021)

Warmuptill said:


> Thanks for the suggestions!
> I will look into it / add it to the todo list :)
> 
> 
> ...





Thank you for taking a few minutes to answer me. I appreciate it.

Please correct me if I got it right to point 1 that I put in the attached image.

and point 2 I have not had luck because it works continuously. Is there any way to stop and start when I once again activate one of those three scenes?


----------



## Bairespm (Jun 9, 2021)

[QUOTE = "Bairespm, publicación: 529885, miembro: 276788"]
Gracias por tomarse unos minutos para contestarme. Te lo agradezco.

Por favor corríjame si entendí bien el punto 1 que puse en la imagen adjunta.

y el punto 2 no he tenido suerte porque funciona continuamente. ¿Hay alguna forma de detener y comenzar cuando vuelva a activar una de esas tres escenas?
[/CITA]


----------



## Bairespm (Jun 9, 2021)

*@Warmuptill*
I tried like this but I can't get it to work well, if I'm in another scene it would seem that the macro time continues to work and it changes to escene "Tanda" again.

thanks


----------



## Warmuptill (Jun 9, 2021)

Bairespm said:


> [QUOTE = "Bairespm, publicación: 529885, miembro: 276788"]
> Gracias por tomarse unos minutos para contestarme. Te lo agradezco.
> 
> Por favor corríjame si entendí bien el punto 1 que puse en la imagen adjunta.
> ...





Bairespm said:


> *@Warmuptill*
> I tried like this but I can't get it to work well, if I'm in another scene it would seem that the macro time continues to work and it changes to escene "Tanda" again.
> 
> thanks


Regarding 1.)
Yes you understood correctly :)
Note that you either have to reset the counters manually or add another macro to do this for you, if you want the macro to trigger again.

Regarding 2.)
Unfortunately, there is no "clean" solution for what you are trying to achieve using the existing conditions - what I suggested is just a workaround, which does not seem to fit your needs.
I will think about how to best implement this in one of the future updates.


----------



## JanVdB (Jun 9, 2021)

Hi,
great plugin, thank you.
I'm running a few cameras, each camera is a scene.
In the "sequence" tab I have a sequence of scenes setup, that works fine.
In the "audio" tab I have the post-fader input of the radio dj, it switches to a certain cam (scene) when the dj starts talking and it is set to return to a certain scene after his speaking.
But then OBS remains on that last set scene in the Audio Tab, so it does not start the sequence setup anymore.
Is that something with the Priority settings on the general tab?
Or is better for me to make a Scene Group (I let my 4 cameras switch every 5 seconds in the same order)

Thank you,
Jan


----------



## Warmuptill (Jun 10, 2021)

JanVdB said:


> Hi,
> great plugin, thank you.
> I'm running a few cameras, each camera is a scene.
> In the "sequence" tab I have a sequence of scenes setup, that works fine.
> ...


Glad you like the plugin :)

It would be best if you could share your plugins settings with me so I don't misunderstand what you are trying to do / have set up already.
To do so click the export button on the general tab.
If you do not wish to share the settings here publicly feel free to start a private conversation with me.


----------



## JanVdB (Jun 10, 2021)

Warmuptill said:


> Glad you like the plugin :)
> 
> It would be best if you could share your plugins with me so I don't misunderstand what you are trying to do / have set up already.
> To do so click the export button on the general tab.
> If you do not wish to share the settings here publically feel free to start a private conversation with me.


Hi,

I think I solved it myself. I deleted the "if audio is lower than... switch to scene..." so only the first line remains with "if audio is higher... switch to scene".
It seems that the second line is not necessary.

Jan


----------



## Warmuptill (Jun 12, 2021)

Bairespm said:


> *@Warmuptill*
> I tried like this but I can't get it to work well, if I'm in another scene it would seem that the macro time continues to work and it changes to escene "Tanda" again.
> 
> thanks


I now implemented the functionality which would allow you to "nest" macro conditions.
It works by referencing the conditions of one macro in another.

Here is a configuration based on your "commercial after x amount of time" example:







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








						Macro condition macro · WarmUpTill/SceneSwitcher@88917f1
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				



(Note that you have to be logged into GitHub to be able to download it)

Let me know if that works for you! :)


----------



## Warmuptill (Jun 12, 2021)

Yokondo said:


> Hi, awesome plug in, i found some things could help:
> 
> on this windows could be a fixed size of popup, and add a scroll, cause i couldn't scroll to the lower rows:
> 
> ...


If you should urgently need a fix for the scene sequence topic you can find a build here:








						Cleanup · WarmUpTill/SceneSwitcher@9a4d765
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				



(You need to be logged in to GitHub to be able to download it)


----------



## Bairespm (Jun 12, 2021)

Woooooowwww
genial muchas gracias ... uso mucho esta aplicación es genial ... una sugerencia con una macro puedo iniciar un programa ... sería bueno si con otra macro puedo cerrar un programa. Sería bueno tener una macro para aparecer / desaparecer gradualmente de la música de audio de fondo y hay algo que no puedo lograr ... pestaña "Secuencia" ... Elijo una secuencia de varias escenas con la misma música de referencia y cuando la música termina la música con la pestaña "Medios" hago que use una transición de aguijón (apagado) a la escena -Fin de transmisión- pero por alguna razón que no sé, la pestaña "Medios" no funciona si uso la pestaña "Secuencia" cambia la prioridad en la pestaña "general" y tampoco funciona. muchas gracias por tu tiempo eres genial


----------



## EndoSkull (Jun 14, 2021)

I can't seem to get the FILE tab to change the scene based on the local file being changed.

I got it to work is I put the content of the text file.

However I am unable to change the scene if I clear out the text box and check the "if content changes" or "date changes"

Am I doing something wrong or is changing scene ONLY based on local field being update not possible?
Thanks


----------



## Warmuptill (Jun 14, 2021)

EndoSkull said:


> I can't seem to get the FILE tab to change the scene based on the local file being changed.
> 
> I got it to work is I put the content of the text file.
> 
> ...


I think what is causing issues for you is that empty files are being ignored.
This is something I should probably change.

Can you test if everything works as expected if you add some content to the file?

EDIT:
You can find a test build which allows you to match empty files also here in a few minutes:








						Allow matching of empty files · WarmUpTill/SceneSwitcher@50f8104
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				



(You need to be logged into GitHub to be able to download it)


----------



## Bairespm (Jun 14, 2021)

[QUOTE = "Warmuptill, publicación: 530529, miembro: 64711"]
Ahora implementé la funcionalidad que le permitiría "anidar" condiciones macro.
Funciona haciendo referencia a las condiciones de una macro en otra.

A continuación, se muestra una configuración basada en su ejemplo de "comercial después de x cantidad de tiempo":
[ATTACH = full] 72172 [/ ATTACH]
[ATTACH = full] 72173 [/ ATTACH]

Una compilación con esta funcionalidad estará disponible aquí en unos minutos:
[URL unfurl = "true"] https://github.com/WarmUpTill/SceneSwitcher/actions/runs/931576641 [/ URL]
(Tenga en cuenta que debe iniciar sesión en GitHub para poder descargarlo)

¡Avísame si eso funciona para ti! :)
[/ CITA]

It worked very well for me. Thank you very much for your time in this incredible application, and for helping me.


----------



## hard00 (Jun 14, 2021)

@Exeldro Hey! thank you and everyone involved in advanced scene switcher. As you have implemented the "Media" functionality, i have a request, that would be awesome to see in future releases: Can you add a "frames elapsed" counter to trigger a switch wich is actually reading the frame number from the media source? 

The advantage over using elapsed time in "ms" is that even with a lagging media source, the scene-switch will happen with frame accuracy.

Thanks!
Jean-Noël


----------



## EndoSkull (Jun 15, 2021)

Warmuptill said:


> I think what is causing issues for you is that empty files are being ignored.
> This is something I should probably change.
> 
> Can you test if everything works as expected if you add some content to the file?



I'm unable to test your new build at the moment - but here is what I was trying to do:

I have a radio software playing tunes - I have it write the name of the song to a text file - each time it changed I was attempting to make the ASW switch scenes - so the file wasn't empty - but I was confused if the text box in the switcher had to be cleared out - if I used the check boxes to check for text file change.

Thanks
I'll try the new build this week.


----------



## Warmuptill (Jun 15, 2021)

EndoSkull said:


> I'm unable to test your new build at the moment - but here is what I was trying to do:
> 
> I have a radio software playing tunes - I have it write the name of the song to a text file - each time it changed I was attempting to make the ASW switch scenes - so the file wasn't empty - but I was confused if the text box in the switcher had to be cleared out - if I used the check boxes to check for text file change.
> 
> ...


I see.
Then you probably want to use the regular expression ".*", which means "match any content", in combination with the file change change options you used before.


----------



## Warmuptill (Jun 15, 2021)

hard00 said:


> @Exeldro Hey! thank you and everyone involved in advanced scene switcher. As you have implemented the "Media" functionality, i have a request, that would be awesome to see in future releases: Can you add a "frames elapsed" counter to trigger a switch wich is actually reading the frame number from the media source?
> 
> The advantage over using elapsed time in "ms" is that even with a lagging media source, the scene-switch will happen with frame accuracy.
> 
> ...


Just to be sure: You are referring to the following options on the media tab / macro tab with "elapsed time" right?







If so:
Unfortunately I am not sure if this is something that can be implemented easily, as I am not aware of any API making the current frame count available.


----------



## EndoSkull (Jun 15, 2021)

Warmuptill said:


> I see.
> Then you probably wan to use the regular expression ".*", which mean "match any content", in combination with the file change change options you used before.




THIS WORKED.
Thank you very much for the fast response.


----------



## chapita (Jun 16, 2021)

Hi, i have a trouble with tab SCENE GROUP, i create a group but when i switch TYPE in TIME (30 seconds) nothing happens, show me in PROGRAM only the first scene instead the slideshow of scene


----------



## Warmuptill (Jun 16, 2021)

chapita said:


> Hi, i have a trouble with tab SCENE GROUP, i create a group but when i switch TYPE in TIME (30 seconds) nothing happens, show me in PROGRAM only the first scene instead the slideshow of scene


Where are you using the scene group?
The scene group on its own does not do anything.

Can you maybe just share your settings by exporting them on the general tab?
This makes it a lot easier to understand what you have configured.


----------



## chapita (Jun 17, 2021)

ok, i call from tab TIME, sorry about my english im from argentina, i try to stream 24/7 TV channel in OBS (in TIME tab set onanyday every 40 minutes i call a group where i put a weather report, a few cams, winds maps, rain maps and 8 more scenes with another sites and videos) every 30 seconds if scenegroup works fine must  jump between the scene (but nothing happens) only show the first scene. In a few days i put the channel online, but im stuck with this step. Thank you very much, i hope understand me


----------



## Warmuptill (Jun 17, 2021)

chapita said:


> ok, i call from tab TIME, sorry about my english im from argentina, i try to stream 24/7 TV channel in OBS (in TIME tab set onanyday every 40 minutes i call a group where i put a weather report, a few cams, winds maps, rain maps and 8 more scenes with another sites and videos) every 30 seconds if scenegroup works fine must  jump between the scene (but nothing happens) only show the first scene. In a few days i put the channel online, but im stuck with this step. Thank you very much, i hope understand me


The scene group advances to the next scene every time it is selected as the target of an automated scene switch (and based on the additional settings configured for that particular scene group).
The settings on the time tab trigger a scene change only once at a specific point in time meaning the scene group will only be selected once and thus not advance.
What you are looking for is probably a scene sequence not a scene group.


----------



## EndoSkull (Jun 18, 2021)

Scene Groups have me stumped.

Here is what I did:

Create: Scene Group1
Add S1 G1
Add S2 G1 
Set to change based on time 3 seconds

Create Scene Group2
Add S1 G2
Add S2 G2
Set to change based on 3 seconds

What I expect
That if I select a member of Scene Group1 - the timer will start and it will switch between S1 G1 and S2 G1 until I click on Scene Group 2 and then it will switch between those two members. Is this how it works?

So far regardless if I have one scene group or two nothing happens (yep the plugin is active)

Am I missing a step?
Thanks


----------



## EndoSkull (Jun 18, 2021)

Ah crap - am I looking to use Scene Sequence as well? Looks like that does what I think the Scene Groups do. Still stumped on Scene Groups


----------



## Warmuptill (Jun 18, 2021)

EndoSkull said:


> Ah crap - am I looking to use Scene Sequence as well? Looks like that does what I think the Scene Groups do. Still stumped on Scene Groups


Yes you are probably looking to set a scene sequence also.

Scene Groups are useful when you want the same condition to trigger different scene switches.
For example, say you have a condition that switches scenes based on if a certain audio threshold is reached.
You can then choose to select a scene group as a scene switch target, which will first trigger a scene change to the first scene in the scene group.
If the condition is still true after X seconds the scene group will advance to the next scene and so on.


----------



## Bairespm (Jun 18, 2021)

hello @Warmuptill , a suggestion that could be very useful

1.- macro that can close killprocess-style programs from bat file

2.- image source visibility that has the possibility of showing for x time and then hide or vice versa

For example, I have a "BREAK" scene where a cartoon is shown and I would like it to just hide and reappear to give a funny effect.

3.- Macro that can increase and decrease the volume of a source since the one that exists silences or activates the volume is not gradual, that is, it does not increase the volume in scale.

4.- Random tab, macro that can activate that tab, since for example I have several closing scenes, I would like them to show themselves no matter the order. and then when the music ends with the "MEDIA" tab, make a scene change.
The random tab only works if it is activated in the general tab under limited conditions .. but what if I want to activate it in a moment when I get to a scene or a condition is met and then deactivate it?

sorry for my english I used the google translator. I am from Argentina.
Thank you in advance for your time and for considering the comments to improve this incredible plugin


----------



## Warmuptill (Jun 18, 2021)

Bairespm said:


> hello @Warmuptill , a suggestion that could be very useful
> 
> 1.- macro that can close killprocess-style programs from bat file
> 
> ...



Thanks for the suggestion.
Instead of providing a separate option for terminating processes I expanded upon the existing "Run" action, by adding the option to provide arguments.
For example you could use the configuration below to kill the process with the name "SnippingTool.exe".



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








						Macro action run args · WarmUpTill/SceneSwitcher@44a96c6
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				



Note that you will have to be logged into GitHub to be able to download it.
Maybe I am misunderstanding what you are trying to achieve, but I think this is possible already by using something like this:



Maybe just to avoid a misunderstanding - you can not only mute / unmute a source, but also set the volume to a specific level:



If you were referring to the fact that this volume change happens instantly and is not faded in, then this is expected.
At the moment the plugin does not (yet) support such a functionality.
So thanks for the suggestion!
(This might turn out to be rather complicated to implement so I can't promise that this functionality will be added anytime soon)
I will look into it.
Thanks for the suggestion!


----------



## Bairespm (Jun 18, 2021)

Warmuptill said:


> Thanks for the suggestion.
> Instead of providing a separate option for terminating processes I expanded upon the existing "Run" action, by adding the option to provide arguments.
> For example you could use the configuration below to kill the process with the name "SnippingTool.exe".
> View attachment 72375
> ...


@Warmuptill 
Thank you very much, I will try what you teach me. thank you very much.


at point 3 - exact does not fade, you can see that liorandboard if it has that function. perhaps it can serve as a reference.


----------



## Warmuptill (Jun 19, 2021)

Bairespm said:


> @Warmuptill
> Thank you very much, I will try what you teach me. thank you very much.
> 
> 
> at point 3 - exact does not fade, you can see that liorandboard if it has that function. perhaps it can serve as a reference.


Regarding your 4th point:
I now added the ability to control this behaviour via the "plugin state" action:



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








						Expand macro action plugin-state to support changing no-match behaviour · WarmUpTill/SceneSwitcher@67a22ce
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com


----------



## JDerey (Jun 21, 2021)

Warmuptill said:


> Thanks for the suggestion.
> Instead of providing a separate option for terminating processes I expanded upon the existing "Run" action, by adding the option to provide arguments.
> For example you could use the configuration below to kill the process with the name "SnippingTool.exe".
> View attachment 72375
> ...




Hello,

Thank's a lot for this amazing plugin !!!
However, i would like to send a command to Companion App through the Advenced Switcher. Is it possible to lauchn a file .workflow or a web page with the run action ? I'm sorry if i just don't understand how it works, but when i select a file or a program with the "Browse" button, nothing happend ...
Thank's a lot for your advice :-)

EDIT : ok, i just understood that in the run area, i have to put a terminal action :-)


----------



## Phibbit (Jun 21, 2021)

Love this plugin, it keeps getting better! 
I've just had a play with the macros and nothing seems to be happening. When I switch scene I want a filter to be enable, and when I switch away from it the filter should be disabled. The options seem to be there but nothing happens. Am I missing something?

Are there any plans to integrate websocket into the run command if its not already there? I know I can now execute a .bat file to run obscommand but there is a short delay while the bat file executes, it would be great to be able to send the commands direct from advanced scene switcher.


----------



## Warmuptill (Jun 21, 2021)

Phibbit said:


> Love this plugin, it keeps getting better!
> I've just had a play with the macros and nothing seems to be happening. When I switch scene I want a filter to be enable, and when I switch away from it the filter should be disabled. The options seem to be there but nothing happens. Am I missing something?
> 
> Are there any plans to integrate websocket into the run command if its not already there? I know I can now execute a .bat file to run obscommand but there is a short delay while the bat file executes, it would be great to be able to send the commands direct from advanced scene switcher.


>The options seem to be there but nothing happens. Am I missing something?
It is difficult to say what the issue could be.
Can you maybe just share your settings? (You can export them on the general tab)

>Are there any plans to integrate websocket into the run command if its not already there?
I had not planned this yet  - so thanks for the suggestion.
But I am not sure if the delay would be any smaller if the messages were sent via the scene switcher.
Maybe asking the other way around:
What is the bat file doing that is currently not possible with the scene switcher?


----------



## hard00 (Jun 21, 2021)

Warmuptill said:


> Just to be sure: You are referring to the following options on the media tab / macro tab with "elapsed time" right?
> View attachment 72282
> View attachment 72283
> 
> ...


Hi! Yes, this is exactly the dropdown where i was hoping to see "frame Number" soon.


----------



## Phibbit (Jun 21, 2021)

Warmuptill said:


> >The options seem to be there but nothing happens. Am I missing something?
> It is difficult to say what the issue could be.
> Can you maybe just share your settings? (You can export them on the general tab)
> 
> ...


 I've tried on a different PC and the filter is working fine now, thanks.

For the websocket, I'm just really starting to play about with all the options some more, there seems to be a lot in it, and a brand new version coming soon. At the moment I am using it for two specific items. At Sunday, 10:43 start recording, I guess this could easily be added to scene switcher. The other is from a 2nd PC which is used for media, scene switcher detects when a song is ended and switches to a kill-recording scene, when this scene becomes active it uses websocket in a bat file to tell the streaming PC to switch scenes which stops the recording. 

Websockets would allow loads more control over another PC remotely, at the moment the network in scene switcher does a good job of switching to scenes of the same name but thats about it, it's not possible to get two machines doing different things controlled centrally, e.g. when PC1 Switches to Scene1 switch PC2 to Scene2 for 30 seconds then to Scene3. Or if framerate of PC2 drops below x then disable source x on PC1. 

I guess websocket could also also allow some information to be fed back to bitfocus companion (I think someone asked about this earlier), so the buttons on a stream deck could show more information. I'm not sure if thats starting to get out of scope for the plug in though!

Thanks again for this plugin, it really is clever stuff!


----------



## Warmuptill (Jun 22, 2021)

Phibbit said:


> I've tried on a different PC and the filter is working fine now, thanks.
> 
> For the websocket, I'm just really starting to play about with all the options some more, there seems to be a lot in it, and a brand new version coming soon. At the moment I am using it for two specific items. At Sunday, 10:43 start recording, I guess this could easily be added to scene switcher. The other is from a 2nd PC which is used for media, scene switcher detects when a song is ended and switches to a kill-recording scene, when this scene becomes active it uses websocket in a bat file to tell the streaming PC to switch scenes which stops the recording.
> 
> ...


Thanks for the clarification!
I agree this makes sense, so I will look into it.
But I can't promise that this will be implemented soon as this might be rather complex.


----------



## Phibbit (Jun 23, 2021)

Warmuptill said:


> Thanks for the clarification!
> I agree this makes sense, so I will look into it.
> But I can't promise that this will be implemented soon as this might be rather complex.


No worries, as you say, it would be quite complex. 

How difficult would it be to add record onto the time time? We start recording at the same time each Sunday and currently have to use windows scheduler to start it, if start recording could be added to this it would make re-installing much easier.

thanks


----------



## Heino Falcke (Jun 30, 2021)

Some people are now compiling OBS for the Mac M1 ARM processor. (https://obsproject.com/forum/thread...r-when-this-might-be-ready.144302/post-532589) 

 Are you planning to provide a version of the (wonderful) Advanced Scene Switcher for that architecture as well at some point?


----------



## Warmuptill (Jun 30, 2021)

Heino Falcke said:


> Some people are now compiling OBS for the Mac M1 ARM processor. (https://obsproject.com/forum/thread...r-when-this-might-be-ready.144302/post-532589)
> 
> Are you planning to provide a version of the (wonderful) Advanced Scene Switcher for that architecture as well at some point?


I will look into it, but can't promise that I'll get it to work soon.
But thanks for the suggestion! :)

Can I contact you if I should manage to build it so you can test it? (Don't have access to an M1 Mac to test it on)


----------



## Heino Falcke (Jul 1, 2021)

Warmuptill said:


> I will look into it, but can't promise that I'll get it to work soon.
> But thanks for the suggestion! :)
> 
> Can I contact you if I should manage to build it so you can test it? (Don't have access to an M1 Mac to test it on)



Happy to test. Maybe contact me via Email then.


----------



## Warmuptill (Jul 3, 2021)

Warmuptill updated Advanced Scene Switcher with a new update entry:

More macro additions



> *Important note:* The minimum supported version of OBS for this update is *OBS 27*!
> 
> The main focus of this update was to extend the capabilities of the macro tab once again.
> Additions:
> ...



Read the rest of this update entry...


----------



## jelo (Jul 9, 2021)

Hi! AdSS makes OBS crash as soon as i clic on start. I can restart OBS, when as soon as i click on AdSS start OBS crash
I use it on fresh installed Fedora 34 (wayland), OBS 27.0.1, AdSS 1.14

nothing in obs log file, but these are the last lines added in terminal when OBS crash:


```
info: [adv-ss] started
X Error of failed request:  BadWindow (invalid Window parameter)
  Major opcode of failed request:  20 (X_GetProperty)
  Resource id in failed request:  0x0
  Serial number of failed request:  220
  Current serial number in output stream:  220
QObject::~QObject: Timers cannot be stopped from another thread
Erreur de segmentation (core dumped)
```

Thx for your help :)


----------



## Warmuptill (Jul 9, 2021)

jelo said:


> Hi! AdSS makes OBS crash as soon as i clic on start. I can restart OBS, when as soon as i click on AdSS start OBS crash
> I use it on fresh installed Fedora 34 (wayland), OBS 27.0.1, AdSS 1.14
> 
> nothing in obs log file, but these are the last lines added in terminal when OBS crash:
> ...


Thanks for the reporting the issue!
I will try to set up a VM and replicate the issue.

Have you configured anything in the plugin?
Can you maybe just export the settings? The option can be found on the general tab of the plugin.

Update:
I have found the issue.
A build with a fix should be available here in a few minutes:








						Cleanup · WarmUpTill/SceneSwitcher@80a86a7
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				



(You will have to be logged into GitHub to be able to download it)

But note that the crash only occurs because the window manager did not return any valid top level window.
So there might be other problems which rely on information provided by the window manager.

I also noticed that the built-in scene switcher of OBS seems to run into the same issue.
Is that the case for you as well?


----------



## TheDigitalSolutioner_DanA (Jul 12, 2021)

***SUGGESTION*** It would be nice if you could delay the start of media to be played.  So for example in the Media scene switcher portion if you could delay the playing of media by a certain amount of time this would be helpful.  Right now you are able to switch scenes based on the state of the media being played however in my situation I need to delay the next media file to be played by various delays to allow for the custom transition to complete.  If there is already a way to do this, then please let me know but it would be very helpful in coordinating a sequence of videos and scenes. @Exeldro @Warmuptill


----------



## Warmuptill (Jul 12, 2021)

TheDigitalSolutioner_DanA said:


> ***SUGGESTION*** It would be nice if you could delay the start of media to be played.  So for example in the Media scene switcher portion if you could delay the playing of media by a certain amount of time this would be helpful.  Right now you are able to switch scenes based on the state of the media being played however in my situation I need to delay the next media file to be played by various delays to allow for the custom transition to complete.  If there is already a way to do this, then please let me know but it would be very helpful in coordinating a sequence of videos and scenes. @Exeldro @Warmuptill


This should indeed already be possible using the macro tab.
Something similar to this might work for you:


----------



## jelo (Jul 13, 2021)

Warmuptill said:


> Have you configured anything in the plugin?


Nop! just launched and clic "Start", then Crash :)

Thank you very much for your quick answer. I'll give a try and let you know.


----------



## jelo (Jul 13, 2021)

It's seems to be OK now on Wayland :)
Great job!

Just a little thing, this is my conf file attached:
- scene logo 1 for 3 seconds then go to scene video 1
- scene video 1 until the video ends up, then go to scene logo 2
- scene logo 2 for 3 seconds then go to scene video 2
- scene video 2 until the video ends up, then go to scene logo 3
etc

but on first start, it was just like it wait 3 seconds for all, not waiting for video ends up until it change to the logo. Strange.

after stop + start, it seems to be ok now.


----------



## Warmuptill (Jul 13, 2021)

jelo said:


> It's seems to be OK now on Wayland :)
> Great job!
> 
> Just a little thing, this is my conf file attached:
> ...


Glad to hear that the crash is resolved! :)
Btw: Were you able to test if the "Automatic Scene Switcher", which is built into OBS, also causes the crash if you press "start" there? 
If it does it might be worth fixing.

Could it be that initially all media sources are already in state "ended"?
Maybe the state "played to end" works better here?
I hope I understood the problem correctly.


----------



## Andreas Kronlachner (Jul 14, 2021)

Hello  @Warmuptill!

Do you think its possible with your plugin to trigger a refresh of NDI video and audio sources (in order to get them in sync again)?


----------



## FARTDRAGON_102 (Jul 14, 2021)

i am trying to figure out how to turn on my stream (start the stream) when i am away from home. 
- something like set the timer to "start the stream" in (lets say) 1 hour or so ,
can someone please point me to youtube or post or any info on how i could do that ?

thanks


----------



## FARTDRAGON_102 (Jul 14, 2021)

found it ↓   going to try on weekend

Question / Help - Run OBS and start streaming automatically | OBS Forums (obsproject.com)


----------



## Lawrence_SoCal (Jul 14, 2021)

FARTDRAGON_102 said:


> i am trying to figure out how to turn on my stream (start the stream) when i am away from home.
> - something like set the timer to "start the stream" in (lets say) 1 hour or so ,
> can someone please point me to youtube or post or any info on how i could do that ?
> 
> thanks


I don't do this remotely, and wouldn't recommend it... but with that said
- assuming stream settings, etc all configured in advance with both stream provider and OBS, should be doable
- I use the time tab of AdvSS to switch to a select scene at a specific time
- Then using the General tab of AdvSS, that scene triggers the start of recording (I start streaming in advance, but you could start streaming as well)
- the simple/basic logic of using Sequence, Time, or other options in AdvSS to change scenes, including ending stream/recording


----------



## Warmuptill (Jul 14, 2021)

Andreas Kronlachner said:


> Hello  @Warmuptill!
> 
> Do you think its possible with your plugin to trigger a refresh of NDI video and audio sources (in order to get them in sync again)?


I am not familiar with NDI video and audio sources.
How would one manually trigger such a refresh in OBS?
Maybe shorty deactivating and activating the source via a timer would work? (Just a guess)





FARTDRAGON_102 said:


> i am trying to figure out how to turn on my stream (start the stream) when i am away from home.
> - something like set the timer to "start the stream" in (lets say) 1 hour or so ,
> can someone please point me to youtube or post or any info on how i could do that ?
> 
> thanks


You could also setup up macro using a timer or ...



... set up a macro using a concrete date / time.


----------



## FARTDRAGON_102 (Jul 16, 2021)

@
*Warmuptill*


THANKS


----------



## grit60 (Jul 18, 2021)

Warmuptill said:


> I am not familiar with NDI video and audio sources.
> How would one manually trigger such a refresh in OBS?


The NDI Plugin was made by @Palakis and, like your plugin, it is indispensable.   It would be helpful to turn "Program NDI" on/off using Scene Switcher.   This is akin to turning on/off live streaming or recording a program.  In my case, I have an external system that detects when NDI is turned off and then ends a broadcast.  Currently, the only way that I have found to switch NDI off (without going into OBS) is to kill the OBS.exe.


----------



## Gitago (Jul 19, 2021)

I would like to request the feature of being able to 'write to file' based on the time left in a media source... 
mostly used to relay the time remaining on media via text file.


----------



## Warmuptill (Jul 19, 2021)

grit60 said:


> The NDI Plugin was made by @Palakis and, like your plugin, it is indispensable.   It would be helpful to turn "Program NDI" on/off using Scene Switcher.   This is akin to turning on/off live streaming or recording a program.  In my case, I have an external system that detects when NDI is turned off and then ends a broadcast.  Currently, the only way that I have found to switch NDI off (without going into OBS) is to kill the OBS.exe.


Just to clarify:
So right now the only way to refresh the NDI sources is to kill OBS?
Disabling and enabling sources has no effect?

If so I might not be possible to achieve what you are looking for might be difficult to achieve.
But I will try to set up a test environment on my end and see what can be done.



Gitago said:


> I would like to request the feature of being able to 'write to file' based on the time left in a media source...
> mostly used to relay the time remaining on media via text file.   View attachment 73332


This should be possible using the macro tab - for example:


----------



## grit60 (Jul 19, 2021)

Warmuptill said:


> Just to clarify:
> So right now the only way to refresh the NDI sources is to kill OBS?
> Disabling and enabling sources has no effect?



There are no hotkeys for "start/stop NDI"   So, the only way I know how to stop an NDI feed without a human at the OBS controls is to kill OBS.   Disabling an NDI source has no effect on the NDI feed just as disabling a Source does not stop Streaming or Recording.  There are actually two NDI feeds.  One feed _*sends*_ whatever Scene is in Preview and the other sends whatever is in Program.  "NDI Sources" are used to receive external NDI (like from a camera) and show them in the Scene.


----------



## grit60 (Jul 20, 2021)

Gitago said:


> I would like to request the feature of being able to 'write to file' based on the time left in a media source...
> mostly used to relay the time remaining on media via text file.


Have you tried the LUA script "Media Countdown Timer"?  It shows time remaining on a text source.  The script could be easily modified to only display when the timer reaches the last 30 seconds.  Or you could show the Text Source using Scene Switcher after "Time Remaining".


----------



## khaver (Jul 22, 2021)

Warmuptill, thank you for this plugin.

I'm trying to set up an auto recording scenario for our church's sermons. The sermons are usually around 30 to 40 minutes. Right now I'm using ffmpeg run from a cmd batch file that uses the Windows Task Scheduler to start it at a time on Sunday well before the sermon starts. It then continues recording until it's stopped manually at the end of the service. I see in your plugin you can set scene changes based on detecting a certain length of audio silence and activating a scene which can trigger the recording to stop. The problem I'm having is there are times before the sermon starts that the audio is muted for several minutes at a time. These silences will trigger the audio detection to change to the scene I have set to stop the recording. I would like to start OBS recording from the Task Scheduler, like I am ffmpeg, using the command line parameter "--startrecording", then delay your plugin from detecting the audio silence for say 20 minutes, well into the sermon, then after the sermon when the audio is muted after, say a minute, your plugin would switch to the scene that stops the recording.

Is there any way of doing this? Thanks in advance.


----------



## Warmuptill (Jul 22, 2021)

Warmuptill updated Advanced Scene Switcher with a new update entry:

Macro tab UI changes



> Macro tab UI changes:
> 
> Add the ability to reorder, add and remove macro conditions and actions in place.
> These new controls will appear when hovering over a macro condition or action.
> ...



Read the rest of this update entry...


----------



## Warmuptill (Jul 22, 2021)

khaver said:


> Warmuptill, thank you for this plugin.
> 
> I'm trying to set up an auto recording scenario for our church's sermons. The sermons are usually around 30 to 40 minutes. Right now I'm using ffmpeg run from a cmd batch file that uses the Windows Task Scheduler to start it at a time on Sunday well before the sermon starts. It then continues recording until it's stopped manually at the end of the service. I see in your plugin you can set scene changes based on detecting a certain length of audio silence and activating a scene which can trigger the recording to stop. The problem I'm having is there are times before the sermon starts that the audio is muted for several minutes at a time. These silences will trigger the audio detection to change to the scene I have set to stop the recording. I would like to start OBS recording from the Task Scheduler, like I am ffmpeg, using the command line parameter "--startrecording", then delay your plugin from detecting the audio silence for say 20 minutes, well into the sermon, then after the sermon when the audio is muted after, say a minute, your plugin would switch to the scene that stops the recording.
> 
> Is there any way of doing this? Thanks in advance.



You might be able to achieve what you are looking to do using the macro tab.
A macro similar to the following will allow you to disable the audio scene switch from having a effect for the first 20 minutes after starting OBS.




Only if the timer reaches zero seconds *<1>* AND the volume threshold of the "Mic/Aux" source is below 20% for at least 1 minute *<2>* will the recording be stopped. *<3>*
I hope that helps!


----------



## khaver (Jul 22, 2021)

Sweet!. Thanks.


----------



## khaver (Jul 22, 2021)

Just did a test at home using a 17 minute video clip with 2 minutes of silence before the talking, 10 minutes of talk, and another 5 minutes of silence after. Macro timer set for 10 minutes and the audio silence set for at least 1 minute, with the action to stop recording. Started OBS from the command line with the --startrecording parameter. After 13 minutes (2 minutes of silence, 10 minutes of talk, and 1 minute of silence) the recording stopped. It worked perfectly. Now I need to set this up on our church computer.

I'll let you know how it goes.

Thanks again.


----------



## KattPhloxworthy (Jul 23, 2021)

Been using the plugin for my streaming operations here and am extremely impressed with it.

Now, I've gone from a single-PC setup to a dual-PC setup, one running OBS and VTube Studios, along with the game or video event I'm streaming, the second running just OBS Studio doing the actual streaming. Both are linked together via NDI with the first PC sending and the second receiving.

Is there a way to tell the other PC's OBS Studio to start/stop streaming and change scene from the PC I'm actually sitting at, short of being RDPed into the machine and directly operating that PC's OBS Studio? Would the network server/client within Advance Scene Switcher be of any use for this purpose?

Thanks in advance!

--Katt.  =^.^=


----------



## grit60 (Jul 23, 2021)

KattPhloxworthy said:


> Is there a way to tell the other PC's OBS Studio to start/stop streaming and change scene from the PC I'm actually sitting at, short of being RDPed into the machine and directly operating that PC's OBS Studio? Would the network server/client within Advance Scene Switcher be of any use for this purpose?



Yes, the Network tab will do this and the client will detect the scene change.   Then the client, using this plugin, could detect the, "Thanks for watching" scene and stop streaming after a few seconds.


----------



## KattPhloxworthy (Jul 24, 2021)

grit60 said:


> Yes, the Network tab will do this and the client will detect the scene change.   Then the client, using this plugin, could detect the, "Thanks for watching" scene and stop streaming after a few seconds.



I guess it wasn't fully made clear that you have to use parallel, identically-named (down to even the case and spacing of those names) scenes on the controlling and controlled machines for what you're doing.  In my case, I need to be able to start streaming, indicate in-band which machine is working to make sure pre-flight that things are working, select the NDI receiver scene, as well as end-of-stream activities.

In my case, the server is the full arbiter of everything that was happening, right down to when to begin and end the stream.

That said, I set something up to I could take full control from the gaming machine from start to finish, running a full test stream, and it worked perfectly.


----------



## Warmuptill (Jul 24, 2021)

KattPhloxworthy said:


> I guess it wasn't fully made clear that you have to use parallel, identically-named (down to even the case and spacing of those names) scenes on the controlling and controlled machines for what you're doing.  In my case, I need to be able to start streaming, indicate in-band which machine is working to make sure pre-flight that things are working, select the NDI receiver scene, as well as end-of-stream activities.
> 
> In my case, the server is the full arbiter of everything that was happening, right down to when to begin and end the stream.
> 
> That said, I set something up to I could take full control from the gaming machine from start to finish, running a full test stream, and it worked perfectly.


Thanks for the feedback!
I will try to make the requirement of the scene names having to match more clear by adding a note on the network tab.


----------



## KattPhloxworthy (Jul 24, 2021)

Warmuptill said:


> Thanks for the feedback!
> I will try to make the requirement of the scene names having to match more clear by adding a note on the network tab.



I'm looking at doing a tutorial video for how I run my stream to show how this can be used.  Of course, there's no one right way to do it; every case is different!

--Katt.  =^.^=


----------



## Bygrilinho (Jul 25, 2021)

Heya, this macro section is really powerful and I absolutely love it! I have another issue tho. The time constraint keeps resetting whenever I restart OBS (I'm using the video condition)


----------



## Warmuptill (Jul 25, 2021)

Bygrilinho said:


> Heya, this macro section is really powerful and I absolutely love it! I have another issue tho. The time constraint keeps resetting whenever I restart OBS (I'm using the video condition)


Thanks for pointing out this bug!
I will release a fix right away.


----------



## Warmuptill (Jul 25, 2021)

Warmuptill updated Advanced Scene Switcher with a new update entry:

Fix video condition not saving



> Fix video condition not saving time constraint, logic and collapsed state.
> Add note to network tab clarifying the requirement of the scene names having to match exactly.



Read the rest of this update entry...


----------



## AdmiralFunghie (Jul 25, 2021)

Thanks for the updates. Quick question: How can we see which version we currently have installed (or downloaded)? I can't seem to find this anywhere. Thanks. :-)


----------



## Warmuptill (Jul 25, 2021)

AdmiralFunghie said:


> Thanks for the updates. Quick question: How can we see which version we currently have installed (or downloaded)? I can't seem to find this anywhere. Thanks. :-)


Unfortunately the UI does not show this anywhere.
The OBS log will show which version of the plugin is installed in form of the commit hash.

I wanted to look into an auto-update mechanism anyways so maybe I will check to see if I can easily incorporate the version info in the UI.
(But I cannot promise that I will get around to this any time soon)


----------



## AdmiralFunghie (Jul 25, 2021)

Warmuptill said:


> Unfortunately the UI does not show this anywhere.
> The OBS log will show which version of the plugin is installed in form of the commit hash.
> 
> I wanted to look into an auto-update mechanism anyways so maybe I will check to see if I can easily incorporate the version info in the UI.
> (But I cannot promise that I will get around to this any time soon)



Great stuff thanks, (at least I didn't miss something obvious). Small suggestion meanwhile. Possibly add the version number into the README.txt :-)


----------



## Bygrilinho (Jul 26, 2021)

Heyy it's me again, with another bug :P
I can't scroll the list of options anymore (it works with the arrow keys but not with the scroll wheel), probably started in 1.15 but I hadn't noticed until now

Also there are 2 identical "Macro" options in the condition selector


----------



## Warmuptill (Jul 26, 2021)

Bygrilinho said:


> Heyy it's me again, with another bug :P
> I can't scroll the list of options anymore (it works with the arrow keys but not with the scroll wheel), probably started in 1.15 but I hadn't noticed until now
> 
> Also there are 2 identical "Macro" options in the condition selector
> View attachment 73526


>I can't scroll the list of options anymore (it works with the arrow keys but not with the scroll wheel), probably started in 1.15 but I hadn't noticed until now

That was changed intentionally as it was very easy to accidentally change selections when scrolling through longer lists of actions and conditions.
You can still use the scroll wheel when first clicking on the particular option you want to change.

>Also there are 2 identical "Macro" options in the condition selector

I will look into it.
Thanks!


----------



## Bygrilinho (Jul 27, 2021)

Warmuptill said:


> You can still use the scroll wheel when first clicking on the particular option you want to change.


You're talking about scrolling when hovering, that works as intended
What I mean is, after clicking on an option and the list pops up, it won't scroll


----------



## Warmuptill (Jul 28, 2021)

Bygrilinho said:


> You're talking about scrolling when hovering, that works as intended
> What I mean is, after clicking on an option and the list pops up, it won't scroll


I see what you mean - thanks for the clarification!
I have found a solution to this problem and build with this change should be available here in a few minutes:








						Do not apply MouseWheelWidgetAdjustmentGuard to QScrollBars · WarmUpTill/SceneSwitcher@497bab9
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				



(You will have to be logged into GitHub to be able to download it)

Regarding the duplicate entry for the "Macro" condition:
The reason this shows up twice is for backwards comparability with a previous version of the plugin.
I will remove it in a future update.
Thanks again for the hint!


----------



## Bygrilinho (Jul 29, 2021)

Warmuptill said:


> I see what you mean - thanks for the clarification!
> I have found a solution to this problem and build with this change should be available here in a few minutes:
> 
> 
> ...


Thank you! Working great!

Next time I'll put the issue on GitHub, it's probably easier for you haha


----------



## TheDigitalSolutioner_DanA (Jul 29, 2021)

Warmuptill said:


> This should indeed already be possible using the macro tab.
> Something similar to this might work for you:
> View attachment 73134


Thanks for the tip.  Still struggling with this a little.  If I chose Media, I cannot choose the transition source.  So for example:  I am currently transitioning using a stinger to a scene that has a single media source.  When the transition plays, I need to delay the start of the media source by a little because the audio isn't coming through correctly.  I have played around with the settings but it still doesn't fix the issue.  Probably not explaining this effectively but the challenge is how to delay the start of a media file after a transition is started.


----------



## Javi Villanueva (Jul 29, 2021)

Hi,

I don't know if I'm doing something wrong. I tell you, I have configured two scene changes in sequence with extended mode, it happens that the second scene change is made after the sum of the time of the first change and the second change.

Does it happen to someone too?

Regards


----------



## Warmuptill (Jul 29, 2021)

Javi Villanueva said:


> Hi,
> 
> I don't know if I'm doing something wrong. I tell you, I have configured two scene changes in sequence with extended mode, it happens that the second scene change is made after the sum of the time of the first change and the second change.
> 
> ...


I can confirm that this is a bug.
Thanks for reporting the problem!

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


			https://github.com/WarmUpTill/SceneSwitcher/releases/download/1.15.2/SceneSwitcher.zip
		


I would appreciate if you could give this a try and confirm whether it works or not.


----------



## Warmuptill (Jul 29, 2021)

TheDigitalSolutioner_DanA said:


> Thanks for the tip.  Still struggling with this a little.  If I chose Media, I cannot choose the transition source.  So for example:  I am currently transitioning using a stinger to a scene that has a single media source.  When the transition plays, I need to delay the start of the media source by a little because the audio isn't coming through correctly.  I have played around with the settings but it still doesn't fix the issue.  Probably not explaining this effectively but the challenge is how to delay the start of a media file after a transition is started.


Maybe stopping / pausing the media source and restarting it after X amount of time when switching to the particular scene is an option?




(The "For exactly 0.00 seconds" part is just used to make sure the macro is only executed once on this scene)


----------



## Phibbit (Jul 30, 2021)

While its not really scene switching, is there any way to start recording at a particular day/time? say Monday at 8pm start recording. I can see its possible to switch scenes at a day and time but not record.  Thanks.


----------



## Warmuptill (Jul 30, 2021)

Phibbit said:


> While its not really scene switching, is there any way to start recording at a particular day/time? say Monday at 8pm start recording. I can see its possible to switch scenes at a day and time but not record.  Thanks.


Maybe something like this will work for you?




Note the "Repeat every 168 hours" option can be used so you do not have to create a separate macro for each week.


----------



## Warmuptill (Jul 30, 2021)

Warmuptill updated Advanced Scene Switcher with a new update entry:

Minor bug fixes



> Allow scrolling in expanded comboboxes
> Fix extended sequence aborting when using non-instant transitions
> Backwards compatibility to older settings format was removed to make sure no duplicate condition and action selections are shown on the macro tab.
> 
> ...



Read the rest of this update entry...


----------



## Javi Villanueva (Jul 30, 2021)

Warmuptill said:


> I can confirm that this is a bug.
> Thanks for reporting the problem!
> 
> A build with a fix will be available here in a few minutes:
> ...



Now it seems that everything is in order. The problem I had was solved.
Thanks a lot!


----------



## rusty1 (Jul 30, 2021)

On a Mac, I believe the macro filter conditions are not working. I can control filter settings to make them change, but it's not working in the conditional, when I tell it to look for a current settings match.


----------



## tlk (Aug 2, 2021)

Advanced Scene Switcher is awesome! Thanks for it!

I have a question. How can I make two or more scene sequences and switch this scene sequences by time of day?
For example, from 6 am to 6 pm, one sequence of scenes is repeated (it can be interrupted by additional scenes by time, or by the name of a scene from a file). From 6 pm to 11 pm, the second sequence of scenes is repeated. From 11 pm to 6 am, the third sequence of scenes is repeated.

I have been thinking for a couple of months how to implement this using your tool. I haven’t come up with anything yet.

You can see how one sequence of scenes is working now, with the ability to interrupt by time and by command in chat at: https://youtube.com/ShelkinoLIVE/live

Perhaps you have thoughts on how to implement what I need?

P.S. Sorry for my english from translator...


----------



## Smielemans (Aug 4, 2021)

Hi,

I have some problems with the media triggering a transition.
For clarity I made a little video showing the problem.

I can't get a transition triggered by media anymore.
I used it before, but today I bought a newer MAC and reinstalled everything to work,
but I must be missing something.
Under the link is the video, although it looks like an add...









						Loom | Free Screen & Video Recording Software
					

Use Loom to record quick videos of your screen and cam. Explain anything clearly and easily – and skip the meeting. An essential tool for hybrid workplaces.




					www.loom.com


----------



## Warmuptill (Aug 7, 2021)

First of all - sorry for the late reply.
My access to the internet was very limited the last few days.



rusty1 said:


> On a Mac, I believe the macro filter conditions are not working. I can control filter settings to make them change, but it's not working in the conditional, when I tell it to look for a current settings match.


I see what you mean.
The issue is that the output of the settings when pressing "Get current settings" button is formatted to be more readable while OBS is using "flat" formatting internally.

I have adjusted the comparison to always attempt to format the current source settings and user supplied settings before the doing the comparison first.

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








						Fix compare source settings · WarmUpTill/SceneSwitcher@e1cbd43
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				



(You will have to be logged into GitHub to be able to download it)

Le me know if that resolves the problem.



tlk said:


> Advanced Scene Switcher is awesome! Thanks for it!
> 
> I have a question. How can I make two or more scene sequences and switch this scene sequences by time of day?
> For example, from 6 am to 6 pm, one sequence of scenes is repeated (it can be interrupted by additional scenes by time, or by the name of a scene from a file). From 6 pm to 11 pm, the second sequence of scenes is repeated. From 11 pm to 6 am, the third sequence of scenes is repeated.
> ...


Unfortunately I cannot think of a "clean" way to achieve what you are looking for.
I will add this to to todo list.



Smielemans said:


> Hi,
> 
> I have some problems with the media triggering a transition.
> For clarity I made a little video showing the problem.
> ...


Can you share the settings you are using by exporting them on the general tab?
That will make it easier to replicate on my end.

Just a guess, as it is not visible in the video you shared:
Have you selected a transition for this scene switch?
(You can scroll to the right on the media tab / increase the window size of the plugin settings)


----------



## Warmuptill (Aug 9, 2021)

tlk said:


> Advanced Scene Switcher is awesome! Thanks for it!
> 
> I have a question. How can I make two or more scene sequences and switch this scene sequences by time of day?
> For example, from 6 am to 6 pm, one sequence of scenes is repeated (it can be interrupted by additional scenes by time, or by the name of a scene from a file). From 6 pm to 11 pm, the second sequence of scenes is repeated. From 11 pm to 6 am, the third sequence of scenes is repeated.
> ...


I now expanded the "Date" condition to allow specifying time ranges.




This should allow you to achieve what you are looking for using macros similar to the following examples:






(Note that "Ignore date component" is checked)

A build with these changes will be available here in a few minutes:








						Expand date condition functionality · WarmUpTill/SceneSwitcher@d4000eb
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				



(You need to be logged into GitHub to be able to download it)

Let me know if everything works as expected.


----------



## AntiElitz (Aug 10, 2021)

I have trouble with the "Write the name of the current scene to this file" tool in 1.15.2. It does update the timestamp of it's file regularly, but it's content is always empty. The reading from file feature works flawlessly though, so I'm pretty sure I set everything up correctly. This worked in a previous version with this configuration. However after a new windows installation recently I downloaded the latest version and migrated my old scene collection. I tried using other output files, but it doesn't seem to work with any. I don't know where i can reset the plugins settings to default neither where to remove the settings file to get a fresh setup. I think it's save within the scene collection I imported.
Thanks for your help!


----------



## rusty1 (Aug 11, 2021)

YES! This solved it perfectly! Thank you!


----------



## Warmuptill (Aug 11, 2021)

AntiElitz said:


> I have trouble with the "Write the name of the current scene to this file" tool in 1.15.2. It does update the timestamp of it's file regularly, but it's content is always empty. The reading from file feature works flawlessly though, so I'm pretty sure I set everything up correctly. This worked in a previous version with this configuration. However after a new windows installation recently I downloaded the latest version and migrated my old scene collection. I tried using other output files, but it doesn't seem to work with any. I don't know where i can reset the plugins settings to default neither where to remove the settings file to get a fresh setup. I think it's save within the scene collection I imported.
> Thanks for your help!


I can confirm that this is a bug in the recent versions of the plugin.
You can find a build with a fix here in a few minutes:








						Fix writing current scene to file · WarmUpTill/SceneSwitcher@7366906
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				



(You have to be logged into GitHub to be able to download it)
Let me know if everything works as expected.


----------



## AntiElitz (Aug 11, 2021)

Warmuptill said:


> I can confirm that this is a bug in the recent versions of the plugin.



Thank you for the wonderful and extremely quick fix!
After updating and starting obs for the first time my PC froze completely though. Windows 10 Education 21H1 19043.1110
However after restarting, it's running perfectly now.


----------



## Warmuptill (Aug 14, 2021)

Warmuptill updated Advanced Scene Switcher with a new update entry:

Improve date condition



> Additions:
> 
> Expand date macro condition functionality.
> This condition type now supports specifying a range of time during which the condition will be true.
> ...



Read the rest of this update entry...


----------



## rusty1 (Aug 19, 2021)

On a Mac, when I right-click one of my Macros, and the "create copy" option pops up, I can not click that button. It makes an error sound whenever I try to. If someone knows how to fix this, it would be amazing to have access to that feature.


----------



## Warmuptill (Aug 21, 2021)

rusty1 said:


> On a Mac, when I right-click one of my Macros, and the "create copy" option pops up, I can not click that button. It makes an error sound whenever I try to. If someone knows how to fix this, it would be amazing to have access to that feature.


Looks like you have to hold down right click on MacOS for some strange reason to be able to interact with the context menus.
I will try to find a solution to this.


----------



## rusty1 (Aug 23, 2021)

Warmuptill said:


> Looks like you have to hold down right click on MacOS for some strange reason to be able to interact with the context menus.
> I will try to find a solution to this.


Great to know! I see that I can quickly release and re-click the right mouse button to achieve a copy. Thank you


----------



## flashGordonAR (Aug 26, 2021)

Hi, this might seem silly.  I have used Advanced Scene Switcher last Tuesday.  Today, I was trying to configure it for other scenes, but when I go to Tools -> Advanced Scene Switcher, OBS does not let me click on any part of the screen, only get the sound as when you click outside of an open dialog box (you need to close it before clicking somewhere else), and I don't see the Adv Scene Switcher screen.   I uninstalled the plugin and reinstalled.  I reinstalled OBS and reinstalled Adv Scene Switcher but no use.  I must kill OBS from the Task Manager.
I cannot understand what changed to rever it to working again, as this is a must plugin!!
BTW, congratulations for the splendid work and updates.
Regards


----------



## flashGordonAR (Aug 26, 2021)

flashGordonAR said:


> Hi, this might seem silly.  I have used Advanced Scene Switcher last Tuesday.  Today, I was trying to configure it for other scenes, but when I go to Tools -> Advanced Scene Switcher, OBS does not let me click on any part of the screen, only get the sound as when you click outside of an open dialog box (you need to close it before clicking somewhere else), and I don't see the Adv Scene Switcher screen.   I uninstalled the plugin and reinstalled.  I reinstalled OBS and reinstalled Adv Scene Switcher but no use.  I must kill OBS from the Task Manager.
> I cannot understand what changed to rever it to working again, as this is a must plugin!!
> BTW, congratulations for the splendid work and updates.
> Regards



If it helps, here's the crash file https://1drv.ms/t/s!AjPT_NVKI_Ih3b97jUjC4iaYP5IgKg?e=mBn5Rw


----------



## Warmuptill (Aug 26, 2021)

flashGordonAR said:


> If it helps, here's the crash file https://1drv.ms/t/s!AjPT_NVKI_Ih3b97jUjC4iaYP5IgKg?e=mBn5Rw


Thanks for reporting the issue!
This seems very strange indeed.

Just to clarify  - is OBS crashing when you try to open the plugin or was this crash log produced as a result of killing the process?

Just a random guess judging by the crash report:
Did you maybe change your monitor setup and enabled the option "Save window position and size" on the general tab of the plugin?

Can you share the settings you are currently using?
They can usually be found in the following location on windows systems:
C:\Users\<you username here>\AppData\Roaming\obs-studio\basic\scenes\<your scene collection name here>.json
You of course don't have to share your settings here and can just send me a direct message.


----------



## flashGordonAR (Aug 26, 2021)

Warmuptill said:


> Thanks for reporting the issue!
> This seems very strange indeed.
> 
> Just to clarify  - is OBS crashing when you try to open the plugin or was this crash log produced as a result of killing the process?
> ...



Hi, thanks for the reply.
OBS runs ok.  When I try to open the plugin (I have already done this on last Tue without any problems), it stops responding and crashes.  Then, the only way to go on, is just killing the OBS process thru Task Manager.  Cannot close the window on the task bar, nor close with the X.

Did you maybe change your monitor setup and enabled the option "Save window position and size" on the general tab of the plugin?
Bingo! yes, I did that!!!  And I had 2 monitors, and it was running in the 2nd monitor, that I have now disconnected from the PC.

Is there any config file where I can change that setting?  I am quite sure that changing that will make it work again.  It was my fault to set that to run in the 2nd monitor and disconnect it.  I was trying to create the scenes sequence and plug the 2nd monitor when the time was due.  Just let me know if this is possible (changing any line) or I need to reconnect the 2nd monitor to change that.

I write it here, publicly, as I take all the blame for this issue.  The plug in is working as great as always!!

Thanks,
Gabriel


----------



## Warmuptill (Aug 26, 2021)

flashGordonAR said:


> Hi, thanks for the reply.
> OBS runs ok.  When I try to open the plugin (I have already done this on last Tue without any problems), it stops responding and crashes.  Then, the only way to go on, is just killing the OBS process thru Task Manager.  Cannot close the window on the task bar, nor close with the X.
> 
> Did you maybe change your monitor setup and enabled the option "Save window position and size" on the general tab of the plugin?
> ...


There is indeed a setting for that in the files i mentioned.
For example for me the file would be:
C:\Users\Till\AppData\Roaming\obs-studio\basic\scenes\Untitled.json
In there look for `"saveWindowGeo":true` and replace it with `"saveWindowGeo":false`. 

>I write it here, publicly, as I take all the blame for this issue.
That's not your fault.
The plugin should be able to handle that - I just haven't thought about such cases.


----------



## flashGordonAR (Aug 26, 2021)

Warmuptill said:


> There is indeed a setting for that in the files i mentioned.
> For example for me the file would be:
> C:\Users\Till\AppData\Roaming\obs-studio\basic\scenes\Untitled.json
> In there look for `"saveWindowGeo":true` and replace it with `"saveWindowGeo":false`.
> ...



It did it!!! Thanks a lot!


----------



## AaronD (Aug 27, 2021)

Didn't read all 58 pages (!), so apologies if this has been asked and solved before.

Anyway, it seems that the File tab can't be told not to write to a file.  By default, it doesn't, but once there's a path in there, it can't be disabled again; only changed.  A blank path simply reverts to the last non-blank; and putting a space in there for something that looks blank, actually creates a file named " " and continues writing to that!

How can I get it back to the default of not writing a file at all?  Thanks!


----------



## Warmuptill (Aug 27, 2021)

AaronD said:


> Didn't read all 58 pages (!), so apologies if this has been asked and solved before.
> 
> Anyway, it seems that the File tab can't be told not to write to a file.  By default, it doesn't, but once there's a path in there, it can't be disabled again; only changed.  A blank path simply reverts to the last non-blank; and putting a space in there for something that looks blank, actually creates a file named " " and continues writing to that!
> 
> How can I get it back to the default of not writing a file at all?  Thanks!


You are actually the first person to ask this :)

This is unintended behaviour but for now you can just enter an invalid path, for example just a space.
I will make sure to change this in a future release.


----------



## AaronD (Aug 27, 2021)

Warmuptill said:


> You are actually the first person to ask this :)
> 
> This is unintended behaviour but for now you can just enter an invalid path, for example just a space.
> I will make sure to change this in a future release.



A space is actually valid, as it turns out.  It creates a file with that name in the working directory of the script that started OBS.  (I might not have noticed if I had started it from the system menu)

I guess I'll use /dev/null for now.


----------



## Warmuptill (Aug 28, 2021)

AaronD said:


> A space is actually valid, as it turns out.  It creates a file with that name in the working directory of the script that started OBS.  (I might not have noticed if I had started it from the system menu)
> 
> I guess I'll use /dev/null for now.


Ah, I just assumed you were using Windows. ;)
If you need a build with a fix you can find one here on GitHub:








						Fix empty paths not saving on file tab · WarmUpTill/SceneSwitcher@ccc147a
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				



(You will have be logged in to be able to download it)


----------



## Jacobecos (Aug 28, 2021)

Hi, I wanted to ask if there's anyway to swap scenes based on my internet browser (opera GX) url that's open

I mean, I wan't to have different scenes on the same website, problem is website doesn't actually change it's title depending on what I'm browsing, but url does change.

Is there any way to do that?


----------



## Warmuptill (Aug 28, 2021)

Jacobecos said:


> Hi, I wanted to ask if there's anyway to swap scenes based on my internet browser (opera GX) url that's open
> 
> I mean, I wan't to have different scenes on the same website, problem is website doesn't actually change it's title depending on what I'm browsing, but url does change.
> 
> Is there any way to do that?


Unfortunately I do not think so.
Unless this browser happens to have an option to write the current url to a file automatically I don't know of a good way to interact with the browser itself.

I am not sure if it is feasible for your use case but maybe you could try matching the content that is shown on the website using this plugin:





						Pixel Match Switcher
					

Pixel Match Switcher  Pixel Match Switcher can trigger switching scenes, changing visibility of scene items and filters, and other actions in response to pixels of video being matched against image templates.  Considerable amount of options is...




					obsproject.com


----------



## Jacobecos (Aug 28, 2021)

Warmuptill said:


> Unfortunately I do not think so.
> Unless this browser happens to have an option to write the current url to a file automatically I don't know of a good way to interact with the browser itself.
> 
> I am not sure if it is feasible for your use case but maybe you could try matching the content that is shown on the website using this plugin:
> ...



Thanks for your help, problem with Pixel Match Switcher is I don't really understand how to install it and it's not clear on how to do so


----------



## jampoo (Aug 30, 2021)

太棒了，可以实现我的想法。


----------



## stevespaw (Sep 7, 2021)

Hello, I am re-looking at OBS as a longtime vMix user. This plug in is very nice, but one thing I can't seem to do is:
Media file end switch to "Preview". it works perfect with the options there, but I REALLY need to go to what is in preview. Is this possible?
Steve


----------



## AaronD (Sep 7, 2021)

stevespaw said:


> Hello, I am re-looking at OBS as a longtime vMix user. This plug in is very nice, but one thing I can't seem to do is:
> Media file end switch to "Preview". it works perfect with the options there, but I REALLY need to go to what is in preview. Is this possible?
> Steve



That would be another nice feature that I don't see currently.  There is a "Previous" option though, which is not the same thing, but close enough for my specific purpose.  (rocking back and forth between the same camera and a selection of videos)  And of course, you can always have it go to a specific scene regardless of what's in the Preview or Previous, like I do to start the show after the intro bumper, but that doesn't work for everything either.

It would be great to set up an arbitrary next scene while a video is playing, for example, and then have it switch to that when the video is done.

It would also be nice to have a generic trigger for *any* media being done, so I don't have to manually set that up every time I add a new video.

(If I keep selecting videos as the next scene, this combination could go on forever. Likewise if I play at least two videos back to back and then do nothing. In that case, it would rock between the last two videos because the one that just finished goes to the Preview and gets switched to again, ad infinitum.)


----------



## GeeMack (Sep 7, 2021)

AaronD said:


> It would be great to set up an arbitrary next scene while a video is playing, for example, and then have it switch to that when the video is done.



Maybe make an empty scene, set the Scene Switcher go to that scene when the video ends, and while the video is playing take a few seconds to add any other scene you want to that empty scene.


----------



## AaronD (Sep 7, 2021)

GeeMack said:


> Maybe make an empty scene, set the Scene Switcher go to that scene when the video ends, and while the video is playing take a few seconds to add any other scene you want to that empty scene.



I'm not sure I follow that.  You're saying to re-build a potentially complex scene while a potentially short video is playing?  Surely not.

Or is that empty scene just a "trampoline" of sorts, that stays empty, and it triggers another scene change immediately?  Then you go into the settings and change the absolute target of that trampoline while the video is playing...?


----------



## GeeMack (Sep 8, 2021)

AaronD said:


> Or is that empty scene just a "trampoline" of sorts, that stays empty, and it triggers another scene change immediately?  Then you go into the settings and change the absolute target of that trampoline while the video is playing...?



That's an idea that might have possibilities in some set-ups. Not quite what I had in mind though.

I was thinking of building whatever scene (or scenes) that you may want to follow your video, make them as simple or complicated as you need.

Then also create a scene, call it Target_Scene, add those other pre-made scenes to it, and set them all to "hidden". Set the Scene Switcher to go to that empty scene when the video ends.

Now while the video is playing, open that Target_Scene in the Preview window and click the eyeball to make whichever source you want visible.

When the video ends the Scene Switcher changes to the Target_Scene, so it plays your selected scene as if the Scene Switcher had changed directly to it.

It may not be an elegant solution, but it does seem to me it would be quicker and easier to make a source visible while the video plays rather than trying to adjust settings in the Scene Switcher.


----------



## AaronD (Sep 8, 2021)

GeeMack said:


> I was thinking of building whatever scene (or scenes) that you may want to follow your video, make them as simple or complicated as you need.
> 
> Then also create a scene, call it Target_Scene, add those other pre-made scenes to it, and set them all to "hidden".



I didn't realize you could add scenes to scenes, but sure enough, there's the option in the list of sources.

Does hiding it also kill any live audio sources and media playback? I've only used it for optional text overlays. While the audio concern should be obvious, the playback could also be significant on lesser systems.


----------



## GeeMack (Sep 8, 2021)

AaronD said:


> Does hiding it also kill any live audio sources and media playback? I've only used it for optional text overlays. While the audio concern should be obvious, the playback could also be significant on lesser systems.



As far as I know, when using as scene as a source, hiding the scene will eliminate all output from the scene exactly as if you left that scene to open another. I'd check he settings on any media sources to make sure they stop when hidden if the source settings have such an option.


----------



## khaver (Sep 9, 2021)

Any chance you could add a threshold control for video matching? I'd like to be able to set like a 90% match so slight variations in the actual graphic file and how OBS displays it, or if you're playing a video, compression artifacts can break an exact match.


----------



## Warmuptill (Sep 10, 2021)

khaver said:


> Any chance you could add a threshold control for video matching? I'd like to be able to set like a 90% match so slight variations in the actual graphic file and how OBS displays it, or if you're playing a video, compression artifacts can break an exact match.


Yes this is something I plan on implementing.
I have a first working version on the "opencv-fun" branch in case you are interested.








						GitHub - WarmUpTill/SceneSwitcher at opencv-fun
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				



As the name suggests this change will introduce a dependency to the opencv libraries.
I haven't gotten around to adjusting the build scripts for this yet so I cannot provide a test build yet.


stevespaw said:


> Hello, I am re-looking at OBS as a longtime vMix user. This plug in is very nice, but one thing I can't seem to do is:
> Media file end switch to "Preview". it works perfect with the options there, but I REALLY need to go to what is in preview. Is this possible?
> Steve


I will look into adding a macro action for swapping between preview and active scene in studio mode.
Thanks for the suggestion!

Update:
I added the functionality to the plugin.




You can find a test build here:
https://github.com/WarmUpTill/SceneSwitcher/actions/runs/1222644128
You will have to be logged into GitHub to be able to download it.



GeeMack said:


> That's an idea that might have possibilities in some set-ups. Not quite what I had in mind though.
> 
> I was thinking of building whatever scene (or scenes) that you may want to follow your video, make them as simple or complicated as you need.
> 
> ...


I am not sure I fully understand what you are trying to achieve but I just wanted to give the hint that the "scene group" tab might be useful.
A scene group can be selected as the target of a scene switch on the other tabs, just like a regular scene.
But as the name suggests a scene group is a group / list of scenes, of which one will be chosen every time the scene group is selected as a scene switch target.


----------



## AaronD (Sep 11, 2021)

Warmuptill said:


> I am not sure I fully understand what you are trying to achieve but I just wanted to give the hint that the "scene group" tab might be useful.
> A scene group can be selected as the target of a scene switch on the other tabs, just like a regular scene.
> But as the name suggests a scene group is a group / list of scenes, of which one will be chosen every time the scene group is selected as a scene switch target.



I think it was meant to be a workaround for not having the Preview option. ("Swap scene", as you've called it, which is fine too) If that option is there, then this workaround isn't needed.


----------



## Warmuptill (Sep 12, 2021)

khaver said:


> Any chance you could add a threshold control for video matching? I'd like to be able to set like a 90% match so slight variations in the actual graphic file and how OBS displays it, or if you're playing a video, compression artifacts can break an exact match.


I now have built a version of the pluing which supports the requested functionality - Here is an example:
This is the input source:



This the provided pattern:



The pattern can be identified successfully and results in the video condition to be fulfilled.
It can also be manually tested by pressing the "Show match" button.



A build with this change can be found here in a couple of minutes:








						Some OpenCV fun · WarmUpTill/SceneSwitcher@be6ac2a
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				



You need to be logged into GitHub to be able to download the build.

I would appreciate if you could give this a try and report back if everything works as expected.
Please make sure to backup your settings first in case something goes wrong.


----------



## khaver (Sep 13, 2021)

Warmuptill,

It worked perfectly. I now have a way to automatically start our sermon recording when they put the slide up to excuse the children to children's church, and then stop the recording after the sermon when the mic is muted, using your audio detection.

Thank you.


----------



## lextehrex (Sep 17, 2021)

This extension is absolutely incredible and has become an integral part of the project I run, so a massive thanks to the developer for this.

I'm having one issues though, trying to create a macro that presses a hotkey when a scene is active. Is there a special knack to get it to work? The macros are very powerful so it might just be me being a bit dim.

I have a hotkeys setup to switch between different lower third tiles depending on the active scene. The hotkeys themselves work manually, but I can't seem to configure the macro properly for this to happen automatically.

Current the condition is set to:
 - If > Scene > Current > [scene]

And the action is:
 - Hotkey > F1
None of the buttons below for 'Left Shift', 'Right Shift' etc are ticked since I only want to press F1.

Then I'd like to add a macro for each lower third tile switch, so F2 to F6, each with it's own.

Although I've seen it work before like this, it only works very rarely. When it does work, it presses the hotkey down constantly, so I was also looking to find a way to make it press the hotkey once and then stop, but I need to figure out why it's not being pressed at all now.

Any help much appreciated!


----------



## Warmuptill (Sep 17, 2021)

lextehrex said:


> This extension is absolutely incredible and has become an integral part of the project I run, so a massive thanks to the developer for this.
> 
> I'm having one issues though, trying to create a macro that presses a hotkey when a scene is active. Is there a special knack to get it to work? The macros are very powerful so it might just be me being a bit dim.
> 
> ...


I haven't looked into it yet in detail but I have theories what could be going on:
One could be that the keypress happens to quickly and thus OBS might miss the key press. I will look into an option to make this configurable.
Another issue could be that in the setup described above the key will be pressed continuously while the current scene is "[scene]".
This is due to the condition always being true. If you only want to trigger the action on scene change to the condition of the type "for at most 0s".

I will update you once I find out more.


----------



## eramsorgr (Sep 18, 2021)

Hey everyone, I am trying to setup a scene transition using exes for League of Legends. I am trying to switch scenes if the game opens and when it closes to revert to another scene but I don't see such an option. Any ideas?


----------



## Warmuptill (Sep 18, 2021)

eramsorgr said:


> Hey everyone, I am trying to setup a scene transition using exes for League of Legends. I am trying to switch scenes if the game opens and when it closes to revert to another scene but I don't see such an option. Any ideas?


Hello,
unless I am misunderstanding your request you probably do not even need this plugin to achieve what you are looking to do.
You can just rely on the built-in scene switcher.

If you want to use this plugin I would recommend using the "Macro" tab as it is the most flexible, if you ever plan on expanding your automated scene switches.
You can set up two macro with settings similar to this:







Make sure to activate the plugin on the general tab.



lextehrex said:


> This extension is absolutely incredible and has become an integral part of the project I run, so a massive thanks to the developer for this.
> 
> I'm having one issues though, trying to create a macro that presses a hotkey when a scene is active. Is there a special knack to get it to work? The macros are very powerful so it might just be me being a bit dim.
> 
> ...


As announced here is a short update:
Unfortunately I was not able to reproduce the problem but I implemented the functionality described above.
The duration the key combination is pressed can now be configured.


I also added the option to only send the hotkeys to the OBS application and not any other process. (This will also finally allow me to enable this functionality on MacOS)
Maybe give using this a try as it uses a different method to generate the key presses.

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








						Include press duration option and option to limit key press to OBS · WarmUpTill/SceneSwitcher@89ca9a2
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				



Note that you have to be logged in to GitHub to be able to download it.

Let me know if changing the duration of the key press and adding a time constraint to your original condition makes a difference! :)


----------



## lextehrex (Sep 20, 2021)

> As announced here is a short update:
> Unfortunately I was not able to reproduce the problem but I implemented the functionality described above.
> The duration the key combination is pressed can now be configured.View attachment 75264
> I also added the option to only send the hotkeys to the OBS application and not any other process. (This will also finally allow me to enable this functionality on MacOS)
> ...



That's fantastic! I'll grab the update and do some testing to see if that resolves the problem I was having. Will let you know how I get on. Thanks so much!


----------



## eramsorgr (Sep 20, 2021)

Warmuptill said:


> If you want to use this plugin I would recommend using the "Macro" tab as it is the most flexible, if you ever plan on expanding your automated scene switches.


That's exactly what I needed. Cheers.


----------



## Thewas (Sep 22, 2021)

Does anyone know if there is a simple way to switch from one scene to another in OBS V22 and V27 without the need to download a plugin? Not dependent on window detected like in the "Advanced Scene switcher".  Just a simple process that if on scene "7" then go to scene "1" in "X" time.

I know this is possible with the advanced scene switcher I just want a solution that works with the core application.

Also, does anyone know if the "Advanced Scene Switcher" will work with OBS V22?
Thank you.


----------



## bozhenko (Sep 24, 2021)

Warmuptill said:


> Warmuptill submitted a new resource:
> 
> Automatic Scene Switching - Switches to specified scenes depending on which window is in focus
> 
> ...


Norton Security removes the installer with warning about Trojan virus!


----------



## AaronD (Sep 24, 2021)

bozhenko said:


> Norton Security removes the installer with warning about Trojan virus!



I've never been impressed with name-brand security stuff.  Seems like they purposely get in the way just to remind you that they're present and doing something.  (Yeah, the "something" that it's doing is entirely to block stuff that I *wanted* to do!)

The free stuff seems to do just as good a job at keeping the junk out, and DOESN'T GET IN THE WAY!  If you even need it at all.  A fully up-to-date modern OS combined with good surfing practices seems to do pretty well too.  Even the bad-reputation Windows has gotten to that point now.


----------



## bozhenko (Sep 24, 2021)

AaronD said:


> I've never been impressed with name-brand security stuff.  Seems like they purposely get in the way just to remind you that they're present and doing something.  (Yeah, the "something" that it's doing is entirely to block stuff that I *wanted* to do!)
> 
> The free stuff seems to do just as good a job at keeping the junk out, and DOESN'T GET IN THE WAY!  If you even need it at all.  A fully up-to-date modern OS combined with good surfing practices seems to do pretty well too.  Even the bad-reputation Windows has gotten to that point now.


I've never been impressed with "free" security stuff that simply comfort the person DOING TOTALLY NOTHING. ))) 

As you see, I can say just like what you said. It doesn't change anything... 

BTW, virustotal says, "4 security vendors flagged this file as malicious", and that was done for free and my request, not in order to "remind me of it's existence"...


----------



## AaronD (Sep 24, 2021)

bozhenko said:


> I've never been impressed with "free" security stuff that simply comfort the person DOING TOTALLY NOTHING. )))



Well, I did mention not having one at all, because any fully-updated modern OS is that good by itself at keeping unsolicited attacks out.  (this is why you update!)
Combine that with good surfing practices (don't go to virus hosting sites that masquerade as witty memes or "other stuff" if you know what I mean), and you're good.  So even if a free "dummy" thing does do nothing, you're still good because of that.

It doesn't change the fact though, that a presumably fully-legitimate piece of software has been flagged by some big-name vendors.  Take that how you like.

Anyway, we're getting way off-topic here.  :-)


----------



## Warmuptill (Sep 24, 2021)

bozhenko said:


> Norton Security removes the installer with warning about Trojan virus!


Thanks for reporting the issue.
I will look into it.

To be honest I am not sure what would be causing this especially as the "dll" file, which contains the code that is being run, does not trigger any alerts it seems.
I ran into the same issue in the past with Windows Defender and it turned out to be false positive and was corrected quickly by Microsoft.

I know that is not an option for everyone but if you do not trust the pre-built binaries you have the option to compile the pugin yourself as the source code is available.

EDIT:
It seems to be related to the to the " msvc-redist-helper-32.exe" and " msvc-redist-helper.exe" used to install the  Microsoft Visual C++ Redistributable for Visual Studio 2015, 2017 and 2019.

It looks like all plugins using this helper are reported:





						VirusTotal
					

VirusTotal




					www.virustotal.com
				




To name a few:

StreamFX-Windows-Installer.exe
audio-monitor-installer.exe
move-transition-installer.exe
I will try to inform @Xaymar about this.


----------



## bozhenko (Sep 25, 2021)

AaronD said:


> Anyway, we're getting way off-topic here.  :-)


Precisely! That's why I responded ironically to your post. As of right now I am not on virus hosting site, or am I? How does one tell? There are so many developers here, you can never saay all of 'em are with good intentions only... Thus your mention about safe surfing practices is just like free security software in this case... )))
There was a flag, who cares which security software raised it. Should be noted. I notified about it. Warmuptill took that into consideration. That's it.


----------



## WaveSim (Sep 25, 2021)

Can't stop shooting what a wonderful plugin for OBS and churches!!!
Made 10 macros and relative some hotkeys and removed about 10 scenes and PPT files instead.
Became so easy to operate.
Hope it will make us not make a mistake from now on.
Really appreciate you guys for your brilliant efforts.


----------



## ContentDeveloper (Sep 28, 2021)

Is there a "trick" to get a Macro to actually execute?
I have created a macro that when on a certain scene, I want it to Run a command, but the scene triggers the scene switcher to OFF.
Does the ASS need to be running for any macros to work at all??


----------



## Warmuptill (Sep 28, 2021)

ContentDeveloper said:


> Is there a "trick" to get a Macro to actually execute?
> I have created a macro that when on a certain scene, I want it to Run a command, but the scene triggers the scene switcher to OFF.
> Does the ASS need to be running for any macros to work at all??


Yes the scene switcher needs to be running for the macros to be active.


----------



## strangeways (Oct 1, 2021)

The conditional statements under the video tab should have a threshold setting due to slight differences in the array of pixels not allowing the scenes to swtich. I tested this feature extensively with 4 x GoPros feeding into a BlackMagic capture card and rarely got my scenes to switch. I suspect this is because even when the cameras are idle, with no subject animated within their frame, each frame is different than the last due to the camera's sensor and stream conversion. So, when the software compares a current frame to a reference frame, it always returns true for activity. If there was a threshold that could be set for each statement to determine how much difference the current frame must be from the reference frame in order the trigger the switch, I think that feature would be a lot more functional. I came to this plugin wanting this one feature but have played around with other tabs. It's all really impressive! This is would be a solid improvement to an already great plugin. I tried installing the Pixel Match fork of OBS but it doens't work in MacOS, unfortunately.


----------



## Warmuptill (Oct 1, 2021)

strangeways said:


> The conditional statements under the video tab should have a threshold setting due to slight differences in the array of pixels not allowing the scenes to swtich. I tested this feature extensively with 4 x GoPros feeding into a BlackMagic capture card and rarely got my scenes to switch. I suspect this is because even when the cameras are idle, with no subject animated within their frame, each frame is different than the last due to the camera's sensor and stream conversion. So, when the software compares a current frame to a reference frame, it always returns true for activity. If there was a threshold that could be set for each statement to determine how much difference the current frame must be from the reference frame in order the trigger the switch, I think that feature would be a lot more functional. I came to this plugin wanting this one feature but have played around with other tabs. It's all really impressive! This is would be a solid improvement to an already great plugin. I tried installing the Pixel Match fork of OBS but it doens't work in MacOS, unfortunately.


You are in luck - I have worked on this functionality (pattern match instead of exact match) and plan to make an update to the plugin soon.
If you want to give it a try already you can find a build here:








						Some OpenCV fun · WarmUpTill/SceneSwitcher@e7449c6
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				



Note that you have to be logged into GitHub to be able to download it.


----------



## Warmuptill (Oct 3, 2021)

Warmuptill updated Advanced Scene Switcher with a new update entry:

Video condition, Studio mode actions, Transitions and more



> Additions:
> 
> Improve video condition:
> The improvements to the video condition have been achieved by relying on the functionality provided by OpenCV.
> ...



Read the rest of this update entry...


----------



## ContentDeveloper (Oct 4, 2021)

Thx for the extensive update, @Warmuptill!

I was going to ask you, though... do you have plans to add conditions to the Regions tab, such as instead of just "Unless" this scene, add "Only If" this sceen...

My example use case is this:  I am using it to control the position of a lower-third graphic, and i have to list the two "regions" for all scenes using "Unless", lest the switch to one of the two defined regions scenes is trigger whilst on a scene I am not even showing the lower-third graphic.

If condition of "Only If" was available, I would be defining the two scenes I care to show the lower-third graphic, instead of all those I do NOT want to lower-third graphic show.

Make sense?


----------



## Warmuptill (Oct 4, 2021)

ContentDeveloper said:


> Thx for the extensive update, @Warmuptill!
> 
> I was going to ask you, though... do you have plans to add conditions to the Regions tab, such as instead of just "Unless" this scene, add "Only If" this sceen...
> 
> ...


I don't have plans to expand the region tab - the reason being that what you are trying to achieve is already possible using the macro tab :)
Here is an example for the "Only if" screen region condition you described above:




Let me know if that works for you or if I misunderstood your request.


----------



## ContentDeveloper (Oct 4, 2021)

Had no idea that was there, @Warmuptill… it worked great!!

T H A N K   Y O U  ! ! !


----------



## Yulian Min (Oct 10, 2021)

Hello! 
I want to say a huge thank you to the creators of such a useful, interesting and wonderful tool for automatic scene switching, God bless you !!! 

Please tell me what can be done in such a situation: 
There are several scenes in my collection, one of which contains a capture of the presentation window. 
I needed that when the state of the image of this window was changed, there would be a switch to the scene with this window. 
Or, if there have been no changes for some time, to turn on another scene. 
Warmuptill helped me to implement this idea, for which thanks to him! =) 

This action executes a macro with the following condition: 

If> "Video"> "Capture presentation window"> changed 
Then switch the scene to> "Presentation". 

It works well! 

But I noticed that checking the state of the image only happens when the scene with the presentation is in the preview window. 
When another scene is open there, and the image changes in the presentation, the scene does not switch ... 
Is there a way to check the state of an image on a scene that is not active in the preview window? 

Thanks!


----------



## Warmuptill (Oct 11, 2021)

Yulian Min said:


> Hello!
> I want to say a huge thank you to the creators of such a useful, interesting and wonderful tool for automatic scene switching, God bless you !!!
> 
> Please tell me what can be done in such a situation:
> ...


I assume that the video source is only updated by OBS if it is actually visible.
What type of video source are you using?
Maybe there are some OBS settings that can tweak this behavior.


----------



## Kniraven (Oct 12, 2021)

Hello.
I apologize if this has been gone over before, but I did not read the entire 60 pages of conversation. x_x

My question is:
Could this plugin be used to detect how many users are in an OBS video chat source (see image) and change to an appropriate scene based on how many users are there?

ie: If there are four users in channel, switch to a scene that accommodates 4 people.

I would lose my mind if this could be set up to work.


----------



## AaronD (Oct 12, 2021)

Kniraven said:


> Could this plugin be used to detect how many users are in an OBS video chat source (see image) and change to an appropriate scene based on how many users are there?
> 
> ie: If there are four users in channel, switch to a scene that accommodates 4 people.



"If all you have is a hammer, then everything looks like a nail."

I think in this case, that OBS is your hammer, and this problem is a screw.  It seems to me that what you really want is an "animated scene" sort of concept instead of the fixed geometry that OBS has.  (or like the tile view of a remote meeting)  Otherwise, you'll have an endless number of scenes that differ only in the number of people in them, so adding/removing overlays and other changes are going to be a nightmare.

Find or make an app that does the dynamic tiling or whatever you do for a different number of people (I can't imagine it being all that hard to make, given the right tools), and then feed it into OBS as its own source.

Or if you already have that picture in another app (your Gameplay window, perhaps?), just use a window capture or screen capture source that OBS already has to grab it from there.  No need to recreate it in OBS at all.


----------



## Kniraven (Oct 12, 2021)

AaronD said:


> "If all you have is a hammer, then everything looks like a nail."
> 
> I think in this case, that OBS is your hammer, and this problem is a screw.  It seems to me that what you really want is an "animated scene" sort of concept instead of the fixed geometry that OBS has.  (or like the tile view of a remote meeting)  Otherwise, you'll have an endless number of scenes that differ only in the number of people in them, so adding/removing overlays and other changes are going to be a nightmare.
> 
> ...



I want to use this for a D&D Stream.
I would have a minimum of 3 and a maximum of 6 people in the channel, and would therefore need only 4 scenes.

It is very common for TTRPG streamers doing online games to use Discord, Zoom, or another meeting software as a single source, and then crop that source for participant placement in a scene. The common issue that many people have been looking for an optimal solution for is that when a player drops the call unforeseen, camera arrangement changes and the OBS scene now has camera cropped and in wonky positions.

Currently I have the scenes for different player counts set up, and I manually switch between them as needed. An automated solution would be preferable.

Some solutions:
- Use the built in A/V software that comes with whatever virtual TTRPG Platform you use.
--- (unfortunately, this software is not at all competitive with Discord/Zoom in terms of quality).

- Use a web app like OBS.ninja to capture each individual's camera as an independent browser source.
--- (unfortunately, this requires set-up before every individual stream and quality is still not as good as Discord or Zoom)

- Use a desktop application that can make each player's camera an independent source, like VSee
--- (unfortunately, these tend to fall under either very expensive or very low quality)

This is an issue many people are looking to resolve, and there are many work arounds out there that haven't hit the mark. I was thinking/hoping this might have the potential to be a real solution.

If you'd like a better visual example of what I am talking about, let me know.


----------



## Warmuptill (Oct 12, 2021)

Kniraven said:


> I want to use this for a D&D Stream.
> I would have a minimum of 3 and a maximum of 6 people in the channel, and would therefore need only 4 scenes.
> 
> It is very common for TTRPG streamers doing online games to use Discord, Zoom, or another meeting software as a single source, and then crop that source for participant placement in a scene. The common issue that many people have been looking for an optimal solution for is that when a player drops the call unforeseen, camera arrangement changes and the OBS scene now has camera cropped and in wonky positions.
> ...


More examples would definitively help, as otherwise it will be really difficult to say if this is something that can be automated using this plugin.

Just a few ideas:

Maybe the video call software you are using provides the information via an API or even simpler via log file.
Then you could maybe switch scenes via the file condition.
Alternatively you could try to use pattern matching to decide which scene to switch to, by identifying certain elements in the video call software UI
Or you could switch scenes based on whether or not certain video sources have not changed for a specified duration of time. (E.g if a person drops from the call)


----------



## KAIE (Oct 12, 2021)

I have recently learned about this plug-in.
I recently found out about this plug-in and have been using it, but the macros utilizing the hotkeys do not work at all.

I have tried...
1)<first condition>
 If "Hotkey "
Name: "Macro trigger hotkye 1"

2) <to do next>
Switch scene
Switch to scene "scene name" using "cut" with a duration of 0.00 seconds 

This was just a simple macro test.
Of course, Hotkey is specified in the OBS settings.

Is this a problem in my environment?
I'll tell you what I can offer to solve this problem.
I am using Windows 10Pro 64bit.
OBS version is 27.13(64bit).

Thank you.


----------



## Warmuptill (Oct 12, 2021)

KAIE said:


> I have recently learned about this plug-in.
> I recently found out about this plug-in and have been using it, but the macros utilizing the hotkeys do not work at all.
> 
> I have tried...
> ...


Is the plugin started? (See General tab)
If it is, can you please export your setting and share them with me so I can try to reproduce the issue?


----------



## KAIE (Oct 12, 2021)

Hello again.It's me again.

I've been trying different things and it seems to behave a little differently in different scene situations, such as more or less sources.
I had multiple scenes built with OBS, and the phenomenon was that it was not available in certain scenes, or it could or could not be done in new scenes.
I apologize for not describing it in detail.




KAIE said:


> I have recently learned about this plug-in.
> I recently found out about this plug-in and have been using it, but the macros utilizing the hotkeys do not work at all.
> 
> I have tried...
> ...


----------



## Warmuptill (Oct 12, 2021)

KAIE said:


> Hello again.It's me again.
> 
> I've been trying different things and it seems to behave a little differently in different scene situations, such as more or less sources.
> I had multiple scenes built with OBS, and the phenomenon was that it was not available in certain scenes, or it could or could not be done in new scenes.
> I apologize for not describing it in detail.


Can you please export the settings that are causing issues and share them with me?
Preferably also with the steps to reproduce the issue.
I will then try to replicate it on my end to fix any potential issues.

The option to export the current settings can be found on the Gernal tab.
Thanks!


----------



## grit60 (Oct 12, 2021)

Warmuptill said:


> Alternatively you could try to use pattern matching to decide which scene to switch to, by identifying certain elements in the video call software UI


Guessing but I think his "four participant" Scene has four sources capturing the same window.  Each source is cropped to only show one participant. His problem is that when another person shows up (five participants) all of the four windows are messed up because the main window was rearranged.  So, he wants to switch to the "five participant" Scene.

Some changes would be needed to get pattern matching to do what he wants.  First, pattern match would need to work on a window or display capture source or (NDI source?).  Then he would need to a way to match an area of the source.  Say for example, the source was a zoom meeting.  The pattern match would see that zoom is arranged with four people (probably by matching the black area where no one exists) and switch to the "Four participants" scene.  Five people, "five participants" scene and so on.


----------



## KAIE (Oct 12, 2021)

Hi Warmuptill. Thanks for the reply.
Of course, the status of the plugin is Active.

I would like to export the settings and share them with you, but it would include all the other data, so I would like to communicate this in a different way if possible.

I've also tried various things to solve the problem, changing the conditions.
I found that some scenes work and others don't, depending on whether there are multiple scenes or not, and whether there are many or few sources.
For example, triggering using the time difference caused by lag.
I don't think my PC specs are bad, but I'm having trouble with the mystery.

My PC spec:
CPU:AMD Ryzen 9 5950X
MEM:64.0 GB
GraphicsCard:Geforce RTX 3070




Warmuptill said:


> Can you please export the settings that are causing issues and share them with me?
> Preferably also with the steps to reproduce the issue.
> I will then try to replicate it on my end to fix any potential issues.
> 
> ...


----------



## Kniraven (Oct 12, 2021)

grit60 said:


> Guessing but I think his "four participant" Scene has four sources capturing the same window.  Each source is cropped to only show one participant. His problem is that when another person shows up (five participants) all of the four windows are messed up because the main window was rearranged.  So, he wants to switch to the "five participant" Scene.
> 
> Some changes would be needed to get pattern matching to do what he wants.  First, pattern match would need to work on a window or display capture source or (NDI source?).  Then he would need to a way to match an area of the source.  Say for example, the source was a zoom meeting.  The pattern match would see that zoom is arranged with four people (probably by matching the black area where no one exists) and switch to the "Four participants" scene.  Five people, "five participants" scene and so on.



This is accurate


----------



## WaveSim (Oct 13, 2021)

Hi guys!
So appreciate your effort regarding this great plugin.
I just wonder if I can do this action.
I want to start streaming when I set regularly like every Sunday morning at 10:20 AM at the specific scene.
Can't find this action on time or macro tab.

Best regards,


----------



## WaveSim (Oct 13, 2021)

I can't find the version in the program.
How can I know the version using?


----------



## Warmuptill (Oct 13, 2021)

WaveSim said:


> Hi guys!
> So appreciate your effort regarding this great plugin.
> I just wonder if I can do this action.
> I want to start streaming when I set regularly like every Sunday morning at 10:20 AM at the specific scene.
> ...


Have a look at the "date" macro condition.
That might be able to do what you are looking for.


----------



## WaveSim (Oct 13, 2021)

Warmuptill said:


> Have a look at the "date" macro condition.
> That might be able to do what you are looking for.


Thanks for your reply.
I have checked there however, I can only set one time from there. 
I want to use this action regularly as I described.

Thanks again.


----------



## Yulian Min (Oct 13, 2021)

Warmuptill said:


> I assume that the video source is only updated by OBS if it is actually visible.
> What type of video source are you using?
> Maybe there are some OBS settings that can tweak this behavior.


I have a "VisioBible" program window, in OBS it is selected as the "window grabber" source. 
It looks like this: YouTube Video.

When testing a macro that reacts to image changes, the Bible window was always open. 
But the expression only worked when the scene with that source was open in the OBS preview, whether the slide was in focus or not. 

So far, I have managed to find one solution: I open the scene with the Bible in a window projector, and in the OBS settings I turned on the launch of projectors along with the program, and it seems to work) I just minimized the projector to the tray and it does not bother me. 

But maybe there is some other setting so that you can do without a window projector?


----------



## Warmuptill (Oct 13, 2021)

WaveSim said:


> Thanks for your reply.
> I have checked there however, I can only set one time from there.
> I want to use this action regularly as I described.
> 
> Thanks again.


Using the reschedule option should do the trick.
Let me know if this works as expected.







grit60 said:


> Guessing but I think his "four participant" Scene has four sources capturing the same window.  Each source is cropped to only show one participant. His problem is that when another person shows up (five participants) all of the four windows are messed up because the main window was rearranged.  So, he wants to switch to the "five participant" Scene.
> 
> Some changes would be needed to get pattern matching to do what he wants.  First, pattern match would need to work on a window or display capture source or (NDI source?).  Then he would need to a way to match an area of the source.  Say for example, the source was a zoom meeting.  The pattern match would see that zoom is arranged with four people (probably by matching the black area where no one exists) and switch to the "Four participants" scene.  Five people, "five participants" scene and so on.





Kniraven said:


> This is accurate


Thanks for the explanation and examples.

Just to clarify:
>pattern match would need to work on a window or display capture source or (NDI source?)
Does this not work?
My expectation would be that any source that can be screenshot can be selected.

>Then he would need to a way to match an area of the source
I will look into an option to provide a "mask" for the pattern matching.



Yulian Min said:


> I have a "VisioBible" program window, in OBS it is selected as the "window grabber" source.
> It looks like this: YouTube Video.
> 
> When testing a macro that reacts to image changes, the Bible window was always open.
> ...


I will look into it, when I find the time. :)


----------



## Warmuptill (Oct 13, 2021)

Yulian Min said:


> I have a "VisioBible" program window, in OBS it is selected as the "window grabber" source.
> It looks like this: YouTube Video.
> 
> When testing a macro that reacts to image changes, the Bible window was always open.
> ...


I had a quick look at the window capture source and as expected the capturing stops if the source is no longer visible.
The last frame that was captured remains as the one that can be grabbed via a screenshot and this frame will not change until the source is active again.

So I  am afraid the only "solution" would be to either use the window projector workaround you suggested or add a copy of the source to every relevant scene. (Can be outside of the "canvas" area but the "eye" icon must not be crossed out)


----------



## WaveSim (Oct 14, 2021)

Warmuptill said:


> Using the reschedule option should do the trick.
> Let me know if this works as expected.
> 
> View attachment 76088
> ...


Thanks !!!
'reschedule' option works well as I expected!. Now I can stream our regular Sunday service on time.
when I see the option at the first time, I think it seems like it will work only one time.
I think the name would be changed like 'repeat every ~~time period~~ ' Just in my opnion.

Thanks again.


----------



## AaronD (Oct 14, 2021)

WaveSim said:


> Thanks !!!
> 'reschedule' option works well as I expected!. Now I can stream our regular Sunday service on time.
> when I see the option at the first time, I think it seems like it will work only one time.
> I think the name would be changed like 'repeat every ~~time period~~ ' Just in my opnion.
> ...



As a different way of doing it, I have a script on our Linux Broadcast machine, that runs on startup.  It sets things up that are part of our normal system management (RS232-controlled video switch, for example), and then checks the time and date.  If it's Sunday morning before we're scheduled to start, it launches all of those apps: X32 Edit for backup audio control (primary is on a touchscreen Pi), Firefox to monitor the stream, and OBS to produce the stream.  Then it checks the time twice a minute while we rehearse.  When we're supposed to start streaming, it uses `xdotool` to send the keystrokes that I set up to show the announcement loop, cue up the Welcome video, and start the stream.  Then the script finally exits.

(The Macro tab might be a better way to do that now...once OBS is running...but mine was several versions and a couple of learned skills ago, and why change what already works?)

I did the startup externally because the timing features that I saw in OBS at the time were all relative, and I don't trust a relative time to survive a restart, especially if the entire OS has been shut down too.*  This script uses the wall clock as an absolute time, and that's it.

* (and intentionally lost power because our USB capture cards require that to fully reset - they lose their minds after a few weeks of constant power, as if a frame counter overflows or something like that - and this motherboard doesn't allow the USB ports to use the switched power...so I have a relay, powered from the switched 12V rail, to interrupt the 5V standby and light an LED instead, and a button to bypass the relay, and the BIOS is set to always turn on after a "power failure")

Ending the stream IS done in OBS: I have an ending scene that is reserved for that purpose alone.  Actually several in an automated timed series, which is defined as having been on scene X for Y minutes, then go to scene Z.  Eventually, that series gets to a blank scene that I conveniently named "-------------" as a dividing line between the first 8 scenes, which are visible in the grid, and all the rest.  That scene is also the trigger to stop the stream.

---

Another HUGE tip, IMO, is to use OBS's setting to automatically start and stop recording along with the stream start and stop.  That way, you just keep producing regardless of what goes wrong with the internet, and you have something good to upload later.  I've fallen back on that several times.

The key to that though, is to NEVER STOP OBS!  Don't do anything to jeopardize that recording, regardless of what you think about the live stream.  The problem is probably not with OBS anyway - it's very stable - and it's good about reconnecting when everything else becomes okay again.  So there's never a need to reset OBS; keep it running so you at least have a good recording to upload later.


----------



## WaveSim (Oct 14, 2021)

AaronD said:


> As a different way of doing it, I have a script on our Linux Broadcast machine, that runs on startup.  It sets things up that are part of our normal system management (RS232-controlled video switch, for example), and then checks the time and date.  If it's Sunday morning before we're scheduled to start, it launches all of those apps: X32 Edit for backup audio control (primary is on a touchscreen Pi), Firefox to monitor the stream, and OBS to produce the stream.  Then it checks the time twice a minute while we rehearse.  When we're supposed to start streaming, it uses `xdotool` to send the keystrokes that I set up to show the announcement loop, cue up the Welcome video, and start the stream.  Then the script finally exits.
> 
> (The Macro tab might be a better way to do that now...once OBS is running...but mine was several versions and a couple of learned skills ago, and why change what already works?)
> 
> ...


Thanks for your long post.


----------



## Yulian Min (Oct 14, 2021)

Warmuptill said:


> I had a quick look at the window capture source and as expected the capturing stops if the source is no longer visible.
> The last frame that was captured remains as the one that can be grabbed via a screenshot and this frame will not change until the source is active again.
> 
> So I  am afraid the only "solution" would be to either use the window projector workaround you suggested or add a copy of the source to every relevant scene. (Can be outside of the "canvas" area but the "eye" icon must not be crossed out)
> ...


I understood. Thank you very much for your time!)


----------



## grit60 (Oct 14, 2021)

Warmuptill said:


> Just to clarify:
> >pattern match would need to work on a window or display capture source or (NDI source?)
> Does this not work?


The goal is to match what is seen live on the screen, not from a prerecorded video.   I assumed, perhaps wrongly, that Adv. Scene. Switcher only performs pattern matching on Video Sources.  How would it match a Display Capture Source?


----------



## Warmuptill (Oct 14, 2021)

grit60 said:


> The goal is to match what is seen live on the screen, not from a prerecorded video.   I assumed, perhaps wrongly, that Adv. Scene. Switcher only performs pattern matching on Video Sources.  How would it match a Display Capture Source?


>How would it match a Display Capture Source?
You just select the Display Capture Source of your choosing in the drop down menu :)
It does not matter whether it is a "live" source or a video being played back from a file.



I am open to renaming this source condition type if there is a better name.



WaveSim said:


> Thanks !!!
> 'reschedule' option works well as I expected!. Now I can stream our regular Sunday service on time.
> when I see the option at the first time, I think it seems like it will work only one time.
> I think the name would be changed like 'repeat every ~~time period~~ ' Just in my opnion.
> ...


Thanks for the suggestion - I will adjust this line to make it more clear what it does.


----------



## grit60 (Oct 14, 2021)

Warmuptill said:


> >How would it match a Display Capture Source?
> You just select the Display Capture Source of your choosing in the drop down menu :)
> It does not matter whether it is a "live" source or a video being played back from a file.


Ohh!  Just when I thought I was an Adv. Scene Switcher expert you come along and teach me something new ;-)
For me personally, merging all of the Sources into "Source" makes the most sense.  Barring that, consider renaming 
them as "Source State", "Source Match", "Source Audio" and "Source Media".


----------



## PNO (Oct 15, 2021)

@Warmuptill 

Great plugin!

Need your assistance. I've got a macro setup which checks the current day of week from a file and have setup a regex to match on the day of week value in the file.

Here's my valid and tested regex:
/^(?:sun(?:day)?|mon(?:day)?|tue(?:sday)?|wed(?:nesday)?|thu(?:rsday)?|fri(?:day)?|sat(?:urday)?)$/i

My understanding is that the macro will take read the value from the file and match using the regex. If match, proceed to the next macro step. Is this correct?


----------



## Warmuptill (Oct 16, 2021)

PNO said:


> @Warmuptill
> 
> Great plugin!
> 
> ...


Yes, correct - although I am afraid I don't think using delimiters "/" and specifying flags for the regular expression like "/i" will work.
So you would have to remove these parts of the regular expression.
`^(?:sun(?:day)?|mon(?:day)?|tue(?:sday)?|wed(?:nesday)?|thu(?:rsday)?|fri(?:day)?|sat(?:urday)?)$`


----------



## Kenshin9977 (Oct 17, 2021)

I have a weird issue when I launch my DiscordOverlay window through the macros of this plugin.
The way it usually works is that I get the Discord's overlay that appears on the windows after a few seconds. It works when I start it through my Stream Deck, a .bat file and by manually running it. But the overlay never appears when I start it through this plugin. I also tried to run a .bat that starts DiscordOverlay.exe through the macros but I get the same result ; no Discord overlay.


----------



## Warmuptill (Oct 17, 2021)

Kenshin9977 said:


> I have a weird issue when I launch my DiscordOverlay window through the macros of this plugin.
> The way it usually works is that I get the Discord's overlay that appears on the windows after a few seconds. It works when I start it through my Stream Deck, a .bat file and by manually running it. But the overlay never appears when I start it through this plugin. I also tried to run a .bat that starts DiscordOverlay.exe through the macros but I get the same result ; no Discord overlay.


I am sorry to hear that you are having issues.

How exactly are you trying to start the script?
What type of condition are you using?
Do you happen to have log file of when the issue occurred? (with verbose logging enabled - See general tab)
Can you modify the script so it creates a dummy file when being run to make sure it is actually being executed?
Would you be able to share your plugin settings? (Can be exported to a file on the general tab)


----------



## Kenshin9977 (Oct 17, 2021)

Well the weird thing is that the macro is clearly working correctly as the application is properly launched.
But I think I found the issue and it has nothing to do with your plugin. It won't work if I start my program with admin privileges. Since I start OBS with admin privileges, the macro starts my program using the same privileges. For an unkown reason, Discord won't put its overlay on my application when it runs as admin.
Anyhow, sorry for the false alarm, your plugin is a godsend ^^


----------



## Warmuptill (Oct 17, 2021)

@grit60 and @Kniraven, I now added the option to use the alpha channel of a specified pattern file as a mask for the pattern.




This should now in theory allow you to set up the desired macros for detecting the number of participants in the video conferencing software.

When using this option, instead of using a rectangle to match the video output of a source it allows you to use a kind of "stencil" to match its content instead.

To use your example screenshot of a video call I created the following two patterns:

One for two video call participants:



Another for three video call participants:



Note the transparent parts of these templates.
Anything that is transparent can be filled with arbitrary content and the pattern will still match as long as the rest of the pattern matches.

Using the following macros I set up automated scene switches for a scene will two users in the video call and a second one for three users in the video call.







(I highly assume that the layout used by the actual video call software will much different to examples I used and thus the "And not Macro ..." part will most likely not be necessary)

Using the following input will result in a scene switch to the "threeUsersScene":







And this example will result in a scene switch to "twoUsersScene":




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








						Template mask · WarmUpTill/SceneSwitcher@8fb9837
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				




Note that you have to be logged into GitHub to be able to download the test build.

Let me know if you have any questions / feedback!
I also would appreciate if you could let me know if everything also works as expected on your end using a similar setup. :)


----------



## Urbanian (Oct 19, 2021)

Running OBS 27.1.3 and Advanced Scene Switcher from August 12 2021 (sorry, I can't find a version number). I'm trying to use the Advanced Scene Switcer media rule (if that's the right term) so that several different scenes will each play a video and then automatically switch back to a default scene. (Basically, when I switch to one of the two scenes a video will play, then it should switch back to the default scene.)

I'm running MacOS.

I have two scenes, Scene A (with a media source Video A) and Scene B (with a media source Video B).

I defined two rules saying:
when Video A is Played to End switch to scene DefaultScene
when Video B is Played to End switch to scene DefaultScene
(I also tried Ended instead of Played to End, with no different results.)

This works only for the first media source in the list; when Video A in Scene A finishes playing the scene switches to DefaultScene. When Video B plays in Scene B the scene doesn't switch.

What's the problem?

I did manage to get it to work by setting up a couple of macros, basically saying:
If current scene is Scene A and Video A is Played to End, switch to scene DefaultScene.

But that seems like a lot of extra work if it needs to be done many times.


----------



## Warmuptill (Oct 19, 2021)

Urbanian said:


> Running OBS 27.1.3 and Advanced Scene Switcher from August 12 2021 (sorry, I can't find a version number). I'm trying to use the Advanced Scene Switcer media rule (if that's the right term) so that several different scenes will each play a video and then automatically switch back to a default scene. (Basically, when I switch to one of the two scenes a video will play, then it should switch back to the default scene.)
> 
> I'm running MacOS.
> 
> ...


It is very difficult to say what the issue is without further information, unfortunately.
What type of media sources are you using?
Does the issue occur if you have _only_ the rule for "Video B" set up?

I am not sure I understand how using macros makes a difference - are both video sources in state "ended" at the same time?
If so then the scene switcher uses the higher priority rule to decide which scene to switch to.
(As otherwise the plugin would continuously switch back and forth between the two specified scenes)


----------



## harderstylesgermany (Oct 19, 2021)

I want to use the Random Tab.
Is this also Paused when the scene from
The paused tab is active.


----------



## Urbanian (Oct 19, 2021)

Warmuptill said:


> It is very difficult to say what the issue is without further information, unfortunately.
> What type of media sources are you using?
> Does the issue occur if you have _only_ the rule for "Video B" set up?
> 
> ...


The media are both .mp4 files.

I had two media rules, each basically saying "When [a media] state is Ended, switch to scene Default Scene," the first rule worked but the second didn't. If I switch the order of the two rules, still the first one worked. Each media was used in only its own scene.

I switched to using a couple of macros that do essentially the same thing, except they have an "AND" clause to check the current scene, so something like "If scene is [scene with media X] AND [media X] is Ended, switch scene Default Scene." Two macros like that worked fine.

But now, when I try to reproduce the original problem, I can't get those "Media" rules to work at all, even with he macros deleted. It always has worked before when I had just one media used in one scene. The oddity showed up when I added a second media and scene, though both switched to the same scene when done. I'm very confused. I'm guessing there's some kind of under-the-covers interaction between Media rules and Macros.

To answer your other questions: As I see it, the difference when using the macros is that each includes the relevant scene, so it only checks "Ended" for Video X when Scene X is the current scene. I'm not sure how the rules under Media work. I assume that the status of the video media is only checked if it's in the currently active scene. Otherwise ASS would be constantly switching back to the default scene once the video finished. (I'm assuming that a video stays in Ended state until it's restarted again later. I'm also not sure what the difference is between "Played to the end" and "Ended.") Both rules switched to the same scene, so there'd be no switching back and forth.

Bottom line: I got it to work using macros. Now I can't get the Media rules to work at all, at least with my existing scene and media. So I'm functional. The macros just seem more complex than necessary for this simple case, and the Media rules must have some logic that I just don't understand.


----------



## PNO (Oct 19, 2021)

Warmuptill said:


> Yes, correct - although I am afraid I don't think using delimiters "/" and specifying flags for the regular expression like "/i" will work.
> So you would have to remove these parts of the regular expression.
> `^(?:sun(?:day)?|mon(?:day)?|tue(?:sday)?|wed(?:nesday)?|thu(?:rsday)?|fri(?:day)?|sat(?:urday)?)$`



Thanks for the response. Yes, after digging a bit I did make this change and sure enough, that resolved. Much appreciated!


----------



## AaronD (Oct 19, 2021)

Urbanian said:


> I had two media rules, each basically saying "When [a media] state is Ended, switch to scene Default Scene," the first rule worked but the second didn't. If I switch the order of the two rules, still the first one worked. Each media was used in only its own scene.
> 
> I switched to using a couple of macros that do essentially the same thing, except they have an "AND" clause to check the current scene, so something like "If scene is [scene with media X] AND [media X] is Ended, switch scene Default Scene." Two macros like that worked fine.
> 
> ...



That's weird.  My Media tab seems to work just like you expect yours to:



That's a bunch of videos, all in different scenes, set to go back to whichever camera was last shown.
Don't know what version of ASS I have; how do I find that?
OBS's title bar says "OBS Studio 27.1.3-modified (linux) - Profile: ... - Scenes: ..."

I got it from Ubuntu's snap repository, per the instructions here (lots of copy-paste commands to individually enable all of the permissions, and I did all of them):








						Install OBS Studio on Linux | Snap Store
					

Get the latest version of OBS Studio for Linux - Free and open source software for live streaming and screen recording




					snapcraft.io
				




My command history for all that is:

```
sudo snap install obs-studio
sudo snap connect obs-studio:alsa
sudo snap connect obs-studio:audio-record
sudo snap connect obs-studio:avahi-control
sudo snap connect obs-studio:camera
sudo snap connect obs-studio:jack1
sudo snap connect obs-studio:kernel-module-observe
sudo apt install v4l2loopback-dkms v4l2loopback-utils
echo "options v4l2loopback devices=1 video_nr=63 card_label='OBS Virtual Camera'    exclusive_caps=1" | sudo tee /etc/modprobe.d/v4l2loopback.conf
echo "v4l2loopback" | sudo tee /etc/modules-load.d/v4l2loopback.conf
sudo modprobe -r v4l2loopback
sudo modprobe v4l2loopback devices=63 video_nr=13 card_label='OBS Virtual Camera' exclusive_caps=1
sudo snap connect obs-studio:removable-media
sudo snap connect obs-studio:raw-usb
sudo snap connect obs-studio:joystick
```

I'm a bit curious now: Since ASS (and a ton of other things) come preinstalled with the snap version, do you happen to have a rough idea of how long it takes for a new release to make its way into a `snap refresh`?


----------



## Warmuptill (Oct 19, 2021)

Urbanian said:


> The media are both .mp4 files.
> 
> I had two media rules, each basically saying "When [a media] state is Ended, switch to scene Default Scene," the first rule worked but the second didn't. If I switch the order of the two rules, still the first one worked. Each media was used in only its own scene.
> 
> ...


I'm glad to you hear that you got it to work.

I would still like to understand what is going on here.
Would you be willing to export the settings you are using that are causing issues?
Then I will try to reproduce it once I find the time to do so.

>the difference when using the macros is that each includes the relevant scene, so it only checks "Ended" for Video X when Scene X is the current scene
That is not the case. Each condition is checked no matter the result of the other condition checks.

>I assume that the status of the video media is only checked if it's in the currently active scene.
>Otherwise ASS would be constantly switching back to the default scene once the video finished.
The media conditions have some internal logic so that they only return true for one interval - maybe that is somehow causing the issue?
(Now that I think about it this probably does not make much sense to include this for the macro condition as time restrictions for conditions are available)

>The macros just seem more complex than necessary for this simple case,
Just to clarify - do you also see the same behavior as on the media tab if not combining the media condition with a "current scene is ..." condition?

Anways, thanks for reporting the issue! :)



AaronD said:


> That's weird.  My Media tab seems to work just like you expect yours to:
> View attachment 76311
> That's a bunch of videos, all in different scenes, set to go back to whichever camera was last shown.
> Don't know what version of ASS I have; how do I find that?
> ...


Just to clarify:
You also see the same unexpected media tab behavior or do you not see it?

>Don't know what version of ASS I have; how do I find that?
The scene switcher will print the commit hash used to build the plugin in the OBS log.
But as it was requested quite frequently that the version information will be printed somewhere in the UI I will add the release tag to window title in a future version.

>Since ASS (and a ton of other things) come preinstalled with the snap version, do you happen to have a rough idea of how long it takes for a new release to make its way into a snap refresh?
I have no clue unfortunately - but I can see that they already switched to 1.16.1 on GitHub:








						obs-studio/snapcraft.yaml at d9015ab8903bb2727fa176f4b821c4d49858b496 · snapcrafters/obs-studio
					

This is a community-supported modified build of OBS Studio. - obs-studio/snapcraft.yaml at d9015ab8903bb2727fa176f4b821c4d49858b496 · snapcrafters/obs-studio




					github.com
				






harderstylesgermany said:


> I want to use the Random Tab.
> Is this also Paused when the scene from
> The paused tab is active.


Depends on what you have configured on the pause tab.
If you chose to also pause the random tab (or all) then this functionality will be disabled while you are on the configured scene.


----------



## AaronD (Oct 19, 2021)

Warmuptill said:


> Just to clarify:
> You also see the same unexpected media tab behavior or do you not see it?



I don't.  It works for me just like it's supposed to.  I do remember having some trouble with the "Ended" option early on, and I don't remember seeing "Played to End" at that time.  For that one, I used a timer instead, running in parallel with the video.  I probably lost the last few frames with that method, but at least it worked.

But the "Played to End" option that I see now, works perfectly, even if I skip near the end of the video.  As long as it plays the last frame, that seems to work.



Warmuptill said:


> >Don't know what version of ASS I have; how do I find that?
> The scene switcher will print the commit hash used to build the plugin in the OBS log.
> But as it was requested quite frequently that the version information will be printed somewhere in the UI I will add the release tag to window title in a future version.
> 
> ...



Okay, so at least they see it. That's good.


----------



## AaronD (Oct 19, 2021)

Also, is there anything against adding regex'es to the Network tab, so that the names don't have to match across multiple instances?  Essentially make it the same as the File tab, in terms of sending the currently active scene name "somewhere" that another instance can pick up, and then using regex'es on the received name to trigger arbitrary scenes, except that it goes through the network instead of a file.

---

My first attempt to automate the recording of a live presentation - with the recording being slightly different from live, and so it required a second instance of OBS - was to use the Network tab, until I realized that it required an exact match between the scene names.  Technically, I could make that work with a bunch of duplicate scenes on the receiving end,* but it's way too unwieldy to keep that in sync manually when adding new scenes and cleaning up old ones!

* At that point in the rig, all the videos and all the cameras come through the same source and work the same way, so I really only need about 2 or 3 scenes there in total, while the sending end has a lot more.

The File tab worked - Master writes the current scene to a file, Slave has a bunch of file-content triggers using the same file and a different regex for each - until I rebuilt that rig on Linux.  It still works on the Windows machine that I initially set it up on, but I've forgotten now what the problem was on Linux.  (might have something to do with snap permissions???)

Anyway, the Linux version ended up with a Python script and websockets, but it would be nice if ASS could do this directly on any platform:

```
#!/usr/bin/env python

import re

from obswebsocket import obsws, events, requests


wsSlv = obsws("localhost", 4445, "********")
wsSlv.connect()


def on_switch(message):
    name = message.getSceneName()
    if re.match("Camera.*", name):
        wsSlv.call(requests.SetCurrentScene("Meeting"))
    if re.match("Feature.*", name):
        wsSlv.call(requests.SetCurrentScene("Feature"))
    if re.match("Voiceover.*", name):
        wsSlv.call(requests.SetCurrentScene("Voiceover"))


wsMst = obsws("localhost", 4444, "********")
wsMst.register(on_switch, events.SwitchScenes)
wsMst.connect()


############################################
# ADD SOMETHING TO BLOCK HERE,             #
# UNTIL THE CONNECTION IS NO LONGER NEEDED #
############################################


# Disconnect from both, if possible
# If not, don't worry about it; it probably is already

try:
    wsMst.disconnect()
except:
    pass

try:
    wsSlv.disconnect()
except:
    pass
```
The `on_switch` function does all the work there, and is essentially just a set of regex'es on the same incoming scene name, that each trigger their own arbitrary scenes.

Can the Network tab also have that functionality?  Regex'es and GUI like the File tab, but using the received name from the network instead of a file?


----------



## Warmuptill (Oct 19, 2021)

AaronD said:


> Also, is there anything against adding regex'es to the Network tab, so that the names don't have to match across multiple instances?  Essentially make it the same as the File tab, in terms of sending the currently active scene name "somewhere" that another instance can pick up, and then using regex'es on the received name to trigger arbitrary scenes, except that it goes through the network instead of a file.
> 
> ---
> 
> ...


Thanks for the suggestion!
I will keep it in mind, but I think I would rather add support for the websocket plugin to the macro tab than expanding upon the network tab's capabilities.
(So something similar to "if current scene X -> send websocket action to switch scene to Y on Host 123")
But this is probably not something I will get around to any time soon unfortunately.


----------



## AaronD (Oct 19, 2021)

Warmuptill said:


> Thanks for the suggestion!
> I will keep it in mind, but I think I would rather add support for the websocket plugin to the macro tab than expanding upon the network tab's capabilities.
> (So something similar to "if current scene X -> send websocket action to switch scene to Y on Host 123")
> But this is probably not something I will get around to any time soon unfortunately.



Okay, that'd work too...as long as "current scene X" can be a partial match instead of a full exact match.  For example, these would all trigger the same "Camera.*" action, even if I made some more of them after defining the rule:
Camera - Wide
Camera - Roaming
Camera - Bob
Camera - Alice
Etc.

With all this attention to the Macro tab, at what point does it become its own programming language?  Not that that's a bad thing, but it does change its perception a bit.


----------



## Urbanian (Oct 19, 2021)

Warmuptill said:


> I'm glad to you hear that you got it to work.
> 
> I would still like to understand what is going on here.
> Would you be willing to export the settings you are using that are causing issues?
> ...


Note:, I'm on a Mac, so Linux-based comments don't help. And to be honest, I don't remember how I installed ASS. I find a downloaded SceneSwitcher.pkg, but I'm guessing that isn't the Advanced version.

>Would you be willing to export the settings you are using that are causing issues?
Yes, I'd be willing. Attaching two json files, pretty printed, I hope what you're looking for. "Using Media.txt" was doing the switch in the Media tab; doesn't work. "Using Macro.txt" uses macros and does work.

>>the difference when using the macros is that each includes the relevant scene, 
>>so it only checks "Ended" for Video X when Scene X is the current scene
>That is not the case. Each condition is checked no matter the result of the other condition checks.

>>The macros just seem more complex than necessary for this simple case,
>Just to clarify - do you also see the same behavior as on the media tab if not combining the media condition with a "current scene is ..." condition?
What I meant was, my macros each included "if the scene is" clause to ensure the scene switch only happened if the proper scene was active, and I thought that made the difference. 

I took the "if the scene is" clauses out of my macros and they still worked, so you're right, that wasn't the issue.

I also changed to switch to "Previous Scene" instead of an explicit scene for both versions. That didn't change behavior for either.

Bottom line, my macros are now simpler, and seem to work, but as far as I can tell they ought to do the same thing as the Media versions. Clearly something I have is messing things up. A Mac vs other difference? Maybe I have an older version of ASS? I can't tell.

If it's relevant: Each of the two scenes has two sources, first the video, marked to show nothing when playback ends, and then a static image. Why? Each screen is "Fullscreen Projected" to a big monitor, which is used locally. The video is streamed while it plays on the monitor, then when done the monitor goes to an "Idle" image and the scene switches back to the camera view for streaming. (The camera doesn't show on the monitor.)


----------



## harderstylesgermany (Oct 20, 2021)

The random TAB won’t work for me.
When I switch to another scene by myself , it switches automatically back to one scene which are selected in the random tab.
The scene where I want to switch to , is also in the pause tab.
Could u add a Random Button in the sequence Tab?


----------



## Warmuptill (Oct 20, 2021)

harderstylesgermany said:


> The random TAB won’t work for me.
> When I switch to another scene by myself , it switches automatically back to one scene which are selected in the random tab.
> The scene where I want to switch to , is also in the pause tab.
> Could u add a Random Button in the sequence Tab?


I am not quite sure what you are trying to achieve.
Can you elaborate a bit what you would expect such a button to do?

Maybe using a macro like this in combination with a "scene group" might be what you are looking for?
This will continuously switch between scenes "test1", "test2" and "test3" unless you are on the scene "some scene where random switching should stop".


----------



## harderstylesgermany (Oct 21, 2021)

Warmuptill said:


> I am not quite sure what you are trying to achieve.
> Can you elaborate a bit what you would expect such a button to do?
> 
> Maybe using a macro like this in combination with a "scene group" might be what you are looking for?
> ...


I have scene 1-4 where I want to switch in a different Order , with a random time either 30, 60 or 90 seconds.
If i open manually scene 5 or 6 the scene Switcher should wait until I’m in scene 1, 2, 3 or 4 again.


----------



## Warmuptill (Oct 21, 2021)

harderstylesgermany said:


> I have scene 1-4 where I want to switch in a different Order , with a random time either 30, 60 or 90 seconds.
> If i open manually scene 5 or 6 the scene Switcher should wait until I’m in scene 1, 2, 3 or 4 again.


Hm, then I don't understand why a setup like this would not work.
I think this is what you originally described, isn't it?








Maybe you have some conflicting settings that are causing issues here?
You mentioned the sequence tab above - do you maybe have a scene sequence set up for the scene on which you are trying to pause the random tab on?

Would you mind sharing your settings so I can try to reproduce and better understand the issue on my end?
If you do not you can find the option to save the plugin's setting to a file on the general tab.


----------



## AaronD (Oct 21, 2021)

Warmuptill said:


> I think this is what you originally described, isn't it?
> 
> View attachment 76364



Is there any guarantee that it won't, for example, pick line 1 and then line 0 from that list, both of which are set to the same scene? If it did that, then depending on the transition, it might appear to simply stay on that scene for 13 seconds, which may not be desirable.


----------



## Warmuptill (Oct 21, 2021)

AaronD said:


> Is there any guarantee that it won't, for example, pick line 1 and then line 0 from that list, both of which are set to the same scene? If it did that, then depending on the transition, it might appear to simply stay on that scene for 13 seconds, which may not be desirable.


Yes, there is a check in place that the same scene is not chosen twice in a row to avoid the effect you described above.








						SceneSwitcher/switch-random.cpp at 32e2a5f44c17cfd51e78334e897a2473793d83b8 · WarmUpTill/SceneSwitcher
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com


----------



## Mayaman72 (Oct 22, 2021)

Pengi123 said:


> Hi, I'm using macOS Mojave
> I have problems with that All my scenes was duplicate when changing scene collection.
> I don't know why I see also on this forum that when they stop this plugin the obs did not have duplication scene problems and I try to stop Advanced Scene Switcher and I see that obs not duplicating scenes.
> Can you fix this problem to I can every time be ON this plugin "Advanced Scene Switcher" when I changing scene collection?


----------



## Mayaman72 (Oct 22, 2021)

v02020 said:


> I get to "plugins" but don't see "advanced-scene-switcher"... like the instructions say to put it in after "bin"



Did you ever get to stop duplicating scene's? I keep having this problem.


----------



## Warmuptill (Oct 22, 2021)

Mayaman72 said:


> Did you ever get to stop duplicating scene's? I keep having this problem.


These posts are form over a year a go and I haven't heard of any such issues being reported since.
Would you mind sharing your settings so I can try to reproduce the problem on my end?
You can export them to a file on the general tab.


----------



## harderstylesgermany (Oct 22, 2021)

Warmuptill said:


> Hm, then I don't understand why a setup like this would not work.
> I think this is what you originally described, isn't it?
> 
> View attachment 76364
> ...


Ah u can Pause the Random tab. I try it when im at home but I think there was my mistake


----------



## joshdreber (Oct 22, 2021)

Hi all, had a question about using advanced scene switcher to queue to the preview scenes list, so that my 2 ptz cameras can do the zooming function while out of the main program view. I can't find anything on google and am still learning the plugin.

Anyone know if this is possible?


----------



## AaronD (Oct 22, 2021)

joshdreber said:


> ...so that my 2 ptz cameras can do the zooming function while out of the main program view...



I do this simply by knowing which camera is live at the moment and not moving it then...except as an intentional effect.  I have a completely separate controller that OBS knows nothing about, so maybe that's where we differ?  It's hard to tell with what you've said so far.


----------



## Warmuptill (Oct 22, 2021)

joshdreber said:


> Hi all, had a question about using advanced scene switcher to queue to the preview scenes list, so that my 2 ptz cameras can do the zooming function while out of the main program view. I can't find anything on google and am still learning the plugin.
> 
> Anyone know if this is possible?


Maybe you are looking to set up something similar to this?







So if scene "test1" is active the preview scene will be switched to "test2", once you transition to "test2" the preview scene will be switched to "tes3", and so on ...


----------



## ReliantLion (Oct 23, 2021)

I'm trying to use the "Video" tab to make it so that when the source changes (like I place my hand within view of a webcam) it switches scenes. But I think it is overly sensitive because it wants to constantly take effect with no real motion. Is there a way to de-sensitize the comparison between frames?


----------



## Warmuptill (Oct 23, 2021)

ReliantLion said:


> I'm trying to use the "Video" tab to make it so that when the source changes (like I place my hand within view of a webcam) it switches scenes. But I think it is overly sensitive because it wants to constantly take effect with no real motion. Is there a way to de-sensitize the comparison between frames?


Maybe adding a time constraint to the video condition will help?
You can add these to most macro conditions by clicking on the small clock icon.


----------



## joshdreber (Oct 24, 2021)

Warmuptill said:


> Maybe you are looking to set up something similar to this?
> View attachment 76406
> View attachment 76407
> So if scene "test1" is active the preview scene will be switched to "test2", once you transition to "test2" the preview scene will be switched to "tes3", and so on ...



This is exactly what I needed!!! Thank you so much. Negates the need for a stinger. I wish there was a tutorial video on YouTube for this function, I’ve spent so long trying to find a way to do it all in OBS.


----------



## Destroy666 (Oct 24, 2021)

Hey, what would be the best way to detect ZoomIt app's zoom modes being utilized? I would like to switch to display capture scene then, but exit as soon as I stop using that. I have it done with key bindings, but I'm wondering if there's a way to somehow detect it by a process or something similar for 100% reliability in case key bindings are not used.


----------



## Warmuptill (Oct 25, 2021)

Destroy666 said:


> Hey, what would be the best way to detect ZoomIt app's zoom modes being utilized? I would like to switch to display capture scene then, but exit as soon as I stop using that. I have it done with key bindings, but I'm wondering if there's a way to somehow detect it by a process or something similar for 100% reliability in case key bindings are not used.


If you want to switch scenes when a process is *not* running you can create a macro similar to this:





Is this what you were looking for or is the process itself still running in your example?


----------



## wilderf353 (Oct 26, 2021)

First, this is a great plugin...thanks to Warmuptill for all your work on it.

We use OBS Studio with this plugin for our church worship services. During long parts, we use the S_equence _tab with hotkeys to enable/disable switching between our 3 cameras. Sometimes, it seems when we hit the hotkey to start/stop the auto sequence, it doesn't always work  (but a second press of the key does). You won't know it is not running for 45 seconds, when the next camera is supposed to go live on the stream.

1) Is there an indicator on the screen, to let me know when the plugin is running? Example: I hit the hotkey to enable the sequence and the indicator turns on.

2) If not, does the plugin throw an event when it is enabled/disabled that I can catch in a script and make my own indicator?


----------



## magnetra7 (Oct 26, 2021)

I'm having issues with the time based scene switching rules. I've submitted an issue on the GitHub page about this (I'm not used to do this).

All the details of this issue can be found there: https://github.com/WarmUpTill/SceneSwitcher/issues/334

I'm using OBS + Advanced Scene Switcher for our local TV with great success.


----------



## Warmuptill (Oct 27, 2021)

wilderf353 said:


> First, this is a great plugin...thanks to Warmuptill for all your work on it.
> 
> We use OBS Studio with this plugin for our church worship services. During long parts, we use the S_equence _tab with hotkeys to enable/disable switching between our 3 cameras. Sometimes, it seems when we hit the hotkey to start/stop the auto sequence, it doesn't always work  (but a second press of the key does). You won't know it is not running for 45 seconds, when the next camera is supposed to go live on the stream.
> 
> ...


1) Unfortunately there is no such indicator.
But that is a good suggestion.
I will investigate if that is feasible and add it to the todo list - so thanks for the suggestion!

2.) The OBS log file will contain log messages whether or not the advanced scene switcher was started or stopped.



magnetra7 said:


> I'm having issues with the time based scene switching rules. I've submitted an issue on the GitHub page about this (I'm not used to do this).
> 
> All the details of this issue can be found there: https://github.com/WarmUpTill/SceneSwitcher/issues/334
> 
> I'm using OBS + Advanced Scene Switcher for our local TV with great success.


Thanks for letting me know - I will handle this via GitHub.


----------



## petjo10 (Oct 28, 2021)

Hi,
I use the Advanced Scene Switcher with these macro 



But i want it to show only between the time interval and then hide, bt it did not hide.,any suggestion?


----------



## AaronD (Oct 28, 2021)

petjo10 said:


> Hi,
> I use the Advanced Scene Switcher with these macro
> View attachment 76547
> But i want it to show only between the time interval and then hide, bt it did not hide.,any suggestion?



As a programmer myself, I would expect what you described by default.  It's a single trigger to show, plus some extra code to prevent it from firing constantly while the condition is true and being a nuisance.  Thus, because you don't also have a "Hide" command, it never hides.

I've been bitten by that several times in my own programming projects.  It's just how most languages work.  If you want a constant connection like a light switch, you have to run the code that does that, constantly.  This also assumes that setting something to what it already is, does nothing, which isn't always true either.  Some systems *are* like that, but most watch for triggers and only update when they get a trigger.  If you don't have an explicit trigger to turn back off, it never turns off.  Likewise if the "off trigger" is incorrect, which is easier to do than for the "on trigger" because it often requires negative logic, and isn't necessarily equal to "not on".

I've commented before about the Macro tab becoming its own programming language, which isn't necessarily a bad thing, but it does change the perception and understanding.  This is one way that it already behaves very much like a programming language, and as the complexity and capabilities grow, I think it will become unavoidable.  If you want it to do *anything*, then that's programming, and the tool to do it is by definition a programming language.


----------



## grit60 (Oct 28, 2021)

petjo10 said:


> But i want it to show only between the time interval and then hide, bt it did not hide.,any suggestion?



You can use two Macros. (1) Show Scene at 8am and (2) Hide Scene at 8:05am.   In the Date Condition, use "At" instead of "Between".

Good luck!


----------



## markman641 (Oct 29, 2021)

Would love to see this control Source visibility too, not just scenes.


----------



## petjo10 (Oct 29, 2021)

You can do that 




i use  these macro and if i have many sources i also use the lua source toggler




__





						OBS Lua - Source toggler
					

Maximum 1 source visible per configured scene and group When you make a source visible in a configured scene or group all other sources in that scene or group will become invisible. This way maximum 1 source is visible in the scene or group.




					obsproject.com


----------



## petjo10 (Oct 29, 2021)

grit60 said:


> You can use two Macros. (1) Show Scene at 8am and (2) Hide Scene at 8:05am.   In the Date Condition, use "At" instead of "Between".
> 
> Good luck!


But it would be easier with one macro..i have many scenes and sources


----------



## AaronD (Oct 29, 2021)

petjo10 said:


> But it would be easier with one macro..i have many scenes and sources



A lot of things would be easier if it were designed specifically for them.  But this is a general purpose thing.  So there will always be some applications that don't really match up with how it works.  Be proud of yourself for understanding how it does work, and using that to make it do what you need anyway.

That said, a checkbox to effectively create the reverse condition and action behind the scenes, might also be useful in a lot of cases beyond just that one...and probably hard to make in a general sense, because some actions don't really have a clear "undo" from the software's perspective.

"Undo" is one of those things that appear trivial to a user, but are nearly impossible to actually make happen.  I've been there; I know!  You need to design it in from the beginning, so that every action also saves the specific data that is required to undo it (when you as a developer still know what that data is!); or periodically save the entire state of everything so that you can restore one of those snapshots.  The former requires a fair amount of explicit logic added to EVERYTHING; the latter requires a ton of memory.  Either way, it still may not work right because certain things need to be set up again, and that setup has side-effects too.

In your specific case, I think it would work - "show" and "hide" are opposite functions without side effects - but it might be impossible to cover *everything*.  That'll make it confusing when some things work and some don't.  (maybe hide the "auto-undo" checkbox for the non-trivial actions???)

---

Or to make it even more generally useful, maybe have two actions: one for the condition becoming true, as it is now, and one for the same condition becoming false. The false action defaults to "do nothing", and there could be a button to set it to the reverse of the true action. Visually disable that button when the reverse is non-trivial. By allowing the false action to be anything, independent from the true action, it could create a lot of interesting behaviors, some of which might actually be useful! :-)


----------



## Warmuptill (Oct 29, 2021)

petjo10 said:


> But it would be easier with one macro..i have many scenes and sources


Maybe using the source action might be an option then?
This will allow you to globally disable / enable sources instead of just on specific scenes.


----------



## GraksO (Oct 29, 2021)

Is it possible to run a scene switch when clicking the Start Streaming button? I tried using the stream running check condition but whenever I switch a scene afterwards it just goes back to the original scene (awesome plugin by the way)


----------



## GraksO (Oct 29, 2021)

GraksO said:


> Is it possible to run a scene switch when clicking the Start Streaming button? I tried using the stream running check condition but whenever I switch a scene afterwards it just goes back to the original scene (awesome plugin by the way)


I may have figured it out??? I clicked the little clock icon and added a time condition of at most 1 second and it doesn't seem to be an issue anymore, but still wondering if there's a better way to doing this.


----------



## Warmuptill (Oct 29, 2021)

GraksO said:


> I may have figured it out??? I clicked the little clock icon and added a time condition of at most 1 second and it doesn't seem to be an issue anymore, but still wondering if there's a better way to doing this.


Adding a time restriction is the solution I would have suggested. :)
So I don't think there is a better way implemented at the moment, but feel free to suggest how I could improve it!


----------



## GraksO (Oct 30, 2021)

Warmuptill said:


> Adding a time restriction is the solution I would have suggested. :)
> So I don't think there is a better way implemented at the moment, but feel free to suggest how I could improve it!



just took a quick look at the documentation OBS provide and found this: 


maybe it's possible to incorporate these into the plugin as an event which is called whenever the button is pressed, which in turn could trigger the macro (I have no clue if I'm using the correct terminology and my extent of programming knowledge ain't much so I might be very wrong about this)


----------



## AaronD (Oct 30, 2021)

GraksO said:


> Is it possible to run a scene switch when clicking the Start Streaming button? I tried using the stream running check condition but whenever I switch a scene afterwards it just goes back to the original scene (awesome plugin by the way)



Another way to do it might be to have a macro that both starts the stream and switches the scene, based on some other trigger.  Then you don't use the Start Streaming button, but do that other trigger instead.


----------



## Warmuptill (Oct 30, 2021)

GraksO said:


> just took a quick look at the documentation OBS provide and found this: View attachment 76601
> maybe it's possible to incorporate these into the plugin as an event which is called whenever the button is pressed, which in turn could trigger the macro (I have no clue if I'm using the correct terminology and my extent of programming knowledge ain't much so I might be very wrong about this)


So what you are asking for is instead of a "stream running for 0 seconds" you basically want a dedicated condition type "stream started" that saves you entering the time restriction part?

If so I will add it to the todo list - should be rather easy to implement.

Btw. these functions are used to stop or start streaming.
OBS also offers "frontend events" like "*OBS_FRONTEND_EVENT_STREAMING_STARTED*" so you were pretty close :)



wilderf353 said:


> First, this is a great plugin...thanks to Warmuptill for all your work on it.
> 
> We use OBS Studio with this plugin for our church worship services. During long parts, we use the S_equence _tab with hotkeys to enable/disable switching between our 3 cameras. Sometimes, it seems when we hit the hotkey to start/stop the auto sequence, it doesn't always work  (but a second press of the key does). You won't know it is not running for 45 seconds, when the next camera is supposed to go live on the stream.
> 
> ...


I have implemented the option to display plugin state changes in the system tray.








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








						Add option to display plugin running state in system tray · WarmUpTill/SceneSwitcher@859bb44
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				



Note that you have to be logged into GitHub to be able to download it.


----------



## wilderf353 (Oct 30, 2021)

Warmuptill said:


> ...
> I have implemented the option to display plugin state changes in the system tray.
> 
> View attachment 76602
> ...



Great. I have downloaded it and tried it out. It works great on my home desktop. I will install it at church tomorrow too. Thanks again for doing this.


----------



## joshdreber (Oct 31, 2021)

Hi all, I have another issue I'm hoping to get input on.

I want to be able to make OBS change the active scene automatically when an OpenLP slide is changed.

I have the advanced scene switcher plugin running, with various scenes and cameras running through a sequence based on time. For instance: 
scene 1 is a ptz camera input for our pastor. 
Scene 2 is a split input with that camera and a openlp browser input for slides. 

The scene switcher runs automatically, 3 mins on pastor only and 1 min on pastor/slides. I want to have the switcher be interrupted and switch to scene 2 when a slide is changed in openlp, if OBS is currently on a scene with just the pastor.

Any thoughts on this or if its even been done? I've got the openlp custom browser dock switching slides from obs -> openlp, but I want it the other direction. The browser input scene works fine for showing slides.

Is there a way for OBS or the advanced scene switcher plugin to detect a slide/input change through the browser, and trigger a change of active scene to one with slides?

Essentially I'd like to eliminate having someone man the OBS machine and have it all automated based on what the openlp man is doing.

Thanks!


----------



## AaronD (Oct 31, 2021)

joshdreber said:


> Hi all, I have another issue I'm hoping to get input on.
> 
> I want to be able to make OBS change the active scene automatically when an OpenLP slide is changed.
> 
> ...



So, when a source changes, switch to a scene?  I believe that's been discussed here before.  Something about a DIY security system, I think, with OBS auto-switching to a camera with motion and recording the result?  And needing a sensitivity setting so that leaves and vermin wouldn't trigger it.  I'm sure a slide change would be more than enough.

I also remember something about needing the source to be rendered somewhere for it to work.  A minimized projector from OBS is enough, but the source alone isn't.  I'm not sure how these two points work together, so I might have some things confused.
(or maybe they didn't work together, and that was the discussion?)


----------



## AaronD (Oct 31, 2021)

joshdreber said:


> The scene switcher runs automatically, 3 mins on pastor only and 1 min on pastor/slides. I want to have the switcher be interrupted and switch to scene 2 when a slide is changed in openlp, if OBS is currently on a scene with just the pastor.



If I might suggest something, I think it would work better as a finished product, to have a scene that has the slide overlaid over a corner of the camera.  "Picture in Picture", to use some old terminology.  Switch to the full-screen slide when it changes, stay there long enough for people to read it, then go to the PiP scene to keep a reminder of what it was, and stay there indefinitely.  Don't time-out from the PiP scene.  If the slide goes blank, take it away instead.  (switch to a scene that only has the camera)

It might take some trial-and-error to make that work, but I'm sure the logic is possible with the current tools, assuming that the source-change-detector works.


----------



## Warmuptill (Oct 31, 2021)

joshdreber said:


> Hi all, I have another issue I'm hoping to get input on.
> 
> I want to be able to make OBS change the active scene automatically when an OpenLP slide is changed.
> 
> ...


>Is there a way for OBS or the advanced scene switcher plugin to detect a slide/input change through the browser, and trigger a change of active scene to one with slides?

You can try using a macro similar to this one:





But as mentioned by @AaronD you need to be sure that the source output is being rendered.
Otherwise the scene switcher cannot notice that the output would have changed.
If your particular source is not part of every scene in your scene sequence and thus not always being renedered you can open a "windowed projector" of the source to work around this issue.





> I want to have the switcher be interrupted
Make sure to mark your scene sequence to be interruptible by clicking the corresponding checkbox.


----------



## joshdreber (Oct 31, 2021)

Warmuptill said:


> >Is there a way for OBS or the advanced scene switcher plugin to detect a slide/input change through the browser, and trigger a change of active scene to one with slides?
> 
> You can try using a macro similar to this one:
> 
> ...



Dude, this is the second time in a week you've saved my bacon. I should stop trying to figure it out and just ask you directly XD. Thanks much, I'll report back after trying it out in our services. I foresee a loop issue where the macro runs and switches to a separate slide scene when its already on one, if it detects a change, but I'll try to see if there is a condition or lock I can add that prevents that.

Edit: I did end up using a video source that lets me list my browser input, which is weird that I can't just select browser input with the "changed" option, but if it works, great. Not really sure how OBS renders everything between scenes because I certainly don't have that browser input on all scenes, but it seems to switch how I want it regardless.


----------



## Warmuptill (Oct 31, 2021)

Warmuptill updated Advanced Scene Switcher with a new update entry:

Improve video and timer condition



> *Additions:*
> 
> Improve the video condition's pattern matching functionality:
> This option now supports the option to provide a mask for the used pattern by using the pattern's alpha channel.
> ...



Read the rest of this update entry...


----------



## bcoyle (Oct 31, 2021)

AaronD said:


> A lot of things would be easier if it were designed specifically for them.  But this is a general purpose thing.  So there will always be some applications that don't really match up with how it works.  Be proud of yourself for understanding how it does work, and using that to make it do what you need anyway.
> 
> That said, a checkbox to effectively create the reverse condition and action behind the scenes, might also be useful in a lot of cases beyond just that one...and probably hard to make in a general sense, because some actions don't really have a clear "undo" from the software's perspective.
> 
> ...


Well said. I've been working on a 24/7 broadcast app and have put a few undo's in the app. But as you said, it's hard. I put them him specific places where I found the action would be terrible hard to undo manually. You are a wise man.


----------



## AlexYa (Nov 1, 2021)

Warmuptill said:


> It is very difficult to say what the issue is without further information, unfortunately.
> What type of media sources are you using?
> Does the issue occur if you have _only_ the rule for "Video B" set up?
> 
> ...



I have the same problem as mr. Urbanian.
My goal was to make promo inserts between the clips from the playlist.

The workaround is as follows:
Two scenes, A (A: VLC source with playlist; loop; paused on hiding)
And B (B: Source with simple media source with promo; restart on active)

I made two macros:
1) From A to B: If A:VLCSource is "ended" - switch to scene B
2) From B to A: If B:Source is "ended" - switch to scene A.

And it wasn't works. Plugin even not switched scene A to B at all. Only B to A.

Already I've tried use not macros but Media rules instead. They not work at all (tested with "ended" and "played to end" events)

BUT! I've founded the solution "from the reverse"
I changed macros 1) to next:

```
From A to B: 
    If A:VLCSource is "playing" and "time remaining shorter" than 1-2 second:
         switch to scene B, 
         switch next track in A:VLCSource, 
         pause it at the moment.
```

Therefore, I came to the conclusions:
a) the "ended" event does not work for VLC Source (OBS level or plugin?)
b) Media rules do not work properly
c) When the "loop" setting is enabled in VLC, the "played to ended" event does not work either.


----------



## Warmuptill (Nov 1, 2021)

AlexYa said:


> I have the same problem as mr. Urbanian.
> My goal was to make promo inserts between the clips from the playlist.
> 
> The workaround is as follows:
> ...


If a VLC source is containing a playlist that is looping forever it will never reach the state "ended" or "played to end". (Or at least that is my assumption)
As you have correctly identified you can use the "time remaining shorter" to identify individual playlist items coming to an end.

If you have suggestions on how to make this more clear I am all ears! :)
Should I maybe introduce a separate state called "playlist item ended" or something similar?


Below is an example on how to set up automated commercial breaks on fixed interval, but not interrupting individual playlist items.
Hope that helps.

I know you have already set up your media source correctly but for completeness in case others want to replicate the setup:





The important part is the "Pause if not visible, unpause when visible" so that the playback does not restart when switching away and back to the scene containing the VLC source.

Next we will need two macros.


The first macro is responsible for detecting when a transition to the next playlist item takes place and if the specified time interval, after which a commercial shall be played, has passed.
If both are the case a scene switch will take place.

You can find a screenshot of the settings I used here:

The media condition with state "playing" and "time remaining shorter than 1 second" restriction will allow us to identify when the current playlist entry is about to end.


The second macro is only responsible for automatically switching back to the scene containing the VLC video source playing back the playlist.

A screenshot of the settings I used for testing can be found here:

The important part is the macro action to reset the timer of the first macro described above.

Note that the media action is probably not strictly necessary, but I added it just in case.
This setup allows to automatically switch to a "commercial" scene if at least 30 seconds have passed and when a playlist item just ended its playback.


----------



## ghaleon (Nov 1, 2021)

Fresh win 10 x64 installed, fully updated.  Fresh OBS install with streamlabs.  Installed the latest version of Advanced Scene Switcher and OBS crashes on startup.  Been having issues with OBS crashing for a while before this, I think ASS was always the main culprit?


----------



## Warmuptill (Nov 1, 2021)

ghaleon said:


> Fresh win 10 x64 installed, fully updated.  Fresh OBS install with streamlabs.  Installed the latest version of Advanced Scene Switcher and OBS crashes on startup.  Been having issues with OBS crashing for a while before this, I think ASS was always the main culprit?


Sorry if this a dumb question, but you do not mean Streamlabs OBS, do you? (As far as I know the plugin is not compatible with slobs)
Also can you please share the crash log file? The startup log is not of much use unfortunately.


----------



## ContentDeveloper (Nov 1, 2021)

wilderf353 said:


> Great. I have downloaded it and tried it out. It works great on my home desktop. I will install it at church tomorrow too. Thanks again for doing this.



I'd be interested in knowing how you use "catch" the new system tray alert -- as in, what scripting?


----------



## khaver (Nov 1, 2021)

ContentDeveloper said:


> I'd be interested in knowing how you use "catch" the new system tray alert -- as in, what scripting?


Me Too.


----------



## ghaleon (Nov 1, 2021)

Warmuptill said:


> Sorry if this a dumb question, but you do not mean Streamlabs OBS, do you? (As far as I know the plugin is not compatible with slobs)
> Also can you please share the crash log file? The startup log is not of much use unfortunately.



apologies - thought that was the crash log.  This should be it!


----------



## ghaleon (Nov 1, 2021)

Warmuptill said:


> Sorry if this a dumb question, but you do not mean Streamlabs OBS, do you? (As far as I know the plugin is not compatible with slobs)
> Also can you please share the crash log file? The startup log is not of much use unfortunately.



Sorry again, I meant "Streamelements"  is installed on my OBS Studio installation.  I was using Advanced Scene Switcher with great success for a long while, after that I started having problems with OBS crashing.  Sometimes right AFTER startup, sometimes 3-5 min after startup.  I didn't know what was causing the crashes - upgrade to win 10?  Upgrade to OBS?


----------



## Warmuptill (Nov 1, 2021)

ghaleon said:


> Sorry again, I meant "Streamelements"  is installed on my OBS Studio installation.  I was using Advanced Scene Switcher with great success for a long while, after that I started having problems with OBS crashing.  Sometimes right AFTER startup, sometimes 3-5 min after startup.  I didn't know what was causing the crashes - upgrade to win 10?  Upgrade to OBS?


OBS seems to be crashing in the graphics thread and as you mentioned almost instantly after startup.
`Thread 1944: libobs: graphics thread (Crashed)`

I don't see any obvious hint that the advanced scene switcher is causing the crash. 
All that was done on scene switcher side was check installed version and ask if you want to backup your settings.








						SceneSwitcher/advanced-scene-switcher.cpp at f955c07bda343f567287210d2a80d1b7ac58b35f · WarmUpTill/SceneSwitcher
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				



The plugin hasn't done any "actual work" yet and is waiting for user input before starting it's main thread.

But nevertheless can you maybe also share the settings you are using in the advanced scene switcher plugin just in case? 
I will try if I can somehow reproduce a similar crash, although I find it to be very unlikely.
(You can export the settings to a file on the general tab)

I am not familiar with the stream elements plugin, but could that maybe be involved with this crash?


----------



## ghaleon (Nov 2, 2021)

bizzare indeed.  Couldnt even start OBS with ASS installed, and the second I uninstalled it OBS was working fine again.  

I never used ASS for anything fancy really! I have 3 cameras for a streaming setup, 2 of them were set to rotate every 15 secs, and the other cam was manually cued before switching back to the other cams after 15 secs.

Streamelements is overlay related stuff, and some extras for twitch.  I guess ill try uninstalling it, and resinstalling the switcher?


----------



## Warmuptill (Nov 3, 2021)

ghaleon said:


> bizzare indeed.  Couldnt even start OBS with ASS installed, and the second I uninstalled it OBS was working fine again.
> 
> I never used ASS for anything fancy really! I have 3 cameras for a streaming setup, 2 of them were set to rotate every 15 secs, and the other cam was manually cued before switching back to the other cams after 15 secs.
> 
> Streamelements is overlay related stuff, and some extras for twitch.  I guess ill try uninstalling it, and resinstalling the switcher?


The only thing I could think of is that maybe streamelements "does not like" the scene switcher blocking the OBS UI and for some reason then causes some issue in the graphics thread - I will try to test this theory when I find the time.

You could also give testing this theory a try by first only installing the scene switcher, then confirming that you do / do not want to backup your settings and only after that reinstalling streamelements.
(This question comes up each time you install a new version of the scene switcher or install it for the fist time)


----------



## ghaleon (Nov 4, 2021)

Thx I will give that a shot and report back!


----------



## lindenkron (Nov 6, 2021)

Nice tool.






Whenever you update next, you can fix this :)


----------



## lindenkron (Nov 6, 2021)

Also;
Is there a reason this is 'disable' instead of 'hide'? With this you cannot use the built-in transition on hide/show


----------



## Warmuptill (Nov 7, 2021)

lindenkron said:


> Nice tool.
> 
> 
> 
> ...


Just to clarify you are talking about the spelling issue, right? :)
Or is the functionality broken?



lindenkron said:


> Also;
> Is there a reason this is 'disable' instead of 'hide'? With this you cannot use the built-in transition on hide/show
> View attachment 76798


This action is used to globally enable and disable sources.
If you just want to show / hide a source on a particular scene you can use the following action:


----------



## khaver (Nov 9, 2021)

Warmuptill, is there a way to trigger the start of one macro from another macro? Here's my problem. I've set up a macro to turn off recording when A) the recording has been running for at least 20 minutes "And" B) the audio on a certain device falls below 10% for at least 2 minutes. I'm trying to stop the recording after a certain mic is muted after our pastor's sermon. The problem is sometimes at the beginning of the 20 minutes after recording is started, the mic can be off for more than 2 minutes, so in the logs, this condition throws a 1. Then after the 20 minutes of recording, that macro throws a 1, and since both conditions are now true, the recording stops right at the 20 minute mark. What I want is the macro that checks for the 2 minutes of silence not begin checking the volume until after at least 20 minutes of recording has happened (this is well into the sermon so no silence until after the sermon is over).


----------



## khaver (Nov 9, 2021)

I did another test with the macros. This time I created 3 macros with the last one set to stop recording after at least 1 minute of silence (my audio source is muted all the time for the test). The first macro was set to pause the 3rd macro on startup (paused macro when startup scene is active). The second macro unpauses the 3rd macro after at least 2 minutes of recording. What I thought would happen is after 2 minutes of recording the 3rd macro would be unpaused and then only after at least 1 minute of silence the recording would stop. Instead the recording stopped after 2 minutes (as soon as the 3rd macro was unpaused).

The logs show the audio macro (the 3rd macro) is still keeping track of the time of silence even though it's paused. After 1 minute of silence it throws a 1. And after 2 minutes of recording, that macro throws a 1 and the recording stops.

Seems like a bug in the logic of your plugin. Any macro that's paused should not begin it's logic tests until it's unpaused. The audio macro should not throw a 1 until it's conditions have been met after unpausing.


----------



## AaronD (Nov 9, 2021)

khaver said:


> Warmuptill, is there a way to trigger the start of one macro from another macro? Here's my problem. I've set up a macro to turn off recording when A) the recording has been running for at least 20 minutes "And" B) the audio on a certain device falls below 10% for at least 2 minutes. I'm trying to stop the recording after a certain mic is muted after our pastor's sermon. The problem is sometimes at the beginning of the 20 minutes after recording is started, the mic can be off for more than 2 minutes, so in the logs, this condition throws a 1. Then after the 20 minutes of recording, that macro throws a 1, and since both conditions are now true, the recording stops right at the 20 minute mark. What I want is the macro that checks for the 2 minutes of silence not begin checking the volume until after at least 20 minutes of recording has happened (this is well into the sermon so no silence until after the sermon is over).





khaver said:


> I did another test with the macros. This time I created 3 macros with the last one set to stop recording after at least 1 minute of silence (my audio source is muted all the time for the test). The first macro was set to pause the 3rd macro on startup (paused macro when startup scene is active). The second macro unpauses the 3rd macro after at least 2 minutes of recording. What I thought would happen is after 2 minutes of recording the 3rd macro would be unpaused and then only after at least 1 minute of silence the recording would stop. Instead the recording stopped after 2 minutes (as soon as the 3rd macro was unpaused).
> 
> The logs show the audio macro (the 3rd macro) is still keeping track of the time of silence even though it's paused. After 1 minute of silence it throws a 1. And after 2 minutes of recording, that macro throws a 1 and the recording stops.
> 
> Seems like a bug in the logic of your plugin. Any macro that's paused should not begin it's logic tests until it's unpaused. The audio macro should not throw a 1 until it's conditions have been met after unpausing.



With a background in industrial ladder logic, it seems to me that its concept of timers would be both a more elegant solution to this specific problem and very useful in general:








						Designer: Using the ONDTMR Instruction
					

https://www.automationdirect.com/do-more (VID-DD-0017) - This video gives basic information on Using the ONDTMR "On Delay Timer"" instruction in the Do-more ...




					www.youtube.com
				











						Designer: Using the OFFDTMR Instruction
					

https://www.automationdirect.com/do-more (VID-DD-0016) - This video gives basic information on Using the OFFDTMR "Off Delay Timer" instruction in the Do-more...




					www.youtube.com
				



Or for a more detailed timing diagram:




Chain this and my other idea together, so that the rising and falling edges of the combinatoric logic output, each have their own delays before triggering their respective independent actions.  A time of 00:00 means "instant" or no delay.
(Of course, this also means that the condition itself should not "latch" once it's satisfied, but continue to check always.  khaver's log seems to indicate a latching behavior, if I understand correctly.)

An example ladder rung for a slightly complex macro might look like this, graphically:



The input to both timers in this example, is equal to [C7 AND (C8 OR C9)]. When that becomes true, the off delay becomes true immediately, and the on delay requires it to remain true for 1 minute. When that condition becomes false, the on delay becomes false immediately, and the off delay requires it to remain false for 5.5 minutes. The output of the on delay would then feed a rising-edge-triggered action, and the output of the off delay would feed a falling-edge-triggered action.

Each of the two timers could be set to 0 to make it instant, and each of the two actions could be set to do nothing if only the other edge is required. (it would be silly to have both actions do nothing, but there's no reason to forbid it either) The UI would then have 3 sections:
1. Condition
2. When True (rising edge), Delay and Action
3. When False (falling edge), Delay and Action


----------



## AaronD (Nov 9, 2021)

Add some cross-macro variables, and we can solve khaver's problem exactly and directly:

Macro A watches the recording status, with an on delay of 20 minutes. The true and false actions are both used to control Global Variable 1. (set and clear, respectively; or on and off, true and false, whatever terminology you want to use there)

Macro B watches [Global Variable 1 AND Mic quiet], with an on delay of 2 minutes. The true action stops recording.

---

Or if you want the 2-minute timer to *only* apply to the mic, then Macro B can watch the mic alone, with that timer, and control Global Variable 2.
Then Macro C watches [Global Variable 1 AND Global Variable 2], with a time of 0.

I don't think it's worth the third Macro in khaver's case, but there are probably some other cases where this behavior is actually necessary.

---

Or if you want to keep the individual timers for the things that have them, then just one Macro can do [Recording for 20min AND Mic quiet], with an on delay of 2 minutes using the structure in my previous post.


----------



## Warmuptill (Nov 9, 2021)

khaver said:


> I did another test with the macros. This time I created 3 macros with the last one set to stop recording after at least 1 minute of silence (my audio source is muted all the time for the test). The first macro was set to pause the 3rd macro on startup (paused macro when startup scene is active). The second macro unpauses the 3rd macro after at least 2 minutes of recording. What I thought would happen is after 2 minutes of recording the 3rd macro would be unpaused and then only after at least 1 minute of silence the recording would stop. Instead the recording stopped after 2 minutes (as soon as the 3rd macro was unpaused).
> 
> The logs show the audio macro (the 3rd macro) is still keeping track of the time of silence even though it's paused. After 1 minute of silence it throws a 1. And after 2 minutes of recording, that macro throws a 1 and the recording stops.
> 
> Seems like a bug in the logic of your plugin. Any macro that's paused should not begin it's logic tests until it's unpaused. The audio macro should not throw a 1 until it's conditions have been met after unpausing.


I agree that the behaviour, that paused macros are still running when paused, intuitively does not make much sense  and I will change it.
It was actually implemented this way intentionally originally as to not mess with the timers certain conditions used to have, but since then generic time constraints have been added (the small clock icon) and this restriction is no longer in place.

Thanks for pointing that out!

You can find a test build where this is fixed here in a few minutes:








						Do not check conditions of paused macros · WarmUpTill/SceneSwitcher@3f95b5d
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				



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



AaronD said:


> Add some cross-macro variables, and we can solve khaver's problem exactly and directly:
> 
> Macro A watches the recording status, with an on delay of 20 minutes. The true and false actions are both used to control Global Variable 1. (set and clear, respectively; or on and off, true and false, whatever terminology you want to use there)
> 
> ...


Thank you very much for the extensive explanation of these concepts!

Please correct me if I am wrong, but the on-/off-delay part can already be modelled using the existing time restrictions (condition true *for at least x seconds  /* condition *not *true *for at least x seconds*).

Adding variables definitely is an interesting idea, but I feel like it might be too complicated for most users to find much use.
But I will add it to the todo list nevertheless in case I have some spare time to work on it. :)


----------



## AaronD (Nov 9, 2021)

Warmuptill said:


> Please correct me if I am wrong, but the on-/off-delay part can already be modelled using the existing time restrictions (condition true *for at least x seconds  /* condition *not *true *for at least x seconds*).



If *every* condition has an both inverse and a timer, and you never need the *combination* to be true for X time regardless of the individual times, then I think you're right.  But there are things you can do with an overall timer that can't be done with a combination of individual timers and vice-versa.  To continue to use khaver's example, there could be a 2-minute difference between
[recording for 20min] AND [quiet for 2min]
and
[(recording for 20min) AND quiet] for 2min
The first of these uses two individual timers; the second uses one individual timer and one overall timer.  Depending on the details of the situation, that difference could be inconsequential, significant, or critical.

Also, when using AND's and OR's (XOR's too?  Maybe NAND's, NOR's, and XNOR's as well?) with multiple conditions, I still think it becomes well worth having an inverse action or false action.  Even if it's possible to create the exact opposite logic condition, it's still confusing for a lot of people to use DeMorgan's Theorem in your head.  Much easier for a user to define their condition the way that makes direct sense and then say NOT at the end, which is what the inverse or false action does.
Then, instead of just adding a final NOT button before the overall timer, why not have a separate timer and action for both the "straight" and inverted versions of the final combination?  Far more flexible that way, and not much more complex for a user to understand IMO.



Warmuptill said:


> Adding variables definitely is an interesting idea, but I feel like it might be too complicated for most users to find much use.
> But I will add it to the todo list nevertheless in case I have some spare time to work on it. :)



If the logic within each macro is powerful enough, you shouldn't need them.  But they could still be useful to not repeat a bunch of things in a more complex setup.  (and get one of the repeats wrong)  If the user is doing something that complicated anyway, I think they'd be able to handle a few variables.  :-)


----------



## AaronD (Nov 9, 2021)

Going way out on a limb here, maybe add a Python tab for completely arbitrary behavior?  How would that, plus a code generator, compare to where the Macro tab is heading?
A user may not know the syntax or system management to be able to type out something new, hence the CodeGen, but they can probably read and understand existing (clean!) code well enough, and modify it from there.  That's definitely where I am with Python, yet I made an auto-producer work between two instances of OBS, by "script-kiddy-ing" two examples together that both worked on their own as-is.

If I were to take this over (not planning to), I'd be tempted to still maintain the various "starting point" tabs, as long as they stay within their named functions, and replace the Macro tab with an arbitrary-text-based thing.  Plus a CodeGen to get people started with it.  You can recycle most of the Macro's UI to make the CodeGen, it's just that the output is different: Python source code instead of your own byte code.

---

The reason I say this is because I effectively had an equivalent of the Macro tab in a custom theatrical lighting rig.  I spent a TON of effort on it, and by the time I got it to do everything I wanted, it was slow to run and hard to use.  It looks to me like you're going down the same path, trying to balance increasingly arbitrary functionality, all of which has a good reason to support, with ease of maintenance and a sensible graphical UI from both sides of the screen.  I've been there, and it's nearly impossible to actually do that.  You have to sacrifice something, be it functionality, user experience, or backend maintenance.

I decided that if I were to do it again, I would replace both my bytecode interpreter and the mouse/touch-based GUI editor, with a decent text editor and a *really good* code generator.  Maybe even use C++ in there, include the g++ compiler with the software, and spend my efforts to make the whole process appear seamless.  The accept button recompiles the code, and if successful, updates the pointer to the new void user_main(struct all_data* data);  // (struct all_data {...}; is in a read-only header file)......

That next version never happened, but if I do end up doing something similar, I really want to try that approach.  C++ is probably a bit much for most users, and the compilation and linking steps would also add some difficulty; but Python might just take off and fly, as an already-optimized interpreted language that doesn't need those steps and has a huge userbase already for support.

If you did that, then you could have a code generator that is optimized for user experience and backend maintenance at the expense of functionality, and then get that functionality back by running the CG's output through a user-modification step in a standard language.  (the user can simply accept it as-is if desired, which is always valid code)  Then it's *that* code that runs, not necessarily the CG's direct output.

Thoughts?


----------



## khaver (Nov 9, 2021)

Warmuptill, I just tried your latest Github version and it worked as expected, but with a slight modification to my macros. On the 2nd macro that unpauses the 3rd macro (the one that stops the recording after some time of silence), I had to have it pause the 1st macro so it wouldn't just keep pausing the 3rd macro and the stop recording after silence condition would never be met.

Also, it seems when a macro is paused, it's state in the macro list becomes disabled. If a macro is in a paused state and OBS is closed, that macro gets saved as disabled, so when OBS is reopened, that macro stays disabled. Is pausing supposed to be the same as disabling? Seems to me just pausing a macro shouldn't disable it, but whenever OBS is opened, all macros should start in an enabled state unless specifically unchecked in a previous session by the user. Is this possible?

The problem I see now is if for some reason the mic never gets muted so the silence is never detected and the user instead stops the recording manually, the 1st macro is still in a paused (and disabled) state when OBS is closed. The next Sunday when OBS is started again, the 1st macro that pauses the 3rd macro is now disabled and the 3rd macro will start testing for silence immediately, and I'm back to my original problem. This logic stuff can sometimes lead to an never ending rabbit hole.


----------



## AaronD (Nov 9, 2021)

khaver said:


> The problem I see now is if for some reason the mic never gets muted so the silence is never detected and the user instead stops the recording manually, the 1st macro is still in a paused (and disabled) state when OBS is closed. The next Sunday when OBS is started again, the 1st macro that pauses the 3rd macro is now disabled and the 3rd macro will start testing for silence immediately, and I'm back to my original problem. This logic stuff can sometimes lead to an never ending rabbit hole.



Yeah, this pausing stuff looks increasingly like a complicated minefield to me.  Nice idea, and I can see the reasoning behind it, but probably an XY solution to be honest.


----------



## khaver (Nov 10, 2021)

Okay I think I found a way for my auto sermon recording to work the way I want it to with the pause and unpause logic being the same as unchecking and checking the boxes in the macro list.

First I got rid of the 1st macro that paused the 3rd macro on OBS startup. Instead I just make sure the 3rd macro (the last macro) is unchecked. And on the last macro, the one that stops the recording after a minute of silence, I've add an "Or" condition for if the recording has stopped, and added an action for it to also pause itself after stopping the recording.

Then in the General Tab, I changed the plugin startup rule to only start the plugin when recording has started.

So here's how my auto sermon recording will work.

1) OBS loads automatically Sunday morning when the computer is logged into (The computer is also used for projecting song lyrics, announcements, and bible verses using another program).
2) At 10:50AM every Sunday, recording starts (this gives the recording a leeway of around 10 minutes before the sermon actually starts). I use my own LUA script to do this.
2a) The ASS plugin also starts, with the silence checking macro unchecked (paused).
3) After 20 minutes (well into the sermon) the macro that checks for 2 minutes of silence is unpaused by the 1st macro.
4) After the sermon, the mic is muted and after 2 minutes of silence the macro stops the recording and pauses itself (uncheck itself).
4a) If the mic is not muted and the recording continues, the user can stop the recording manually, and because of the added "Or" condition for when the recording is stopped, the macro will still pause itself (uncheck itself).
5) OBS can be shut down and all the macros will be ready to go again when OBS is started the next Sunday.

I hope this is clear what I'm trying to achieve. I will try to test it this coming Sunday.


----------



## lindenkron (Nov 10, 2021)

Warmuptill said:


> Just to clarify you are talking about the spelling issue, right? :)
> Or is the functionality broken?
> 
> 
> ...


Yes, the spelling. Sorry if I was being ambigious! :)

Ah, I see. I still get confused with source/scene item and which what is used it appears.

Honestly, having a great time automating my things with Advanced Scene Switcher - the only thing I've really run into (since you pointed out the above) that I miss, would be a way to set audio in a fade-like manner instead of hard jumping to X%.

Unfortunately there's no native way of doing this; and it would have to be Advanced Scene Switcher setting the audio multiple times over a period of time.

Thanks for your hard work on this! It's quite feature rich, and can be a little daunting to go through at first :D


----------



## Warmuptill (Nov 11, 2021)

First of all, sorry about the delayed response!



AaronD said:


> If *every* condition has an both inverse and a timer, and you never need the *combination* to be true for X time regardless of the individual times, then I think you're right. But there are things you can do with an overall timer that can't be done with a combination of individual timers and vice-versa. To continue to use khaver's example, there could be a 2-minute difference between
> [recording for 20min] AND [quiet for 2min]
> and
> [(recording for 20min) AND quiet] for 2min
> The first of these uses two individual timers; the second uses one individual timer and one overall timer. Depending on the details of the situation, that difference could be inconsequential, significant, or critical.


This can be achieved using time constraints also as you can add macros themselves as individual conditions inside macros.






AaronD said:


> Much easier for a user to define their condition the way that makes direct sense and then say NOT at the end, which is what the inverse or false action does.


The above also applies here as you can invert the complete macro by just using a "if not", "and not", etc.
But I do get your point that I might not be intuitive for some users. :)


AaronD said:


> Going way out on a limb here, maybe add a Python tab for completely arbitrary behavior?


That is definitively an interesting idea, although not something I will manage to implement any time soon, unfortunately.
I will definitively keep it in mind!



khaver said:


> Okay I think I found a way for my auto sermon recording to work the way I want it to with the pause and unpause logic being the same as unchecking and checking the boxes in the macro list.
> 
> First I got rid of the 1st macro that paused the 3rd macro on OBS startup. Instead I just make sure the 3rd macro (the last macro) is unchecked. And on the last macro, the one that stops the recording after a minute of silence, I've add an "Or" condition for if the recording has stopped, and added an action for it to also pause itself after stopping the recording.
> 
> ...


Glad to hear that the test build seems to work as expected an you found a solution to your problem! :)



lindenkron said:


> Yes, the spelling. Sorry if I was being ambigious! :)
> 
> Ah, I see. I still get confused with source/scene item and which what is used it appears.
> 
> ...


I am always open to suggestions in regards to the naming of functionality. 
"Scene item visibility" is just the best I have come up with so far. :P

The audio fading has been requested a few times already, so I will make sure to prioritize it a bit more, if I should have the time to look into adding new features.
Thanks for the suggestion!


----------



## lindenkron (Nov 11, 2021)

Warmuptill said:


> I am always open to suggestions in regards to the naming of functionality.
> "Scene item visibility" is just the best I have come up with so far. :P
> 
> The audio fading has been requested a few times already, so I will make sure to prioritize it a bit more, if I should have the time to look into adding new features.
> Thanks for the suggestion!



To be fair, I think the main confusion isn't necessarily your fault. Scene Items _are_ the correct term for Items in a scene. The fact that OBS calls them "Sources" on their UI is what confuses people a lot, because back-end 'sources' are things such as audio input/output etc.

Seeing as you reply fairly fast, I wanted to take this moment to ask you if I'm missing something or if this functionality isn't here:

I can't seem to find a way to determine in a macro "If Scene Z with Scene Item X is visible/not visible then do Y". I can find some _way_ more complex functionality like "If scene item transform", but a simple check for a Scene Items visibility doesn't seem to be there.

There's "Source" which appears to be a mix of _actual_ OBS sources, and some scene items? But I couldn't find for example my Nested Scene Scene Items.




I understand these plugins take hell of time to maintain and make. It's really well done :)

-Lind


----------



## Warmuptill (Nov 12, 2021)

lindenkron said:


> To be fair, I think the main confusion isn't necessarily your fault. Scene Items _are_ the correct term for Items in a scene. The fact that OBS calls them "Sources" on their UI is what confuses people a lot, because back-end 'sources' are things such as audio input/output etc.
> 
> Seeing as you reply fairly fast, I wanted to take this moment to ask you if I'm missing something or if this functionality isn't here:
> 
> ...


You did not miss it - it was just not implemented :)
I quickly added the requested functionality:




You can find a build with this functionality here in a few minutes:








						Visibility condition · WarmUpTill/SceneSwitcher@2a87056
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				



Note that you have to be logged into GitHub to be able to download this build.
If that is an issue for you let me know and I can try to provide it via other means.


----------



## Warmuptill (Nov 12, 2021)

@lindenkron I now also added the option to fade in/out volume changes.



A build with this change can be found here in a few minutes:








						Audio fade · WarmUpTill/SceneSwitcher@5311698
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				



Same as the previous build, you will need to be logged into GitHub to be able to download it.

But note that the audio changes and scene visibility changes were made on separate branches so this new build will not contain the changes above.
If you urgently need a build with the combined changes let me know, otherwise I would wait for your feedback before merging them.


----------



## CodeYan (Nov 14, 2021)

In the macro pane, there is a bug when trying to delete a specific action in a macro. If you have 2 actions and you try to delete the second one, it will delete the first one instead.


----------



## Warmuptill (Nov 14, 2021)

CodeYan said:


> In the macro pane, there is a bug when trying to delete a specific action in a macro. If you have 2 actions and you try to delete the second one, it will delete the first one instead.


Thanks for reporting the issue!
Can you give more details on how to reproduce it?
I cannot seem to replicate it on my end for some reason.

And just to be sure: You are using the most recent version of the plugin, are you not?


----------



## CodeYan (Nov 15, 2021)

Warmuptill said:


> Thanks for reporting the issue!
> Can you give more details on how to reproduce it?
> I cannot seem to replicate it on my end for some reason.
> 
> And just to be sure: You are using the most recent version of the plugin, are you not?


Yes, I am using 1.16.3 and had just recently updated it.

Works even with an empty scene collection.
1. Add a macro
2. Select that macro and add two actions (in the lower box).
3. Change the type of the second one to "Audio" (just to make it distinct from the first action).
4. Hover over the second action to bring up the buttons specific to it. Click the delete button.
5. Action 2 (the "Audio" type) will remain, even if it is the one you deleted.

Second case:
1. Add two actions.
2. Change first one to "Audio".
3. Change second one to "Macro".
4. Delete second one.
5. The second one will remain.

Third case (no bug):
1. Add two actions.
2. Change first one to "Audio" (leave second one alone).
3. Delete second one.
4. The first one remains.

Upon further testing, it seems that it happens when you try to delete the last action, as it happened when I tried with three actions and deleted the last one. It deleted the first one instead.

On even further testing, it becomes unpredictable when you start changing action properties. Sometimes, there's no bug, sometimes there is.

Fourth case with bug:
1. Add three actions (they should all be "Switch Scene" type).
2. Change first one to Cut (leave the other properties alone).
3. Change second to Fade.
4. Change third to audio type.
5. Delete third. The first one will be deleted.

Some tests I did make me think that the bug is happening when you change the Macro action type. Perhaps the action order does not get updated properly when the action type is changed.

Fifth case with bug (this time, I'm deleting the middle one):
1. Add three actions.
2. Change them to "Current transition",  "Cut", and "Fade" respectively (to distinguish them).
3. Change SECOND one to Audio type.
4. Delete second one. The first one will be deleted instead.

This happens even with four actions. just change either of the middle ones and delete it.


----------



## droco01 (Nov 15, 2021)

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! :)


----------



## Warmuptill (Nov 15, 2021)

CodeYan said:


> Yes, I am using 1.16.3 and had just recently updated it.
> 
> Works even with an empty scene collection.
> 1. Add a macro
> ...


Thank you very very much for the detailed reproduction steps!
This made it much easier to track down the problem.
I really appreciate it!

>Some tests I did make me think that the bug is happening when you change the Macro action type.
That was indeed the case.
Whenever the condition or action type was changed the index was incorrectly set to "0".

I was no longer able to reproduce the problems after correctly setting the indices on action / condition type change.

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








						Fix add, delete, reorder not working when changing macro segment type · WarmUpTill/SceneSwitcher@4e2e5d0
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				



You will have to be logged into GitHub to be able to download it. Let me know if that is an issue for you and I can share it via other means if necessary.

I will probably release an update for the plugin next weekend to make sure this gets fixed.
Thanks again for pointing this out!


----------



## Warmuptill (Nov 15, 2021)

droco01 said:


> 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?
> ...


Unfortunately at the moment I don't think this is possible.
There is a way to detect the image being frozen using the "video" condition, but there is no way to individually disable entries on the "random" tab.
I will try to think of a way to make a setup like the one you described possible (probably by adding more functionality to the macro tab), but I cannot promise that I will get around to it soon.

So thanks for the suggestion!


----------



## jasonbirdwellmusic (Nov 16, 2021)

This is looking amazing... but how can I just trigger a scene group to start switching? I couldn't find that in the macros anywhere, although I did get a macro to work (more or less). I just want to start/stop scene group loops with hotkeys.


----------



## Warmuptill (Nov 17, 2021)

jasonbirdwellmusic said:


> This is looking amazing... but how can I just trigger a scene group to start switching? I couldn't find that in the macros anywhere, although I did get a macro to work (more or less). I just want to start/stop scene group loops with hotkeys.


I assume by scene groups you mean a sequence of scene that you want to automatically switch to, correct?
If so creating a macro similar to this one should do the trick:





Corresponding hotkeys to pause / unpause the macro will then automatically be registered in the OBS settings menu.





Unfortunately I just noticed that the 1.16.3 version of this plugin seems to have a bug where the macro hotkeys are not working correctly.
I will make sure release an update during the weekend as a bunch of other fixes are also ready.

If you want to use a build with the fix for un-/pause hotkeys already you can use the following build: (It should be available in a few minutes)








						Fix macro hotkeys not working · WarmUpTill/SceneSwitcher@c5b12df
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				



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


----------



## lindenkron (Nov 18, 2021)

Warmuptill said:


> @lindenkron I now also added the option to fade in/out volume changes.
> View attachment 76989
> A build with this change can be found here in a few minutes:
> 
> ...


Wow, actual legend.

I was not expecting anything to happen this fast. Both this and the scene item visibility - sorry it took this long to get back to you.

This fade feature is going to automate the majority of all my things now. I'll test the built out with the fade and get back to you. Seeing as I'm testing it on already set up scene collections and that feature is the largest improvement.

I'd love to test both if building one that has both Scene Item visibily & Audio fade isn't too much of a hassle?

Again, legend. Thanks.
-Lind


----------



## Warmuptill (Nov 18, 2021)

lindenkron said:


> Wow, actual legend.
> 
> I was not expecting anything to happen this fast. Both this and the scene item visibility - sorry it took this long to get back to you.
> 
> ...


You can find a build with both features (and a bunch of unrelated of fixes) here:








						Add option to fade in/out volume change · WarmUpTill/SceneSwitcher@cce6e24
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com


----------



## lindenkron (Nov 18, 2021)

Warmuptill said:


> You can find a build with both features (and a bunch of unrelated of fixes) here:
> 
> 
> 
> ...


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:




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.


----------



## Warmuptill (Nov 19, 2021)

lindenkron said:


> 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
> ...


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 (Nov 19, 2021)

Warmuptill said:


> 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.
> 
> ...



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 (Nov 19, 2021)

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





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


*

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


----------



## lindenkron (Nov 19, 2021)

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 (Nov 19, 2021)

lindenkron said:


> 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
> ...


Thanks for pointing that out!
Fix is available below.



lindenkron said:


> 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:








						Ensure contents of comboboxes are readable when changing scene/filter · WarmUpTill/SceneSwitcher@b117e74
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com


----------



## Warmuptill (Nov 19, 2021)

droco01 said:


> 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?
> ...


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)



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



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




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








						Draft macro action "random" · WarmUpTill/SceneSwitcher@1630e27
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				




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 (Nov 20, 2021)

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.




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


----------



## Warmuptill (Nov 20, 2021)

lindenkron said:


> 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:
> 
> ...


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





> 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 :)


----------



## Warmuptill (Nov 20, 2021)

Warmuptill updated Advanced Scene Switcher with a new update entry:

Fixes and improvements



> The main focus of this update was fixing issues and improving upon existing functionality.
> *Additions:*
> 
> Add the option to fade in/out volume changes via the "Audio" macro action.
> ...



Read the rest of this update entry...


----------



## lindenkron (Nov 20, 2021)

Warmuptill said:


> Maybe I am missing something crucial but shouldn't a condition like this do the trick?
> 
> View attachment 77212
> 
> ...



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'.


----------



## lindenkron (Nov 20, 2021)

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.



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.




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 (Nov 20, 2021)

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 (Nov 21, 2021)

lindenkron said:


> *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.



lindenkron said:


> 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.



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






lindenkron said:


> 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! :)



lindenkron said:


> 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!



lindenkron said:


> 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.






khaver said:


> 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 (Nov 21, 2021)

lindenkron said:


> 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:



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








						List resize · WarmUpTill/SceneSwitcher@fd77ef5
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				






khaver said:


> 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:



A build including the new system tray macro action is available here:








						Add macro action to display system tray notifications · WarmUpTill/SceneSwitcher@1ecd754
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				



Note that you have to be logged into GitHub to download the build - let me know if that is an issue for you.


----------



## lindenkron (Nov 21, 2021)

Warmuptill said:


> 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.
> ...


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



Warmuptill said:


> 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.



Warmuptill said:


> 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?






Warmuptill said:


> I added automatic resizing of lists to the "run" and "random" actions:
> View attachment 77254


That definitely takes up less space.


----------



## lindenkron (Nov 21, 2021)

So, with the latest build above (*1ecd754*) it's still got large boxes for arguments:


----------



## Warmuptill (Nov 21, 2021)

lindenkron said:


> 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



lindenkron said:


> 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?








lindenkron said:


> 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 (Nov 21, 2021)

Warmuptill said:


> 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! :)



Warmuptill said:


> 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?



Warmuptill said:


> 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 (Nov 21, 2021)

lindenkron said:


> 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.



lindenkron said:


> 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:








						Add fallback using QDesktopServices::openUrl() for "run" action · WarmUpTill/SceneSwitcher@d9828b6
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com


----------



## lindenkron (Nov 21, 2021)

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



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;








						Discord - A New Way to Chat with Friends & Communities
					

Discord is the easiest way to communicate over voice, video, and text.  Chat, hang out, and stay close with your friends and communities.




					discord.com
				



(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.


----------



## AaronD (Nov 21, 2021)

Warmuptill said:


> 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.



Maybe those could be separate conditions, instead of the same condition with a modifier?


----------



## Warmuptill (Nov 21, 2021)

lindenkron said:


> 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!


Glad to hear you got it to work.



AaronD said:


> Maybe those could be separate conditions, instead of the same condition with a modifier?


Might be an option - not sure what I would call this condition, however.

What do you think about instead of calling this option instead of "wait for transition to complete" something like "while transitioning check scene being transitioned to".

Another idea might be to maybe remove the checkbox entirely from the current scene check and expand the transition condition and offer specifying the transition target scene or source scene.



lindenkron said:


> 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;


Hm, I don't really see any useful information in the crash report unfortunately.
It seems to crash deep within the QT libraries and I don't see any activity of the advanced scene switcher.
Do you still remember what exactly you were doing?


----------



## AaronD (Nov 21, 2021)

Warmuptill said:


> Another idea might be to maybe expand the transition condition and offer specifying the transition target scene or source scene.



I like that version.  It gets a little bit iffy when the UI is different from what's actually happening under the hood, but if it accurately describes what a user sees, then that's still the way to go.

(Just be careful about building more functionality on top of that mismatch, because it *will* catch up with you at some point! A little bit is probably okay.)


----------



## lindenkron (Nov 21, 2021)

Warmuptill said:


> 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:
> ...






This doesn't do anything on build 


for me.

-Lind


----------



## oreo3k (Nov 22, 2021)

Xaiw said:


> Is there any possible way you can make a youtube tutorial explaining how to make this work?


drop it in the folder open open obs thats it should work after that


----------



## CodeYan (Nov 22, 2021)

Warmuptill said:


> Thank you very very much for the detailed reproduction steps!
> This made it much easier to track down the problem.
> I really appreciate it!
> 
> ...


Hey, I was able to access the build as I did have the github account, but sorry for not being able to test it b4 you published a release as I didn't have time to test. Thanks for fixing it! If I notice anything else, I'll mention it.

Now that I have used the plugin even more, I noticed that the plugin executes macros one at a time. Can we have them work concurrently (or at least an option)? I have a macro set to be looped (by checking if a source is active, which is always active), which shows a text source, waits for 15 seconds, hides it, shows a different one, waits for 15 seconds, then hides it. Then I have another macro set up with a hotkey for a "Screenshot" Effect, where it transitions to a scene with the screenshot, waits, then goes back to previous scene. The problem is that when I try to use the hotkey for the screenshot macro, it waits for the other macro to finish. I am using 1.16.4.

Also, can you please add macro actions for screenshots? Currently I have my screenshot hotkey set to the same one i'm using for the macro, but it would be nice if you could set it in the macro directly.

Thanks for your awesome work!


----------



## Warmuptill (Nov 22, 2021)

lindenkron said:


> View attachment 77263
> This doesn't do anything on build View attachment 77264
> for me.
> 
> -Lind


Found the issue - thanks for pointing it out!
Spaces need to be escaped when using the fallback method.
New build will be available here in a few:








						List resize · WarmUpTill/SceneSwitcher@ef6a2a4
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				






CodeYan said:


> Hey, I was able to access the build as I did have the github account, but sorry for not being able to test it b4 you published a release as I didn't have time to test. Thanks for fixing it! If I notice anything else, I'll mention it.
> 
> Now that I have used the plugin even more, I noticed that the plugin executes macros one at a time. Can we have them work concurrently (or at least an option)? I have a macro set to be looped (by checking if a source is active, which is always active), which shows a text source, waits for 15 seconds, hides it, shows a different one, waits for 15 seconds, then hides it. Then I have another macro set up with a hotkey for a "Screenshot" Effect, where it transitions to a scene with the screenshot, waits, then goes back to previous scene. The problem is that when I try to use the hotkey for the screenshot macro, it waits for the other macro to finish. I am using 1.16.4.
> 
> ...


No worries - I am very happy that you reported the issue in the first place! :)

Adding an option to run macros concurrently should be doable and is something I wanted to look into anyway.
The screenshot action should be very easy to add.
Thanks for the suggestions!

I will look into these two points once I find the time to. (Might not be before the weekend unfortunately)


----------



## lindenkron (Nov 22, 2021)

Warmuptill said:


> Found the issue - thanks for pointing it out!
> Spaces need to be escaped when using the fallback method.
> New build will be available here in a few:
> 
> ...


Unfortunately I still can't get it to run/open the file

What am I doing wrong?


----------



## Warmuptill (Nov 22, 2021)

lindenkron said:


> Unfortunately I still can't get it to run/open the file
> 
> What am I doing wrong?
> View attachment 77285





lindenkron said:


> Unfortunately I still can't get it to run/open the file
> 
> What am I doing wrong?
> View attachment 77285


You are probably not doing anything wrong - I am most likely just missing something obvious. :)
Just to be sure:
Does opening the file when using a "simpler" path work? (C:/test.xspf for example)
Is a default application to open .xspf files set up? (So if you double click the file VLC or whatever media player is opening up without windows asking you what program you want to use)


----------



## lindenkron (Nov 22, 2021)

Warmuptill said:


> You are probably not doing anything wrong - I am most likely just missing something obvious. :)
> Just to be sure:
> Does opening the file when using a "simpler" path work? (C:/test.xspf for example)
> Is a default application to open .xspf files set up? (So if you double click the file VLC or whatever media player is opening up without windows asking you what program you want to use)



Simpler path does nothing different.
Default application to open is VLC:


----------



## lindenkron (Nov 22, 2021)

*Update:*
I seem to have found out what's causing it. I had one scene where it worked on (didn't check that one, just used the Intro one for testing).

In that scene; there was a delay between my 'close.bat' (that kills VLC), and my VLC opening.

I guess it compulates things so fast that it manages to execute the run (even if further down the list, and behind two audio volume changes) so fast that the .bat (which is at the beginning of the macro) closes the executed playlist.

I added a 1 sec wait inbetween, and now it _seems_ to work.

Sorry about that!
Thanks for working on it :)

*Edit:*
As I say that I still have issues making some things work. I'm trying to work it out; but I think it's on my end. Seeing multiple .bat files firing and so on. I'll let you know if I get it all to work!


----------



## lindenkron (Nov 22, 2021)

Okay. So I'm very confused in all of this. Some of them were working; some of them weren't. Now, all of them _seem_ to be working. I _think_ the only thing I did was remove the runs, and adding them again. Same paths and all.

They _seem _to be functioning now. *fingers crossed*


----------



## CodeYan (Nov 23, 2021)

Warmuptill said:


> Found the issue - thanks for pointing it out!
> Spaces need to be escaped when using the fallback method.
> New build will be available here in a few:
> 
> ...


Thanks!


----------



## AaronD (Nov 23, 2021)

lindenkron said:


> *Update:*
> I seem to have found out what's causing it. I had one scene where it worked on (didn't check that one, just used the Intro one for testing).
> 
> In that scene; there was a delay between my 'close.bat' (that kills VLC), and my VLC opening.
> ...





lindenkron said:


> Okay. So I'm very confused in all of this. Some of them were working; some of them weren't. Now, all of them _seem_ to be working. I _think_ the only thing I did was remove the runs, and adding them again. Same paths and all.
> 
> They _seem _to be functioning now. *fingers crossed*



Race conditions can be some of the more difficult bugs to track down and definitively solve.  They happen when you have multiple things happening at the same time (not just appearing so because the system burns through them so quickly, but actually simultaneous), and the ultimate outcome depends on which one finishes first.  (in your example, one kills VLC and another starts it)  A seemingly unrelated thing can change when they start or how long they take, and so the result seems to change at random.

Generally, the way to solve that is either to serialize the process, only starting one thing after another has finished, or to use something like a "mutex" (MUTual EXclusive) to award control to the first thing that grabs a token and make everything else wait that wants it until the first one releases it.  (not error-ed out, just waiting to continue)  Between grabbing and releasing, you do everything that is required to keep the outcome consistent.  The classic Computer Science example is "bank_account <- bank_account + $5", where you have to read the value, modify it, and then write it back in 3 separate steps while something else also wants to do the same thing, but the concept applies to anything.

The behavior that you describe sounds like all of the actions are started at the same time and operate simultaneously.  (or practically so, on a multitasking operating system)  So it's entirely possible to have a race condition between them.  When you also consider that a standard time slice might be a large number of instructions and that the OS might not necessarily schedule things in the same order every time......

It might be easy to add a "serialize" checkbox to the Macro's UI, but it might not actually do much either.  If it hands off control to the OS, which doesn't report back that it's done, then the race condition can still exist even if the controlling code is entirely serialized.  Likewise for the mutex: you have to know when to release it and not be too early.  So, what about adding a user-adjustable delay for each action?  That's not a guaranteed solution, but if 1 second is generally acceptable to the user and the race is usually over within 500ms, then that can work...most of the time.  Now watch the race drag on for 1.2 seconds because the hard drive is being stupid at the moment...


----------



## CodeYan (Nov 23, 2021)

Can you add a Macro action to "Run" a macro? I only see pause/unpause. It will be useful for better macro organization, and looping macros. Someone on discord used a nice workaround though, by using the "random" action and specifying only one macro. Specifying hotkeys is also another way, but it is not a convenient workaround. It should bypass the specified condition.

On the note of looping macros, there does not seem to be a way to start the macro when the advanced scene switcher is run/running? I did work around it by using checking if a source if visible (which always will).

Also, a "Start" button for macros will be useful for testing macros.

Also, please add a condition for the timer to have a random time duration (min and max).


----------



## lindenkron (Nov 23, 2021)

So, it seemed to have been possibly a combination of /f (force close) and 1 second being _barely_ enough time to close it. Removing force close, allowing VLC to close naturally - and giving it more time to do so - seems to have cured most of the quirks with running different audio playlists.

Regarding 'parameters' if one decides to use 'Run' for something, is there a list available with what is possible with it? Out of curiosity.

Thanks!
-lind


----------



## CodeYan (Nov 23, 2021)

for the media macro condition, can you please add a "milliseconds" unit? the media tab currently only supports "milliseconds" (though it would also be useful to add other units there), so migrating to the macros will be kinda different as you need seconds. Don't worry, i can do the math myself quickly, but it's a UX thing.


----------



## Warmuptill (Nov 23, 2021)

CodeYan said:


> Can you add a Macro action to "Run" a macro? I only see pause/unpause. It will be useful for better macro organization, and looping macros. Someone on discord used a nice workaround though, by using the "random" action and specifying only one macro. Specifying hotkeys is also another way, but it is not a convenient workaround. It should bypass the specified condition.
> 
> On the note of looping macros, there does not seem to be a way to start the macro when the advanced scene switcher is run/running? I did work around it by using checking if a source if visible (which always will).
> 
> ...


Great suggestions!
I will add them all to todo list :)



CodeYan said:


> for the media macro condition, can you please add a "milliseconds" unit? the media tab currently only supports "milliseconds" (though it would also be useful to add other units there), so migrating to the macros will be kinda different as you need seconds. Don't worry, i can do the math myself quickly, but it's a UX thing.


Honestly I prefer the way it is done on the macro tab and don't really see the need to add milliseconds as the plugin itself will only perform checks at most every 50ms and the current way already provides enough accuracy to cover that range.

But I do get your point about the UI not being the same.

Please let me know if I am wrong and there are actually use cases where the increased precision is needed! :)



lindenkron said:


> So, it seemed to have been possibly a combination of /f (force close) and 1 second being _barely_ enough time to close it. Removing force close, allowing VLC to close naturally - and giving it more time to do so - seems to have cured most of the quirks with running different audio playlists.
> 
> Regarding 'parameters' if one decides to use 'Run' for something, is there a list available with what is possible with it? Out of curiosity.
> 
> ...


Ah great!
I was worried I messed something up - thank you very much for the tests!

The parameters entirely depend on the application you are trying to launch so I cannot really give you an answer.
The follow the example of above VLC provides the following possible arguments:





						VLC command-line help - VideoLAN Wiki
					






					wiki.videolan.org


----------



## grimofdoom (Nov 23, 2021)

I have 3 things I want to ask about. First off, I made a set of macros which do two things. The core of it, *Random Idle Selector *hides all media sources in scene (manually add to list) from the macro *Reset Idle*, followed by randomly selecting a Macro - that individually show one of the Idle animations that were hidden prior. Then, there is separate functionality which on hot key, will do similar but play a single looped animation (Anim macros) and then reset back to the random idle animations.





First: Is it possible to make the timer on the If Timer, be random between X and Y seconds?

Second: Is there a way to more simply call 1 Macro, without having to have a Random list filled with 1 Macro (would really help clean up the screen)

Third: Is there a way to simple detect whether [any] media source has ended - instead of making multiple checking macros or a single macro with a dozen if checks to simply things?


----------



## Warmuptill (Nov 23, 2021)

grimofdoom said:


> I have 3 things I want to ask about. First off, I made a set of macros which do two things. The core of it, *Random Idle Selector *hides all media sources in scene (manually add to list) from the macro *Reset Idle*, followed by randomly selecting a Macro - that individually show one of the Idle animations that were hidden prior. Then, there is separate functionality which on hot key, will do similar but play a single looped animation (Anim macros) and then reset back to the random idle animations.
> 
> View attachment 77320
> 
> ...



1.) Unfortunately not yet - I have added it to the todo list and will probably look into it on the weekend.
You could maybe use the "wait" action as that supports waiting for random amounts of time, but this might of course get rather messy.
2.) Not yet - will also look into it on the weekend.
(Both of these points were suggested a few comments earlier so I will raise the priority of those tasks)

3. ) Unfortunately no - this might be a bit more complex, but I will make sure to look into it as it was requested multiple times now already.

I apologize, that basically all answers were "no, not yet".


----------



## Warmuptill (Nov 23, 2021)

@CodeYan you can find a build containing the requested screenshot feature here:








						Add compatability check for screenshot functionality · WarmUpTill/SceneSwitcher@7489b3d
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				



As usual you need to be logged into GitHub to be able to download it.





Let me know if everything works as expected. :)

@grimofdoom , @CodeYan  I expanded upon the existing macro action "macro" to allow running other macros.



You can find a build with this functionality here in a few minutes:








						Add the option to execute another macro's actions · WarmUpTill/SceneSwitcher@eac1ed2
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				



Note that you have to be logged into GitHub to be able to download the build.
Let me know if there are any issues! :)


----------



## grimofdoom (Nov 23, 2021)

Warmuptill said:


> 1.) Unfortunately not yet - I have added it to the todo list and will probably look into it on the weekend.
> You could maybe use the "wait" action as that supports waiting for random amounts of time, but this might of course get rather messy.
> 2.) Not yet - will also look into it on the weekend.
> (Both of these points were suggested a few comments earlier so I will raise the priority of those tasks)
> ...


Thank you for the reply. They are not 'problems' at all, I clearly have a fully working solution. They are just, curious if I was not using the software to its fullest or things that may be coming. Number 2 is obviously just aesthetics (As a programmer, I purposely put opening brackets on the same line to keep things clean).


----------



## lindenkron (Nov 25, 2021)

Hey Warmuptill.

Wanted to ask if you could try something for me and see if you get similar behaviour. I started messing around a bit with the parameter VLC link you showed me.

On one, I used the old method - but included the parameter *--qt-start-minimized *and the other I used default 'fallback' method.

This resulted in when I switched back and forth between the two, that I'd end up with a VLC player with *no process* running, but still playing music. With seemingly no way to turn it off other than rebooting the PC.

Is this a plugin thing, or a VLC thing? It's a rather.. strange interaction at least.

This is the process that would be still running playing music:




Thanks,
-lind


----------



## lindenkron (Nov 25, 2021)

So I narrowed it down a bit. Seems the old script


> tasklist /fi "imagename eq vlc.exe" |find ":" > nul
> if errorlevel 1 taskkill /im "vlc.exe"



In combination with * --qt-start-minimize *simply glitches out and makes VLC player run while taskkilled.. some how.

Tried closing it with another script; but I can only get it to work running it manually. *vlc vlc://quit. *If I try to run it in Adv-ss, so far it does nothing. Either way, I don't think it had anything to do with Adv-ss :)

I added a environmental path for VLC; and then ran the above. Could the filepath in the .bat be incorrect when fired through OBS/Adv-ss and thus it won't work cus it can't find vlc to execute vlc://quit? Not that great at pathing >.<


----------



## lindenkron (Nov 25, 2021)

So, it seems OBS does not allow for environmental paths to be used within OBS itself.
*"C:\Program Files\VideoLAN\VLC\vlc.exe" vlc://quit *did the trick, even though it's a lot of .bat flashing :giggle:

Rather interesting though, not sure why that'd be.


----------



## Laczkó (Nov 25, 2021)

I have serious reliability issues with the Advanced Scene Switcher. I set up the OBS and Advanced Scene Switcher to three machines for testing (one is running Windows 7, the others are Windows 10 – I'll refer to them as Win7, Win10/1, Win10/2). All the machines have the same version of OBS (27.1.3), also Advanced Scene Switcher (1.16.3), same profile, same Scene collection, everything similar in the software until the very last bit of setting, yet it works completely differently on the three machines.

On Win10/1 machine if I click on Advanced Scene Switcher in the tools dropdown menu, it immediately kills OBS in about 90% of the cases. In these cases OBS doesn't even make a crashlog. If I don't try to open the Advanced Scene Switcher settings, it works fine for a short time (tipically 1/2 to 2 hours), but after that it never switchs scene again. If I try to open Advanced Scene Switcher settings when it no longer does anything, than clicking on it in the dropdown menu kills OBS not only 90%, but 100% of the cases.

On Win7 machine Advanced Scene Switcher works almost as it should, but there are set some changes, which it never execute. An other problem that there is a setup for a slideshow to switch over if it's played for 15 minutes, but Advanced Scene Switcher always switch over after 30 minutes instead. I have tried to change the 15 minutes setting to a shorter time, also to longer, but it has no effect on Advanced Scene Switchers behaviour. It still switchs over after 30 minutes.

On Win10/2 machine there are no unique faulty behaviour, it's just produces the only problem, that is common to all the three machines. This is the one above, that some scene changes that were set up, never executed.

There is a typical setup, when scene change doesn't executed: when there are two playlist in a scene and one of them sets to continously repeate while the second one isn't. In this case if there is a scene change set up based on the second one list played to end, it'll never change (the second one – the not repeated – could be media source, not just playlist, and the problem still exist). But there are other changes, which never executed, and I couldn't find any schema to figure out, what is differentiate the changes those are executed and those are not. Some of them based on time, some based on a source played to end, or played for a certain period of time. But if a change never executed, it won't be executed even if I try to do it in an other way. For example there is a command to change scene if a source played to end, which is never executed, so I tryed to create a setting on the Video tab, to change scene when that source 'has not changed' for two seconds (based on the thought, that the last frame of the source freezed forever as the scene not changed, so it should detect the no changing there), but it also doesn't worked, the last frame of the source remained there forever. I even calculated the length of the source and set up to change scene after played for that time, also set up to write the name of the active scene to a file and change scene if that file cointains that scene's name for the calculated time and so on, but neither worked. It seems like if it doesn't want to execute a specific scene change, than it won't and doesn't matter, how many different methods do I create to do it anyway.

I thought maybe the Advanced Scene Switcher work faulty with some file format, or codec, but when I converted all the used video to the same format with the same codec and settings (also images to the same image format) to test this theory nothing has changed: the scene changes which worked before are worked after as well and those that didn't worked before, also didn't worked after.

I have attached log files from all the three computer, maybe those contains useful informations.


----------



## Laczkó (Nov 25, 2021)

Quick update:
If OBS has been run as administrator on the Win10/1 machine, the 'open Advanced Scene Switcher settings kills OBS' problem disappear (but all the other problems still exist).


----------



## Warmuptill (Nov 25, 2021)

@Laczkó  Sorry to hear that you are having issues with the plugin.



Laczkó said:


> All the machines have the same version of OBS (27.1.3), also Advanced Scene Switcher (1.16.3)


Although I doubt that it will make much of a difference for the issues you described please update to the most recent version of the plugin.



Laczkó said:


> On Win10/1 machine if I click on Advanced Scene Switcher in the tools dropdown menu, it immediately kills OBS in about 90% of the cases. In these cases OBS doesn't even make a crashlog.


That seems very strange indeed.
I have never heard about such issues before.

Can you please provide an OBS log file of such a case?
It would be best if you enable verbose logging for the plugin (if you are able to).
The option to do so can be found on the general tab.







Laczkó said:


> On Win7 machine Advanced Scene Switcher works almost as it should, but there are set some changes, which it never execute.


Unfortunately It is very difficult to say what is going on here without having more information.
Which functionality are you using exactly?
Could you maybe set up a minimal example to reproduce the problem and export the settings of the plugin.
(The option to export the plugin settings to a file can be found on the general tab)



Laczkó said:


> There is a typical setup, when scene change doesn't executed: when there are two playlist in a scene and one of them sets to continously repeate while the second one isn't. In this case if there is a scene change set up based on the second one list played to end, it'll never change (the second one – the not repeated – could be media source, not just playlist, and the problem still exist)


Again here it would be best to have a minimal example to reproduce the issue on my end.
From the description alone it is very hard to judge which functionality you are using exactly and in which setup.



Laczkó said:


> It seems like if it doesn't want to execute a specific scene change, than it won't and doesn't matter, how many different methods do I create to do it anyway.


Just guessing here, but maybe it is a priority issue.
So some higher priority function is continuously true and thus blocking the other functionalities from running.

In general I would recommend to rely on the macro tab as it is the most flexible in complicated scenarios.



Laczkó said:


> I have attached log files from all the three computer, maybe those contains useful informations.


Unfortunately not really. :(
Without knowing when an issue occurred or what the issue was in these particular logs an analysis is almost impossible.
The only unusual part is that very frequently some "file" check seems to take extremely long amounts of time occasionally:
`10:08:11.270: [adv-ss] spent 2705 ms in file condition check of macro 'Mozgó spot túlfutás kezelő'!`
But without knowing the settings it is difficult to say if that is actually an issue.

In general I would recommend enabling verbose logging if you want to report issues with the plugin.

I apologize that I could not really help you yet :(


----------



## Laczkó (Nov 26, 2021)

OK. I was stupid. When I converted all the medias to the same format, I forgot to change some of them to the converted ones in the playlists that I'm using. Now it solved most of the not changing scene problem (a few still exist). So it seems the plugin doesn't work with mov files. At least with codec settings like this:



I'll test and log based on your solutions to provide more information, however it'll a long process, as usually I have less than one workday on every week to working on this.


----------



## Warmuptill (Nov 26, 2021)

Laczkó said:


> OK. I was stupid. When I converted all the medias to the same format, I forgot to change some of them to the converted ones in the playlists that I'm using. Now it solved most of the not changing scene problem (a few still exist). So it seems the plugin doesn't work with mov files. At least with codec settings like this:
> View attachment 77418
> I'll test and log based on your solutions to provide more information, however it'll a long process, as usually I have less than one workday on every week to working on this.


That is very strange as the scene switcher is not even aware of the file format that is being played back in a media source.
Maybe somehow OBS is not reporting the media states for mov files but I have no clue why that would be the case.
Anyways, I will try to reproduce it on my end - thanks for the info! :)

And don't worry about it taking a while to gather the information!
Just provide whatever you can and when you find the time to do so and I will try to reproduce it on my end.
Just note that besides logs it is also rather crucial to know what you have configured :)


----------



## Warmuptill (Nov 26, 2021)

@CodeYan , @grimofdoom I now got around to extending the timer condition to allow specifying a random duration.





A build with this feature should be available here in a few minutes:








						Allow setting random duration in specified range · WarmUpTill/SceneSwitcher@eaebbc2
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				




@CodeYan as requested I added a condition that is always true if the plugin is running.





A build is available here:








						Add condition to check if the plugin is running · WarmUpTill/SceneSwitcher@43d2ac4
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				




Note that as usual you have to be logged into GitHub to be able to download these builds.
If you should need builds including both of these two (or more) features that are only available in dev drops let me know.


----------



## CodeYan (Nov 27, 2021)

Warmuptill said:


> @CodeYan , @grimofdoom I now got around to extending the timer condition to allow specifying a random duration.
> 
> View attachment 77426
> 
> ...


oooooooohhhhhh nice, thanks for this and the screenshot feature too! I'll let you know if I notice anything unusual.

Now that I'm trying the dev builds, I noticed that when making backups of advanced scene switcher settings, there's no default file name, which is not easy to think of especially if OBS UI hasn't loaded yet and the dialog came first. I suggest making a default file name with a format like: `adv-ss <scene collection name> YYYY-mm-dd hh:mm:ss.txt`, as I think backups are associated with scene collections.

Thanks as usual!


----------



## AaronD (Nov 27, 2021)

CodeYan said:


> ...I suggest making a default file name with a format like: `adv-ss <scene collection name> YYYY-mm-dd hh:mm:ss.txt`...



If we're doing that, I'd recommend including the day of the week as well.  Yes, it's redundant, but if you're doing it frequently, it's a big help.
Modifying the example would produce: `adv-ss <scene collection name> YYYY-mm-dd dow hh:mm:ss.txt`

Also, some things _still_ don't like spaces in filenames, so replacing them with underscores or dashes might still be a good idea, at least in a default name.  Windows certainly doesn't like colons.
So then we'd have something like: `adv-ss_scene-collection-name_YYYY-mm-dd_dow_hh-mm-ss.txt`


----------



## CodeYan (Nov 27, 2021)

I noticed that the screenshot feature update has the main output and all sources. I think it would also be useful to include an option to screenshot scenes (though I think you'd have to temporarily switch the preview scene for a while to load window captures?), with an option to select either scenes or sources, where the main output and preview scene will be listed under the scenes list, though I don't need it right now. 

Also, in the macro action types dropdown list, "Switch preview scene" is listed between "Plugin State" and "Random" (breaks the alphabetical order).


----------



## CodeYan (Nov 27, 2021)

AaronD said:


> If we're doing that, I'd recommend including the day of the week as well.  Yes, it's redundant, but if you're doing it frequently, it's a big help.
> Modifying the example would produce: `adv-ss <scene collection name> YYYY-mm-dd dow hh:mm:ss.txt`
> 
> Also, some things _still_ don't like spaces in filenames, so replacing them with underscores or dashes might still be a good idea, at least in a default name.  Windows certainly doesn't like colons.
> So then we'd have something like: `adv-ss_scene-collection-name_YYYY-mm-dd_dow_hh-mm-ss.txt`


Oh, right, I forgot about the colons as I was just typing it like I normally would. Thanks for the catch.
Regarding the spaces, I don't think it is that important to avoid spaces? OBS saves screenshots with spaces by default. But, I'm not against that idea if you guys deem it necessary to remove spaces. I just tend to like the one with spaces better as it looks cleaner to me. 
OBS does have a checkbox "Generate File Name without Space" so maybe we could have that too in the general tab.


----------



## CodeYan (Nov 27, 2021)

Warmuptill said:


> Honestly I prefer the way it is done on the macro tab and don't really see the need to add milliseconds as the plugin itself will only perform checks at most every 50ms and the current way already provides enough accuracy to cover that range.
> 
> But I do get your point about the UI not being the same.
> 
> Please let me know if I am wrong and there are actually use cases where the increased precision is needed! :)


Ah, that's a pretty fair point. I also don't think that the increased precision is needed (at least, not me). I also find seconds being the default more user-friendly, I think? Like, I don't really want to explain what milliseconds are when I'm teaching others. But yeah, the UI not being the same is what I'm pointing at. Maybe you could kill milliseconds in the Media tab and add the other units? Might be a breaking change though so I'm leaving that for you to decide.


----------



## AaronD (Nov 27, 2021)

CodeYan said:


> Ah, that's a pretty fair point. I also don't think that the increased precision is needed (at least, not me). I also find seconds being the default more user-friendly, I think? Like, I don't really want to explain what milliseconds are when I'm teaching others. But yeah, the UI not being the same is what I'm pointing at. Maybe you could kill milliseconds in the Media tab and add the other units? Might be a breaking change though so I'm leaving that for you to decide.



There have been a few times when I really wanted to start a YouTube video on a half-second or something like that.  In offline editing, I can hit the exact frame that I want, which makes 1-second resolution rather coarse by comparison.  Instead of frames or milliseconds though, maybe use decimal seconds?


----------



## CodeYan (Nov 27, 2021)

AaronD said:


> There have been a few times when I really wanted to start a YouTube video on a half-second or something like that.  In offline editing, I can hit the exact frame that I want, which makes 1-second resolution rather coarse by comparison.  Instead of frames or milliseconds though, maybe use decimal seconds?


it already allows for decimal seconds. like I can do 0.5 seconds.


----------



## Warmuptill (Nov 27, 2021)

@AaronD, @CodeYan thanks for the suggestion regarding backup file names!
I implemented the following file format as the default when exporting the settings or when the user is asking to back up their settings:
adv-ss-scenecollection-yyyy.mm.dd.hh.mm.ss.txt
So an example file name would be:
adv-ss-Untitled-2021.11.27.16.35.44.txt

A build is available here:








						Suggest file name when saving settings · WarmUpTill/SceneSwitcher@987bb1d
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				



Although on its own there isn't really much to test there, so probably not worth checking out.



CodeYan said:


> I think it would also be useful to include an option to screenshot scenes


Good point - an updated build can be found here in case you need it:








						Add macro action for triggering screenshots · WarmUpTill/SceneSwitcher@e8e41dd
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				




@CodeYan a build with the requested feature of running multiple macros in parallel as well a separate button to "test" macros is available here:








						Macro tab improvements · WarmUpTill/SceneSwitcher@c7f0ce6
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				






I would appreciate if you could give this build in particular a try as it involved code changes in crucial sections of the plugin.
While I have tested it on my end as well I am sure I have probably missed some edge cases, so if you notice any crashes or freezes please let me know.
Thanks for your time and your suggestions! :)


----------



## Warmuptill (Nov 28, 2021)

grimofdoom said:


> Third: Is there a way to simple detect whether [any] media source has ended - instead of making multiple checking macros or a single macro with a dozen if checks to simply things?


I now got around to implementing the option to match any / all media sources on a specified scene.
That should hopefully allow you to simplify some of your macros.




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








						Add option to match any or all media sources of a specific scene · WarmUpTill/SceneSwitcher@5201b0b
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				




I would appreciate if you could give this a try if you have the time to do so - thanks! :)


----------



## Apathium (Nov 29, 2021)

Hi,

I am typically using the region mode of the plugin to record the screen that I'm active on. 3 screens = 3 scenes; (say A, B, C).

I want to be able to switch to another scene (D) with a hotkey, deactivating region checks at the meantime, and go back to region checks when I push the same hotkey. Is this possible? 

Below is what I tried. I was able to get OBS to switch to D, but only for a milisecond and the region check switches it back to respective scene.

- Created 2 macros: 
* If the scene is not D, and the hotkey is pressed; then the scene would switch to D, and plugin state stops OBS (tried with and without this last bit).
* If the scene is D, and the hotkey is pressed; then scene would switch to B.
- Added separate pause condition when scene is D.
- Prioritized Macro over Screen Region 

Thank you in advance.


----------



## Warmuptill (Nov 30, 2021)

Apathium said:


> Hi,
> 
> I am typically using the region mode of the plugin to record the screen that I'm active on. 3 screens = 3 scenes; (say A, B, C).
> 
> ...


I would recommend to use macros also for your screen region scene switches, similar to this one:




This will allow you to set up hotkeys to pause these individual macros.



Then you could use the same hotkey to switch to your scene "D".

Unfortunately using the same hotkey to unpause these macros and return to region based scene switching does not work as the pause  / unpause hotkey would conflict with each other.
I will make sure to add a "toggle" hotkey in future.

(You could get it to work with just a single hotkey if you add additional macros to just control the pause state of the "cursor" macros, but I will just quickly implement the toggle hotkey feature instead and update this post once a build is available)

Update: A build which will allow you to define a hotkey to toggle the pause state of macros will be available here in a few minutes:








						Add hotkey to toggle pause state of macros · WarmUpTill/SceneSwitcher@15452ea
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				






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


----------



## Daniel de Monteiro (Nov 30, 2021)

Is there a way to create a keybind to switch profiles? Instead of opening Advanced Scene Switcher, clicking 'Import Profile', and selecting the profile, is there a way to just create a keybind for certain profiles? Thanks.


----------



## Apathium (Dec 1, 2021)

Warmuptill said:


> I would recommend to use macros also for your screen region scene switches, similar to this one:
> View attachment 77550
> This will allow you to set up hotkeys to pause these individual macros.
> View attachment 77552
> ...



Awesome! Big thanks for the support.


----------



## Warmuptill (Dec 1, 2021)

Daniel de Monteiro said:


> Is there a way to create a keybind to switch profiles? Instead of opening Advanced Scene Switcher, clicking 'Import Profile', and selecting the profile, is there a way to just create a keybind for certain profiles? Thanks.


Unfortunately not, but I will look into it.
Thanks for the suggestion!


----------



## kineticscreen (Dec 2, 2021)

Apologies if this has already been covered, but coming back to this after a long absence. Is there any other way or interacting with the plugin other than hotkeys (i.e. websocket)? 
Would be good to be able to toggle the switcher, and have feedback on whether it is active. One example is it would be great to be able to have a toggle button on a Stream Deck.


----------



## qwe1154323937 (Dec 4, 2021)

你好，这个插件真的很好用，方便很多人。我在 1.16.4 版本中遇到了一些错误。我在这里反馈给你。使用宏功能时，插件状态和隐藏某些场景的状态，删除宏。原始场景不会恢复，仍然隐藏。只有在调用宏的显示时才会出现。我不确定这是一个功能还是一个错误，如果这是一个错误，其他功能应该是相同的。
因为我所在的地区是中国，所以不能完全依赖英文的本地化文档。我看到大部分的原始本地化文本都已翻译，但后来没有更新此类信息。因此，我通过翻译软件进一步更新了中文本地化，并亲自测试了各个子模块的功能。当然，有些可能不完全正确，因为语言问题，我不能完全理解作者的意思，但大部分都可以让用户理解一些东西。我期待你的更新。我会把这个插件做成插件推荐的OBS教程和视频，放到BiliBili上。
谢谢！


----------



## qwe1154323937 (Dec 4, 2021)

qwe1154323937 said:


> Hello, this plug-in is really easy to use and convenient for many people. I encountered some errors in version 1.16.4. I'll give you feedback. When using the macro function, the plug-in status and the status of some scenes are hidden, and the macro is deleted. The original scene will not be restored and is still hidden. Appears only when the macro is displayed. I am really a function or an error. If this is an error, other functions should be the same.
> Because I belong to China, I can't completely rely on Chinese documents. I saw most of the translated original localized text, but there was no updated error message. Therefore, I further updated the Chinese localization through the software, and personally tested the functions of each sub module. Of course, it may not be completely correct. Because of the language problem, I fully understand the author's English, but most of them can let users understand things. I may wait for you to update. Plug in recommended OBS tutorials and videos, open BiliBili.
> thank you!
> It's terrible. Google browser Chinese culture the English text I want to send, and then I sent it out. It would have been difficult to explain some words through the translation software. Now it's even more difficult. If you have more questions, you can reply to me.


----------



## Warmuptill (Dec 4, 2021)

kineticscreen said:


> Apologies if this has already been covered, but coming back to this after a long absence. Is there any other way or interacting with the plugin other than hotkeys (i.e. websocket)?
> Would be good to be able to toggle the switcher, and have feedback on whether it is active. One example is it would be great to be able to have a toggle button on a Stream Deck.


Unfortunately not yet.

To be honest I am not familiar with how the stream deck functions.
Can you give an example of an OBS plugin that interacts with the stream deck?
That might help me getting started.

Thanks for the suggestion!

Thank you very much for providing the updated translations!
Can you elaborate on what is causing issues? Unfortunately I don't quite understand what the problem is.


----------



## qwe1154323937 (Dec 4, 2021)

Warmuptill said:


> Unfortunately not yet.
> 
> To be honest I am not familiar with how the stream deck functions.
> Can you give an example of an OBS plugin that interacts with the stream deck?
> ...



macro
Create a new macro and create a satisfied condition above.
Create a plug-in status below, select a text and set it to be hidden when the above conditions are met.
Then delete the macro and close the scene switcher.
When you try to display this text in the scene, it will not be displayed. It will appear normally only when it is displayed by the instructions created by the macro.
I don't know if this is a bug. If so, other similar functions may have such problems.


----------



## Warmuptill (Dec 4, 2021)

qwe1154323937 said:


> macro
> Create a new macro and create a satisfied condition above.
> Create a plug-in status below, select a text and set it to be hidden when the above conditions are met.
> Then delete the macro and close the scene switcher.
> ...


Are you referring to the option to globally disable a source?



If so, then this is expected.

If not, can you please create an example of the settings that are causing issues, export them on the general tab, and share them with me?
Just to make sure we are talking about the same thing :)


----------



## qwe1154323937 (Dec 5, 2021)

Warmuptill said:


> Are you referring to the option to globally disable a source?
> View attachment 77685
> If so, then this is expected.
> 
> ...



This is the way you set in the picture, but so are many other functions. Deleting a macro will not stop it. It is still valid and can only be stopped through the macro.
Since it is intentionally retained by you, it means that there is no problem. If it is possible to give it a hint in an eye-catching position, I believe many live broadcasts with obs. Without basic knowledge, it is difficult for them to understand what is going on.
Thank you for your help,


----------



## Warmuptill (Dec 5, 2021)

qwe1154323937 said:


> This is the way you set in the picture, but so are many other functions. Deleting a macro will not stop it. It is still valid and can only be stopped through the macro.
> Since it is intentionally retained by you, it means that there is no problem. If it is possible to give it a hint in an eye-catching position, I believe many live broadcasts with obs. Without basic knowledge, it is difficult for them to understand what is going on.
> Thank you for your help,


I think what you might be looking for instead is the "scene item visibility" action type.


----------



## qwe1154323937 (Dec 6, 2021)

Warmuptill said:


> I think what you might be looking for instead is the "scene item visibility" action type.
> View attachment 77711



Ohhh, thank you. Maybe it's because I haven't found the corresponding position. Later, I didn't trace the source. This is my problem. Thank you for your contribution to OBS plug-in!
Have a nice day ~!!!


----------



## Laczkó (Dec 6, 2021)

I turned on verbose logging, strangly that in itself changed how Advanced Scene Switcher work. Fortunately in a positive way, now it work better, however here is a log, which ends when Advanced Scene Switcher inactivate itself for an unknown reason:


			https://drive.google.com/file/d/1kQCDSCviBF20NdfrCHm7sOw3yaY1_6dA/view?usp=sharing
		

(I linked it, because it's too big to attach here.)


----------



## Laczkó (Dec 6, 2021)

Now I've made a short test to analyze my most common problem with the plugin. That is the needed scene change, when a source played to end, but it almost never executed by the Advanced Scene Switcher.

I've attached the log file from this session. The macro 'Teletext' is set up to change to scene 'Teletext' if playlist 'mozgó spotok' played to end.
There is a line in the log:
13:25:16.508: [adv-ss] Macro Teletext returned 1
In all other place, where 'Macro Teletext' is appear, it returned 0 and this is about the time, when playlist 'mozgó spotok' have ended, so I suppose the '1' means that the tested condition is true. But didn't changed it here to scene 'Teletext' (did nothing at all). So it seems that the detection of the condition works fine, but the execution of the command for that condition is not.


----------



## Warmuptill (Dec 6, 2021)

Laczkó said:


> I turned on verbose logging, strangly that in itself changed how Advanced Scene Switcher work. Fortunately in a positive way, now it work better, however here is a log, which ends when Advanced Scene Switcher inactivate itself for an unknown reason:
> 
> 
> https://drive.google.com/file/d/1kQCDSCviBF20NdfrCHm7sOw3yaY1_6dA/view?usp=sharing
> ...





Laczkó said:


> Now I've made a short test to analyze my most common problem with the plugin. That is the needed scene change, when a source played to end, but it almost never executed by the Advanced Scene Switcher.
> 
> I've attached the log file from this session. The macro 'Teletext' is set up to change to scene 'Teletext' if playlist 'mozgó spotok' played to end.
> There is a line in the log:
> ...


Thank you for the logs!
Now it would be very helpful to also know what you have configured in the plugin.
So it would be great if you could export your current settings to a file and share it with me.
The option to do so can be found on the general tab.
You of course do not have to share it publicly here if you do not want to - so feel free to start a private conversation.

But I have a suspicion already what might be causing your trouble:
A "cooldown" period seems to be configured during which actions by the scene switcher will be ignored.
`13:25:16.508: [adv-ss] cooldown active - ignoring match`

Can you please try disabling this option by setting the cooldown to 0.00 seconds?


----------



## foxkillf (Dec 7, 2021)

Hey there, I am trying to create automation that when i click on the "stop recording" button after i finish recording i want the scene to change into empty scene that don't contain  anything.

I have tried to play around with the macro option but nothing i did worked.




I have tried almost every commendation with the "recording stopped" option but none of them work. This example transfer me to the scene even if there is no recording.

Is that possible to do want I want and activate action only when on "stop recording" but don't run it when the OBS not recording at all?


----------



## Warmuptill (Dec 7, 2021)

Warmuptill updated Advanced Scene Switcher with a new update entry:

Minor additions and improvements



> *Additions:*
> 
> Add macro action for triggering screenshots.
> 
> ...



Read the rest of this update entry...


----------



## lindenkron (Dec 8, 2021)

Hey Warmuptil!

Suggestion for an improvement to the UX. Being able to double click *Arguments* entries in the 'Run' list, so that they open with an editable field like the 'Add New argument'. Very useful for grabbing previously added things, or simply editing them to new paths - instead of having to delete them and add a new one.





Hope you have a great Holiday season :)


----------



## Laczkó (Dec 8, 2021)

Warmuptill said:


> But I have a suspicion already what might be causing your trouble:
> A "cooldown" period seems to be configured during which actions by the scene switcher will be ignored.
> `13:25:16.508: [adv-ss] cooldown active - ignoring match`
> 
> Can you please try disabling this option by setting the cooldown to 0.00 seconds?


It seems, this was the problem, as now every scene changes seems to works. I'll keep a close eye on it for a few days to sure really everithing is OK, but it looks promising.

Probably I misunderstood that cooldown setting's function. I'd like to avoid scene changes in quick succession and I thought this setting is the solution. As it wasn't, now my only problem is I don't have any idea how to solve this. For better understanding I give an example:

A media source ending at 13:59:59 and there is a macro what is change scene, if that media source has played to end, but there is another macro that is intended to change scene at 14:00:00, so there would be two scene change within a second, and that's what I want to avoid. Simply skipping the scene change that was programmed to 14:00:00 in a case if there was a scene change in the last few (e.g. 5) seconds is not an option as tipically these scene changes at a given time are the most important changes in my broadcast. There are two logical approach that would good for me:

Ignore any scene changes in the last few seconds before the time of a time based scene change, or if two scene change is too close together, than delay the second scene change so much that a certain amount of time elapses between the two.

Has any idea to do this?


----------



## Warmuptill (Dec 8, 2021)

Laczkó said:


> Ignore any scene changes in the last few seconds before the time of a time based scene change


Then you would have to adjust your time based macros to already "trigger" earlier but wait a specified amount of time before performing their actions.
To use your example for a intended scene change at 14:00:00 you could use a macro similar to this:




This will already match at 13:59:55 but wait 5 seconds before triggering the scene change.
During this waiting time no other actions are performed. (*unless* you set the checkbox above "Run macro in parallel to other macros")



Laczkó said:


> or if two scene change is too close together, than delay the second scene change so much that a certain amount of time elapses between the two.


This approach can performed in a similar way by just adding a "wait" action after the corresponding scene changes.


Just as above during the "wait" action no other macros are able to run. (Unless explicitly specified)

Hope that helps! :)


----------



## lindenkron (Dec 9, 2021)

What's the best way to: ?
*Trigger something once, once a scene item has become visibly shown.
Trigger something once, once a scene item has become visibly hidden.*

Not having great success with




When I trigger a lot of these, even from different macros (each camera has their own) they seem to break each other somehow. Glitching animations and so on. So just asking to see if there's a better way to do this.


----------



## lindenkron (Dec 9, 2021)

For the above, possibly even if _any_ scene item in the scene has become visible? I'm not sure what's causing the glitched animations - perhaps it's an OBS thing and it's trying to reference a video already running and it glitches itself out or something.


----------



## lindenkron (Dec 9, 2021)

So, doing it manually works. No glitches, animations play etc.

So I'm clearly just setting up Adv-ss wrong for doing what I want it to do.

I want it to this, but without glitching.
*Portal in:*



*Portal out:


*

I tried doing what I wanted manually (since I originally thought it was the hide/show stinger transitions that were bugging), but if I enable them fast one after another manually; it works fine.

So something in the Adv-ss automation is making things go bad.

*A rundown of what I'm trying to do:*
Upon activating the camera (upper scene, lot of nested scenes) depending on which camera is enabled, no matter where, show portal - wait (so the portal animation can play), enable the camera source itself (which also have a show/hide transition - matte) - then hide portal again so it can be used again.

But I have a feeling something somewhere is triggering things multiple times - and breaking because OBS is like getting flooded with requests. I want it to do this *once*.

I'd love any help you have. Thanks!
-lindenkron


----------



## Warmuptill (Dec 9, 2021)

lindenkron said:


> So, doing it manually works. No glitches, animations play etc.
> 
> So I'm clearly just setting up Adv-ss wrong for doing what I want it to do.
> 
> ...


Can you maybe share a log file of this issue occurring with verbose logging enabled (General tab)?
This might give insights as to what is happening.

In general if you want to be sure a macro is only running a single time you could add another action to your macro which pauses the macro itself or add a condition which checks how often the macro was run.
Unfortunately I don't have access to a PC with OBS at the moment so I cannot share example screenshots.


----------



## AaronD (Dec 9, 2021)

lindenkron said:


> *A rundown of what I'm trying to do:*
> Upon activating the camera (upper scene, lot of nested scenes) depending on which camera is enabled, no matter where, show portal - wait (so the portal animation can play), enable the camera source itself (which also have a show/hide transition - matte) - then hide portal again so it can be used again.



Could you have a bunch of identical scenes that play the same portal, that then transition to their respective camera scenes?  Then you don't switch directly to the camera, but to the appropriate portal.


----------



## lindenkron (Dec 10, 2021)

Warmuptill said:


> Can you maybe share a log file of this issue occurring with verbose logging enabled (General tab)?
> This might give insights as to what is happening.
> 
> In general if you want to be sure a macro is only running a single time you could add another action to your macro which pauses the macro itself or add a condition which checks how often the macro was run.
> Unfortunately I don't have access to a PC with OBS at the moment so I cannot share example screenshots.


Hmm not entirely sure how this'd help. As you can see above; the issue is that I'm trying to make the macro fire from being triggered by any of 6 camera positions. This is to ensure that it don't matter which position camera X is shown in, it'll still play the animation that's nested in the camera's scene.

But somehow, even if showing for example:
Camera 1 in Position 1
&
Camera 2 in Position 2
it'll start lagging and mess up animations etc.

I'll try a verbose logging.


----------



## lindenkron (Dec 10, 2021)

*What it's supposed to do:*
Play one portal animation, a second later play the next - then show first camera, then show next. Then hide the portals.

*What happens:*
First portal plays, 2nd portal plays. First camera shows. Then 2nd portal closest with no camera shown. Then camera shows.

Depending on what order you do 1-2-3 in, they'll have weird glitchy interactions. That was just for this log:


			https://obsproject.com/logs/xuQQUkxbSLLZagKa


----------



## lindenkron (Dec 10, 2021)

I don't understand why these two macros (side by side) would interfer with each other, when they're not being triggered by anything in common.


*This is what it looks like with the macro:*








						RJh1y510fK.mp4
					

Watch "RJh1y510fK.mp4" on Streamable.




					streamable.com
				




*This is what it should look like (done manually):*








						CVeuIpJQgJ.mp4
					

Watch "CVeuIpJQgJ.mp4" on Streamable.




					streamable.com
				




This is just one example of the glitching. It doesn't happen when I press the button, like it's waiting for something. It randomly cancels doing any animations and such.


----------



## AaronD (Dec 10, 2021)

lindenkron said:


> *This is what it looks like with the macro:*
> 
> 
> 
> ...



Ah!  Okay.  So it's not an over-complicated XY problem.  Great job on the examples.  I thought you were using the word "portal" to describe a full-screen transition from one full-screen camera to another full-screen camera.  Maybe you'd use it for a short bio of the person who's about to come on, or whatever...  But no, it's actually a partial-screen animation that would be really hard to describe in words alone.  Again, thanks for the examples!


----------



## CodeYan (Dec 11, 2021)

Hey Warmuptill, thank you for adding so many good features! Again, I couldn't test the build as I didn't have time in the past few weeks, I'm sorry. Now that I've tested the latest version though, the parallelization looks really neat to me, thanks! I don't really have a super complicated setup so I don't know if there is an edge case, but I tried to break it with my setup, but it was fine.

For the screenshot functionality, it does work, but can you separate the scenes and sources in the dropdown list? It does get very cluttered. Also, please add "Preview Scene (Studio Mode)" to the choices (you can decide on the scene name haha).

I noticed that there is a potential bug. I made a macro that simply checks for a hotkey trigger (and some simple actions). I deactivated it. Then I pressed the hotkey, and as expected, it did not execute the macro. However, a few minutes later, I activated the macro, and it executed the macro. Is this because the events are pooled (which is a good idea anyhow)? I don't know if you need to fix this or not, as it is not a critical one (obviously if you're activating and deactivating macros, you're just setting up), but you may want to look at it.

Again, thanks for the amazing work! This is really superb for my workflow. Happy holidays!


----------



## CodeYan (Dec 11, 2021)

Oh, could you also disable "Run macro" when the macro is running? Not necessary, but I think it's a nice UX change? Also, seeing that the macro can be a long one, maybe having a "Stop macro" is useful for testing? Thanks!


----------



## CodeYan (Dec 11, 2021)

lindenkron said:


> I don't understand why these two macros (side by side) would interfer with each other, when they're not being triggered by anything in common.
> View attachment 77874*This is what it looks like with the macro:*
> 
> 
> ...


Hey, you seem to be an old version? Please update to 1.16.5. Then you should see an option for each macro to "Run macro in parallel to other macros". Try to enable that for each macro, and see if that fixes your issue.


----------



## lindenkron (Dec 12, 2021)

CodeYan said:


> Hey, you seem to be an old version? Please update to 1.16.5. Then you should see an option for each macro to "Run macro in parallel to other macros". Try to enable that for each macro, and see if that fixes your issue.


Hey CodeYan, thanks for the reply.

I've been using a 1~ month old version of it that @Warmuptill made. It had some features in I needed. Unsure if they're in this one. I tried your suggestion; and it fixed 50% of it. The portals now *show* correctly, but when *disappearing* the animations just get cut off instantly.

I don't understand why.

I don't think this is a problem I can solve, not sure anyone can except for Warmuptill. It appears to be some sort of race condition that makes it so if you're messing with hiding something and playing a hide stinger - it breaks all other show/hide animations or transitions.


Again, thanks for the input though! Got me half way there, I unfortunately only have a few days to try and come up with a solution for this.

Happy Holidays to you,
-Lind


----------



## CodeYan (Dec 13, 2021)

Hey Warmuptill! I have now tried the "Run Macro" action. I noticed that you can't actually run the same macro from within itself (infinite loop) as the macro would still be running. Which I think is reasonable, as it would otherwise result in recursion and potentially stack overflow. While for now I am fine with using the "Advanced scene switcher is running" for my infinite loop, maybe you should do something about this? Here are some ideas I have:
1. Remove the same macro from the choices.
2. Keep it, but when it executes the action, make it similar to a "continue" in a programming loop, so that further actions won't be executed, and it would run the macro from the top again. This needs a note that should show though, when the same macro is selected.
3. Keep it, but defer the execution till after all the actions are executed. (I personally don't like this option).


----------



## lindenkron (Dec 13, 2021)

*Solution:*
It was a mixture of 3 things. I managed to solve it making a very simplisitic remake of my setup in a clean scene.
1: Showing reference of same Media File multiple places will play the file from the current playback time of the first shown source.
2: Run macro in parallel to other macros - this fixed another part that was broken (Thanks again CodeYan)
3: Missing transition stinger on one of the files made me constantly wonder why it was breaking. Found this out by doing Cam 2 & 3 that magically worked and not 1 & 2 where 1 kept breaking.

This has been a rollercoaster trying to figure out. Praying this is the last post on this <3

Again happy holidays,
-Lind


----------



## CodeYan (Dec 13, 2021)

lindenkron said:


> *Solution:*
> It was a mixture of 3 things. I managed to solve it making a very simplisitic remake of my setup in a clean scene.
> 1: Showing reference of same Media File multiple places will play the file from the current playback time of the first shown source.
> 2: Run macro in parallel to other macros - this fixed another part that was broken (Thanks again CodeYan)
> ...


Glad I was able to help. Congrats on getting it fixed!

Edit: By the way, the build you had was probably already merged.


----------



## lindenkron (Dec 13, 2021)

CodeYan said:


> Glad I was able to help. Congrats on getting it fixed!
> 
> Edit: By the way, the build you had was probably already merged.


I hope so :)

On a side note - I appear to have broken Adv-ss. Trying to move a macro below one of my other macros yield crash log attached.

Yes. I'm annoyingly good at breaking things, I know. Sorry.

Steps are repeatable, it's when trying to move it past a specific macro. I try to move anything past 'Camera 1 - Portal In' and OBS crashes with attached log.




Any tips?
-Lind


----------



## CodeYan (Dec 13, 2021)

@Warmuptill Hey, I experienced something weird. As I've mentioned b4, I have a macro set to loop infinitely (just showing/hiding 2 text sources and wait actions, no scene transitions). It works with other macros now with the parallelization. However, when I put it at the top of the priority list (like the note said), it seems to block all Media switches. I don't know if it's an issue with the parallelization, or if it's a bug necessary to fix. If I keep Media higher than Macro, it works.


----------



## camfix (Dec 14, 2021)

Warmuptill, thank you for this *invaluable too**l* you made!!
It works great and I'm really impressed by its ease of use.
I was banging my head on how to use a keyboard (and mouse) macro program for OBS when I found your excellent program!
With OBS's new features I am down to one last stop on automating our daily streams.

In case you have time and it's not implemented yet, could you please add an "End Boradcast" (similar to "End Stream") feature to the Macro section please?

I'm also trying to figure out how to automatically increment the date every day for creating the name of that day's stream, though that is not as important.
20211214_SouthCam (YYYY/mm/dd) needs to be named to 20211215_SouthCam for tomorrow's stream etc.
Thanks again for this jewel of swiss knifes!


----------



## AaronD (Dec 14, 2021)

camfix said:


> could you please add an "End Boradcast" (similar to "End Stream") feature to the Macro section please?



I've got too many versions floating around to get a screenshot of it, but at least one of them has something on the General tab (I believe) to stop the stream/recording when a certain scene is active.  I have nothing in that scene (blackout), and it's at the end of a sequence that I start when the live part is done.  When it hits that last scene, it kicks us off air.  This also gives me a transition to black just before cutting off, which I like.



camfix said:


> I'm also trying to figure out how to automatically increment the date every day for creating the name of that day's stream, though that is not as important.
> 20211214_SouthCam (YYYY/mm/dd) needs to be named to 20211215_SouthCam for tomorrow's stream etc.



Is this what you're looking for?
It gives a filename of 2021-12-14_Tue_14-21-39.mkv for today, or 2021-12-15_Wed_14-21-39.mkv for tomorrow, etc., and of course you can make it say what you want.


----------



## camfix (Dec 14, 2021)

The other thing that makes this all so great is the helping hand from people like you!
And I mean actual help.
Really nice community, very apprecated.
Thank you for your reply, will check the black screen out, tried the date thing, exactly what I was looking for.
Thanks guys and gals !!!


----------



## camfix (Dec 15, 2021)

Unforunately the date issue doesn't work with the Macro. It seems the Macro takes it literally.
It might work on OBS directly, but the Macro feature is needed to automate the recording (and it's naming, accordingly).

Also, what is needed is to "End" the "Stream", the Macro can stop the stream/recording already, and that works reliably.
However YT keeps looping until "End Stream" is clicked on OBS or the stream is ended manually on YT.

Any other ideas?


----------



## kineticscreen (Dec 15, 2021)

Warmuptill said:


> Unfortunately not yet.
> 
> To be honest I am not familiar with how the stream deck functions.
> Can you give an example of an OBS plugin that interacts with the stream deck?
> ...



Apologies for never getting back to you. Forget aobut the Steam Deck, it's just an example. Ultimately I'm just trying to work out how to externally control whether the scene switcher is running or not, and also be able to get feedback as to whether it is.
Is there a way of maybe having a dummy source like an Empty Group, and then saying "If Empty Group = active, make scene switcher active, if source is disabled, disable the scene switcher" ?

Ultimately this would enable starting and stopping the scene switcher with websocket, midi... etc


----------



## AaronD (Dec 15, 2021)

camfix said:


> Unforunately the date issue doesn't work with the Macro. It seems the Macro takes it literally.
> It might work on OBS directly, but the Macro feature is needed to automate the recording (and it's naming, accordingly).



I've never had a problem with that.  Use OBS's settings to start/stop recording along with the stream, and the filename is generated per the setting above.

Are you trying to control *YouTube's* metadata?  I didn't think it would accept that.  We set it manually on YT's dashboard before we start.



camfix said:


> Also, what is needed is to "End" the "Stream", the Macro can stop the stream/recording already, and that works reliably.
> However YT keeps looping until "End Stream" is clicked on OBS or the stream is ended manually on YT.



YT runs the throbber for a while, looking for data, and then gives up.  Seems to work fine for us.  I figured that was just "the way to do it": throw something at it to start, starve it to stop.

---

Seems to me like what you really want is to connect to YouTube's API and interact with *that*, not OBS.  Is that right?


----------



## lindenkron (Dec 15, 2021)

Hey guys, quick question:

If I have something triggering for a specific scene - if I go to *Studio Mode > Change Scene > Disable Studio Mode* it will trigger the scene actions again; even though I technically didn't leave the scene (stream saw the first scene the entire time).

Any way to avoid this?

Thanks,
Happy Holidays
-Lind


----------



## Warmuptill (Dec 16, 2021)

First of all - sorry about the late reply.
I was cut off from the internet the last few days.



CodeYan said:


> Hey Warmuptill! I have now tried the "Run Macro" action. I noticed that you can't actually run the same macro from within itself (infinite loop) as the macro would still be running. Which I think is reasonable, as it would otherwise result in recursion and potentially stack overflow. While for now I am fine with using the "Advanced scene switcher is running" for my infinite loop, maybe you should do something about this? Here are some ideas I have:
> 1. Remove the same macro from the choices.
> 2. Keep it, but when it executes the action, make it similar to a "continue" in a programming loop, so that further actions won't be executed, and it would run the macro from the top again. This needs a note that should show though, when the same macro is selected.
> 3. Keep it, but defer the execution till after all the actions are executed. (I personally don't like this option).


Thanks for the suggestion.
To be honest I had not tested this case.
My expectation would have been for the recursion using the "run macro" action to work as you expected.
I will look into this once I have find the time to.



lindenkron said:


> I hope so :)
> 
> On a side note - I appear to have broken Adv-ss. Trying to move a macro below one of my other macros yield crash log attached.
> 
> ...


Thanks for the reporting the crash.
Can you share more details what these macros contain?
Also - as I have shared many different dev-builds with you - which version of the plugin are you using?



CodeYan said:


> @Warmuptill Hey, I experienced something weird. As I've mentioned b4, I have a macro set to loop infinitely (just showing/hiding 2 text sources and wait actions, no scene transitions). It works with other macros now with the parallelization. However, when I put it at the top of the priority list (like the note said), it seems to block all Media switches. I don't know if it's an issue with the parallelization, or if it's a bug necessary to fix. If I keep Media higher than Macro, it works.


Hm, that seems very strange indeed.
Can you maybe share the settings you are using and a log file of the issue with verbose logging enabled (Option can be found on the General tab)?



camfix said:


> Unforunately the date issue doesn't work with the Macro. It seems the Macro takes it literally.
> It might work on OBS directly, but the Macro feature is needed to automate the recording (and it's naming, accordingly).
> 
> Also, what is needed is to "End" the "Stream", the Macro can stop the stream/recording already, and that works reliably.
> ...


Oh interesting - I didn't know that Youtube had special handling regarding ending of a broadcast.
I will have to look into the OBS API if there is some Youtube specific function that needs to be executed.
Or are you looking to control Youtube's streaming API using this plugin, as suggested by @AaronD ?
If so then this is currently not supported by this plugin.



kineticscreen said:


> Apologies for never getting back to you. Forget aobut the Steam Deck, it's just an example. Ultimately I'm just trying to work out how to externally control whether the scene switcher is running or not, and also be able to get feedback as to whether it is.
> Is there a way of maybe having a dummy source like an Empty Group, and then saying "If Empty Group = active, make scene switcher active, if source is disabled, disable the scene switcher" ?
> 
> Ultimately this would enable starting and stopping the scene switcher with websocket, midi... etc


I see. Thanks for the clarification!
Currently this is not supported, but I will look into it.



lindenkron said:


> Hey guys, quick question:
> 
> If I have something triggering for a specific scene - if I go to *Studio Mode > Change Scene > Disable Studio Mode* it will trigger the scene actions again; even though I technically didn't leave the scene (stream saw the first scene the entire time).
> 
> ...


I could probably add a condition type to check whether or not studio mode is currently active.
I can't think of another solution for this at the moment unfortunately.


----------



## lindenkron (Dec 16, 2021)

Warmuptill said:


> Thanks for the reporting the crash.
> Can you share more details what these macros contain?
> Also - as I have shared many different dev-builds with you - which version of the plugin are you using?


I attached the whole export.
Move 'Going Live' upwards once crashes/hangs my entire OBS.



Warmuptill said:


> I could probably add a condition type to check whether or not studio mode is currently active.
> I can't think of another solution for this at the moment unfortunately.


This would at the very least remedy the issues I run into. Issue is; if we're live and I need to go into Studio Mode to fix someone's camera or something; without switching the live scene - and I then unclick Studio Mode *before* going back to the scene we're live on, It'll trigger the scene we're live on's Adv-ss macros. Little scary :D


----------



## AaronD (Dec 17, 2021)

lindenkron said:


> Issue is; if we're live and I need to go into Studio Mode to fix someone's camera or something; without switching the live scene - and I then unclick Studio Mode *before* going back to the scene we're live on, It'll trigger the scene we're live on's Adv-ss macros. Little scary :D



Is there a reason to not stay in Studio Mode the whole time?  That's where I live, and I like it better anyway.  Seems to me like "not Studio Mode" simply takes things away without providing anything else, so I just stay in Studio Mode.


----------



## Warmuptill (Dec 17, 2021)

lindenkron said:


> I attached the whole export.
> Move 'Going Live' upwards once crashes/hangs my entire OBS.


Thanks!
I think I found the problem.
A build with a fix should be available here in a few minutes:








						Fix crash when reordering macros · WarmUpTill/SceneSwitcher@d18d596
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				



It would be great if you could quickly confirm whether or not the problem is resolved on your end as well.

I also added the option to check whether or not studio mode is currently active to this build.






CodeYan said:


> @Warmuptill Hey, I experienced something weird. As I've mentioned b4, I have a macro set to loop infinitely (just showing/hiding 2 text sources and wait actions, no scene transitions). It works with other macros now with the parallelization. However, when I put it at the top of the priority list (like the note said), it seems to block all Media switches. I don't know if it's an issue with the parallelization, or if it's a bug necessary to fix. If I keep Media higher than Macro, it works.


Just to clarify - are you referring the media condition type in the Macro tab or the separate tab labeled "Media"?

In case of the latter this would actually be "expected behaviour" as the the way the priority system works is that checks are only performed until one functionality fulfils its conditions and a match is found.
So if the macro tab functionality is running in a continuous loop and thus a match is always found the other functionality like the media tab will not get a chance to run.

The easiest way to solve this would be to just transition your entries from the Media tab to the Macro tab so you can rely on the "run in parallel option".

But you are not the only user who stumbled upon this issue, so maybe I should adjust things.
The reason it was implemented in this way is that if a user configured automated scene switches via the macro tab and also the "old" tabs two scene switches could clash with one another and result rapidly flickering scene changes.
But maybe I can find a way to work around this.


----------



## CodeYan (Dec 18, 2021)

Warmuptill said:


> Thanks!
> I think I found the problem.
> A build with a fix should be available here in a few minutes:
> 
> ...


Yes, I was indeed talking about the Media tab. I expected the "run in parallel with other macros" to work with other tabs too, though I guess it is only confined to macros, just as the name says. I think I'll keep my Macro priority lower than the other tabs. I also noticed the Time tab didn't activate for me due to having Macro at the top. I am fine with keeping the priority low, but why do you suggest bring the Macro tab priority at the top? Also, do you still need the log file?

On an unrelated note, I have stumbled upon an issue that bugged me several times. Visually, it seemed to me like the scene-switching (tested with Macro tab and Media tab) seemed to "Cut" instead of "Fade", even if I switched the transition type several times. Manually transitioning works fine. Even pressing the "Run Macro" was fine. After a few hours of fiddling around, I think the issue was that the scene I was trying to switch to had a window capture, which seems to be delayed in capturing a window. It seems like if you actually try to move from a scene with a video, to a scene with a window capture, it just cuts (I tried it with two scenes both having videos, and the fade is actually smooth). I never noticed since when I manually switch scenes in studio mode, I get to switch my preview scene first, which results in the window capture already rendering before I transition, so the resulting transition actually fades properly. But please try this test case for yourself so I can confirm if I am still sane. It does seem unrelated to the plugin though and seems like an OBS limitation, as when I try to do it without studio mode, it still does cut instead of fade. Now my workaround for this will now be to actually move my Media tab switches to Macro tab, and add a "Switch preview scene" a few hundred milliseconds before performing the switch action.

While doing trying to fix my issue, I found that your "verbose logging" doesn't log the transition type or duration when logging "performed action" stuff. I think having the transition type in the log may be useful (though you're the one who looks at the logs so, I don't know if you need that detail). Also, I have no idea if this is an issue with the plugin, my hardware, OBS, or my other plugins, but when I enable verbose logging in adv-ss, and try to monitor my log file through OBS's "View Current Log", OBS freezes till I restart it.


----------



## AaronD (Dec 18, 2021)

CodeYan said:


> On an unrelated note, I have stumbled upon an issue that bugged me several times. Visually, it seemed to me like the scene-switching (tested with Macro tab and Media tab) seemed to "Cut" instead of "Fade", even if I switched the transition type several times. Manually transitioning works fine. Even pressing the "Run Macro" was fine. After a few hours of fiddling around, I think the issue was that the scene I was trying to switch to had a window capture, which seems to be delayed in capturing a window. It seems like if you actually try to move from a scene with a video, to a scene with a window capture, it just cuts (I tried it with two scenes both having videos, and the fade is actually smooth). I never noticed since when I manually switch scenes in studio mode, I get to switch my preview scene first, which results in the window capture already rendering before I transition, so the resulting transition actually fades properly. But please try this test case for yourself so I can confirm if I am still sane. It does seem unrelated to the plugin though and seems like an OBS limitation, as when I try to do it without studio mode, it still does cut instead of fade. Now my workaround for this will now be to actually move my Media tab switches to Macro tab, and add a "Switch preview scene" a few hundred milliseconds before performing the switch action.



There's this setting in the Source Properties.  How do you have it set?


----------



## Warmuptill (Dec 18, 2021)

CodeYan said:


> I am fine with keeping the priority low, but why do you suggest bring the Macro tab priority at the top? Also, do you still need the log file?


Thanks for the clarification!

Usually the macro tab is used to create the most specific "rules".
The usual expectation would be for these rules to take precedence over more general ones and caused confusion for multiple users already. (E.g. when using the window tab entry would prevent all macros from being executed)
Having a macro that is always running is a special case in which using the highest priority for the macros functionality is problematic, but that is at least in my experience not a very common use case.

Thanks - I no longer need a log file.


CodeYan said:


> scene-switching (tested with Macro tab and Media tab) seemed to "Cut" instead of "Fade", even if I switched the transition type several times.


That seems very strange indeed.
I usually encountered a similar unexpected cut transition behavior if I used some very long transition and switched to a different scene while the previous transition was still ongoing - but I am not sure if you are referring to this.
I will try to reproduce it on my end once I find the time to.



CodeYan said:


> when I enable verbose logging in adv-ss, and try to monitor my log file through OBS's "View Current Log", OBS freezes till I restart it.


The "live" log viewer is not intended to be able to display this many logs - so unfortunately this is a known limitation from OBS.


----------



## CodeYan (Dec 19, 2021)

AaronD said:


> There's this setting in the Source Properties.  How do you have it set?
> View attachment 78153


That's only an option for Video Capture sources. I am using a Window Capture source, which seems to be unloaded by OBS when it is not viewed, and there is no option to not deactivate it.


Warmuptill said:


> Thanks for the clarification!
> 
> Usually the macro tab is used to create the most specific "rules".
> The usual expectation would be for these rules to take precedence over more general ones and caused confusion for multiple users already. (E.g. when using the window tab entry would prevent all macros from being executed)
> ...


Oh, okay, thanks for the clarifications!


----------



## CodeYan (Dec 19, 2021)

@Warmuptill, could you update the wiki about all possible options? 

Okay, maybe that's too much ahhahaa. But I want to know more about these time constraints, as they are a bit vague to me. Like, "True, for at most 0.1 seconds", will that execute the actions if the condition check happened outside of that time frame (default checking interval for me is 300ms)? There's also the "For exactly". I am confused by these terms. While term-wise, I think they can't get any clearer, I at least want to see more details on them on the Wiki or Overview of the plugin.


----------



## Warmuptill (Dec 19, 2021)

CodeYan said:


> @Warmuptill, could you update the wiki about all possible options?
> 
> Okay, maybe that's too much ahhahaa. But I want to know more about these time constraints, as they are a bit vague to me. Like, "True, for at most 0.1 seconds", will that execute the actions if the condition check happened outside of that time frame (default checking interval for me is 300ms)? There's also the "For exactly". I am confused by these terms. While term-wise, I think they can't get any clearer, I at least want to see more details on them on the Wiki or Overview of the plugin.


That is a topic I keep pushing to the side as it can be very daunting coming up with a description for all these options.
I thought about maybe adding a few examples to the wiki instead.

Regarding your question in particular concerning the time constraints.
A condition with a time constraint ...

"For at least X amount of time" will result in the condition to only return *true *if it was true for at least X amount of time.
For example, assuming you just switched to scene "A", the following condition will return *false* for the first three seconds.
Three seconds after the scene switch and as long as the current scene is "A" the condition will return *true*.



"For exactly X amount of time" will result in the condition to only return *true *at the moment the underlying condition - ignoring the time constraint - was *true *for the specified amount of time.
For example, assuming you just switched to scene "A", the following condition will return *false* for the first three seconds.
Three seconds after switching to scene "A" the condition will return *true*.
Afterwards it will once again return *false*.




"For at most X amount of time" will result in the condition to only return *true *for at most X amount of time, after which it will return *false*.
If the condition - ignoring the time constraint - will return false the time restriction will be reset.
For example, assuming you just switched to scene "A", the following condition will return *true* for the first three seconds the scene is active.
After three seconds have passed and the scene is still active the condition will then return *false*.
If you should switch to a different scene and switch back to "A" the condition will once again return *true *for the first three seconds of "A" being the active scene.



Just for completeness:
A time constraint can be added to an existing condition by clicking the small clock icon next to the condition type selection.




Let me know if that was somewhat clear or if you have further questions! :)


----------



## KahikoHonu (Dec 19, 2021)

I have what is no doubt a ridiculous question, but, I'm hoping someone here can help confirm something odd I'm seeing with the Advanced Scene Switcher.

Issue:  Advanced Scene Switcher will not automatically switch between Scene Groups (version 1.16.5) seemingly when I'm using Apple Remote Desktop to control a remote machine running OBS.

When I run OBS and AdvSS on my Mac sitting in front of me (with keyboard/mouse/screen attached), it works as expected.  Every 10 seconds, the Scene switches according to the defined list in the Scene Group tab.

However, on two separate Mac Mini systems, which are headless and operated purely by using ARD, the automatic switching does not happen.  Other parts of AdvSS work just fine however - for example, I can set the "If nothing is happening, do Random" toggle, set some scenes and transitions in the Random tab, and it works.

Similarly, I was able to create a Macro so that whenever a certain scene was active, it would fade to another scene after a certain amount of time.

As far as I can tell, the only difference between the computer that works with the Scene Groups and those that do not is that the Do Not are all being operated remotely -- so I'm wondering if there's something inside of Advanced Scene Switcher that is a bit confused by this.

My goal is to automatically rotate through a series of scenes every X seconds, and Scene Groups were the fastest way to do this; doing it based upon the Random or Macro or other approaches would require a more complicated series of steps of listing each scene and the transition to the next scene...and, as I say, when I try this on my primary Mac, it works perfectly.

Thanks for any suggestions!


----------



## kineticscreen (Dec 19, 2021)

How hard would it be to create a dock panel to at least allow simple start / stop of the plugin without having to open it up?


----------



## CodeYan (Dec 20, 2021)

Warmuptill said:


> That is a topic I keep pushing to the side as it can be very daunting coming up with a description for all these options.
> I thought about maybe adding a few examples to the wiki instead.
> 
> Regarding your question in particular concerning the time constraints.
> ...


That made it clearer, thanks, but how about when the specified time constraint is less than the condition-checking interval of adv-ss? My default is 300ms, but for simplicity, let's imagine the interval is 1 second. What if I set my macro condition to "For exactly 0.5 seconds"? Wouldn't adv-ss check AFTER the condition became true?


----------



## Warmuptill (Dec 20, 2021)

CodeYan said:


> let's imagine the interval is 1 second. What if I set my macro condition to "For exactly 0.5 seconds"? Wouldn't adv-ss check AFTER the condition became true?


Yes, the scene switcher would check the timing after the condition became true.
It can only be ever as accurate as the interval.


----------



## CodeYan (Dec 20, 2021)

Warmuptill said:


> Yes, the scene switcher would check the timing after the condition became true.
> It can only be ever as accurate as the interval.


oh, okay, that clears up things now, thank you!


----------



## CodeYan (Dec 20, 2021)

kineticscreen said:


> How hard would it be to create a dock panel to at least allow simple start / stop of the plugin without having to open it up?


not sure about the dock panel, but you can set a hotkey to start/stop the plugin in OBS Settings > Hotkeys.


----------



## CodeYan (Dec 20, 2021)

seems like adv-ss spams this kind of log message with my infinite loop running in parallel

this is my macro







tested it without running it in parallel, and it doesn't spam the log.


----------



## Warmuptill (Dec 20, 2021)

CodeYan said:


> View attachment 78222
> seems like adv-ss spams this kind of log message with my infinite loop running in parallel
> 
> this is my macro
> ...


Thanks for pointing that out.
A build where this spam is disabled can be found here in a few minutes:








						Fix crash when reordering macros · WarmUpTill/SceneSwitcher@3be4b3f
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com


----------



## CodeYan (Dec 21, 2021)

Warmuptill said:


> Thanks for pointing that out.
> A build where this spam is disabled can be found here in a few minutes:
> 
> 
> ...


Thanks, looks good to me.


----------



## CodeYan (Dec 21, 2021)

Here's another suggestion I keep forgetting to say here. How about you add a checkbox on "Switch scene" macro actions to "wait until transition is finished"? Currently, we would have to add a wait action after for the timing of the next action, but if we end up changing the transition duration, we would have to adjust the values again. Also, such checkbox could also lead to less macro actions.


----------



## CodeYan (Dec 21, 2021)

Oh, dear, I got another case of the "wrong macro action index". I'm clicking the add button on one of my macro actions, but the copy goes to a different position instead of right next to it. I can't give reproduction steps atm as it would take a while to test around haha. Got it on 1.16.5.


----------



## Warmuptill (Dec 22, 2021)

CodeYan said:


> Here's another suggestion I keep forgetting to say here. How about you add a checkbox on "Switch scene" macro actions to "wait until transition is finished"? Currently, we would have to add a wait action after for the timing of the next action, but if we end up changing the transition duration, we would have to adjust the values again. Also, such checkbox could also lead to less macro actions.


Good idea - i will look into it!



CodeYan said:


> Oh, dear, I got another case of the "wrong macro action index". I'm clicking the add button on one of my macro actions, but the copy goes to a different position instead of right next to it. I can't give reproduction steps atm as it would take a while to test around haha. Got it on 1.16.5.


Hm, strange - let me know if you find any way to reproduce it.


----------



## CodeYan (Dec 23, 2021)

Warmuptill said:


> Yes, the scene switcher would check the timing after the condition became true.
> It can only be ever as accurate as the interval.


uhhh, so basically "for exactly X seconds" will almost never be true?


----------



## camfix (Dec 23, 2021)

Warmuptill, AaronD, and dear readers, thank you for your interest/input.
Here is some background and the reasons why this is all like it is.

We need to stream and save the (daytime only) footage of an IP camera to YouTube.
Camera is wired to PC running OBS and stream is constant and without any hickups.
However, the wireless link from PC to the internet sometimes fails (it is a remote location).
It's not only the link itself, there are also often power outages.

So we depend on the Enable Auto-start feature to prevent YT from stopping the broadcast prematurely after the first outage of the day.
Enable Auto-start is only available when Schedule for later is selected.

Because of Enable Auto-start YT doesn't really know when the broadcast should be actually finished.
It keeps waiting for the next portion of the stream until *End Broadcast*  tells YT when to end the whole broadcast.




Regarding date, the goal is to automate the daily streams fully, so that every day a new stream is started and stopped at certain times.
Every day a new name needs to be generated and registered with YT like
"yyyy/mm/dd-Ascraeus Mons stream"
where "-Ascraeus Mons stream" doesn't change.

Right now we have to manually
_remotely connect to that location,
click *End Broadcast* in OBS,
wait a few minutes so YT can do it's work wrapping up the stream,
click * Manage Broadcast*,
click *Create New Broadcast*,
select Schedule for later
deselect Enable Auto-stop then
enter the date for the next day,
enter the time the stream should start,
click *Schedule and select broadcast*.
Disconnect from that location._

Advanced Scene Switcher each day then starts and stops the actual stream, and that is a very great time saver indeed, since that must be triggered at certain times.

I don't know if there is an API for *End Broadcast*, but it would be great to have that.
Also don't know about metadata?
I guess a new broadcast can be scheduled with Advanced Scene Switcher, but haven't tired that yet.
And the date+1 thing would also be really great!!

Thanks guys and sorry for late reply, had to take care of mom.
Wish you a Merry  Holidays.


----------



## Warmuptill (Dec 23, 2021)

CodeYan said:


> uhhh, so basically "for exactly X seconds" will almost never be true?


Well it will only ever be as accurate as the interval configured on the general tab.
The main difference between "for exactly ..." and "for at least" / "for at most" is that it will only match at the moment the time was reached and not after / before it.

I chose to use the wording "for exactly" to differentiate it from the "at least" / "at most" cases but it might not be the most clear.
If you have a suggestion for a better name I am all ears :)


----------



## Warmuptill (Dec 23, 2021)

CodeYan said:


> Here's another suggestion I keep forgetting to say here. How about you add a checkbox on "Switch scene" macro actions to "wait until transition is finished"? Currently, we would have to add a wait action after for the timing of the next action, but if we end up changing the transition duration, we would have to adjust the values again. Also, such checkbox could also lead to less macro actions.


I now implemented a first version of this functionality.



A build with this change can be found here in a few minutes:








						Add option to wait for transition to complete · WarmUpTill/SceneSwitcher@fbd4c7c
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				




Let me know if everything works as expected! :)


----------



## AaronD (Dec 23, 2021)

Warmuptill said:


> Well it will only ever be as accurate as the interval configured on the general tab.
> The main difference between "for exactly ..." and "for at least" / "for at most" is that it will only match at the moment the time was reached and not after / before it.
> 
> I chose to use the wording "for exactly" to differentiate it from the "at least" / "at most" cases but it might not be the most clear.
> If you have a suggestion for a better name I am all ears :)



The way I would do it in industrial controls is to build the "for at least" logic (I had to build that every time, from the immediate logic plus a timer; it wasn't inherent), and then put a "one shot" after that.  The "one shot" is true for exactly one scan when its input becomes true, and then false afterwards.  Maybe that can help to explain this one, and possibly with the name too???

Like all DSP functions (Digital Signal Processing), this is entirely based on the scan time or sample rate, and cares nothing about actual time.  (so if you change the sample rate, all of the time-based functions need to be updated for what the system thinks is a different time*)
Thus, the concept of "exact time" does indeed work, as it's really a translation into discrete samples, one of which *will* be an exact match because the translation makes it so.  (it just might be off a bit in absolute time)

---

* Thankfully, Warmuptill has made all of that math transparent to the user, and if I'm reading between the lines correctly, they've even made multiple clock domains between a fixed fast one and a slow user-defined one.  Some of the logic happens in the fast world, and some in the slow world.  It might not be obvious from the code, but this is still more-or-less what it's doing.


----------



## lindenkron (Dec 28, 2021)

Warmuptill said:


> Thanks!
> I think I found the problem.
> A build with a fix should be available here in a few minutes:
> 
> ...



It appears to have done the trick! At least I can move them up and down, and OBS does *not* crash! :)
Sorry about the slow reply, holidays and all.

Happy Newyears & Holidays!


----------



## lindenkron (Dec 28, 2021)

Hey @Warmuptill

Is there anything you can do about duplication sources not showing up in the dropdown menu for stuff such as *Scene Item Visibility*? I've had this issues other places as well. Not sure if it's possible in the environment you're working in, but I know Stream Deck managed to implement the capabilities of selecting specific duplicated sources.



Example above. Only one is visible in the dropdown; but there's 4 sources.

Thanks!
-Lind


----------



## AaronD (Dec 28, 2021)

lindenkron said:


> Hey @Warmuptill
> 
> Is there anything you can do about duplication sources not showing up in the dropdown menu for stuff such as *Scene Item Visibility*? I've had this issues other places as well. Not sure if it's possible in the environment you're working in, but I know Stream Deck managed to implement the capabilities of selecting specific duplicated sources.
> View attachment 78433
> ...



You can rename them, independently of what they are.  Is that too much trouble?  (if you're adding and removing constantly, then the answer could very well be yes)

If they do need to have the same name, then how do you tell the difference in the dropdown?  Looks like they're in alphabetical order, not the user's order from the Sources list, which would destroy any confidence that I might have had in choosing the correct identical name.


----------



## CodeYan (Dec 29, 2021)

AaronD said:


> You can rename them, independently of what they are.  Is that too much trouble?  (if you're adding and removing constantly, then the answer could very well be yes)
> 
> If they do need to have the same name, then how do you tell the difference in the dropdown?  Looks like they're in alphabetical order, not the user's order from the Sources list, which would destroy any confidence that I might have had in choosing the correct identical name.


It is actually a very common use case to duplicate sources and keep their names the same. Sources with the same name mean that they are references to only one source. If they are separate sources, then it will take more OBS resources. This is especially true when you use window captures, and you're using the same source in a scene with different layouts. If you use two separate window captures, then OBS will likely use 2x the computing power for capturing the same window (not that I know internals, but this is a rough estimation of the difference). 

I'd argue that I actually expect to see the scenes and sources in the order in which they appear in the UI. When you have many scenes, you would place the related ones near each other. Seeing them in alphabetical order makes it harder. In addition, when you see them in the order you see them in the Sources panel, you get the sense of layers, and you would be able to find which one is on top.


----------



## Warmuptill (Dec 29, 2021)

Thanks for the suggestion regarding duplicate source names.
I will look into whether or not this is feasible.

@lindenkron you mentioned that other tools faced the same issue.
How did they solve the issue of displaying the same entry multiple times on the UI side?
I can of course just add the same name X amount of times but that would probably be a bit confusing.


----------



## lindenkron (Dec 30, 2021)

Warmuptill said:


> Thanks for the suggestion regarding duplicate source names.
> I will look into whether or not this is feasible.
> 
> @lindenkron you mentioned that other tools faced the same issue.
> ...


Hey @Warmuptill

The representation was very simple. Same identical name; but they're placed in the same order as you see it in your scene items. So 1 in the list, is 1 in the 'scene.item' list.

Now how they did it technically, I can't say. Here's the Stream Deck repo: https://github.com/elgatosf/streamdeck-obs-plugin




Here's a visual representation of it.


----------



## Warmuptill (Dec 31, 2021)

lindenkron said:


> Hey @Warmuptill
> 
> The representation was very simple. Same identical name; but they're placed in the same order as you see it in your scene items. So 1 in the list, is 1 in the 'scene.item' list.
> 
> ...



Oh OK, I would have expected this to be solved more elegantly.

I implemented the following approach:
The scene item selection will still only ever show each source once.
However if there are multiple sources with the same name on the selected scene additional options will appear.
For example in this particular case there are two instances of the "Game Capture" source are available in the scene "testScene":




(As you can see the "old" behaviour of affecting all / any scene item is also available still)
If only a single instance of "Game Capture" exists the additional options are not shown.




I applied these changes to conditions and actions which affect the order, transformation, and visibility of scene items.

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








						Improve scene item selection · WarmUpTill/SceneSwitcher@8209f65
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				



I would appreciate if you could give this a try and let me know if everything works as expected. :)


----------



## AaronD (Dec 31, 2021)

Warmuptill said:


> Oh OK, I would have expected this to be solved more elegantly.



I can see the desire to make it "pretty", as in "pleasant to look at" or "easy to use in complete isolation".  But when there's a connection to something else, and that something else is the controlling one and yours is just a reflection of it, then I think it's better to just copy it verbatim and leave it at that.  Even if it's ugly.  That would make @lindenkron 's screenshot the standard to match.


----------



## Warmuptill (Jan 1, 2022)

AaronD said:


> I can see the desire to make it "pretty", as in "pleasant to look at" or "easy to use in complete isolation".  But when there's a connection to something else, and that something else is the controlling one and yours is just a reflection of it, then I think it's better to just copy it verbatim and leave it at that.  Even if it's ugly.  That would make @lindenkron 's screenshot the standard to match.


Thanks for the suggestion!
First of all I apologize if my previous statement came across as rude / dismissive of the way it was handled by stream deck.

Unfortunately I am not sure that this approach would be the best way to go for this plugin however.
Using the current approach makes it easier to add the "any" / "all" selection and is (probably?) easier to use if there are a lot of scene items on a particular scene.

But that is just my opinion and it probably comes to down to personal preference.
(And I don't want to invest too much time in such a minor area of the plugin :D)


----------



## AaronD (Jan 2, 2022)

Warmuptill said:


> Unfortunately I am not sure that this approach would be the best way to go for this plugin however.
> Using the current approach makes it easier to add the "any" / "all" selection and is (probably?) easier to use if there are a lot of scene items on a particular scene.



You can still add things outside of the "verbatim block" - All, Any, etc. - to create your block, but the set that you copy from remains unchanged.

Don't know if the data structure lends itself to this or not, but some pseudocode might look like this:


> add("All");
> add("Any");
> foreach(item in OBS_list)
> {
> ...


and not much else.


----------



## lindenkron (Jan 3, 2022)

@Warmuptill
It appears to be working as intended! Thanks.

Regarding the back and forth above; I agree with AaronD on things from a UX perspective. It's easier when both lists show the same thing - to simply scroll to where the source is in your OBS - it makes working between OBS and Streamdeck for selecting sources very intuitive and easy.

Things listed in alphabetical order might seem from a logical standpoint as the go-to move, but it makes it harder (at least personally) to find things when you know it's at the bottom of your scene, but you forgot what you named it.

A comparison:








But I'm not out here trying to make your life harder than it need be. I appreciate a quick and functional solution! It's definitely going to get it's fair uses with the amount of repurposed sources I use :)

It all seems to work, I've had no issues with it. So if you wish to merge it to masters; I see no reason why not.

Thanks again, and happy new year!


----------



## VesNL (Jan 4, 2022)

I'm having an issue with the settings. Despite having set to not start when opening OBS it keeps activating.
Cleared my plugins folder, reinstalled OBS and cleared everything and it still happens. Tried it with default settings and the only plugin installed but it remained. 

On OBS 27.1.3 and plug version 1.16.5 on Windows 10.


----------



## Warmuptill (Jan 4, 2022)

VesNL said:


> I'm having an issue with the settings. Despite having set to not start when opening OBS it keeps activating.
> Cleared my plugins folder, reinstalled OBS and cleared everything and it still happens. Tried it with default settings and the only plugin installed but it remained.
> 
> On OBS 27.1.3 and plug version 1.16.5 on Windows 10.


Sorry about that - that is a bug that was introduced with 1.16.5.
You can find a build with a fix here:








						Remove unnecessary uses of UNUSED_PARAMETER macro · WarmUpTill/SceneSwitcher@ce57304
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				



You need to be logged into GitHub to be able to download it - let me know if that is an issue for you!

(I plan on making a new release soon which contains a few other fixes and changes as well)


----------



## AlixSkye (Jan 4, 2022)

Hey yall! I'm having an issue and I'd love some help as I can't find a tutorial for this. 

I'm trying to get all of my scenes in OBS to have different audio inputs enabled. I think I put the conditions in correctly, but when I switch scenes in OBS, I still have to fix my audio as things that should be muted are active and things that should be active are muted. I'm not sure if I'm using the wrong tab in the scene switcher or if I'm potentally just doing this all wrong. Any help yall could provide would be greatly appreciated!


----------



## Warmuptill (Jan 4, 2022)

AlixSkye said:


> Hey yall! I'm having an issue and I'd love some help as I can't find a tutorial for this.
> 
> I'm trying to get all of my scenes in OBS to have different audio inputs enabled. I think I put the conditions in correctly, but when I switch scenes in OBS, I still have to fix my audio as things that should be muted are active and things that should be active are muted. I'm not sure if I'm using the wrong tab in the scene switcher or if I'm potentally just doing this all wrong. Any help yall could provide would be greatly appreciated!


What exactly have you configured?
If you don't mind you can export your current settings to a file on the General tab and attach it here.


----------



## VesNL (Jan 4, 2022)

Warmuptill said:


> Sorry about that - that is a bug that was introduced with 1.16.5.
> You can find a build with a fix here:
> 
> 
> ...



Thanks, I thought I was going crazy.


----------



## lindenkron (Jan 4, 2022)

VesNL said:


> Thanks, I thought I was going crazy.


The only thing crazy here is the speed at which Warmuptill supplies fixes, improvements & updates.



Warmuptill said:


> (I plan on making a new release soon which contains a few other fixes and changes as well)


That's comforting. Whenever you make one of these builds - I always worry that previous fixes from other builds might not be included >.< (Not sure how it works).


----------



## lindenkron (Jan 4, 2022)

Does anyone have any suggestions for how to improve this?
Trigger only if coming from 'Intro' going to 'Casters'. I just spent 10 mins going back in old projects trying to figure out what this was meant to do because how it looks is so utterly confusing. I was expecting the first condition having to be 'Previous scene'.




I'm sorry to be a nagging nanny but I feel like there has to be a better way to convey "If scene you're coming from = Intro" instead of saying "current scene is" on both of them, which completely threw me for a loop.

I can't immediately figure out what an ideal fix would be. I'm not even exactly sure what 'Previous scene' currently does, only that Warm helped me figure this out last time :D


----------



## Warmuptill (Jan 4, 2022)

lindenkron said:


> Trigger only if coming from 'Intro' going to 'Casters'.


I would do something like this:



You can also make it work with the current / previous scene check if you prefer that:



But note that the latter solution will *continuously *be true while the caster scene is active while the former will only be true *during *the transition.
If you want the conditions to just be true* in the exact moment* the transition from Intro to Caster completes you can use something like this.



So the best approach depends on what exactly you need.



lindenkron said:


> I'm not even exactly sure what 'Previous scene' currently does


Assuming you switch scenes from A -> B.
Then A is the "previous scene" and B the "current scene".
If you should then switch to scene C, B will take over the "previous scene" spot and C will be the "current scene".


----------



## lindenkron (Jan 4, 2022)

Warmuptill said:


> I would do something like this:
> View attachment 78739
> You can also make it work with the current / previous scene check if you prefer that:
> View attachment 78740
> ...



I was going to add https://obsproject.com/forum/threads/advanced-scene-switcher.48264/post-550057 as a reference since I've had the issues with not being able to get 'Previous Scene' to work how I wanted it to.

Wondering if your second example would work if adding a time restraint to the 'current scene is' of 0.20 (assuming 200ms check) so that it can only trigger once.

Might give it a try in the morning. I didn't see the "Transition > Transitioning From > Scene" till now, might also be handy! I wasn't expecting the 'transition' category to have 'scene' elements - so that might end up being the solution.

Thanks again!


----------



## Warmuptill (Jan 5, 2022)

Warmuptill updated Advanced Scene Switcher with a new update entry:

Dock, OpenVR, and more



> *Additions:*
> 
> Added the option create a dock widget to check and control whether or not the Advanced Scene Switcher is currently running.
> You can access it via View -> Docks -> Advanced Scene Switcher.
> ...



Read the rest of this update entry...


----------



## lindenkron (Jan 5, 2022)

@Warmuptill Just installed 1.17, tried changing one of my *If* statements from "Scene" to "Transition" and my audio went nuts and OBS shut itself down haha.

Not exactly sure what happened; no crash reports (just killed the app) and nothing in the logs.

I went back to the last build you made me; and that works without crash.


----------



## Warmuptill (Jan 5, 2022)

lindenkron said:


> @Warmuptill Just installed 1.17, tried changing one of my *If* statements from "Scene" to "Transition" and my audio went nuts and OBS shut itself down haha.
> 
> Not exactly sure what happened; no crash reports (just killed the app) and nothing in the logs.
> 
> I went back to the last build you made me; and that works without crash.


Hm, that seems very strange - I am not sure how changing a transition type would affect audio.
Is the issue reproducible?
If so can you share the settings that are causing the problem?


----------



## lindenkron (Jan 5, 2022)

Warmuptill said:


> Hm, that seems very strange - I am not sure how changing a transition type would affect audio.
> Is the issue reproducible?
> If so can you share the settings that are causing the problem?


The audio was probably because there was music playing and CPU hit 100% (then audio distorts). I'm guessing something infinite looped or something, it seemed really strange at least.

I re-installed 1.17, but I changed the thing that crashed it since (with your old version) and I don't seem to be able to get it to do it again. It does have me a little worried now though lol.

I'll try and continue using 1.17 and let you know if it does it again.


----------



## lindenkron (Jan 5, 2022)

@Warmuptill  Found what I suspect to be a glitch:








						obs64_4cmZQYC6px.mp4
					

Watch "obs64_4cmZQYC6px.mp4" on Streamable.




					streamable.com
				




*Edit:*
Shows check field:
"waitForTransition": false 

Hides check field:
"waitForTransition": true


----------



## Warmuptill (Jan 5, 2022)

lindenkron said:


> @Warmuptill  Found what I suspect to be a glitch:
> 
> 
> 
> ...


Thanks for pointing that out, but that is actually intended behavior!
The option to set "waitForTransition" was removed already in the last version as it did not really fit into this condition type. (Unticking this checkbox is basically equivalent to a "Transitioning to ..." check)
Existing conditions were not affected for compatibility reasons, but if you choose to set the "waitForTransition" field the option will be hidden.


Warmuptill said:


> Add the option to check for the source and the target scene of an ongoing transition.
> 
> 
> 
> ...



But thanks again for having a look out for potential issues! :)


----------



## lindenkron (Jan 5, 2022)

Warmuptill said:


> Thanks for pointing that out, but that is actually intended behavior!
> The option to set "waitForTransition" was removed already in the last version as it did not really fit into this condition type. (Unticking this checkbox is basically equivalent to a "Transitioning to ..." check)
> Existing conditions were not affected for compatibility reasons, but if you choose to set the "waitForTransition" field the option will be hidden.
> 
> ...


Okay, little confusing. Sorry for bringing it up, it just came across as a feature unintentionally disappearing.

So am I to understand it correctly that from now on you should _never_ use 'scene' for anything that's supposed to happen once when going to a scene? That from now on *If Transition Transitioning to SCENE* should be used?

Personally feels a little unintuive to me from how I've used adv-ss previously, but hopefully it'll feel more natural in the future.

What's your intentional usage of the "If scene" functionality now then?


----------



## lindenkron (Jan 5, 2022)

Hmm, having issues with this triggering multiple times and not having a time restraint condition





Is it not possible to use this?


----------



## Warmuptill (Jan 5, 2022)

lindenkron said:


> That from now on *If Transition Transitioning to SCENE* should be used?


No, you can still use the scene condition for current scene checks just like you did before.

Only the additional check of testing which scene is being transitioned to *during* an ongoing transition should now be done using the transition condition type.

Sorry if this is getting confusing - What are you trying to achieve exactly?


----------



## Warmuptill (Jan 5, 2022)

lindenkron said:


> Hmm, having issues with this triggering multiple times and not having a time restraint condition
> 
> 
> 
> ...


Good point - I will enable time constraint for this condition type.
A build with this change should  be available here in a few:








						Enable time constraints for transition condition · WarmUpTill/SceneSwitcher@1e08bed
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com


----------



## lindenkron (Jan 5, 2022)

I'm having real issues getting this to work properly using any form of Transition conditional. Currently using If transitioning from, it doesn't fire anything until _after_ the transition is finished.

I feel like this is a very focal use case for adv-ss, changing things upon transitioning from one scene to another - and it bothers me a little that I'm having such a hard time figuring out the functionality.

I want to have these possibilities:
Going from scene A > B
Going from scene A > B starting after transition
Going to scene B 
Going to scene B > starting after transition

In my head, if I forget all about how adv-ss works this is what I would be expecting UX wise:
If previous scene is X
If current scene is Y
_check field - _after conditions have been met, disable.


----------



## Warmuptill (Jan 5, 2022)

lindenkron said:


> I'm having real issues getting this to work properly using any form of Transition conditional. Currently using If transitioning from, it doesn't fire anything until _after_ the transition is finished.
> 
> I feel like this is a very focal use case for adv-ss, changing things upon transitioning from one scene to another - and it bothers me a little that I'm having such a hard time figuring out the functionality.


Sorry about that :(
I probably misinterpreted the past discussion about the "wait for transition to complete" checkbox.



lindenkron said:


> I want to have these possibilities:
> Going from scene A > B
> Going from scene A > B starting after transition
> Going to scene B
> Going to scene B > starting after transition



These setups should allow you to achieve what you are looking to do.

Going from scene A > B (during transition)

Going from scene A > B starting after transition

Going to scene B (during transition)

Going to scene B > starting after transition





lindenkron said:


> In my head, if I forget all about how adv-ss works this is what I would be expecting UX wise:
> If previous scene is X
> If current scene is Y
> _check field - _after conditions have been met, disable.



What exactly do you mean with "_check field - _after conditions have been met, disable."?
Do you want to disable the macro after it ran once or are you referring to time constraints?

The issue with just providing "If current scene is Y" is that it can mean multiple things while a transition is ongoing.
Assuming you are transitioning from A to B, the current scene could either be A or B, depending on your definition of "current scene".
(The scene being transitioned away from - as it is still active during the transition - or the scene being transition to)


----------



## lindenkron (Jan 5, 2022)

Warmuptill said:


> What exactly do you mean with "_check field - _after conditions have been met, disable."?
> Do you want to disable the macro after it ran once or are you referring to time constraints?
> 
> The issue with just providing "If current scene is Y" is that it can mean multiple things while a transition is ongoing.
> ...



Let me first say a huge thanks for this post. I'll be going through each example to see what works for me in a few mins.

The _check field_ would be for a way to stop the conditions from being met, after they've been met once. One of the things I run into most that breaks my things is a trigger running twice. This results in bat files being run multiple times, or vlc play lists being triggered over and over (obviously ruining their purpose).

I think one of the issues we're running into is programmer versus user perspective on things like '_* "If current scene is Y" is that it can mean multiple things*_*'*. In my world, if I press/or change to a scene in OBS that's the 'current scene', whether or not we've transitioned there yet. In my OBS, it's highlighted. It also means, that the scene we're currently going away from, is the previous scene.

From the previous posts that was being talked about on here, it seemed to me like 'Transitioning' was put in place to replace 'If scene' logic, but I may have misunderstood things. At least it seems like anything you want to trigger immediately upon switching to another scene (regardless of the duration of transition) cannot be done with this condition.

What I often do, is use the duration of the transition to modify the audio levels and playlists. So it's important for me to be able to immediately upon changing scene, being able to start adjusting these things during transitioning.

Thanks once again, super appreciated as always.

_*EDIT:*_
Also, the aboved mentioned should only trigger once. I don't think your examples do, do they? I forgot to mentioned that, Sorry!


----------



## Warmuptill (Jan 5, 2022)

lindenkron said:


> The _check field_ would be for a way to stop the conditions from being met, after they've been met once. One of the things I run into most that breaks my things is a trigger running twice. This results in bat files being run multiple times, or vlc play lists being triggered over and over (obviously ruining their purpose).


I see - that's a good point.
I implemented the requested functionality by introducing the following checkbox:






lindenkron said:


> I think one of the issues we're running into is programmer versus user perspective on things like '_* "If current scene is Y" is that it can mean multiple things*_*'*. In my world, if I press/or change to a scene in OBS that's the 'current scene', whether or not we've transitioned there yet. In my OBS, it's highlighted. It also means, that the scene we're currently going away from, is the previous scene.
> 
> From the previous posts that was being talked about on here, it seemed to me like 'Transitioning' was put in place to replace 'If scene' logic, but I may have misunderstood things. At least it seems like anything you want to trigger immediately upon switching to another scene (regardless of the duration of transition) cannot be done with this condition.


Yes correct, the intention was to move the transition related parts of the current scene check to the transition condition.
But that seems to have caused a lot of confusion.

I reintroduced a checkbox which allows changing the current scene check behaviour, but I have adjusted the wording to make its effect more clear.




A build with *both* of these changes should be available here in a few minutes:








						Enable time constraints for transition condition · WarmUpTill/SceneSwitcher@4d6bd9d
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				



Let me know if everything there works as expected and if the wording I used is somewhat clear.
If that should be the case I will make another release including these changes tomorrow.



lindenkron said:


> Also, the aboved mentioned should only trigger once. I don't think your examples do, do they? I forgot to mentioned that, Sorry!


Ah ok - you could add a condition "transition ended" for the 2nd and 4th case and a time restriction for the 1st and 3rd case, but I assume the use of the newly introduced option "Perform actions only on condition change" from above is probably preferred.
Here is the updated table:

Going from scene A > B (during transition)


or



or


Going from scene A > B starting after transition

Going to scene B (during transition)


or


Going to scene B > starting after transition



By the way I have started work on a wiki for this plugin (emphasis on started - not much there yet) :








						Home · WarmUpTill/SceneSwitcher Wiki
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				



If you have suggestions for topics to add there let me know or feel free to add something yourself.
I will try to update the transition page later if I find the time.


----------



## lindenkron (Jan 6, 2022)

Warmuptill said:


> I see - that's a good point.
> I implemented the requested functionality by introducing the following checkbox:
> View attachment 78783
> 
> ...


Legend. That 'perform actions only once' stops me from having to time restraint every condition! Amazing.

And the during transition check is nice. It'd been better to have a "Wait for transition" in my world and have it running during transition as default, this seems a bit backwards - but it works. I tested it, and I finally got the expected outcome of everything running during transitions and is neat. What are your thoughts on having it running during transition being default, and allowing people to have it 'Wait for transition'?

I'm using this one:




(Also, it says 'traget' not 'target' hihi :D)


----------



## Warmuptill (Jan 6, 2022)

Warmuptill updated Advanced Scene Switcher with a new update entry:

Macro on change option, transition time constraints, and current scene transition check



> *Additions:*
> 
> Add option to perform macro actions only on condition change.
> 
> ...



Read the rest of this update entry...


----------



## AlixSkye (Jan 7, 2022)

Warmuptill said:


> What exactly have you configured?
> If you don't mind you can export your current settings to a file on the General tab and attach it here.



I actually figured it out about 5 minutes after I posted this. I had to unmute certain outputs as well as muting the ones I wanted muted. Thank you so much for the reply! :D


----------



## lindenkron (Jan 8, 2022)

Hey @Warmuptill

Is there currently a function to execute this button in adv-ss? I can't find it if there is



I can't find anything regarding browser sources in general. If so, is that intentional?


----------



## Warmuptill (Jan 8, 2022)

lindenkron said:


> Hey @Warmuptill
> 
> Is there currently a function to execute this button in adv-ss? I can't find it if there is
> View attachment 78867
> I can't find anything regarding browser sources in general. If so, is that intentional?


Could be that I am just missing something, but I don't think there is any API to invoke the refresh function "manually".
Maybe what could be done instead is tick the "refresh browser when scene becomes active button" and just quickly hide and show the source?



What exactly would you use this manual refresh for?


----------



## lindenkron (Jan 8, 2022)

Warmuptill said:


> Could be that I am just missing something, but I don't think there is any API to invoke the refresh function "manually".
> Maybe what could be done instead is tick the "refresh browser when scene becomes active button" and just quickly hide and show the source?
> View attachment 78870
> What exactly would you use this manual refresh for?


Worked around it by setting a hotkey in OBS hotkey to refresh the browser source, then invoke that hotkey with Adv-ss.

It's for refreshing a tournament bracket through streamdeck incase it for some reason gets stuck and doesn't update scores :)


----------



## kineticscreen (Jan 8, 2022)

Warmuptill said:


> Warmuptill updated Advanced Scene Switcher with a new update entry:
> 
> Dock, OpenVR, and more



Thanks so much for creating the dock - makes a massive difference to usability. Is it possible to make the indication more clear, like with the Red and Green background as in the panel proper, or is that a limitation with OBS Docks?


----------



## AaronD (Jan 9, 2022)

lindenkron said:


> Worked around it by setting a hotkey in OBS hotkey to refresh the browser source, then invoke that hotkey with Adv-ss.
> 
> It's for refreshing a tournament bracket through streamdeck incase it for some reason gets stuck and doesn't update scores :)



I might have done it with an external browser in fullscreen behind OBS's control window, and window-capturing that.  (Alt-TAB after setting fullscreen, to switch back to the previous window and get the taskbar back, and the window capture still works, even though it's behind something else)  Then set the external browser to refresh itself every 10 seconds or whatever.

I use that structure for hybrid local / online meetings with media.  The online meeting runs in an external browser, instead of a browser source, so I know it's going to stay active no matter what.  Then I put it fullscreen *behind* OBS on the *control* screen and window-capture it in just one of three scenes.  (the other two are for featured media with its own audio, and featured media with voiceover - that media comes from another instance of OBS that directly feeds the online meeting...)


----------



## Warmuptill (Jan 9, 2022)

kineticscreen said:


> Thanks so much for creating the dock - makes a massive difference to usability. Is it possible to make the indication more clear, like with the Red and Green background as in the panel proper, or is that a limitation with OBS Docks?


Sure that can be done.
A build with this change should be available here in a few minutes:








						Use the same widget for main settings window and status dock · WarmUpTill/SceneSwitcher@cf2aec4
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				



As usual you will need to be logged into GitHub to be able to download this build - if that is an issue for you let me know.

The red pulse can be disabled in the settings window on the General tab via "Disable UI hints" in case it should become annoying.


----------



## kineticscreen (Jan 10, 2022)

Very nice. Would like it if it were lit up as green when active, but that's just personal preference - don't know what's useful to more people, whether being alerted that it's OFF is more important, or seeing that it is active.


----------



## AaronD (Jan 10, 2022)

kineticscreen said:


> ...don't know what's useful to more people, whether being alerted that it's OFF is more important, or seeing that it is active.



That was the perpetual problem that we had when I was in industrial controls.  Whether "green" should mean that you CAN turn it on, or that it IS already on?  And for the other way, whether "red" should mean that you CAN turn it off, or that it IS already off?  Also, looking at the control panel from a distance, does all-green mean that things are off and (somewhat) safe, or that they're all running correctly?

The (somewhat arbitrary) way that we solved it was to make everything drab except for a splash of bright color for the option / state that was presently active: red for off / fault, green for on / running / auto, yellow for maintenance / manual.  So for us, all-green meant that things were already on and running correctly.  YMMV.


----------



## kineticscreen (Jan 11, 2022)

AaronD said:


> That was the perpetual problem that we had when I was in industrial controls.  Whether "green" should mean that you CAN turn it on, or that it IS already on?  And for the other way, whether "red" should mean that you CAN turn it off, or that it IS already off?  Also, looking at the control panel from a distance, does all-green mean that things are off and (somewhat) safe, or that they're all running correctly?
> 
> The (somewhat arbitrary) way that we solved it was to make everything drab except for a splash of bright color for the option / state that was presently active: red for off / fault, green for on / running / auto, yellow for maintenance / manual.  So for us, all-green meant that things were already on and running correctly.  YMMV.



Yeah this is an interesting problem - I imagine it's even more complicated when it's the button itself that is changing colour - is it indicating the current state, or is it indicating the state the pressing the button will initiate? In this case it is at least just fairly obvious that it is an indication of the current state. My preference is that whatever it is, it makes it easy to glance and instantly know whether it is running or not.


----------



## bcoyle (Jan 12, 2022)

This is just my opinion and how I colored my app.
1 Green is for on and working as "intended" for normal operation.
2. Pink,saimon,off red and not as bright for  "off" or "disabled" - Push to turn back on
3. RED for a command like stop that will stop your app or disrupt the operation.
4. Blinking Red for Disaster (status)
5. Blinking Yellow as a warning. (status)
6. A peach type color for a function start, green when running

For text, I use a mixture, but tend to make the text in the button, what will happen if you push it, not what it is currently doing and divide this according to ACTION or Status control

For example, I have a button when green, says "Allow Streaming" and when red says "streaming not allowed" . This button is more of a condition/status button.

Another button when saimon, saids "start streaming" and when green saids "Stop Streaming". This is an action button, and the text says what it will do if you push it. 

So one is a status  vs an actual command.

I want the form to be green when functioning in a normal manner.

Here's what the screen looks like when stopped: 
Again, like I said, just an opinion.






The second screen is operating normally - streaming and recording


----------



## Dzonzza (Jan 12, 2022)

I guess I am not the first person asking this but I couldn't find an answer.
My issue is that I can't find a way to change scenes depends on if source(game capture) is active. 
I've tried using Macros but it doesn't work. I'm not sure what does "is active" means. But I guess it means if that game is opened. 
So I want to switch scenes from "League of Legends Client" to "League of Legends Game" when a game capture source capturing LoL Game inside "League of Legends Game" scene is running. And when it's not running, switch back to "League of Legends Client". But when I do it, it always switches to "League of Legends Game" scene for some reason. And if it helps, my game is on Borderless mode. 
This is macros I've made:


----------



## Warmuptill (Jan 12, 2022)

Dzonzza said:


> I guess I am not the first person asking this but I couldn't find an answer.
> My issue is that I can't find a way to change scenes depends on if source(game capture) is active.
> I've tried using Macros but it doesn't work. I'm not sure what does "is active" means. But I guess it means if that game is opened.
> So I want to switch scenes from "League of Legends Client" to "League of Legends Game" when a game capture source capturing LoL Game inside "League of Legends Game" scene is running. And when it's not running, switch back to "League of Legends Client". But when I do it, it always switches to "League of Legends Game" scene for some reason. And if it helps, my game is on Borderless mode.
> This is macros I've made:View attachment 78983View attachment 78984


The check whether a source is active will not be useful for your particular scenario, as a game capture source can be "active" even though there is not application being captured at the moment.

Instead it will probably make the most sense to check whether or not the particular application is running using the "Process" condition type.



(In the above example Firefox is used as I am not sure what the League of Legends process is called exactly.)

Alternatively you could also instead check the window title of the current foreground window.
If that should suffice for your use case you do not even need this plugin as OBS ships with the "Automatic scene switcher" tool which will allow you to do just that.

Let me know if that helps or if you have further questions! :)


----------



## Dzonzza (Jan 13, 2022)

Warmuptill said:


> The check whether a source is active will not be useful for your particular scenario, as a game capture source can be "active" even though there is not application being captured at the moment.
> 
> Instead it will probably make the most sense to check whether or not the particular application is running using the "Process" condition type.
> View attachment 78993
> ...



I've tried using "Process" condition type and it works perfectly fine!
I couldn't use "Automatic scene switcher" because that would change scene even if I Alt+Tab from the game.

Thank you a lot for helping me! :)


----------



## choops (Jan 18, 2022)

is there something im doing wrong? all the other features of this patch work for me except for the transition overrides. this was the main reason i was planning on integrating this into my stream. thank you in advance if im just being dumb and overlooking something obvious!


----------



## Warmuptill (Jan 19, 2022)

choops said:


> is there something im doing wrong? all the other features of this patch work for me except for the transition overrides. this was the main reason i was planning on integrating this into my stream. thank you in advance if im just being dumb and overlooking something obvious!View attachment 79248


The entries on this tab only affect automated scene switches triggered by the plugin not manual ones - so maybe it was just a misunderstanding as to what this tab does?
If you a looking to control manual transitions I would recommend this plugin:





						OBS Transition Matrix [Discontinued]
					

This served its purpose as a prototype and a more fleshed and properly supported plugin now exists for this functionality.  Check it out: Transition Table




					obsproject.com
				




Or are you referring to automated scene switches which do not respect the entries on the transition tab?
If so can you give an example?


----------



## ThorAdam (Jan 20, 2022)

Thank you so much. I was looking for that for such a long time.


----------



## lindenkron (Jan 20, 2022)

Is it possible in macros to have a macro with a hotkey that toggles between activating(running, just once) two other macros?

'Press R', Runs Macro 1
'Press R again', Runs Macro 2
'Press R again again', Runs Macro 1

Etc?


----------



## Warmuptill (Jan 20, 2022)

lindenkron said:


> Is it possible in macros to have a macro with a hotkey that toggles between activating(running, just once) two other macros?
> 
> 'Press R', Runs Macro 1
> 'Press R again', Runs Macro 2
> ...



Yes, that should be doable using something similar to this:








Let me know if you have questions!

But to be honest this seems a bit complex for such a simple task - I will try to think of a simpler way to set something like this up.


----------



## AaronD (Jan 20, 2022)

Warmuptill said:


> But to be honest this seems a bit complex for such a simple task - I will try to think of a simpler way to set something like this up.



If you're going to do that, then I think it should at least support an arbitrarily long sequence instead of just two.  Kinda like PowerPoint's advance button.  And maybe include the reverse direction as well?  Reverse probably won't work as expected for some things, like a transition to B that looks awesome coming from A and goofy coming from C, but the logic itself should still work.


----------



## AaronD (Jan 20, 2022)

That would almost be trivial with a Python tab and an API for the user script to hook into:

```
def sequence(x):
    match x:
        case 1:
            # trigger macro 1
            return false
        case 2:
            # trigger macro 2
            return false
        case 3:
            # trigger macro 3
            return false
        # etc.
        case _:
            return true

def init():
    step=0

def sequence_fwd(): # arbitrary name that is connected elsewhere to a hotkey
    step += 1
    if sequence(step)
        step=0

def sequence_rev(): # arbitrary name that is connected elsewhere to a hotkey
    step -= 1
    if sequence(step)
        step=max
```


----------



## Hans Bélanger (Jan 21, 2022)

Hello everybody.
I'm having a hard time to figure out one detail of this plugin.

I use the switcher to automatically go to X scene once a vlc playlist has a few milliseconds left to play using the media tab.
My setup is like this:[When _VLC Playlist Source_ state is Playing and Time remaining shorter _ms _switch to Previous Scene using _Stinger Transition_]

The issue I encounter is that the transition is triggered at the end of the first element of the playlist and so my question to you people is how do I specify to the Scene Switcher that I want the transition to trigger at the end of the playlist

Further information that could be relevant: a workaround that sorta works is to use the state _played to end_ and trigger the transition then but there's a black screen during the transition as the playback is of course over. I guess I could cut to the previous scene but a transition proper is what I am aiming for.


----------



## Warmuptill (Jan 21, 2022)

Hans Bélanger said:


> Hello everybody.
> I'm having a hard time to figure out one detail of this plugin.
> 
> I use the switcher to automatically go to X scene once a vlc playlist has a few milliseconds left to play using the media tab.
> ...


Unfortunately, I don't think there is a way to to specify something like X ms before the end of the VLC playlist.
There is no way to query the size of the playlist as far as I know so something like this can only be worked around.
Even the "Played to end" condition type internally uses some workarounds to detect the end of playlist and ignore the end of individual playlist entries.

One possible workaround would be to just wait a set amount of time if you know the length of the playlist beforehand.
Another way would be - assuming the amount of items in the playlist does not change - to count the playlist items which ended their playback and only perform the scene switch only when the last playlist item is currently being played.


----------



## lindenkron (Jan 21, 2022)

I think it worked the hotkey thing. Does seem a bit overkill though for the functionality.

I've also been having really weird issues with the new ADV-SS dock. I thought it was just me, or me being crazy to begin with. But I keep having it pop out or position itself in places & ways it shouldn't be able to, while locked.
Like this:




This is where it was originally:


----------



## Hans Bélanger (Jan 21, 2022)

Warmuptill said:


> Unfortunately, I don't think there is a way to to specify something like X ms before the end of the VLC playlist.
> There is no way to query the size of the playlist as far as I know so something like this can only be worked around.
> Even the "Played to end" condition type internally uses some workarounds to detect the end of playlist and ignore the end of individual playlist entries.
> 
> ...


Unfortunately, the playlist's content varies both in number of items and total length. I'll stick to either triggering the transition manually or the workaround I currently use.
Thank you for the explaination, I had not realized that there is no way to query the length of the playlist


----------



## Warmuptill (Jan 21, 2022)

lindenkron said:


> I think it worked the hotkey thing. Does seem a bit overkill though for the functionality.


Glad to hear that it worked - but yeah I agree.
I started work on a "sequence" action to make setting up something like this easier:



(Still needs reordering / resetting the start / possibly more)

A build should be available here in a few minutes:








						Sequence action · WarmUpTill/SceneSwitcher@7f0608d
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				






lindenkron said:


> I've also been having really weird issues with the new ADV-SS dock


Oh OK, thanks for pointing that out!
Have you stumbled upon any way to reproduce the issue or a scenario where it occurs more frequently?


----------



## lindenkron (Jan 22, 2022)

Warmuptill said:


> Oh OK, thanks for pointing that out!
> Have you stumbled upon any way to reproduce the issue or a scenario where it occurs more frequently?



Nothing specific, I think it happens when you reboot though. This is what it looked like after closing and opening OBS. Also notice me trying to find the "grapping" points to extend the size, it appears gone.

This overlaps the minimum height of the dock itself when seeing how small you can make it. Now granted, I've not tried the dock in a different position - so it could be (?) surrounding elements.

Also;
Noted that macro actually doesn't work. When I boot up OBS from fresh, and press the hotkey it'll fire both macros, and they'll both go from 0 to 1 then 0. (So fire one, then fire other macro).

It appears fixed if I go in and disable 1 macro, press R, then enable it again, to offset the two numbers. Any idea for a fix to this?

Thanks!


----------



## lcalder (Jan 22, 2022)

OBS will now always crash upon exiting in advanced-scene-switcher.dll on the new OBS v27.2.0 beta 2 and beta 3

Minimum Steps to reproduce:
1. Launch OBS
2. Wait for everything to load
3. Exit
4. Crash

Latest Windows 10. Last three logs and crashlogs below.
Please let me know if you need any other information.


----------



## Warmuptill (Jan 22, 2022)

lcalder said:


> OBS will now always crash upon exiting in advanced-scene-switcher.dll on the new OBS v27.2.0 beta 2 and beta 3
> 
> Minimum Steps to reproduce:
> 1. Launch OBS
> ...


Thanks for reporting the issue - i will look into it as soon as I can.
Update: I might have identified the reason for the crash on OBS exit.
A build with a fix should be available here in a few minutes:








						Fix crash on exit caused by status dock · WarmUpTill/SceneSwitcher@aac9429
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				



(You need to be logged into GitHub to be able to download it - let me know if that should be an issue)



lindenkron said:


> Nothing specific, I think it happens when you reboot though. This is what it looked like after closing and opening OBS. Also notice me trying to find the "grapping" points to extend the size, it appears gone.
> 
> This overlaps the minimum height of the dock itself when seeing how small you can make it. Now granted, I've not tried the dock in a different position - so it could be (?) surrounding elements.
> 
> ...


Thanks for the info regarding the dock issue!
I will try to look into it soon, but I will have to prioritize the crashes on the OBS beta for now.

Unfortunately, I can't think of a good solution to the macro toggle issue, besides using this new "Sequence" action from the build above.


----------



## Warmuptill (Jan 22, 2022)

@lindenkron I believe I found the issue regarding the dock's position not restoring properly.
A build with a fix will be available here in a few minutes:








						Fix dock location and size not saving correctly · WarmUpTill/SceneSwitcher@47e5522
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				



(The above mentioned new action "Sequence" is also included)
Let me know if everything works as expected.


----------



## lindenkron (Jan 22, 2022)

Thanks as always Warmuptill! I'll test it out after this weekends tournament.

I ran the first part of this weekends tournament, went okay! I did come across some stuff I'd like to ask if there's a way to do.

Is there a condition for 'if X application is in focus'? Because I found that my hotkeys that I set, would (obviously) also fire when I went to discord to type to people. Which was slightly inconvenient :D

Hope you have a great weekend.


----------



## Warmuptill (Jan 22, 2022)

lindenkron said:


> Is there a condition for 'if X application is in focus'?


That could maybe be achieved using the "Process" condition.


----------



## AaronD (Jan 22, 2022)

lindenkron said:


> Is there a condition for 'if X application is in focus'? Because I found that my hotkeys that I set, would (obviously) also fire when I went to discord to type to people. Which was slightly inconvenient :D



There's this is OBS's settings:




Does that do the trick?


----------



## lindenkron (Jan 23, 2022)

AaronD said:


> There's this is OBS's settings:
> View attachment 79412
> Does that do the trick?


Afraid not, OBS hotkeys still need to work, just only when in-game :)



Warmuptill said:


> That could maybe be achieved using the "Process" condition.


Think that might work with the check for "is focused". Will test tomorrow. Thanks :)


----------



## lindenkron (Jan 23, 2022)

Checked the 'process focus' and it appears to work. Thanks!

Have another small issue I wonder if you know how to optimize. On a 200ms check, this code takes 2 seconds to get checked (before it kicks in) which seems a little weird.




Any ideas? :)


----------



## Warmuptill (Jan 23, 2022)

lindenkron said:


> Checked the 'process focus' and it appears to work. Thanks!
> 
> Have another small issue I wonder if you know how to optimize. On a 200ms check, this code takes 2 seconds to get checked (before it kicks in) which seems a little weird.
> View attachment 79427
> ...


Good to hear that the process condition is working as intended! :)

Hm, strange - can you explain in more detail what you want this condition to achieve?
I doubt that it is a CPU resource issue, but can you double check if you see the following pattern in your OBS log for the affected macro just in case?
`"spent X ms in Y condition check of macro 'Z'!"`
(Just want to be sure I didn't mess something up in the implementation)


----------



## lindenkron (Jan 23, 2022)

I switch between two feeds, on a specific scene (Game Play) and I wasnt it to fade the audio for my game out/in depending on which source (feed) is visible.

15:56:26.695: [adv-ss] detected busy loop - refusing to sleep less than 1ms

All I see.


----------



## lindenkron (Jan 24, 2022)

We just finished. I started having strange behaviour where sometimes it would act as if it pressed 'r' twice, or ran both macros one after another.

But I'm having issues consistently reproducing it. It unfortunately resulted in quite a few instances of it switching back to my Observer feed while it wasn't supposed to, when I didn't catch it to switch it again.

Am thinking perhaps some lag issues with 1 or 0 not being set properly and it firing both? Unknown.

Other than that, things went good with adv-ss!


----------



## lcalder (Jan 24, 2022)

Warmuptill said:


> Thanks for reporting the issue - i will look into it as soon as I can.
> Update: I might have identified the reason for the crash on OBS exit.
> A build with a fix should be available here in a few minutes:
> 
> ...





Warmuptill said:


> Thanks for reporting the issue - i will look into it as soon as I can.
> Update: I might have identified the reason for the crash on OBS exit.
> A build with a fix should be available here in a few minutes:
> 
> ...


I tried the updated advanced scene switcher from Github and it still crashes. I've included the log, crashfile and the advanced-scene-switcher settings files as you requested. Let me know it you need anything else, and thanks so much for your help on this wonderful plugin.


----------



## Warmuptill (Jan 24, 2022)

lcalder said:


> I tried the updated advanced scene switcher from Github and it still crashes. I've included the log, crashfile and the advanced-scene-switcher settings files as you requested. Let me know it you need anything else, and thanks so much for your help on this wonderful plugin.


Thank you very much for the test, but I think you might have accidentally downloaded the wrong version judging by the version string printed in the log file.
Can you give downloading it another try?
(Sorry, in case I posted the wrong / too many links)
I submitted some other unrelated fixes to the master branch in the mean time so I would suggest to use this build:








						Add sequence action (#395) · WarmUpTill/SceneSwitcher@abd6fd6
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				



The expected version info in the OBS log would be:
19:29:46.166: [adv-ss] version: abd6fd6
19:29:46.166: [adv-ss] version: abd6fd6b7e1f839f1b82bca34e7d8ee69a3aa55c

Update: The newest OBS beta also has the following change, which might make a difference:

Fixed a crash that could happen on shutdown with certain third-party plugins


----------



## Warmuptill (Jan 24, 2022)

lindenkron said:


> I switch between two feeds, on a specific scene (Game Play) and I wasnt it to fade the audio for my game out/in depending on which source (feed) is visible.
> 
> 15:56:26.695: [adv-ss] detected busy loop - refusing to sleep less than 1ms
> 
> All I see.


I see, thanks for the explanation. (The "Or" is intended, right? Or was an "And" intended here?)

Setting up a similar condition on my side does not result in any delay and as you also don't see the "spent X ms in ..." messages I also assume that the duration spent in the condition check is not the issue.

That would leave two possible causes:

An action running in your macro, which is happening before the audio fade, is taking about two second to complete.
Other macros are running before this one and are taking up the time.
A combination of the previous two points
To check the first point you can try to create a copy of the macro (right click on the macro -> Create Copy) and remove all actions beside the audio fade.
To test the second theory try to move the respective macro to the top of the macro list so it is being executed first or just pause all other macros.

Hope that helps to get to the root cause of the delay.



lindenkron said:


> We just finished. I started having strange behaviour where sometimes it would act as if it pressed 'r' twice, or ran both macros one after another.
> 
> But I'm having issues consistently reproducing it. It unfortunately resulted in quite a few instances of it switching back to my Observer feed while it wasn't supposed to, when I didn't catch it to switch it again.
> 
> ...


Glad to hear that things went well :)

Regarding the macro when pressing "R".
I would instead suggest to set up the following:

Two macros - one for switching to scene A, a second one for switching to scene B:








Finally a third macro which will do the toggling:





The "Run macro in parallel to other macros" is important if you want to avoid the issue of the hotkey presses queueing up and resulting in multiple consecutive scene switches.

Hope that helps!


----------



## lindenkron (Jan 24, 2022)

Hey @Warmuptill

That sequence did wonders, so much simpler now. And it doesn't bug at the start like the other one did. Thanks!

I already tried the moving the macro up to the top. And there's nothing else in the actions than "mute", so nothing to clear out.

This is the full macro, and below it an example of timing (you can see the bottom fading and when the button mutes/unmutes).












						obs64_6oQjeD9Cho.mp4
					

Watch "obs64_6oQjeD9Cho.mp4" on Streamable.




					streamable.com
				



^video of the transitioning.









						obs64_Syt4OQGa2X.mp4
					

Watch "obs64_Syt4OQGa2X.mp4" on Streamable.




					streamable.com
				



^example with fade

I'd like it to be a fade mute over 1 second as to follow the fade. The mute is just a test. Issue was that it would *start* fading at the time you see the mute happening in the clip. So those 2 seconds, + 1 second fade means the fading of the video is pretty offset.

Best regards,
-Lind


----------



## Warmuptill (Jan 25, 2022)

lindenkron said:


> Hey @Warmuptill
> 
> That sequence did wonders, so much simpler now. And it doesn't bug at the start like the other one did. Thanks!
> 
> ...


Ah good to hear that the sequence action is working as expected! :)

Regarding the delay issue I am out of ideas to be honest.
Can you maybe set up a minimal reproduction example in a new scene collection and export the settings you are using to a file? (General tab)
Are you using some special transition type? (You mentioned fade, but asking just in case)


----------



## lindenkron (Jan 25, 2022)

Warmuptill said:


> Ah good to hear that the sequence action is working as expected! :)
> 
> Regarding the delay issue I am out of ideas to be honest.
> Can you maybe set up a minimal reproduction example in a new scene collection and export the settings you are using to a file? (General tab)
> Are you using some special transition type? (You mentioned fade, but asking just in case)


It's in the detection somewhere. Adding the audio to the macro that does the switching itself works, but the detection one for audio doesn't trigger instantly.

Unfortunately I'd prefer to have all my audio for a specific feed in one place if I can so I don't have to go looking for it in 20-30 macros :3


----------



## ZeroEnna (Jan 25, 2022)

Hey guys, just a quick question, cause I am unsure if I can do this with the ASS Plugin.

I would like to setup a 24/7 stream. What I want to do is I want to have two inputs. One is a 24/7 automated playlist (Stream 1) the other is a real live stream (Stream 2). What I want to happen is when Stream 2 goes online, I want to switch to this scene, and as soon as that stream goes offline, I want to switch back to Stream 1. 
Can I do the monitoring and switching with the Advanced Scene Switcher?

Kind Regards

Zero


----------



## Warmuptill (Jan 25, 2022)

ZeroEnna said:


> Hey guys, just a quick question, cause I am unsure if I can do this with the ASS Plugin.
> 
> I would like to setup a 24/7 stream. What I want to do is I want to have two inputs. One is a 24/7 automated playlist (Stream 1) the other is a real live stream (Stream 2). What I want to happen is when Stream 2 goes online, I want to switch to this scene, and as soon as that stream goes offline, I want to switch back to Stream 1.
> Can I do the monitoring and switching with the Advanced Scene Switcher?
> ...


You can set up automated scene switches depending on whether or not you are currently streaming, but I am not sure if it would be useful in your case.

Are both Stream 1 and Stream 2 originating from the same OBS instance? (Is that possible?)
Or are these streams just special sources on different scenes inside OBS?


----------



## ZeroEnna (Jan 25, 2022)

They are both RTMP Streams on two different Nginx instances. Or do you know of any other - preferably free - tool that does this kind of monitoring and fallback/backup streaming?


----------



## ZeroEnna (Jan 25, 2022)

To further elaborate it....
Stream 1 would be a scene in OBS with a VLC playlist automated by a third party tool.
Stream 2 would be a media source pointing to the RTMP server.
Biggest challenges so far are to constantly ping the RTMP server to see if the stream is up and to then switch to that scene and again, to go back to the other VLC scene when the RTMP goes down....


----------



## Warmuptill (Jan 25, 2022)

ZeroEnna said:


> To further elaborate it....
> Stream 1 would be a scene in OBS with a VLC playlist automated by a third party tool.
> Stream 2 would be a media source pointing to the RTMP server.
> Biggest challenges so far are to constantly ping the RTMP server to see if the stream is up and to then switch to that scene and again, to go back to the other VLC scene when the RTMP goes down....


You could set up a macro to monitor if the "Stream 2" source has changed it's video output recently and if so switch scenes accordingly.
Maybe this example could help:








						Creating a macro · WarmUpTill/SceneSwitcher Wiki
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				



Alternatively, as Stream 2 is a media source, the "Media" condition might be of use, as maybe the connection state can be identified by the states "Buffering" or "Error".

I could imagine there are probably better tools for this job, but I am not familiar with this topic to know them.
Hope this helped anyway! :)


----------



## ZeroEnna (Jan 25, 2022)

Warmuptill said:


> Alternatively, as Stream 2 is a media source, the "Media" condition might be of use, as maybe the connection state can be identified by the states "Buffering" or "Error".
> 
> I could imagine there are probably better tools for this job, but I am not familiar with this topic to know them.
> Hope this helped anyway! :)


So basically, the plugin is then checking the connection state every xx seconds/milliseconds and keeps remediating that automatically to check if the condition is true or false? That would help big Time!!!


----------



## Hemmie (Jan 25, 2022)

Hi, I am a newbee on OBS and have tried to use this plugin on two instances of OBS on Windows10. 

But unfortunately only the plugin works on the OBS instance which is first launched after installing the plugin.  On the other instance of OBS I can setup the plugin, start it but no task is performed

How can I get the plugin working on each instance of OBS ?


----------



## Warmuptill (Jan 26, 2022)

Hemmie said:


> Hi, I am a newbee on OBS and have tried to use this plugin on two instances of OBS on Windows10.
> 
> But unfortunately only the plugin works on the OBS instance which is first launched after installing the plugin.  On the other instance of OBS I can setup the plugin, start it but no task is performed
> 
> How can I get the plugin working on each instance of OBS ?


Hm strange.
In theory there should be nothing preventing the plugin from being run multiple times each across separate OBS instances.
Can you provide an OBS log file of the second instance, which is not performing its tasks?
Please make sure to enable verobse logging. (The option can be found on the General tab)


----------



## Hemmie (Jan 26, 2022)

Warmuptill,  here are the logs you asked for.

In order not to be burden you with irrelevant matters, I restarted the PC and performed a new experiment:

=================================================
First OBS instance launched
Added simple Time based scene switching event  (on 00:05:00)
Started plugin
Waited upto 00:06, nothing happens !!
Upload the log:   first OBS instance log
==================================================



=================================================================================================
Second OBS instance launched
Select profile / scene (step is necessary because the second instance opens with the profile/scene setting from the first instance) 

Stopped plugin (remark: strange the plugin is already running, I am sure I stopped it last time)
Added two simple Time based scene switching event  (on 00:11:00 and 00:12:00)

Started plugin
Waited upto 00:13, nothing happens !!
Upload the log:  second OBS instance log
=================================================================================================


What remarkable is that the plugin no longer appears to work at all on both instances  
My conclusion is that the plugin only worked for the very first time (after installation) when I opened only one instance  

Herman


----------



## Warmuptill (Jan 27, 2022)

According to the log files your system time is `Current Date/Time: 2022-01-27, 00:02:25` for the first log and it ends at 00:04:11.547.
So just outside of your configured time.
Similarily the second log starts at `Current Date/Time: 2022-01-27, 00:08:16` and ends at 00:09:41.022, before the configured scene switches.

Just to clarify:
Is your intention to switch scenes based on the current system time or based on the amount of time OBS is is running already?
(I would recommend to use the Macro tab's date condition / timer condition, but that's not strictly necessary)



Hemmie said:


> What remarkable is that the plugin no longer appears to work at all on both instances


Note that if you are not running one or both of the OBS instances in "portable mode" both instances might use the rely on the same configuration files and overwrite each other.



Hemmie said:


> Remark: strange the plugin is already running, I am sure I stopped it last time


The startup behaviour of the plugin can be configured on the General tab.


----------



## Hemmie (Jan 28, 2022)

Sorry Sorry Sorry, it's all my fault, I forgot to select the "scene transition"  !
It seems everything is working now.

Not a good turn from me the first time on this forum.

Thanks for your help.


----------



## RoGra (Jan 28, 2022)

Hi Warmuptill,

Is it possible to add (week)day and time option to Macro section of the switcher? That makes it little bit simpler for planning and clearer.

Something like as in this picture :)






Regards,
RoGra


----------



## Warmuptill (Jan 28, 2022)

RoGra said:


> Hi Warmuptill,
> 
> Is it possible to add (week)day and time option to Macro section of the switcher? That makes it little bit simpler for planning and clearer.
> 
> ...


Hello!
The macro section supports the "Date" condition type which should allow you configure what you are looking to do.


----------



## RoGra (Jan 28, 2022)

Warmuptill said:


> Hello!
> The macro section supports the "Date" condition type which should allow you configure what you are looking to do.
> View attachment 79599



Hello,

Yes that's correctly and i know about this Date option. We use your plugin for a TV channel, and for overview it's finer to
plan the macro's on weekdays and time (as i described in my image above) Then you can add one or multiple weekdays with
times, such as 'Time' tab.

Regards,
RoGra


----------



## Warmuptill (Jan 28, 2022)

RoGra said:


> Hello,
> 
> Yes that's correctly and i know about this Date option. We use your plugin for a TV channel, and for overview it's finer to
> plan the macro's on weekdays and time (as i described in my image above) Then you can add one or multiple weekdays with
> ...


I see - Thanks for the clarification!
I will add it to the todo list.


----------



## Warmuptill (Jan 29, 2022)

Warmuptill updated Advanced Scene Switcher with a new update entry:

Minor additions and fixes



> *Additions:*
> 
> Add "Sequence" macro action.
> 
> ...



Read the rest of this update entry...


----------



## Kretis (Jan 29, 2022)

Hey,

Firstly I would like to say that I really appreciate your work and this plugin especially!
I was wondering if it is possible to make the macro "file" able to read one specific line of text out of a file that contains multiple lines of text? For example if the text file had text:

Toplaner level 6
Midlaner level 5

Currently (at least I don't know how to make it work) the file has to state exactly what you write into the file macro writing zone. So I have to make tens of macros and tens of text files to make it do what I'm trying to accomplish. So theoretically if I added a rule that "if file matches midlane level 6 show source X" and then make another macro stating "if file matches toplane level 6 show source Y" all from one text file instead of making separate text files for all the macros.


----------



## Warmuptill (Jan 29, 2022)

Kretis said:


> Hey,
> 
> Firstly I would like to say that I really appreciate your work and this plugin especially!
> I was wondering if it is possible to make the macro "file" able to read one specific line of text out of a file that contains multiple lines of text? For example if the text file had text:
> ...


You can use "regular expressions" to achieve what you are looking to do.





Assuming you have a file with these contents:

```
line1
line2
line3
...
```

For example, if you would want to match the second line in particular and ignore whatever is part of line1 or line3 you can use this pattern:
`.*\r\nline2\r\n.*`

To match the contents of the third line only you could use:
`.*\r\n.*\r\nline3\r\n.*`

Explanation:

`.*` translates to match anything at all.
The sequence `\r\n` matches a new line.
So the above to examples would translate to:

Match anything at all followed by a new line, followed by the string "line2", followed by a new line, followed by anything at all
Match anything at all followed by a new line, followed by anything at all,  followed by a new line,  followed by the string "line3", followed by a new line, followed by anything at all.

Notes:

The examples above assume you are on Windows and are using default line endings.
Different operating systems might use different characters to indicate line endings by default.
The above examples have limitations as ".*" could also match a new line, which could cause issues if you have empty lines.
Regular expressions can be very complex.
You can use websites like https://regex101.com/ to experiment rather easily with different expressions.
Hope that helped! :)


----------



## Gitago (Jan 30, 2022)

is there any way to find/track which macro is triggering at any certain time? 

I have a bit of macros set up that worked fine previously, but I recently updated and now my macros are not working properly and theres so many i need to figure out whats triggering so i can put a stop to it.


----------



## Kretis (Jan 30, 2022)

Warmuptill said:


> You can use "regular expressions" to achieve what you are looking to do.
> 
> View attachment 79643
> 
> ...




Absolute lifesaver, thank you so much for your help and fast response!


----------



## Warmuptill (Jan 30, 2022)

Gitago said:


> is there any way to find/track which macro is triggering at any certain time?
> 
> I have a bit of macros set up that worked fine previously, but I recently updated and now my macros are not working properly and theres so many i need to figure out whats triggering so i can put a stop to it.


I would suggest to enable verbose logging (General tab) and having a look at the log file.
This will tell you the state of each condition and when a macro is being run.

Just make sure not to use the built in "log viewer" when verbose logging is enabled as it will not be able to handle this many log messages and cause OBS to freeze up.

But I should probably make this easier, by adding some sort of option on the UI which shows the active macros.

Update:
I have implemented an option to highlight which macros are currently being executed on the Macro tab.


 


A build with this change can be found here in a few minutes:








						Rename function · WarmUpTill/SceneSwitcher@0c29870
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				



Note that you have to be logged into GitHub to be able to download it and the build might not be the most stable.


----------



## mredodos (Feb 8, 2022)

hi guys, 

some one can help me ? 

i have multiple windows of visual studio and i stream me during the work, i switch a lot to one or more windows of visula studio
i have create a scene with 2 source and 2 of this windows on top of other.

now i try to achieve that result:

1 i want based on window focus automatically hide the source is not focused. 

How can i do that dynamically without specific the windows ?


----------



## Warmuptill (Feb 8, 2022)

mredodos said:


> hi guys,
> 
> some one can help me ?
> 
> ...


I don't think you will be able to achieve what you are looking to do without specifying _any _window name.
Without knowing your setup I would guess, that maybe you could create two macros like this - one just being the inverse of the other:





If that should cause issues, when switching to other programs, you could expand upon the macros by adding a check to test if the visual studio process (devenv.exe) is running and in focus, like so:



Maybe some other approaches might work for you also, e.g. switching source visibilty based on cursor position.
But for this you might have to give a more detailed description of what restrictions you have.

Hope that helped!
Let me know if you have any questions! :)


----------



## Warmuptill (Feb 10, 2022)

RoGra said:


> Hello,
> 
> Yes that's correctly and i know about this Date option. We use your plugin for a TV channel, and for overview it's finer to
> plan the macro's on weekdays and time (as i described in my image above) Then you can add one or multiple weekdays with
> ...


I got around to working on your request.
I modified the date condition to also support switching based on just the day of the week and a time as shown in your screenshot.



You can switch between the old, more detailed view and this new one by pressing the "Show advanced settings" button.

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








						Date time check · WarmUpTill/SceneSwitcher@2e57a1a
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				



(Note that you have to be logged into GitHub to be able to download it - let me know if that is an issue)

Let me know if everything works as expected! :)


----------



## JaySkowron (Feb 13, 2022)

Awesome plugin! I'm still somewhat new to OBS but I have an issue I was wondering if this plugin might help to resolve or if anyone has a suggestion.

I have an intro video scene that includes the audio in the file. The audio fades out slowly so we can begin talking over it, but...

I would like to be able to switch to our main cameras scene at a certain timeframe in the video, near the end. I know that's easily accomplished with this plugin, I've done it, and works great, but...

Switching the scene before the end of the video results in the audio cutting out abruptly. I "solved" this by copying the video to the main camera scene and putting it out of the frame so it finishes the video and audio completely, BUT...

Now the problem is that when I go back to the main camera scene, the audio from the video clip plays every time (video is off-frame so we don't see it). Yes, I could mute the audio every time I switch to the scene for the first time, but that's an extra keypress I don't want to do because I'll forget at some point.

Is there a setting either in this plugin, another plugin, or OBS itself, that can mute the audio of a source automatically when it's finished playing, OR prevent the source from being played more than once, OR, another solution I'm missing?

Thanks for your time! Hope that was clear.


----------



## AaronD (Feb 14, 2022)

JaySkowron said:


> Now the problem is that when I go back to the main camera scene, the audio from the video clip plays every time (video is off-frame so we don't see it). Yes, I could mute the audio every time I switch to the scene for the first time, but that's an extra keypress I don't want to do because I'll forget at some point.



Can you have two scenes for that camera?  One that you use manually, without the end of the intro; and the other to automatically follow the intro, that does have it?  Otherwise identical, and the hotkey of course goes to the manual one without the intro.


----------



## petjo10 (Feb 14, 2022)

Hi
Is it possible to change the time to switch to a specific scene from a text file?


----------



## Warmuptill (Feb 14, 2022)

JaySkowron said:


> Awesome plugin! I'm still somewhat new to OBS but I have an issue I was wondering if this plugin might help to resolve or if anyone has a suggestion.
> 
> I have an intro video scene that includes the audio in the file. The audio fades out slowly so we can begin talking over it, but...
> 
> ...


I think you can solve your issue by just not automatically restarting the playback once the intro video completes by changing the media sources settings.




If that automatically restarting the playback should be required I would recommend to use a macro similar to the following:




This way the intro video will be muted automatically after the playback ended.
Let me know if you have any questions! :)


----------



## Warmuptill (Feb 14, 2022)

petjo10 said:


> Hi
> Is it possible to change the time to switch to a specific scene from a text file?
> View attachment 80185


I don't think what you are trying to achieve is possible at the moment, but just to clarify:
Is your intention to ...

"switch to scene X, if the current system time is equal to the contents of a file"?
"switch to scene with name equal to contents of file at time Y "?


----------



## khaver (Feb 14, 2022)

petjo10 said:


> Hi
> Is it possible to change the time to switch to a specific scene from a text file?
> View attachment 80185


This could probably done from a Lua script.


----------



## petjo10 (Feb 14, 2022)

Thanks for answers!

I just want to change the time, e.g. 
10 to 11
14 to 15
22 to 23
But wondering if this can be done from a text file. My idea is that a person remotely should be able to change the time through a text file that can be shared via Microsoft drive. I can not use the web socket plugin as I will run several Obs Studio (portal mode).


----------



## Warmuptill (Feb 14, 2022)

petjo10 said:


> Thanks for answers!
> 
> I just want to change the time, e.g.
> 10 to 11
> ...


Ah I see.

In theory you could set up macros to import the plugin settings from a specified path every few minutes, ("Timer condition" and "Plugin state" action).
Then you could directly modify the plugin's settings file to achieve what you are looking to to.

However, I am not sure how practical that approach would be as the settings file can be rather complex and if you mess up the syntax no new settings will be loaded.
If you want to have a look at the settings file format you can save your current settings to a file using the "export settings" button on the General tab.

But if you are already messing with manually modifying json files it is probably easier to just try to set up a simple script as suggested by @khaver.


----------



## loudroom (Feb 15, 2022)

Hey Warmuptill, thank you so much for this awesome plugin, I've been loving it! 

One issue I've had ever since I got the plugin about 6 months ago is that the hotkey I set for the Advanced Scene Switcher to toggle on/off (or same if I set different hotkeys for on and off) just stops working after having OBS open for a while. It usually works fine for at least ~10 minutes, but at some point after that it always stops working.

I have tried every version you've released, and I'm currently on the most recent updated which I just installed today. 

Any ideas? It's becoming pretty cumbersome because I'm a music streamer and I turn the switcher off in between every song, so I now have to use my mouse to go and turn the switcher on/off every 5 minutes. 

Thanks for any help you can provide!


----------



## EnzoCast (Feb 15, 2022)

How do I uninstall this plugin on a Mac?


----------



## AaronD (Feb 15, 2022)

loudroom said:


> ...I'm a music streamer and I turn the switcher off in between every song...



Why?  It seems to me like constantly turning it on and off entirely, is not the intended use.  Maybe your triggers need to be refined?


----------



## lindenkron (Feb 15, 2022)

EnzoCast said:


> How do I uninstall this plugin on a Mac?


Remove the files from the OBS plugin folders, like any other plugin. It's more a general OBS question, you can either google it or ask for help in the discord :)



AaronD said:


> Why?  It seems to me like constantly turning it on and off entirely, is not the intended use.  Maybe your triggers need to be refined?


I agree with this sentiment.

You need to change your conditions to meet the usecase that you want.


----------



## loudroom (Feb 15, 2022)

loudroom said:


> Hey Warmuptill, thank you so much for this awesome plugin, I've been loving it!
> 
> One issue I've had ever since I got the plugin about 6 months ago is that the hotkey I set for the Advanced Scene Switcher to toggle on/off (or same if I set different hotkeys for on and off) just stops working after having OBS open for a while. It usually works fine for at least ~10 minutes, but at some point after that it always stops working.
> 
> ...



I've been doing more testing and it seems like this is happening with all my hotkeys in OBS after a while, and only when the OBS window is not in focus, even though I have my "Hotkey Focus Behaviour" set to "Never Disable Hotkeys". 

So anyways, not your issue! Sorry!


----------



## loudroom (Feb 15, 2022)

AaronD said:


> Why?  It seems to me like constantly turning it on and off entirely, is not the intended use.  Maybe your triggers need to be refined?



I would love if you have some ideas of how I can redefine my triggers to better suit my use case!

So currently I will talk to my chat for a bit using my "front camera" scene, and then when I'm about to start singing a song I will turn the switcher on so that it will switch between my "front camera" and "side camera" scenes every 45 seconds while I play the song. 

Then when I'm done the song I want to go back to only speaking to the front camera again, so I turn the switcher off. 

Any ideas of how to better my workflow?


----------



## Warmuptill (Feb 15, 2022)

EnzoCast said:


> How do I uninstall this plugin on a Mac?


Assuming you installed it with the provided installer just remove the following folder:
`/Library/Application Support/obs-studio/plugins/advanced-scene-switcher/`


----------



## Warmuptill (Feb 15, 2022)

loudroom said:


> I would love if you have some ideas of how I can redefine my triggers to better suit my use case!
> 
> So currently I will talk to my chat for a bit using my "front camera" scene, and then when I'm about to start singing a song I will turn the switcher on so that it will switch between my "front camera" and "side camera" scenes every 45 seconds while I play the song.
> 
> ...


Just an idea without really knowing your setup:
You could try to monitor the volume level of an audio source to automatically trigger the scene switching to start.
Assuming your voice is a separate audio input inside OBS compared to the instrumentals you could set up the following macros:

The loop to switch from front to side scene:



The macro to automatically activate the scene switches:



The macro to automatically stop the scene switches and return to the front camera scene:



But this of course just an idea - not sure if it will fit your exact use case.
Let me know if you have questions! :)


----------



## loudroom (Feb 16, 2022)

Warmuptill said:


> Just an idea without really knowing your setup:
> You could try to monitor the volume level of an audio source to automatically trigger the scene switching to start.
> Assuming your voice is a separate audio input inside OBS compared to the instrumentals you could set up the following macros:
> 
> ...



That's a really cool idea, very smart! But unfortunately all of my audio is coming from the same source, so there's no differentiating what is instrumentals and what is vocals. I use Loopback to get my audio out of Ableton Live and into OBS on one audio track.


----------



## AaronD (Feb 16, 2022)

loudroom said:


> That's a really cool idea, very smart! But unfortunately all of my audio is coming from the same source, so there's no differentiating what is instrumentals and what is vocals. I use Loopback to get my audio out of Ableton Live and into OBS on one audio track.



What if you had two scenes for the front camera?  One of them stays there forever, and the other has the 45-second timer to go to the side camera.  The side cam, of course, also has a 45-second timer to go to the timed front cam.  Your switching then, is to go to the timed front cam or the forever front cam.  Depending on the transition, the audience won't know the difference.


----------



## ad1562 (Feb 16, 2022)

Dear @Warmuptill:

First of all, fantastic plugin, thank you! I have functionality question, _or perhaps a feature request if the functionality doesn't already exist_.

Is it possible to setup Macros whose conditions are based on *OBS Stats*. For example, *If average-frame-time is greater than 15000 ms, disable filter XYZ on source ABC*

Thanks again for a great plugin, and thanks in advance for your response.

Regards,
Alex


----------



## Dan39 (Feb 16, 2022)

Tip for others that may be trying to use "use regular expression (pattern matching)" for matching File contents, Advanced Scene Switcher runs this regular expression, which is a "QRegExp" (from QT library that OBS uses I think), using the "exactMatch" function. This means the regular expression must match the entire contents of the file. This is a little different than most regex implementations where for example if the file contained "hello world" and your regex was "ello", it would match. With Advanced Scene Switcher your regular expression would have to be ".*ello.*" to match. Also, with the QRegExp implementation and matching against the entire file contents, be aware that if your file contains just 1 line like "hello world", it will often also have a EOL aka newline character (like \n or \r\n) at the end which you must also include some how in your regular expression, or be sure to not include in your file (for example, in linux by using "echo -n sometext >/path/to/file" instead of "echo sometext >/path/to/file"). This was the problem I ran into. I decided to just use "echo -n" so that the newline character does not get added to the file. I am using regex to do patterns like "TextA|TextB|TextC" to OR-match various specific strings elegantly(imo).

Hope this helps!


----------



## Warmuptill (Feb 16, 2022)

ad1562 said:


> Dear @Warmuptill:
> 
> First of all, fantastic plugin, thank you! I have functionality question, _or perhaps a feature request if the functionality doesn't already exist_.
> 
> ...


Glad you like the plugin.
At the moment this is not possible.
I will look into it - thanks for the suggestion!


----------



## Dan39 (Feb 16, 2022)

Hello, thank you for the amazing plugin! I am wondering, how are the If Conditions evaluated in macros when there are multiple? Is there an order of precedence, like AND gets evaluated before OR? It is very confusing without a way to group together conditions like you can in a programming language with parenthesis.

For example, I believe i tried something like below but it did not work at all as I would hope:

If scene = intro
AND File contents matches ABC
OR File contents matches DEF
OR File contents matches GHI


----------



## Warmuptill (Feb 16, 2022)

Dan39 said:


> Hello, thank you for the amazing plugin! I am wondering, how are the If Conditions evaluated in macros when there are multiple? Is there an order of precedence, like AND gets evaluated before OR? It is very confusing without a way to group together conditions like you can in a programming language with parenthesis.
> 
> For example, I believe i tried something like below but it did not work at all as I would hope:
> 
> ...


Th conditions are evaluated in order from top to bottom so your example would evaluate to:
`((((scene == intro) && File matches ABC) || File matches DEF) || File matches GHI)`
Note that you can also nest other macros' conditions inside a macro to simplify your setups.
For example you can set one macro to just check the file content:
`File Content Macro: (((File matches ABC) || File matches DEF) || File matches GHI)`
And then use this condition in another macro:
`Example Macro: ((scene == intro) && "File Content Macro" evaluates to true)`





I assume something similar to this is probably what you tried to achieve.
Let me know if you have questions! :)


----------



## petjo10 (Feb 16, 2022)

Warmuptill said:


> Ah I see.
> 
> In theory you could set up macros to import the plugin settings from a specified path every few minutes, ("Timer condition" and "Plugin state" action).
> Then you could directly modify the plugin's settings file to achieve what you are looking to to.
> ...



Would it be possible to add a import fuction to import a textfile with the "right" time?


----------



## EnzoCast (Feb 16, 2022)

Warmuptill said:


> Assuming you installed it with the provided installer just remove the following folder:
> `/Library/Application Support/obs-studio/plugins/advanced-scene-switcher/`


I don't have that folder?


----------



## Warmuptill (Feb 17, 2022)

EnzoCast said:


> I don't have that folder?View attachment 80358


Make sure you are not looking into your user's home directory Library folder, but the system's Library folder.



petjo10 said:


> Would it be possible to add a import fuction to import a textfile with the "right" time?
> View attachment 80341


I want to focus most of my development time on the macro tab.
And this is a very niche use case so I don't think many users will find this functionality to be helpful.
Even for your described purpose it would not really save much time as you would still have to manually press this button every few minutes to make sure you are always up to date.
So I doubt that I will get around to implementing such a functionality.
I am sorry to disappoint, but I hope you understand. :(

I would suggest to instead look into setting up a custom basic script to achieve what you are looking to do.


----------



## siemens (Feb 17, 2022)

How to view the current version number


----------



## Dan39 (Feb 17, 2022)

siemens said:


> How to view the current version number


If you go to Tools -> Advanced Scene Switcher, it is in the window title.


----------



## siemens (Feb 18, 2022)

Dan39 said:


> If you go to Tools -> Advanced Scene Switcher, it is in the window title.


It is useful, thanks!~


----------



## Bygrilinho (Feb 19, 2022)

Hello there!
Could you make it possible to transition to the same scene in the Switch scene action? Would be very useful for showing/hiding items in studio mode, currently I'm hiding, setting it as preview and swaping preview/program. Making this possible would simplify things!

Also, is it possible to automate renaming scenes? I don't need the macros to adjust automatically, it's simply to help with a remote control program I'm using, more of a visual thing, not really important. Yeah it's pretty stupid but asking won't hurt I guess :P


----------



## Warmuptill (Feb 20, 2022)

Bygrilinho said:


> Could you make it possible to transition to the same scene in the Switch scene action? Would be very useful for showing/hiding items in studio mode, currently I'm hiding, setting it as preview and swaping preview/program. Making this possible would simplify things!


I hope I understood your request correctly.



I now enabled selecting "Current scene" (and "Previous scene") as a target for the "Switch preview scene" action:

A build with this change can be found here in a few minutes:








						Allow selecting current and previous scene in preview scene action · WarmUpTill/SceneSwitcher@0c9a962
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				



Note that you have to be logged into GitHub to be able to download the build.



Bygrilinho said:


> Also, is it possible to automate renaming scenes? I don't need the macros to adjust automatically, it's simply to help with a remote control program I'm using, more of a visual thing, not really important. Yeah it's pretty stupid but asking won't hurt I guess :P


At the moment I have not planned on adding something like this - not sure how much use it would find.
But thanks for the suggestion.


----------



## RoGra (Feb 20, 2022)

Warmuptill said:


> I got around to working on your request.
> I modified the date condition to also support switching based on just the day of the week and a time as shown in your screenshot.
> View attachment 80009
> You can switch between the old, more detailed view and this new one by pressing the "Show advanced settings" button.
> ...



Thank you, working as expected!


----------



## Bygrilinho (Feb 20, 2022)

Warmuptill said:


> I hope I understood your request correctly.
> View attachment 80625
> I now enabled selecting "Current scene" (and "Previous scene") as a target for the "Switch preview scene" action:
> 
> ...


Sorry, I should have worded it better... Let's say I have a scene called "Scene A". Scene A is already in program view.
Suppose I used a macro to hide some text, but since I'm in studio mode it doesn't hide immediately.

So I make it "switch" to the same scene, like this:



However, the transition never happens because I'm already in the scene

I want the transition to happen even if I'm already in the scene, so I can make changes inside the same scene while in studio mode.



Warmuptill said:


> At the moment I have not planned on adding something like this - not sure how much use it would find.
> But thanks for the suggestion.


That's fair. If you're curious, I'm using an Android app to control my stream, and I can set icons for scenes. The icons are saved based on the scene name. I wanted to make a toggle-like scene, and make the icon switch accordingly (show on/off)



Like I said, pretty stupid, do as you please :)


----------



## lindenkron (Feb 21, 2022)

Bygrilinho said:


> Sorry, I should have worded it better... Let's say I have a scene called "Scene A". Scene A is already in program view.
> Suppose I used a macro to hide some text, but since I'm in studio mode it doesn't hide immediately.
> 
> So I make it "switch" to the same scene, like this:
> ...


This entire post confuses me.

If I go to Scene A in my OBS and have a text file showing. I enable Studio mode. Change to another scene, then use my stream deck to hide that text => It hides it *immediately*.


----------



## Bygrilinho (Feb 21, 2022)

lindenkron said:


> This entire post confuses me.
> 
> If I go to Scene A in my OBS and have a text file showing. I enable Studio mode. Change to another scene, then use my stream deck to hide that text => It hides it *immediately*.


But I DON'T change to another scene.
That's my whole point, I want the transition to happen, because while it hides immediately in PREVIEW, I still need to transition to PROGRAM


----------



## lindenkron (Feb 21, 2022)

Bygrilinho said:


> But I DON'T change to another scene.
> That's my whole point, I want the transition to happen, because while it hides immediately in PREVIEW, I still need to transition to PROGRAM


That's not how transitions work. They go from A > B.

So is what you're saying that you want to hide your screen while you enable or disable a text?

In that case, could you not just put something on your screen (like the transition) in a Media Source file, drag it to the top of the scene (in sources) and enable that? Then it would play, and you could do whatever you want with text files.


----------



## AaronD (Feb 21, 2022)

lindenkron said:


> That's not how transitions work. They go from A > B.
> 
> So is what you're saying that you want to hide your screen while you enable or disable a text?
> 
> In that case, could you not just put something on your screen (like the transition) in a Media Source file, drag it to the top of the scene (in sources) and enable that? Then it would play, and you could do whatever you want with text files.



I think he wants to show/hide sources in a scene while the scene is live.  When he tries that, it works in Preview, but Program (and the audience) stays as it is.  In order to make that change visible to the audience, he has to change scenes ("transition"), even if it's the same scene.  (select and fire scene A, while scene A is already live)

Mine does that too, by the way.  I have the same text overlay on at least 3 different scenes, and hotkeys to show/hide it.  If I show one of those scenes to the audience (Program), cue up the same scene again in Preview, and use that hotkey; the Preview changes, but not the Program/audience.  If I then fire ("transition to") the Previewed scene, which is technically the same scene as Program, *then* the overlay shows/hides to the audience.

It seems like this is not really a problem with Adv-SS, but rather a (sometimes useful) quirk in OBS itself.  (a "be careful of what the audience sees, and allow for a final check and correction before committing," sort of mentality)  There might be some API tricks to get around it though, that Adv-SS can use; or maybe a function that just does this and is only accessible from the API and not the UI.


----------



## Warmuptill (Feb 21, 2022)

Bygrilinho said:


> Sorry, I should have worded it better... Let's say I have a scene called "Scene A". Scene A is already in program view.
> Suppose I used a macro to hide some text, but since I'm in studio mode it doesn't hide immediately.
> 
> So I make it "switch" to the same scene, like this:
> ...


I see what you mean.
A build where switching to the already active scene is enabled (while studio mode is active) can be found here in a few minutes:








						Allow switching to already active scene if in studio mode · WarmUpTill/SceneSwitcher@779646c
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				



Let me know if everything works as expected.

Just in case you are not aware and it might be useful for your setup:
A separate action exists to allow you to swap the preview and progam scene.


----------



## BeoMulf (Feb 22, 2022)

Hi, thanks for making such an awesome plugin! I have a VLC source playlist of unknown length (some amount of game highlights from a recent match) - is there a way to transition to a different scene_ just before the last video in the playlist ends_? I understand the media transition has a "played to end" source, but that leaves a brief instant of black screen before the stinger rolls in. I would ideally set the transition to happen 500ms or something prior to the final video in the playlist finishing playing.


----------



## Warmuptill (Feb 22, 2022)

BeoMulf said:


> Hi, thanks for making such an awesome plugin! I have a VLC source playlist of unknown length (some amount of game highlights from a recent match) - is there a way to transition to a different scene_ just before the last video in the playlist ends_? I understand the media transition has a "played to end" source, but that leaves a brief instant of black screen before the stinger rolls in. I would ideally set the transition to happen 500ms or something prior to the final video in the playlist finishing playing.


Glad you like the plugin!
I am afraid I don't think this is possible at the moment.
Last time I checked there was no OBS API to query the total length of a playlist.
But as you were not the first one to request this functionality in regards to playlists of unknown length I will try to see if I can maybe find a workaround.
I can't promise a solution soon though.


----------



## BeoMulf (Feb 22, 2022)

Warmuptill said:


> Glad you like the plugin!
> I am afraid I don't think this is possible at the moment.
> Last time I checked there was no OBS API to query the total length of a playlist.
> But as you were not the first one to request this functionality in regards to playlists of unknown length I will try to see if I can maybe find a workaround.
> I can't promise a solution soon though.


That makes sense! I figured it wasn't hooked out, so I guess I just need to manually do it. Is there a way to prevent the black screen that pops up as the playlist ends? It doesn't happen if the playlist just runs to end, only shows up with advanced scene switcher active


----------



## Warmuptill (Feb 22, 2022)

BeoMulf said:


> That makes sense! I figured it wasn't hooked out, so I guess I just need to manually do it. Is there a way to prevent the black screen that pops up as the playlist ends? It doesn't happen if the playlist just runs to end, only shows up with advanced scene switcher active


Hm, I am a bit surprised by that.
The plugin should not really affect the video output of the media source in any way, so I am not sure why the black screen is happening only when using the advanced scene switcher.
What is displayed instead of the black screen when not using the plugin?
What exactly have you configured in the advanced scene switcher in regards to that media source?


----------



## BeoMulf (Feb 23, 2022)

Warmuptill said:


> Hm, I am a bit surprised by that.
> The plugin should not really affect the video output of the media source in any way, so I am not sure why the black screen is happening only when using the advanced scene switcher.
> What is displayed instead of the black screen when not using the plugin?
> What exactly have you configured in the advanced scene switcher in regards to that media source?


Odd, I went to go check it so I could provide screenshots and now I'm getting the black screen 100% of the time, so I guess this is the expected response of VLC Media sources, which is frustrating.


----------



## Bygrilinho (Feb 23, 2022)

Warmuptill said:


> I see what you mean.
> A build where switching to the already active scene is enabled (while studio mode is active) can be found here in a few minutes:
> 
> 
> ...


Works perfectly, thank you!
I am aware of the swap scene action, but using it means I have to set the preview scene first. I was doing that until now, but this simplifies the process.


lindenkron said:


> That's not how transitions work. They go from A > B.
> 
> So is what you're saying that you want to hide your screen while you enable or disable a text?
> 
> In that case, could you not just put something on your screen (like the transition) in a Media Source file, drag it to the top of the scene (in sources) and enable that? Then it would play, and you could do whatever you want with text files.


When I show/hide something in a scene while in studio mode, the item doesn't immediately get hidden, you first have to run a transition to go to the changed state
So yes, a transition can go from A > A in this case

If it's still confusing check this:


----------



## Paul E. (Feb 23, 2022)

What a great plugin! Here's my situation:

I have a long sequence of scenes--in the neighborhood of 70. When in Studio mode, for each scene that becomes active in the Program window, I'd like the following scene to come up in the Preview window. That way, I can just keep pressing the Transition button to go from scene to scene, while still previewing each. I know I can use this plugin to create macros for each scene to accomplish this, but is there some way I can do it without having to manually create 70 macros?

Thanks,
Paul


----------



## Warmuptill (Feb 23, 2022)

Paul E. said:


> What a great plugin! Here's my situation:
> 
> I have a long sequence of scenes--in the neighborhood of 70. When in Studio mode, for each scene that becomes active in the Program window, I'd like the following scene to come up in the Preview window. That way, I can just keep pressing the Transition button to go from scene to scene, while still previewing each. I know I can use this plugin to create macros for each scene to accomplish this, but is there some way I can do it without having to manually create 70 macros?
> 
> ...


Hm, that's an interesting scenario.
I think it might make sense to use the "Scene Group" tab here:

As the name suggests a Scene Group is a collection of multiple scenes.
Scene Groups can be used as a target for scene switch actions just like a regular scene can be.
However each time a Scene Group is selected as a target for a scene switch action of course only one actual scene can be finally chosen.
The scene which is chosen to be switched to depends on the logic set up for each particular Scene Group.

For your example you will need a Scene Group similar to the following:




The above example obviously only contains three example scenes - test1, test2, and test3 - but you get the idea.
The important settings are "Type: Count" and "Advance to next scene after 1 matches", which will make sure to advance to the next scene in the list of scenes each time "Example Scene Group" is being chosen as the target of a scene switch action.

Finally you will have to create a macro which will change the currently active preview scene to the "Example Scene Group".
In the following example a hotkey named "Advance to next scene" is used to trigger this preview scene change.




Unfortunately I had disabled selecting Scene Groups as the target for the "Switch preview scene" action as I couldn't think of a use case where this would be useful.
So with the currently released version you will not be able to select your Scene Group.
A build where this functionality is enabled can be found here in a few minutes:








						Allow selecting current and previous scene in preview scene action · WarmUpTill/SceneSwitcher@c853c36
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				



Note that you have to be logged into GitHub to be able to download this build.
Please let me know if that should be an issue for you and I can try to share it via other means.

Hope that helped!
Let me know if you have any issues or questions!


----------



## Paul E. (Feb 23, 2022)

Thank you very much! That was almost what I was looking for. Every time I press the hotkey, it does advance the Preview window as desired, but, it doesn't affect the Program window. Ideally, I'd like to press one button and have what's in the Preview window transition into the Program window as well as have the Preview window advance to the next scene. So here's what I did. I set the OBS "Transition" hotkey to the same hotkey that activates the macro. Does that sound reasonable?


----------



## dbsoundman (Feb 24, 2022)

I'm on day two of OBS, learned a lot today and I'm really happy with advanced scene switcher, but I'm having trouble with one particular function.

What I want to do is automatically switch to a different scene (a photo slide show) when a video ("media source") ends.

I've tried both of the methods shown in the attached screenshot, and neither works. When the video gets to the end, it just shows a black screen and the scene never switches. The other functions in Advanced Scene Switcher seem to work, so it's just this one that's troubling me and I'm not sure why.

The only unique thing I can think of about my setup is I am not streaming to any web service (e.g. youtube); I installed the RTSP server plugin, so that's my only streaming output, and as such, OBS doesn't technically think I'm streaming.

I'm hoping I'm missing something obvious here!


----------



## AaronD (Feb 24, 2022)

dbsoundman said:


> I'm on day two of OBS, learned a lot today and I'm really happy with advanced scene switcher, but I'm having trouble with one particular function.
> 
> What I want to do is automatically switch to a different scene (a photo slide show) when a video ("media source") ends.
> 
> ...



Do you have a "Played to End" option?  I don't know what the difference is, but that one works for me.


----------



## Warmuptill (Feb 24, 2022)

Paul E. said:


> Thank you very much! That was almost what I was looking for. Every time I press the hotkey, it does advance the Preview window as desired, but, it doesn't affect the Program window. Ideally, I'd like to press one button and have what's in the Preview window transition into the Program window as well as have the Preview window advance to the next scene. So here's what I did. I set the OBS "Transition" hotkey to the same hotkey that activates the macro. Does that sound reasonable?


Sure, that sounds reasonable.

Alternatively if you just want to move all those actions into the macro you could also add a "Swap scene" action followed by a "Wait" action before the "Switch preview scene".



(The wait will be necessary as the "swap scene" action will itself trigger a change in preview scene.)



dbsoundman said:


> I'm on day two of OBS, learned a lot today and I'm really happy with advanced scene switcher, but I'm having trouble with one particular function.
> 
> What I want to do is automatically switch to a different scene (a photo slide show) when a video ("media source") ends.
> 
> ...


Unfortunately it is very difficult to help without having the information what else you have configured in the scene switcher.
The reason for that is that other switching methods with a higher priority could "block" the media tab from executing its scene switch.

For that reason I would recommend transitioning to the Macro tab.
This would be an example of what you would have to configure:



If you prefer to use the media tab instead and want to investigate this issue further please export your current settings to a file (General tab) and also provide a log of the issue with verbose logging enabled (General tab).


----------



## dbsoundman (Feb 24, 2022)

Warmuptill said:


> Unfortunately it is very difficult to help without having the information what else you have configured in the scene switcher.
> The reason for that is that other switching methods with a higher priority could "block" the media tab from executing its scene switch.
> 
> For that reason I would recommend transitioning to the Macro tab.
> ...



I did find my issue, I didn't notice that the Media tab had a horizontal scrollbar, so I neglected to select the Transition method. Once I set that up, it started working great!

That being said, I will look into the Macro tab more, as I think it might provide more flexibility. I'd like to do things like start a short video at a certain time, then follow with a longer video, and doing this with a combination of the Time and Media tabs can get really confusing.


----------



## Warmuptill (Feb 24, 2022)

ad1562 said:


> Dear @Warmuptill:
> 
> First of all, fantastic plugin, thank you! I have functionality question, _or perhaps a feature request if the functionality doesn't already exist_.
> 
> ...


I now got around to implement this functionality:



Besides average frame time a few other stats are also supported. (E.g. dropped frames, current fps, cpu usage, etc.)

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








						Add 'OBS stats' condition type · WarmUpTill/SceneSwitcher@d3d6783
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				



Note that you have to be logged into GitHub to be able to download this build.
Let me know if everything works as expected! :)


----------



## Paul E. (Feb 25, 2022)

Warmuptill said:


> Sure, that sounds reasonable.
> 
> Alternatively if you just want to move all those actions into the macro you could also add a "Swap scene" action followed by a "Wait" action before the "Switch preview scene".
> View attachment 80889
> (The wait will be necessary as the "swap scene" action will itself trigger a change in preview scene.)



Ah! That's a better solution in my opinion. Thank you, again!


----------



## Warmuptill (Feb 27, 2022)

Warmuptill updated Advanced Scene Switcher with a new update entry:

Macro tab UI improvements



> *Additions:*
> 
> Added "OBS stats" condition type.
> 
> ...



Read the rest of this update entry...


----------



## Tormy (Feb 27, 2022)

Damn, I've updated and I lost ALL the settings I have made with the previous version.

Moreover each time I start it, it appears the window "this seems to be the first time..."

EDIT: fortunately I had a document where I wrote what I did, and I recovered quickly


----------



## Warmuptill (Feb 27, 2022)

Tormy said:


> Damn, I've updated and I lost ALL the settings I have made with the previous version.
> 
> Moreover each time I start it, it appears the window "this seems to be the first time..."


I cannot replicate this behaviour and explicitly test for that before making a new release.
Are you sure that you are not accidentally using a different scene collection than you normally do / start up OBS in portable mode while you usually don't?
When the message "this seems to be the first time..." always pops up that would mean that no settings can be saved at all.
Maybe you changed something in regards to file permissions?

I still have a few more questions:

Which OS are you using?
Which version of OBS are you using?
What was the previously installed version of the plugin?
Where you propmpted to back up your current plugin settings?


----------



## Tormy (Feb 27, 2022)

Warmuptill said:


> I cannot replicate this behaviour and explicitly test for that before making a new release.
> Are you sure that you are not accidentally using a different scene collection than you normally do / start up OBS in portable mode while you usually don't?
> When the message "this seems to be the first time..." always pops up that would mean that no settings can be saved at all.
> Maybe you changed something in regards to file permissions?



Hi Warmuptill

Thank you for your reply.

Last time I used it, it was yesterday at around midnight, and I saved the scene settings (as I usually do) in a JSON file.
It was working excellently since your script is a great help to automate many things.

I just came across the update right now, and I did it. BUt ti returned the issue I highlighted.
I quickly recovered since I also saved all the "scene to scene" on a file (normally is OneNote tab where I put all these notations).

Once I recovered everything, also the message "it seems it is the first time..." stopped to appear.

Hence, I didn't change anything rather than update this plugin.

While I'm writing here, I still working to OBS (I need for an articulated conference, next week).

I'm trying also to figure out how to turn off the virtual cam, after 5 seconds a scene was selected


----------



## Warmuptill (Feb 27, 2022)

Very strange - Please do let me know if you can somehow narrow down what caused this to happen as this would be a very critical issue.



Tormy said:


> I'm trying also to figure out how to turn off the virtual cam, after 5 seconds a scene was selected


Maybe something like this will do the trick?


----------



## Tormy (Feb 28, 2022)

Warmuptill said:


> Very strange - Please do let me know if you can somehow narrow down what caused this to happen as this would be a very critical issue.
> 
> 
> Maybe something like this will do the trick?
> View attachment 81044



First of all, thank you for your hint. It worked fantastically

About the issue: I have not clue what caused it.. I rolled back and forward and it didn't pop up.
I have not clue what caused it.

I always updated your script without any issue at all. Just all updates worked out.
This is the only one for which I got strange behavior.

Later I will try also on another machine (I can't do much experiments on this machine, because I need OBS ready for a client service within this week, and I'm working on it to get it ready)


----------



## ad1562 (Mar 2, 2022)

Warmuptill said:


> I now got around to implement this functionality:
> View attachment 80901
> Besides average frame time a few other stats are also supported. (E.g. dropped frames, current fps, cpu usage, etc.)
> 
> ...



You're a legend! I have yet to check out the functionality, but will do so soon and report back. Thanks!


----------



## Bygrilinho (Mar 3, 2022)

AaronD said:


> I think he wants to show/hide sources in a scene while the scene is live.  When he tries that, it works in Preview, but Program (and the audience) stays as it is.  In order to make that change visible to the audience, he has to change scenes ("transition"), even if it's the same scene.  (select and fire scene A, while scene A is already live)
> 
> Mine does that too, by the way.  I have the same text overlay on at least 3 different scenes, and hotkeys to show/hide it.  If I show one of those scenes to the audience (Program), cue up the same scene again in Preview, and use that hotkey; the Preview changes, but not the Program/audience.  If I then fire ("transition to") the Previewed scene, which is technically the same scene as Program, *then* the overlay shows/hides to the audience.
> 
> It seems like this is not really a problem with Adv-SS, but rather a (sometimes useful) quirk in OBS itself.  (a "be careful of what the audience sees, and allow for a final check and correction before committing," sort of mentality)  There might be some API tricks to get around it though, that Adv-SS can use; or maybe a function that just does this and is only accessible from the API and not the UI.


I kinda forgot about this, but you can actually disable this behavior in OBS, right next to the transition button, there's a setting called "Duplicate scenes", perhaps this is disabled for @lindenkron so that's why this didn't make sense. I do find it useful though, and I like to keep it enabled :)


----------



## loudroom (Mar 3, 2022)

AaronD said:


> What if you had two scenes for the front camera?  One of them stays there forever, and the other has the 45-second timer to go to the side camera.  The side cam, of course, also has a 45-second timer to go to the timed front cam.  Your switching then, is to go to the timed front cam or the forever front cam.  Depending on the transition, the audience won't know the difference.


Ooooh now that might work!! I'm going to give this a shot for sure, thank you so much :)


----------



## qwe1154323937 (Mar 5, 2022)

Hello, I updated the Chinese localization file of 1.17.4. Please add it to the compressed file.
I found a known bug and an unknown bug.

Macro -- Transition

AdvSceneSwitcher.condition.transition.type.transitionSource="转场特效来自"
AdvSceneSwitcher.condition.transition.type.transitionTarget="转场特效到"

Their option buttons are misplaced.
There is also an unknown dislocation button. It appears when I check whether there is any untranslated text. After debugging, it no longer appears, but it must be caused by a bug. I didn't turn on the log output, so I don't know what problem caused it.
This error may show the button to select the source or scene


----------



## Warmuptill (Mar 5, 2022)

qwe1154323937 said:


> Hello, I updated the Chinese localization file of 1.17.4. Please add it to the compressed file.
> I found a known bug and an unknown bug.
> 
> Macro -- Transition
> ...


Thank you very much!
I will make sure to include it in the next release.

Regarding the buttons / other widgets which are "floating" around:
I use a function to place the widgets according to placeholders in the locale file.
Widgets placeholders are marked by two sets of curly braces. For example: `{{button}}`
If there is a translation for something which is intended to place some widget, but is not using all of the `{{widget}}` placeholders it will result in the plugin not knowing where to place a particular widget.
In that case the widget will just live in a separate window to the rest of the plugin.

So by providing an updated version of the Chinese translation you have most likely already resolved the issue - so thank you again for that! :)


----------



## qwe1154323937 (Mar 5, 2022)

Warmuptill said:


> Thank you very much!
> I will make sure to include it in the next release.
> 
> Regarding the buttons / other widgets which are "floating" around:
> ...



The solution is to wait for your next version update? If so, there will be no problem. If not, where do I need to put {widget}}?


----------



## Warmuptill (Mar 5, 2022)

qwe1154323937 said:


> The solution is to wait for your next version update? If so, there will be no problem. If not, where do I need to put {widget}}?


Yes, you can just wait for the next release and it should be fixed - But I don't know yet when that will be.
I added an automated test which checks for any issues in the locale files so these kinds of problems can be found more easily on my end.

A build with your locale files will be available here in a few minuets in case you already want to try it:








						CI: Add automated check for invalid locale files · WarmUpTill/SceneSwitcher@957a0ad
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				



But note that you have to be logged into GitHub to be able to download it.


----------



## qwe1154323937 (Mar 6, 2022)

Warmuptill said:


> Yes, you can just wait for the next release and it should be fixed - But I don't know yet when that will be.
> I added an automated test which checks for any issues in the locale files so these kinds of problems can be found more easily on my end.
> 
> A build with your locale files will be available here in a few minuets in case you already want to try it:
> ...


Thank you for your help. I think I'd better wait for the update, because I can't understand it ~ XP


----------



## ottawafro (Mar 7, 2022)

Does anyone else have an issue with the latest update whereas it does not allow you to edit your macro. 
Everytime i have tried , it crashed. Doesn't load the macro details , just crashes. 

Macros work but plugin crashes OBS when trying to modify .


----------



## ottawafro (Mar 7, 2022)

ottawafro said:


> Does anyone else have an issue with the latest update whereas it does not allow you to edit your macro.
> Everytime i have tried , it crashed. Doesn't load the macro details , just crashes.
> 
> Macros work but plugin crashes OBS when trying to modify .


DISREGARD -> REBOOT FIXED


----------



## Warmuptill (Mar 7, 2022)

ottawafro said:


> DISREGARD -> REBOOT FIXED


I case you have some crash logs of these situations I will still be interested in having a look at them, just in case it was indeed caused by this plugin.


----------



## Hewie (Mar 7, 2022)

Hi! I have a show where I have 4 people with mics and 4 cameras, one for each host. How would I set it up so whoever is talking at the current moment, I can switch the OBS scene to their camera? 
I already have 4 audio levels of the different presenters in OBS. 
Thanks!


----------



## Warmuptill (Mar 7, 2022)

Hewie said:


> Hi! I have a show where I have 4 people with mics and 4 cameras, one for each host. How would I set it up so whoever is talking at the current moment, I can switch the OBS scene to their camera?
> I already have 4 audio levels of the different presenters in OBS.
> Thanks!


I would suggest to set up four macros similar to this one:



You will probably have to tweak the volume threshold and time restrictions to your liking.
Let me know if you have any questions.


----------



## AaronD (Mar 7, 2022)

Warmuptill said:


> I would suggest to set up four macros similar to this one:
> View attachment 81413
> You will probably have to tweak the volume threshold and time restrictions to your liking.
> Let me know if you have any questions.



That's about what I would have done too, which leaves the uncertainty of what happens when they all try to talk over each other, or if there's some noise that happens to be above the threshold for that mic but still less than the current (actual) speaker.  Is there a priority scheme?  Or better yet, a sort of Dan Dugan automixing algorithm (*) with not only an audio output but also an indication of the applied levels that can be used instead of the audio itself to switch scenes?

(*) The Dan Dugan algorithm is essentially a bunch of cross-coupled compressor/expanders. Each channel expands itself and compresses the rest, with all N of the level-detection signals added together N separate times with the right polarity for each, to drive the N gain elements, one for each channel, before mixing them all together into a single audio output. This turns up the loudest one at the moment while turning the rest down, which reduces noise in the ones that aren't speaking at the moment, and helps to prevent feedback in a live venue.

What I'm asking about here is if there's something like that, that can also provide the gain elements' drive signals as a potentially more foolproof activity indicator. That would then drive the scene switcher, instead of the raw audio levels on their own.


----------



## Warmuptill (Mar 7, 2022)

AaronD said:


> That's about what I would have done too, which leaves the uncertainty of what happens when they all try to talk over each other, or if there's some noise that happens to be above the threshold for that mic but still less than the current (actual) speaker. Is there a priority scheme?


The macros are executed in order from top to bottom.
So if there are frequent occurrences where multiple people are speaking for expended periods of time one could expand the macro with an additional condition to only switch scenes if not done so already.
This would effectively result in the top macro having the highest priority and the priority decreasing the further down the macro list you go.






AaronD said:


> Or better yet, a sort of Dan Dugan automixing algorithm (*) with not only an audio output but also an indication of the applied levels that can be used instead of the audio itself to switch scenes?


Nothing like this is currently implemented unfortunately.


----------



## FoxKeegan (Mar 8, 2022)

Would it be possible to listen to the output volume of a device _after_ it has run through its filters?
While certainly not a priority, it would allow far greater control over mic activation, and also allow users like Aaron to source mirror audio devices to create new ones filtered solely to act as nothing more than activators for the macro.

On a completely different topic: What's the best practice to reduce CPU cycles when creating macros? By default it seems it will be checking every macro's conditions every 300ms. While it's probably negligible usage compared to encoding and rendering, while creating a macro to simply launch a program I use while streaming (replacing a batch script in the process) I realized there was no "Run Once" sort of condition. Instead I used a timer condition of simply if more than 1 second has passed execute, and then never run again. This works fine, but I then realized this would be checked 3 times every second, needlessly and indefinitely.
So what would you consider the "best practices" and pitfalls to avoid when creating macros?  Thank you in advance, both for your advice and for such a wonderful plugin!


----------



## Warmuptill (Mar 8, 2022)

FoxKeegan said:


> Would it be possible to listen to the output volume of a device _after_ it has run through its filters?
> While certainly not a priority, it would allow far greater control over mic activation, and also allow users like Aaron to source mirror audio devices to create new ones filtered solely to act as nothing more than activators for the macro.


I am not sure if that will be possible, but I will look into it.



FoxKeegan said:


> On a completely different topic: What's the best practice to reduce CPU cycles when creating macros? By default it seems it will be checking every macro's conditions every 300ms. While it's probably negligible usage compared to encoding and rendering, while creating a macro to simply launch a program I use while streaming (replacing a batch script in the process) I realized there was no "Run Once" sort of condition. Instead I used a timer condition of simply if more than 1 second has passed execute, and then never run again. This works fine, but I then realized this would be checked 3 times every second, needlessly and indefinitely.
> So what would you consider the "best practices" and pitfalls to avoid when creating macros? Thank you in advance, both for your advice and for such a wonderful plugin!


To be honest performance hasn't really been a concern of mine as most conditions checks are rather "cheap" to perform. (A notable exception is the "Video" condition type)
If you want to skip the condition checks I would suggest to just add an additional action to the end of your macro which pauses the macro itself.
So something similar to this:



The next step in reducing the CPU load would be to just increase the interval at which the macros are checked.
Hope that helps!


----------



## FoxKeegan (Mar 8, 2022)

Interesting! So "Pause" both prevents additional conditional checks, but doesn't "block" other macros from running? Thanks, that does help! I'll have to play with it a bit more.


----------



## Warmuptill (Mar 8, 2022)

FoxKeegan said:


> Interesting! So "Pause" both prevents additional conditional checks, but doesn't "block" other macros from running? Thanks, that does help! I'll have to play with it a bit more.


Yes, pausing a macro will prevent any condition checks being performed for that macro.
I am not sure what you mean by blocking other macros.
You can pause individual macros without affecting other macros (unless of course the other macros are referring to the paused macro).
You also manually pause macros by unchecking the box before the particular macro you want to pause.



You can also bind hotkeys to pause / unpause individual macros in OBS's settings window in the hotkey section.

---

Just a note:
In the current release the UI will not automatically update the paused checkboxes of the macros if they happen to be paused by a macro while the settings dialog is already opened.
You will have to reopen the settings dialog of the advanced scene switcher to see the change on the UI side.
A build with a fix for this behaviour should be available here in a few minutes:








						Add additional settings dialog to macro tab · WarmUpTill/SceneSwitcher@5b53ca9
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				



(You will have to be logged into GitHub to be able to download it)


----------



## FoxKeegan (Mar 8, 2022)

Warmuptill said:


> I am not sure what you mean by blocking other macros.



Perhaps I misunderstood. I was under the impression only one macro would run at a time, unless "Run macro in parallel to other macros" was checked. I thought "Pause" would freeze the macro, and thus all other macros waiting for it to finish, the way "Wait" does. I'm glad to see it doesn't. I didn't even notice it unchecks the macro, and actually just realized that won't work for me, because it doesn't re-check (unpause) the macro when OBS starts. (I've a few macros that I only need to run when OBS starts up.) I'll look into making one that re-checks those macros as OBS is shutting down. Failing that, I'll just let them keep checking every 300ms, since their so "cheap" to run. :)

Edit: Curious. You don't seem to be able to use "Plugin state => OBS is shutting down" to unpause other macros


----------



## Warmuptill (Mar 9, 2022)

FoxKeegan said:


> Edit: Curious. You don't seem to be able to use "Plugin state => OBS is shutting down" to unpause other macros


The macro is actually being executed, but unfortunately at this point in the shutdown procedure any settings changes will not be saved including changing the "paused" state of macros.

Instead I would recommend to set up something similar to this, which is directly checking how often the macro was executed:



This counter will automatically reset when restarting OBS so it is a good fit for this use case.

If you want to make sure the conditions for the "Run once example" macro are not checked anymore after executing it a single time - e.g. when adding a lot of additional conditions or conditions which are expensive to check like the "video" condition - you can add the additional pause action to the end of the macro:



To automatically unpause it on OBS startup add another macro similar to the following:



Let me know if you have any questions!


----------



## FoxKeegan (Mar 9, 2022)

Oh, wow! Thank you! That's awesome, and I'll certainly switch over to that! I'd been using an "IF Time>=1s" and turning them all on at start, but that sounds way better


----------



## PNO (Mar 13, 2022)

Hello, 

Can someone provide clarity on the Run function for macro's? 

I'd like to kick off a powershell script and pass 1 parameter

Specifically: Should I point the Run "browse" input to the full path of the powershell exe? 
Or should the browse call the .ps1 file directly?
Should I call at cmd or .bat file from the browse? 

None seem to work for me. What am I missing? 

Thank you for your assistance.


----------



## PNO (Mar 13, 2022)

PNO said:


> Hello,
> 
> Can someone provide clarity on the Run function for macro's?
> 
> ...


Please disregard. Found my answer. Great piece of software!


----------



## AaronD (Mar 14, 2022)

PNO said:


> Please disregard. Found my answer. Great piece of software!



Just curious, what was the answer?  Maybe there's a better one, or at least someone else can get it from you, via a google search, instead of beating their head against a wall.


----------



## daviddm (Mar 16, 2022)

First let me say this plugin in amazing. 

I am trying to build a macro that starts and stops streaming every 24 hours or so.  The macro seems to work the first time around but then fails to start the stream the second time around. See the image below.   I set the timer to just 30 sec for testing purposes. I start streaming and the macro starts to run.  The Timer elapses and the macro stops streaming, waits for 3 sec. resets the timer and starts streaming again, then the timer elapses and the macro stops streaming, waits for 3 sec. resets the timer, but then fails to start streaming the second time around.    Any ideas how to fix this?


----------



## daviddm (Mar 16, 2022)

Just to clarify my end goal is to stream for 24 hours, stop the stream for 3 sec. and then start streaming again and wait for another 24 hours before repeating the process.


----------



## Warmuptill (Mar 17, 2022)

daviddm said:


> Just to clarify my end goal is to stream for 24 hours, stop the stream for 3 sec. and then start streaming again and wait for another 24 hours before repeating the process.


Sorry about the delayed response.

I would guess that stopping the stream might take longer than three seconds so the "Start streaming" action cannot be completed.
Give you give using a bigger delay (30s or so) a try?


----------



## daviddm (Mar 17, 2022)

Warmuptill said:


> Sorry about the delayed response.
> 
> I would guess that stopping the stream might take longer than three seconds so the "Start streaming" action cannot be completed.
> Give you give using a bigger delay (30s or so) a try?


I also thought that might be it, so we did a 1 min wait and it still did not work.  One thing to note is that the first time around it successfully stops waits 3 sec. and starts the stream again.  So the 3 sec. wait works the first time but then when the timer ends the second time it stops the stream, waits, resets the timer but fails to start the stream.


----------



## Warmuptill (Mar 17, 2022)

daviddm said:


> I also thought that might be it, so we did a 1 min wait and it still did not work.  One thing to note is that the first time around it successfully stops waits 3 sec. and starts the stream again.  So the 3 sec. wait works the first time but then when the timer ends the second time it stops the stream, waits, resets the timer but fails to start the stream.


Hm, interesting.
Can you share a OSB log file of such an occurrence?


----------



## daviddm (Mar 17, 2022)

Here is the log file.  Sorry if this is not the best way to share this.

I manually start the streaming the first time, this triggers Advanced Scene Switcher to start and the macro runs starting the timer.  The timer ends, streaming stops, waits 3 sec., resets the timer, starts the stream, the timer runs out, stops the stream, resets the timer, but never starts the stream a 2nd time.


```
14:08:57.434: CPU Name: Intel(R) Xeon(R) CPU E5-2690 v3 @ 2.60GHz
14:08:57.434: CPU Speed: 2600MHz
14:08:57.434: Physical Cores: 24, Logical Cores: 48
14:08:57.434: Physical Memory: 229243MB Total, 218610MB Free
14:08:57.434: Windows Version: 10.0 Build 19043 (release: 2009; revision: 1586; 64-bit)
14:08:57.434: Running as administrator: false
14:08:57.434: Aero is Enabled (Aero is always on for windows 8 and above)
14:08:57.434: Windows 10 Gaming Features:
14:08:57.434:     Game DVR: On
14:08:57.436: Sec. Software Status:
14:08:57.438:     Microsoft Defender Antivirus: enabled (AV)
14:08:57.439:     Windows Firewall: enabled (FW)
14:08:57.439: Current Date/Time: 2022-03-17, 14:08:57
14:08:57.439: Browser Hardware Acceleration: true
14:08:57.439: Hide OBS windows from screen capture: false
14:08:57.439: Qt Version: 5.15.2 (runtime), 5.15.2 (compiled)
14:08:57.439: Portable mode: false
14:08:58.075: OBS 27.2.3 (64-bit, windows)
14:08:58.075: ---------------------------------
14:08:58.141: ---------------------------------
14:08:58.141: audio settings reset:
14:08:58.141:     samples per sec: 48000
14:08:58.141:     speakers:        2
14:08:58.143: ---------------------------------
14:08:58.143: Initializing D3D11...
14:08:58.143: Available Video Adapters:
14:08:58.146:     Adapter 0: NVIDIA Quadro M6000 24GB
14:08:58.146:       Dedicated VRAM: 4243521536
14:08:58.146:       Shared VRAM:    4225345536
14:08:58.146:       PCI ID:         10de:17f1
14:08:58.147:       Driver Version: 30.0.14.7284
14:08:58.147:       output 0:
14:08:58.147:         name=DELL P2715Q
14:08:58.147:         pos={0, 0}
14:08:58.147:         size={3840, 2160}
14:08:58.147:         attached=true
14:08:58.147:         refresh=60
14:08:58.147:         space=RGB_FULL_G22_NONE_P709
14:08:58.147:         sdr_white_nits=80
14:08:58.147:         nit_range=[min=0.500000, max=270.000000, max_full_frame=270.000000]
14:08:58.147:       output 1:
14:08:58.147:         name=SP-DSP00
14:08:58.147:         pos={3840, 0}
14:08:58.147:         size={1280, 720}
14:08:58.147:         attached=true
14:08:58.147:         refresh=60
14:08:58.147:         space=RGB_FULL_G22_NONE_P709
14:08:58.147:         sdr_white_nits=80
14:08:58.147:         nit_range=[min=0.500000, max=270.000000, max_full_frame=270.000000]
14:08:58.147:     Adapter 1: NVIDIA Quadro M6000 24GB
14:08:58.147:       Dedicated VRAM: 4243521536
14:08:58.147:       Shared VRAM:    4225345536
14:08:58.147:       PCI ID:         10de:17f1
14:08:58.147:       Driver Version: 30.0.14.7284
14:08:58.150: Loading up D3D11 on adapter NVIDIA Quadro M6000 24GB (0)
14:08:58.241: D3D11 loaded successfully, feature level used: b000
14:08:58.241: DXGI increase maximum frame latency success
14:08:58.241: D3D11 GPU priority setup failed (not admin?)
14:08:58.766: ---------------------------------
14:08:58.766: video settings reset:
14:08:58.766:     base resolution:   1920x1080
14:08:58.766:     output resolution: 1920x1080
14:08:58.766:     downscale filter:  Bicubic
14:08:58.766:     fps:               30/1
14:08:58.766:     format:            NV12
14:08:58.766:     YUV mode:          709/Partial
14:08:58.767: NV12 texture support enabled
14:08:58.770: Audio monitoring device:
14:08:58.770:     name: Default
14:08:58.770:     id: default
14:08:58.771: ---------------------------------
14:08:58.800: [adv-ss] version: 1.17.4
14:08:58.800: [adv-ss] version: da28fea2e016c5918ea7fae9f8de74298217b748
14:08:58.803: [adv-ss] curl loaded successfully
14:08:58.803: [adv-ss] found curl library
14:08:58.804: [adv-ss] attempting to load "C:/Program Files/obs-studio/obs-plugins/64bit/adv-ss-plugins/advanced-scene-switcher-opencv.dll"
14:08:58.830: [adv-ss] successfully loaded "C:/Program Files/obs-studio/obs-plugins/64bit/adv-ss-plugins/advanced-scene-switcher-opencv.dll"
14:08:58.830: [adv-ss] attempting to load "C:/Program Files/obs-studio/obs-plugins/64bit/adv-ss-plugins/advanced-scene-switcher-openvr.dll"
14:08:58.838: [adv-ss] successfully loaded "C:/Program Files/obs-studio/obs-plugins/64bit/adv-ss-plugins/advanced-scene-switcher-openvr.dll"
14:08:58.838: [adv-ss] attempting to load "C:/Program Files/obs-studio/obs-plugins/64bit/adv-ss-plugins/opencv_calib3d453.dll"
14:08:58.838: [adv-ss] successfully loaded "C:/Program Files/obs-studio/obs-plugins/64bit/adv-ss-plugins/opencv_calib3d453.dll"
14:08:58.838: [adv-ss] attempting to load "C:/Program Files/obs-studio/obs-plugins/64bit/adv-ss-plugins/opencv_core453.dll"
14:08:58.838: [adv-ss] successfully loaded "C:/Program Files/obs-studio/obs-plugins/64bit/adv-ss-plugins/opencv_core453.dll"
14:08:58.838: [adv-ss] attempting to load "C:/Program Files/obs-studio/obs-plugins/64bit/adv-ss-plugins/opencv_features2d453.dll"
14:08:58.838: [adv-ss] successfully loaded "C:/Program Files/obs-studio/obs-plugins/64bit/adv-ss-plugins/opencv_features2d453.dll"
14:08:58.838: [adv-ss] attempting to load "C:/Program Files/obs-studio/obs-plugins/64bit/adv-ss-plugins/opencv_flann453.dll"
14:08:58.838: [adv-ss] successfully loaded "C:/Program Files/obs-studio/obs-plugins/64bit/adv-ss-plugins/opencv_flann453.dll"
14:08:58.838: [adv-ss] attempting to load "C:/Program Files/obs-studio/obs-plugins/64bit/adv-ss-plugins/opencv_imgproc453.dll"
14:08:58.838: [adv-ss] successfully loaded "C:/Program Files/obs-studio/obs-plugins/64bit/adv-ss-plugins/opencv_imgproc453.dll"
14:08:58.838: [adv-ss] attempting to load "C:/Program Files/obs-studio/obs-plugins/64bit/adv-ss-plugins/opencv_objdetect453.dll"
14:08:58.838: [adv-ss] successfully loaded "C:/Program Files/obs-studio/obs-plugins/64bit/adv-ss-plugins/opencv_objdetect453.dll"
14:08:58.838: [adv-ss] attempting to load "C:/Program Files/obs-studio/obs-plugins/64bit/adv-ss-plugins/openvr_api.dll"
14:08:58.838: [adv-ss] successfully loaded "C:/Program Files/obs-studio/obs-plugins/64bit/adv-ss-plugins/openvr_api.dll"
14:08:58.867: No AJA devices found, skipping loading AJA UI plugin
14:08:58.867: Failed to initialize module 'aja-output-ui.dll'
14:08:58.878: No AJA devices found, skipping loading AJA plugin
14:08:58.878: Failed to initialize module 'aja.dll'
14:08:58.879: Skipping module '../../obs-plugins/64bit/chrome_elf.dll', not an OBS plugin
14:08:58.884: [CoreAudio encoder]: CoreAudio AAC encoder not installed on the system or couldn't be loaded
14:08:58.886: Failed to load 'en-US' text for module: 'decklink-captions.dll'
14:08:58.889: Failed to load 'en-US' text for module: 'decklink-ouput-ui.dll'
14:08:58.934: [AMF] Unable to load 'amfrt64.dll', error code 126.
14:08:58.937: [AMF] AMF Test failed due to one or more errors.
14:08:58.937: Failed to initialize module 'enc-amf.dll'
14:08:58.967: Skipping module '../../obs-plugins/64bit/libcef.dll', not an OBS plugin
14:08:58.968: Skipping module '../../obs-plugins/64bit/libEGL.dll', not an OBS plugin
14:08:58.969: Skipping module '../../obs-plugins/64bit/libGLESv2.dll', not an OBS plugin
14:08:59.054: [obs-browser]: Version 2.17.13
14:08:59.054: [obs-browser]: CEF Version 95.0.0-MediaHandler.2467+g8092a57+chromium-95.0.4638.69
14:08:59.093: NVENC supported
14:08:59.097: [noise suppress]: NVIDIA RTX denoiser disabled, redistributable not found
14:08:59.420: [vlc-video]: VLC 3.0.16 Vetinari found, VLC video source enabled
14:08:59.436: Decklink API Compiled version 11.6
14:08:59.436: Decklink API Installed version 12.2.2
14:08:59.453: ---------------------------------
14:08:59.453:   Loaded Modules:
14:08:59.453:     win-wasapi.dll
14:08:59.453:     win-mf.dll
14:08:59.453:     win-dshow.dll
14:08:59.453:     win-decklink.dll
14:08:59.453:     win-capture.dll
14:08:59.453:     vlc-video.dll
14:08:59.453:     text-freetype2.dll
14:08:59.453:     rtmp-services.dll
14:08:59.453:     obs-x264.dll
14:08:59.453:     obs-vst.dll
14:08:59.453:     obs-transitions.dll
14:08:59.453:     obs-text.dll
14:08:59.453:     obs-qsv11.dll
14:08:59.453:     obs-outputs.dll
14:08:59.453:     obs-filters.dll
14:08:59.453:     obs-ffmpeg.dll
14:08:59.453:     obs-browser.dll
14:08:59.453:     image-source.dll
14:08:59.453:     frontend-tools.dll
14:08:59.453:     decklink-ouput-ui.dll
14:08:59.453:     decklink-captions.dll
14:08:59.453:     coreaudio-encoder.dll
14:08:59.454:     advanced-scene-switcher.dll
14:08:59.454: ---------------------------------
14:08:59.455: ==== Startup complete ===============================================
14:08:59.547: All scene data cleared
14:08:59.547: ------------------------------------------------
14:08:59.558: [win-wasapi: 'Desktop Audio'] update settings:
14:08:59.558:     device id: default
14:08:59.558:     use device timing: 1
14:08:59.562: [Loaded global audio device]: 'Desktop Audio'
14:08:59.562: [win-wasapi: 'Mic/Aux'] update settings:
14:08:59.562:     device id: default
14:08:59.562:     use device timing: 0
14:08:59.562: [Loaded global audio device]: 'Mic/Aux'
14:08:59.603: WASAPI: Device 'Speakers (High Definition Audio Device)' [48000 Hz] initialized
14:08:59.660: WASAPI: Device 'Digital Audio (S/PDIF) (High Definition Audio Device)' [44100 Hz] initialized
14:08:59.661: Switched to scene 'Play List Stream'
14:08:59.662: [adv-ss] trying to reconnect to  in 10 seconds.
14:08:59.663: ------------------------------------------------
14:08:59.663: Loaded scenes:
14:08:59.663: - scene 'Play List Stream':
14:08:59.663:     - source: 'VLC Video Source' (vlc_source)
14:08:59.663: ------------------------------------------------
14:08:59.694: adding 42 milliseconds of audio buffering, total audio buffering is now 42 milliseconds (source: Mic/Aux)
14:08:59.694:
14:19:40.048: User Removed source 'VLC Video Source' (vlc_source) from scene 'Play List Stream'
14:20:28.515: User added source 'VLC Video Source' (vlc_source) to scene 'Play List Stream'
14:23:37.976: [jim-nvenc: 'simple_h264_stream'] settings:
14:23:37.976:     rate_control: CBR
14:23:37.976:     bitrate:      4500
14:23:37.976:     cqp:          20
14:23:37.976:     keyint:       60
14:23:37.976:     preset:       hq
14:23:37.976:     profile:      high
14:23:37.976:     width:        1920
14:23:37.976:     height:       1080
14:23:37.976:     2-pass:       false
14:23:37.976:     b-frames:     2
14:23:37.976:     lookahead:    false
14:23:37.976:     psycho_aq:    true
14:23:37.976:
14:23:38.029: ---------------------------------
14:23:38.029: [FFmpeg aac encoder: 'simple_aac'] bitrate: 192, channels: 2, channel_layout: 3
14:23:38.029:
14:23:38.034: [rtmp stream: 'simple_stream'] Connecting to RTMP URL rtmp://lax.contribute.live-video.net/app...
14:23:38.077: [rtmp stream: 'simple_stream'] Interface: Intel(R) I210 Gigabit Network Connection (ethernet, 1000 mbps)
14:23:38.650: [rtmp stream: 'simple_stream'] Connection to rtmp://lax.contribute.live-video.net/app successful
14:23:38.651: [rtmp stream: 'simple_stream'] Socket send buffer is 65536 bytes
14:23:38.653: [adv-ss] started
14:23:38.660: ==== Streaming Start ===============================================
14:24:09.506: [rtmp stream: 'simple_stream'] User stopped the stream
14:24:09.506: [rtmp stream: 'simple_stream'] Socket send buffer is 65536 bytes
14:24:09.506: Output 'simple_stream': stopping
14:24:09.506: Output 'simple_stream': Total frames output: 913
14:24:09.506: Output 'simple_stream': Total drawn frames: 945
14:24:09.512: ==== Streaming Stop ================================================
14:24:12.040: [adv-ss] detected busy loop - refusing to sleep less than 1ms
14:24:12.146: [jim-nvenc: 'simple_h264_stream'] settings:
14:24:12.146:     rate_control: CBR
14:24:12.146:     bitrate:      4500
14:24:12.146:     cqp:          20
14:24:12.146:     keyint:       60
14:24:12.146:     preset:       hq
14:24:12.146:     profile:      high
14:24:12.146:     width:        1920
14:24:12.146:     height:       1080
14:24:12.146:     2-pass:       false
14:24:12.146:     b-frames:     2
14:24:12.146:     lookahead:    false
14:24:12.146:     psycho_aq:    true
14:24:12.146:
14:24:12.184: ---------------------------------
14:24:12.185: [FFmpeg aac encoder: 'simple_aac'] bitrate: 192, channels: 2, channel_layout: 3
14:24:12.185:
14:24:12.186: [rtmp stream: 'simple_stream'] Connecting to RTMP URL rtmp://lax.contribute.live-video.net/app...
14:24:12.187: [rtmp stream: 'simple_stream'] Interface: Intel(R) I210 Gigabit Network Connection (ethernet, 1000 mbps)
14:24:12.707: [rtmp stream: 'simple_stream'] Connection to rtmp://lax.contribute.live-video.net/app successful
14:24:12.707: [rtmp stream: 'simple_stream'] Socket send buffer is 65536 bytes
14:24:12.714: ==== Streaming Start ===============================================
14:24:42.649: [rtmp stream: 'simple_stream'] User stopped the stream
14:24:42.649: [rtmp stream: 'simple_stream'] Socket send buffer is 65536 bytes
14:24:42.649: Output 'simple_stream': stopping
14:24:42.649: Output 'simple_stream': Total frames output: 885
14:24:42.649: Output 'simple_stream': Total drawn frames: 914
14:24:42.654: ==== Streaming Stop ================================================
14:24:45.179: [adv-ss] detected busy loop - refusing to sleep less than 1ms
```


----------



## AaronD (Mar 18, 2022)

daviddm said:


> I manually start the streaming the first time, this triggers Advanced Scene Switcher to start...



Something tells me that the problem might be in that trigger.  Like it's getting retriggered when it doesn't need to, and that's getting things confused.  I have Adv-SS running all the time, not triggered by anything.  What do your settings look like for that?


----------



## daviddm (Mar 18, 2022)

I have ASS stopped at first. I had Automatically start scene switcher when Streaming.  So I changed my settings to match what you have and restarted OBS and tested again but still the same issue.  It does not trigger Start Streaming the second time around just the first.  I know the Macro is still running because it is stopping the stream and resetting the timer.  I have tested this same macro on multiple machines and have the issue.  Are you able to re-produce this same result?


----------



## Warmuptill (Mar 18, 2022)

daviddm said:


> I have ASS stopped at first. I had Automatically start scene switcher when Streaming.  So I changed my settings to match what you have and restarted OBS and tested again but still the same issue.  It does not trigger Start Streaming the second time around just the first.  I know the Macro is still running because it is stopping the stream and resetting the timer.  I have tested this same macro on multiple machines and have the issue.  Are you able to re-produce this same result?


I think I might have found a bug which might lead to the behaviour you described.
A build with a fix should be available here in a few minutes:








						Fix start streaming action only working every second attempt · WarmUpTill/SceneSwitcher@15f9efd
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				



You need to be logged into GitHub to be able to download this build - let me know if that should be an issue for you.

Let me know if this resolves the problem you were facing.

For a bit of background of what lead to this error:
I put a safeguard in place to prevent the user from continuously attempting to start the stream if no valid stream configuration is set up, as this would lead to an error to pop up every few hundred milliseconds.
But this safeguard was not reset properly leading to each second attempt to start streaming to fail.


----------



## daviddm (Mar 18, 2022)

That's great!  Thanks so much for your help with this. I will test it out as soon as it is ready.


----------



## daviddm (Mar 18, 2022)

That seems to have fixed the issue.  Thank you again for being so responsive and helping me with this.  I love ASS, keep up the great work.


----------



## AaronD (Mar 18, 2022)

Warmuptill said:


> For a bit of background of what lead to this error:
> I put a safeguard in place to prevent the user from continuously attempting to start the stream if no valid stream configuration is set up, as this would lead to an error to pop up every few hundred milliseconds.
> But this safeguard was not reset properly leading to each second attempt to start streaming to fail.



Ah!  That would do it too.  And good thinking to avoid "pop-up spam".


----------



## Kaisercelt (Mar 22, 2022)

Hi, this is a fantastic plugin. Really love it and am getting great results with the Audio section flicking scene's based on Mic levels. 

Thank you so much for making this and the support offered on here. Above and beyond. 

One question that's possibly been asked already: is there logic possible in the audio section, whereby we can set an And, OR or NOR rule based on different Audio inputs to pick separate Scenes etc?? Two mics at the same time ( 1 AND 2) always force a particular scene one OR other Mic another scene etc?? 

Thanks again.


----------



## Warmuptill (Mar 22, 2022)

Kaisercelt said:


> Hi, this is a fantastic plugin. Really love it and am getting great results with the Audio section flicking scene's based on Mic levels.
> 
> Thank you so much for making this and the support offered on here. Above and beyond.
> 
> ...


The functionality you are looking for exists but not on the Audio tab.
Have a look at the "Macro" tab.
This should allow you to configure what you are looking for (and much more).
For a quick introduction on how to create a macro take a look at this guide.
Let me know if you have any questions.


----------



## Kaisercelt (Mar 22, 2022)

Warmuptill said:


> The functionality you are looking for exists but not on the Audio tab.
> Have a look at the "Macro" tab.
> This should allow you to configure what you are looking for (and much more).
> For a quick introduction on how to create a macro take a look at this guide.
> Let me know if you have any questions.




This is superb.... But a little intimidating now. 

I've set up some Audio based Macros and they are working. I changed the order in the General Tab to get Macro to the highest prominence and then I assume the same applies in the Macro order itself?? 
See Below. I have Audio Macro 1 which I hope will fire first and so on down my list of scenes I want to fire. It is a bit jumpy and the scenes are a bit hectic in the switches but that's likely trial and error. Has anyone set up a multi audio switch using Macros before?? 

Very grateful for this. Thank you.


----------



## Warmuptill (Mar 23, 2022)

Kaisercelt said:


> I've set up some Audio based Macros and they are working. I changed the order in the General Tab to get Macro to the highest prominence and then I assume the same applies in the Macro order itself??


Correct - the macros are executed from top to bottom.



Kaisercelt said:


> It is a bit jumpy and the scenes are a bit hectic in the switches but that's likely trial and error


Just guessing, but I assume the reason for this might be that multiple macros are true at the same time.
It might be worth adding an additional check to the end of the condition list to see if the scene was changed already.
Otherwise the first might switch to scene 1, and afterwards the second macro might immediately switch to scene 2, and so on ... leading to these "hectic" scene switches.
Example:





Alternatively you can also add "time restrictions" to your conditions so they do not immediately trigger.
Have a look at this guide for more details:








						Macro time restrictions · WarmUpTill/SceneSwitcher Wiki
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com


----------



## Kaisercelt (Mar 23, 2022)

Warmuptill said:


> Correct - the macros are executed from top to bottom.
> 
> 
> Just guessing, but I assume the reason for this might be that multiple macros are true at the same time.
> ...



Yes indeed. There may have been overlapping 'True' Macros. As I said, this will be trial and error. 
I'll try your fix above now. Also for "Automated scene change was triggered in this interval" what is the 'Interval'?? 

Is it the Three seconds timer for Mic/aux X to hit X% and trigger?? 

Sorry, trying to get a better understanding as this Plugin will allow me to almost fully automate my OBS stream. It's fantastic.


----------



## Warmuptill (Mar 23, 2022)

Kaisercelt said:


> Also for "Automated scene change was triggered in this interval" what is the 'Interval'??


The plugin will check all conditions and perform actions (if applicable) at a set interval. (Every 300 ms per default - This interval can be configured on the General tab)
Using the "Automated scene change was triggered in this interval" condition type will allow you to limit the amount of scene switches to one per interval.
It is not related to any time restrictions for any macro conditions you might have in place.


----------



## Kaisercelt (Mar 23, 2022)

Warmuptill said:


> The plugin will check all conditions and perform actions (if applicable) at a set interval. (Every 300 ms per default - This interval can be configured on the General tab)
> Using the "Automated scene change was triggered in this interval" condition type will allow you to limit the amount of scene switches to one per interval.
> It is not related to any time restrictions for any macro conditions you might have in place.



Ah... perfect. Thanks. 

I can set that slightly higher than 300ms also.


----------



## ParanormalBanana (Mar 26, 2022)

Hi, I have suffered crashes just today after activating advanced scene switcher for the first time and setting a few triggers. 
I've been using only audio and random.
I don't know where to find a crash report


Does any one know what I'm supposed to do?


----------



## Warmuptill (Mar 26, 2022)

Sorry, to hear that you are having issues.
Please do share the crash reports - you can find them here:


----------



## ParanormalBanana (Mar 29, 2022)

Hi and thanks for answering. Here is the latest crash report but something is wrong. The time of the crash report is incorrect, the latest crash happened just now at 3:30ish french time. Another weird thing I just noticed is that there doesn't seem to be any crash reports for any of the crashes I've been experiencing. The times for all crash reports from the whole folder, I do not recognize as times when I actually had the crashes. And there seem to be too few of them. 

I'll describe the crash: 

Latest one, I wasn't even streaming, just testing out settings. I wasn't really looking because I was doing something else and when I got back to OBS, it was frozen. 
Note that only the preview was frozen, I could actually interact with the software briefly, and then it completely froze and I had to manually shut it down. And this seems to happen every time it crashes, except that once I noticed the frame which was frozen was right in the middle of an automated scene switch from advanced scene switcher.

At first, I was using audio and random tabs, but when I saw they were discontinued I switched everything to Macros.


----------



## Warmuptill (Mar 29, 2022)

ParanormalBanana said:


> Hi and thanks for answering. Here is the latest crash report but something is wrong. The time of the crash report is incorrect, the latest crash happened just now at 3:30ish french time. Another weird thing I just noticed is that there doesn't seem to be any crash reports for any of the crashes I've been experiencing. The times for all crash reports from the whole folder, I do not recognize as times when I actually had the crashes. And there seem to be too few of them.
> 
> I'll describe the crash:
> 
> ...


Unfortunately I don't see any obvious indication that the scene switcher would be involved in the crash in the provided log.
Can you share which settings you are using exactly? (By exporting the settings to a file on the General tab)
Is the scene switchers settings menu opened when you are encountering these freezes / crashes?


----------



## ParanormalBanana (Mar 29, 2022)

Warmuptill said:


> Unfortunately I don't see any obvious indication that the scene switcher would be involved in the crash in the provided log.
> Can you share which settings you are using exactly? (By exporting the settings to a file on the General tab)
> Is the scene switchers settings menu opened when you are encountering these freezes / crashes?


Hi  these are settings + latest crash report which I still am not sure has the correct date and time stamp


----------



## Warmuptill (Mar 31, 2022)

ParanormalBanana said:


> Hi  these are settings + latest crash report which I still am not sure has the correct date and time stamp


The time stamp of the crash is printed at the top of the log.
In this example:`Date/Time: 2022-03-29, 16:47:32`
So it seems reasonable.

But, unfortunately, the new crash log also does not indicate any obvious involvement of the scene switcher plugin.
So I am not sure how I can help :(

Just like last time the crash happened in "libobs: graphics thread" - so OBS's main graphics thread, if I am not mistaken.
The scene switcher was just "sleeping" / performing a "Wait" action at the time of this particular crash, so it is rather unlikely that it was involved.

Do you maybe have any other plugins installed that might interfere with OBS's graphics system?

P.S.:Sorry about the delayed reply!


----------



## Wayne01 (Apr 1, 2022)

Why there is no function to switch sources instead scenes? I don't need that at all.


----------



## AaronD (Apr 1, 2022)

Wayne01 said:


> Why there is no function to switch sources instead scenes? I don't need that at all.



What are you trying to do?  There are multiple ways to do almost anything.


----------



## ParanormalBanana (Apr 2, 2022)

Wayne01 said:


> Why there is no function to switch sources instead scenes? I don't need that at all.


Hey what I did was create two identical scenes but with the one source switched. The only thing I can"t seem to do is make one source go with an animation while the rest of the sources stay put, sadly.


----------



## Warmuptill (Apr 2, 2022)

Wayne01 said:


> Why there is no function to switch sources instead scenes? I don't need that at all.


I assume you probably intend to toggle the visibility of sources, but it would be best if you describe what you want to achieve in more detail.

To toggle the visibility of sources you can for example create a macro similar to this one:



For a general overview on how to create macros have look at this wiki page:








						Creating a macro · WarmUpTill/SceneSwitcher Wiki
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com


----------



## ParanormalBanana (Apr 2, 2022)

Warmuptill said:


> The time stamp of the crash is printed at the top of the log.
> 
> In this example:`Date/Time: 2022-03-29, 16:47:32`
> 
> ...




Thank you for the reply, anyway I was trying to figure out why it would crash, with or without the plugin active.

What I found out is : there is no crash report for the crashes I'm experiencing. For example, it crashed just now, but the last crash report dates back to yesterday.

I think whatever crashes OBS reports are when I reboot the machine and it is forced to stop by the system or something, don't really know what is happening here.

I also found out something else: I was able to let my computer on AND streaming to twitch WITH the plugin active for more than 9 hours while I was sleeping. I was very surprised to find it up and running without a single hiccup when I woke up, although it crashed a few moments after I started using it... I think this might indicate that the crashes are related to PC load or system stability. I haven't got any type of OC going on, I have a good cooler for my Ryzen 5 3600X and the GPU is a stock RTX 2070 Super.

I tried streaming this morning with minimalistic behavior, not many apps running on the PC, just a game and the stream and it crashed.

I also suspected Windows Search Indexer to be a cause of instability because it was somehow running in the background forever at 15-20% CPU load, without ever throttling even when I game, so I disabled the service entirely, and tried streaming this morning but it still failed.

I tried to reeproduce the exact same conditions from the previous crash from this morning, but without enabling advanced scene switcher, and it didn't crash.. what I noticed were lags in the game and sound issues at times, but it came back to normal quickly, and that scenario reproduced a few times during the stream. Then, I enabled the plugin and it suddenly crashed after a minute or so. This time something ele happened, though. Instead of force closing OBS as soon as it was frozen, I let it run frozen for a while, and I could see it was still using CPU and ram, and the PC was completely laggy, barely useable. I let this go for a while and then, when nothing happened, I force closed the OBS process. But as I did, the game crashed (FFVII Remake) and then two identical pop ups arreared saying the GPU had been reset and I should check my drivers. I don't know if both windows belonged to FFVII or if one of them, or both, actually belonged to OBS or plugins. 

Again, no crash report, for either of the two crashes from this morning.


----------



## Warmuptill (Apr 2, 2022)

Warmuptill updated Advanced Scene Switcher with a new update entry:

Improvements to UI, video, audio and media related functionality



> Additions:​
> Improved the video condition type:
> Added the option to apply the condition checks to only parts of the selected video source.
> 
> ...



Read the rest of this update entry...


----------



## ParanormalBanana (Apr 3, 2022)

Hi! 

I have been doing some testing and I have found useful information! 

I do not know why OBS didn't report those freezes as crashes, but it doesn't matter because I found the crash in normal log files, NOT crash logs. 


here is the log file, crash happened at 5:24, and I left OBS opened frozen for about two minutes before terminating the process.


----------



## Warmuptill (Apr 3, 2022)

ParanormalBanana said:


> Hi!
> 
> I have been doing some testing and I have found useful information!
> 
> ...


Unfortunately this log file does not really give any further insights as to what the issue might be.

I will run a longer automated scene switch test on my end as well, but I don't have high hopes for a reproduction.
The reason being that switching scenes is such a basic functionality of this plugin that I think such a severe issue of OBS freezing would be more wide spread.

As you mentioned noticing GPU driver reset messages during some of the freezes / crashes it might be worth investigating further in that area. But to be honest I don't really have an idea how, unless you happen to have a second, known working graphics card lying around for a reference test.

I am sorry, that I am not really of much help here :(


----------



## hammerheaddown (Apr 6, 2022)

Warmuptill said:


> The plugin only checks the volume of an audio source and not the frequencies used - if that is your question.


hey guys just getting back to OBS and last time I posted was like page 30 something of this thread lol... i jumped ahead to page 76  but so much info that is not what I was looking for I find myself breezing thru to quick. So I figured I might as well ask to see if I can be pointed to what I may be looking for / need

I need to be able to switch via tone,  and just checking if this has changed since that last post?


----------



## AaronD (Apr 6, 2022)

hammerheaddown said:


> hey guys just getting back to OBS and last time I posted was like page 30 something of this thread lol... i jumped ahead to page 76  but so much info that is not what I was looking for I find myself breezing thru to quick. So I figured I might as well ask to see if I can be pointed to what I may be looking for / need
> 
> I need to be able to switch via tone,  and just checking if this has changed since that last post?


Not that I know of, but there was a mention of using the volume _post-_filters.  I haven't looked to see if that's been implemented, but if it has, then maybe you can put an aggressive EQ on a source that you leave muted or otherwise route away from the audience?

Also, you mentioned using DTMF tones for control.  Those are quite specific, more so than I would expect from a filter that is designed to be heard.  So you might need to have those filters outside of OBS, and then bring the results in already processed: one input per possible tone, none of which go to the audience, but Adv-SS can pick them up as volume-triggers.


----------



## hammerheaddown (Apr 6, 2022)

AaronD said:


> and then bring the results in already processed: one input per possible tone, none of which go to the audience, but Adv-SS can pick them up as volume-triggers.


can you explain what you mean by this?   i think im a bit confused.   we have the tone saved.  and it a quite the difference in volume.  i actually created a ffmpeg/bat  file to create tones

it may be possible with  ffmpeg to listen for tone and do some sort of trigger to OBS, maybe trigger a hotkey from a .bat file?  that hotkey will have a macro sequence


----------



## Warmuptill (Apr 6, 2022)

@hammerheaddown Unfortunately identifying tones / frequencies is currently not supported.
The clever approach suggested by @AaronD is also not possible with this plugin at the moment as there is no way to check the volume *after* all filters are applied.


----------



## hammerheaddown (Apr 6, 2022)

I will open a new thread as this is out of scope of this plugin at "this" time  but maybe soon!  thanks!!


----------



## Warmuptill (Apr 6, 2022)

Warmuptill said:


> @hammerheaddown Unfortunately identifying tones / frequencies is currently not supported.
> The clever approach suggested by @AaronD is also not possible with this plugin at the moment as there is no way to check the volume *after* all filters are applied.


@hammerheaddown I have to correct myself ...
The current implementation seems to already check audio and video sources *after* all filters are applied.

I tested this by simply applying a negative gain filter to an audio source and comparing whether or not an audio condition triggers for the same volume threshold.

So the approach suggested by @AaronD might work.
Basically you would need to create a copy of your audio source on which you apply "aggressive" filters which *only* allow the targeted frequencies.
Then you can proceed with the regular volume check of the audio condition on this filtered audio source.

But to be honest I am not really familiar with audio filters in OBS so I am not sure how easy this would be to set up.


----------



## AaronD (Apr 6, 2022)

Warmuptill said:


> @hammerheaddown I have to correct myself ...
> The current implementation seems to already check audio and video sources *after* all filters are applied.
> 
> I tested this by simply applying a negative gain filter to an audio source and comparing whether or not an audio condition triggers for the same volume threshold.
> ...


Oh good!  I was starting to wonder what that implied about the filters themselves.  Specifically, a side-chained compressor, and others that can react to a different signal than the one that they're processing.  For example, if I put a noise gate on one signal, and then use that signal as the side-chain to a compressor, does the compressed signal still "duck" even when the gate doesn't open?  I've been running that kind of signal flow for a while now, and haven't noticed a problem with it, but you did get me to wondering.

Normally as good practice, you'd want to keep your video processing and audio processing apps separate, and bring the finished audio into the video rig as an unchanged passthrough, plus possibly a few more channels that you use for triggers but nobody hears those.  That would eliminate the pre-/post-filter problem because there aren't any (significant*) filters.
(* maybe a low-threshold noise gate because you're using an analog line input from a hardware mixer or something like that, but that's about it)

But one particular rig must run on Windows (yuck) and use minimal hardware, and the cheap audio processor that I found for Windoze is really more of a multi-channel loopback than anything else, in terms of what's actually _useful_ about it.  (I wouldn't call it a DAW yet: https://vb-audio.com/Voicemeeter/potato.htm )  So the audio in that rig goes around the loop several times with a lot of the work being done with OBS filters and creative routing.  I made a copy of that rig for my own use, on Ubuntu Linux instead, that does follow the good practice and works a LOT better!  (using these filters instead of what OBS has: https://lsp-plug.in/ )



hammerheaddown said:


> I will open a new thread as this is out of scope of this plugin at "this" time  but maybe soon!  thanks!!


Can you share the link here, so that those of us that are interested can just hop over to it?  Thanks!


----------



## hammerheaddown (Apr 6, 2022)

am i correct in thinking if i had the audio/video file saved it could look for it?   think you guys went a tiny bit above my paygrade  :P

But i have a few ideas i have looked into, seems we should be able to used a named pipe to detect the audio change and write to a file or maybe just launch another Bat file that could trigger a macro or hotkey


----------



## Warmuptill (Apr 6, 2022)

hammerheaddown said:


> am i correct in thinking if i had the audio/video file saved it could look for it?   think you guys went a tiny bit above my paygrade  :P
> 
> But i have a few ideas i have looked into, seems we should be able to used a named pipe to detect the audio change and write to a file or maybe just launch another Bat file that could trigger a macro or hotkey


Can you maybe provide an example of you what type of audio you would want to match?
Just to avoid that we are talking about completely different things.


----------



## AaronD (Apr 6, 2022)

hammerheaddown said:


> am i correct in thinking if i had the audio/video file saved it could look for it?   think you guys went a tiny bit above my paygrade  :P
> 
> But i have a few ideas i have looked into, seems we should be able to used a named pipe to detect the audio change and write to a file or maybe just launch another Bat file that could trigger a macro or hotkey


My first thought when I read that was: https://xkcd.com/763/

Anyway, if I understand correctly, you want to use a touchtone phone to trigger scene switches, as in, "To see the newsreaders, press 1.  To see the weatherman, press 2...."  Correct?

If that's true, and if you're on Linux so as to use the good plugins that I linked to, then you could feed the phone input to several copies of the parametric EQ that's in there.  (not multiple bands of the same copy, but actually multiple copies)  Each copy is set for a single tall, narrow boost at a different frequency, according to the DTMF spec.  To make it really selective, you might even use several bands of the same copy, all set the same.  (probably need to reduce the input gain of each copy, so that it doesn't clip)

Each phone key now corresponds to a different pair of those EQ copies.  You can try adding the pair-detection logic in the form of more audio processing, or you can just bring the output of each EQ into OBS as a different source and use the actual boolean logic in Adv-SS so do that:

IF freqA>threshold AND freqB>threshold THEN select scene1
IF freqA>threshold AND freqC>threshold THEN select scene2
etc.


----------



## hammerheaddown (Apr 7, 2022)

Warmuptill said:


> Can you maybe provide an example of you what type of audio you would want to match?
> Just to avoid that we are talking about completely different things.


something like this








						TV colour bars test card screen with sine tone in 4K
					

I noticed most test pattern screens available here on YT were very low-quality, so I decided to make an Ultra-High-Definition one. I made the test card mysel...




					www.youtube.com


----------



## AaronD (Apr 7, 2022)

hammerheaddown said:


> something like this
> 
> 
> 
> ...


That's a single-frequency sine wave.  For that, you might get away with a single EQ boost, like the set of them that you'd use for DTMF as I described before, but only one of them.  If that one is above the threshold, then that's your trigger.  (still do the filtering outside of OBS if you can, and bring it in already-processed)

But that kind of logic might get confused by a legitimate source that just happens to have that in it.  A guitar solo, for example, might do that for a brief moment, but long enough to trigger the scene switch.  A more robust way to do it would be to have a second input and use similar logic as a DTMF pair, except that this second input is a _cut_ of the _same_ frequency range.  Now the logic is:

IF boost>threshold AND NOT cut>threshold THEN switch scenes
The reason that a guitar solo shouldn't trigger that one is because the guitar probably has harmonics in it that the pure tone doesn't.  Those harmonics will get through the "cut" channel and block the "NOT cut>threshold" part.

Now, if a legitimate source does indeed give you a pure sine at that frequency (or close enough) with no harmonics, then there's no way to tell the difference with just audio processing.  You just have to know that and not give it that input.


----------



## FoxKeegan (Apr 9, 2022)

hammerheaddown said:


> something like this
> 
> 
> 
> ...


_<scrolls back through the posts>_

I could be mistaken, but this sounds like a case of getting stuck asking how to build a submarine, without anyone realizing you're just trying to cross a stream.
You just want to switch a scene after an audio file _that you created _and put into a playlist _that plays separately of other files_ at a set time is played, correct? Or--specifically--as soon as it stops being played?

Honestly, if that's correct, what you're describing is actually better suited to be implemented as a transition in OBS. You want to emulate the idea of a broadcaster ending transmissions by displaying the test card pattern and then resuming with different content. (Again, if I'm understanding this correctly.) Not only can this plugin do what you're asking, it can do it better if you turn the test card into its own transition. I'll let you google the tutorial on that, but what you (probably) want is called a 'Stinger' transition, which is pretty self-explanatory if you open scene transitions, create a new one, and click "Stinger".

Even if you don't do that, it's still possible. (It's just more work) Looking at your previous posts, I will say I'm not aware of any way for it to run conditional statements of media in a playlist, as there is no 'switching to next song' state, or any way to specify the media in the list. However, if you plan to run the same files each time, you could break them up into different playlists at the points where you intended to play the test card and switch scenes.  If your playlist is videos "A, B, C, D, test card, E, F, G, H, test card, I, J K, test card" instead make 3 playlists, and simply tell Scene Switcher to change to a different scene at the end of the new, shorter playlist. If you create a stinger transition with the test card, you can remove it from the playlists, and simply tell Scene Switcher to switch scenes _using that transition._

If none of those solutions will work for your unique situation, you probably really want to be using a macro that scans video rather than audio. If you're displaying the test card with the 1khz tone, you can just pick the source and either select the file specifically, or pattern match. I've not had reason to play with this one specifically, but it looks pretty straightforward. That one would trigger even if the test card was in the middle of a video file you were playing rather than being its own file. I wouldn't use this option unless I had to, though. It's gonna put more stress on your CPU.

If _*none*_ of that solves your problem, I'd be very curious to hear the original problem you're trying to solve, rather than the problems you're having attempting to implement a solution.


----------



## FoxKeegan (Apr 9, 2022)

This one is for Warmuptill, (and anyone else with a good solution for this problem!)

What's your suggested "Best Practice" for implementing a simple trigger that plays an audio file, every hour, starting at a specific hour?  In this case, a clock bell chime.

I've listed my current attempt below, but there are some issues:






The execution is a bit clunky, but it works. The source has to remain hidden, because I cannot figure out a way to prevent media from automatically playing the first time it appears in a scene, and I don't want to start my stream off with the chime. So, it's made visible, set to restart playback when made visible again, plays, SS waits for it to finish, and then hides it again. Cumbersome, but it works.

The real problem I'm having is that while the setting to repeat is convenient, it does so by altering the time of the macro itself. While this functions perfectly during the first stream, it means that the next stream I start won't play the chime at 21:00, because it will still be set for 1-60 minutes past the time I last ended my stream. (E.g. 23:00)  I can manually update this each time, but that flies in the face of the "Automatic" part of the name. :) 

Now, there's two obvious solutions to this:
1. Create 22 conditional "or" statements, one for each hour of the day
2. Create a 1 hour timer macro that is unpaused by a different macro which triggers at 20:00. Then, add another command in the "End Streaming" macro to pause the 1 hour timer macro so it doesn't start the timer automatically when OBS opens. (Or to the startup macro to pause it. Or both, for redundancy!)

Now, #1 is probably less likely to fail, but my programming background makes me shudder at the idea of manually entering what should be a loop. :) #2 is _less_ clunky, but if something goes wrong the timer won't be synced up to the clock. 
Is there a better option?

Thanks for your time, and awesome plugin.


----------



## FoxKeegan (Apr 9, 2022)

FoxKeegan said:


> 2. Create a 1 hour timer macro that is unpaused by a different macro which triggers at 20:00. Then, add another command in the "End Streaming" macro to pause the 1 hour timer macro so it doesn't start the timer automatically when OBS opens. (Or to the startup macro to pause it. Or both, for redundancy!)


After some trial and error, I'm updating this one with skipping all the pausing bits and simply making it reset the timer at 20:00 so it's synced up, since (I've learned) pausing doesn't stop the timer :)


----------



## Warmuptill (Apr 9, 2022)

FoxKeegan said:


> After some trial and error, I'm updating this one with skipping all the pausing bits and simply making it reset the timer at 20:00 so it's synced up, since (I've learned) pausing doesn't stop the timer :)


Glad to hear that you found a solution!

Just to clarify regarding "pausing doesn't stop the timer":
You are referring to pausing the *macro* itself and not the "Timer" action to pause another timer, right?


If the latter does not work that would be a bug.

Do makes sense still to add an option to the date condition which allows you to toggle the automatic overwriting of the selected date on repeat?
If so I would see if I can try to implement something similar to this:


----------



## AaronD (Apr 9, 2022)

FoxKeegan said:


> What's your suggested "Best Practice" for implementing a simple trigger that plays an audio file, every hour, starting at a specific hour?  In this case, a clock bell chime.


As more of an audio guy that got started in the analog world, the way that *I* would do that is with an audio source that is normally silent, except to play that sound.  Then the device (or software via loopback or Jack/PipeWire) that you connect it to, and its timing, is a completely separate problem.

(don't know if it works in context, but this one might be funny instead of a "boring" chime)








						Morning People
					

I was very hard to get moving in the morning…  And I don’t like small things that move quickly.



					www.curtailedcomic.com
				











						Random
					

Don’t be silly, Clocky’s not random, he’s just very excited about EVERY SINGLE THING ON THE SCHEDULE TODAY  +1 to the list of characters…



					www.curtailedcomic.com
				











						EATING TIME
					

Clocky time. ALL DAY. EVERY DAY.



					www.curtailedcomic.com


----------



## hammerheaddown (Apr 10, 2022)

FoxKeegan said:


> _<scrolls back through the posts>_
> 
> I could be mistaken, but this sounds like a case of getting stuck asking how to build a submarine, without anyone realizing you're just trying to cross a stream.
> You just want to switch a scene after an audio file _that you created _and put into a playlist _that plays separately of other files_ at a set time is played, correct? Or--specifically--as soon as it stops being played?
> ...




ha not gonna lie i am super confused by your post,   but it may be because it is not what i am wanting to do.  you def explained well just not what i was looking for.

i have a live feed that will play a tone like above, and this where a  ad break goes.  i want that ad break to then play  some ads


----------



## hammerheaddown (Apr 10, 2022)

Created a new thread about the cue tones...  i created a .bat file, yes no laughing lol  

It is doing a decent job so far but def needs tweaked

*





						Detect Cue Tones and trigger OBS
					

So anyone who has had radio or TC experiecne know that some feeds come with DTMF tones,  these tones are detected and then a advertisement  is played.  been trying to do similar  where OBS can detect it,  with no real luck  one solution i have been working on is using multimon-ng and FFmpeg  and...




					obsproject.com
				



*


----------



## AaronD (Apr 11, 2022)

hammerheaddown said:


> ha not gonna lie i am super confused by your post,   but it may be because it is not what i am wanting to do.  you def explained well just not what i was looking for.
> 
> i have a live feed that will play a tone like above, and this where a  ad break goes.  i want that ad break to then play  some ads


I'm guessing that the live feed is not produced by this copy of OBS, and so you can't just take the test card out of the system altogether and replace it with the ads?

Also consider that there will probably be a short delay (at least a handful of cycles at that audio frequency), for the trigger to figure out that it even has a valid condition (the more selective an audio filter is, the longer it takes to figure that out, so there's a tradeoff there), and that you should probably have even more delay on purpose just to avoid a false trigger.  Meanwhile, during those delays, the audience sees and hears the test card.  I wonder if you still need a different solution.

Maybe you can delay the live feed enough that a decently selective and well-debounced filter (that acts on the un-delayed version) can still catch it in time to switch the delayed feed?  (similar to a censor beep on live TV, which has the feed delayed enough that a human can still push the button in time)


----------



## AaronD (Apr 11, 2022)

hammerheaddown said:


> Created a new thread about the cue tones...  i created a .bat file, yes no laughing lol
> 
> It is doing a decent job so far but def needs tweaked
> 
> ...


Oh, and "The requested thread could not be found," following that link.


----------



## hammerheaddown (Apr 11, 2022)

AaronD said:


> Oh, and "The requested thread could not be found," following that link.


appears to be awaiting  moderation, it wasnt now it is showing that, which is weird


and it would be a live TV feed actually


----------



## AaronD (Apr 12, 2022)

hammerheaddown said:


> appears to be awaiting  moderation, it wasnt now it is showing that, which is weird
> 
> 
> and it would be a live TV feed actually


A live TV feed has a test card instead of ads?  What self-respecting station does that?

Or are YOU the live TV feed?  If so, then I'm asking about your input side, not your output.

Maybe we'd better wait until that other thread comes up.  This is getting way off topic for the plugin.  Sorry to the rest of you!


----------



## hammerheaddown (Apr 13, 2022)

AaronD said:


> A live TV feed has a test card instead of ads?  What self-respecting station does that?
> 
> Or are YOU the live TV feed?  If so, then I'm asking about your input side, not your output.
> 
> Maybe we'd better wait until that other thread comes up.  This is getting way off topic for the plugin.  Sorry to the rest of you!


seems to be up now,  of course on my side...  i got a solution that i hope i can work into this plugin


----------



## AaronD (Apr 13, 2022)

hammerheaddown said:


> seems to be up now,  of course on my side...  i got a solution that i hope i can work into this plugin


Works for me too.  See you there!  I wonder if the mods can move the relevant comments over there and clean this up a bit?






						Detect Cue Tones and trigger OBS
					

So anyone who has had radio or TC experiecne know that some feeds come with DTMF tones,  these tones are detected and then a advertisement  is played.  been trying to do similar  where OBS can detect it,  with no real luck  one solution i have been working on is using multimon-ng and FFmpeg  and...




					obsproject.com


----------



## FoxKeegan (Apr 14, 2022)

Warmuptill said:


> Glad to hear that you found a solution!


Well, actually that didn't work like I expected it to. Still figuring out why.


Warmuptill said:


> Just to clarify regarding "pausing doesn't stop the timer":
> You are referring to pausing the *macro* itself and not the "Timer" action to pause another timer, right?View attachment 82558
> If the latter does not work that would be a bug.


Correct. I was pausing the macro. Thank you for showing me I can also pause the timer.
Unfortunately using the---oh. I was using "Reset Counter". Ha. I bet it'd reset the timer if I actually _told _it to reset the _timer_. :) I'll test this in an hour


Warmuptill said:


> Do makes sense still to add an option to the date condition which allows you to toggle the automatic overwriting of the selected date on repeat?
> If so I would see if I can try to implement something similar to this:
> View attachment 82559


Yes, that'd be a much better solution, provided I understand what it does correctly. If you *un*checked that box you underlined, would it continue to fire off every 60 minutes, but _not_ change 20:00:00? Cuz that'd be great.


----------



## Warmuptill (Apr 15, 2022)

FoxKeegan said:


> Yes, that'd be a much better solution, provided I understand what it does correctly. If you *un*checked that box you underlined, would it continue to fire off every 60 minutes, but _not_ change 20:00:00? Cuz that'd be great.


Your understanding is correct.
I implemented this feature in the following build:








						Add option to preserve original date in combination with repeat option · WarmUpTill/SceneSwitcher@1c9f420
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				



Note that you have to be logged into GitHub to be able to download it - let me know if that should be an issue.


----------



## MikeVF (Apr 15, 2022)

Hoping someone might be able to help with an issue I'm experiencing.  I created a simple macro to switch scenes after completing a VLC playlist.  The first time through everything works as expected.  But if I revisit the scene the playlist loops and the scene doesn't change.  I can work around the problem by restarting OBS (everything starts working as expected again).  Wondering if I'm doing something silly or if there's an issue with the Ended(Playlist) logic.



Also when the transition macro does work the last second of audio is clipped.  More concerned about the first issue and it makes everything less reliable.  Thoughts? Thanks -Mike


----------



## Warmuptill (Apr 15, 2022)

MikeVF said:


> But if I revisit the scene the playlist loops and the scene doesn't change.


Is the playlist explicitly configured to be looping or is this not intentional?

The way "Ended(Playlist)" works is that it checks whether or not the specified media source is in the "ended" state multiple consecutive times in a row. (As to not be triggered when an individual playlist item ends).
So if the playlist is looping continuously it is to be expected that the condition is never true as the playlist never "ends".


----------



## MikeVF (Apr 15, 2022)

Warmuptill said:


> Is the playlist explicitly configured to be looping or is this not intentional?
> 
> The way "Ended(Playlist)" works is that it checks whether or not the specified media source is in the "ended" state multiple consecutive times in a row. (As to not be triggered when an individual playlist item ends).
> So if the playlist is looping continuously it is to be expected that the condition is never true as the playlist never "ends".


My playlist is not configured to loop and the looping is undesired.  I've found a fix/work around.    I was using an xspf file for the playlist in the VLC Video Source.  Problem I described is a 100% repro case (see XML below).  To work around the issue I manually added each video to VLC Video Source playlist in OBS and discontinued using the XSPF file.  This works as expected.  My takeaway is that xspf playlists are not fully supported by the Ended(playlist) function.  Thanks -Mike

Example problematic xspf (with just one video) used for testing:

<?xml version="1.0" encoding="UTF-8"?>
<playlist xmlns="http://xspf.org/ns/0/" xmlns:vlc="http://www.videolan.org/vlc/playlist/ns/0/" version="1">
    <title>Playlist</title>
    <trackList>
        <track>
            <location>file:///C:/Users/mikev/OneDrive/Videos/SDB/SDB%20Promo%20Video_AME/Seattle%20promo%20short%20doc%20edit%204.mp4</location>
            <duration>308309</duration>
            <extension application="http://www.videolan.org/vlc/playlist/0">
                <vlc:id>0</vlc:id>
            </extension>
        </track>
    </trackList>
    <extension application="http://www.videolan.org/vlc/playlist/0">
        <vlc:item tid="0"/>
    </extension>
</playlist>


----------



## KattPhloxworthy (Apr 16, 2022)

I have an issue where I accidentally ran OBS Studio Music Edition without the plugin, which did two things:

1.  Destroyed all my cues.  That was easy to fix; I'd already backed them up, so I restored them.
2.  The one I -REALLY- need help with, the menu tabs got thrashed a bit, only a subset is showing.  as evidenced by the picture below.

Uh... help?

Thanks in advance!

--Katt.  =^.^=


----------



## KattPhloxworthy (Apr 16, 2022)

KattPhloxworthy said:


> I have an issue where I accidentally ran OBS Studio Music Edition without the plugin, which did two things:
> 
> 1.  Destroyed all my cues.  That was easy to fix; I'd already backed them up, so I restored them.
> 2.  The one I -REALLY- need help with, the menu tabs got thrashed a bit, only a subset is showing.  as evidenced by the picture below.
> ...



UPDATE:  I managed to fix my issue by using a backup copy of my scenes config, thanks to Exceldro's Scene Collection Manager plugin.  I managed to restore functionality to the point where I can use the plugin's dialog again.

--Katt.  =^.^=


----------



## Warmuptill (Apr 16, 2022)

KattPhloxworthy said:


> UPDATE:  I managed to fix my issue by using a backup copy of my scenes config, thanks to Exceldro's Scene Collection Manager plugin.  I managed to restore functionality to the point where I can use the plugin's dialog again.
> 
> --Katt.  =^.^=


Just in case you are wondering which option caused this UI change:
In the lower left corner of the General tab there is an option to "Hide tabs which can be represented via macros", which is set by default in the recent version.


----------



## 132nd.Fudd (Apr 16, 2022)

I love this plugin, but there is one condition I feel is missing. I use a separate scene-collection per thing I'm streaming, and I'd like to run a condition that checks if a particular scene-collection is active. This way, macros can properly auto-start and know what scenes are available.

As an example, I sometimes stream my 3D printer. I have a scene for general prints, and I have scenes for specific cosplay projects I'm working on. The general scene switches between two web-sources (printer dashboard and webcam), while the project-specific scenes also have a slideshow of stills from the movie or series that the cosplay is from.

With the above suggestion, I could hit "Stream now" and the macro would know whether to include the slideshow-scene or not, depending on what scene-collection is active.


----------



## Warmuptill (Apr 16, 2022)

132nd.Fudd said:


> I love this plugin, but there is one condition I feel is missing. I use a separate scene-collection per thing I'm streaming, and I'd like to run a condition that checks if a particular scene-collection is active. This way, macros can properly auto-start and know what scenes are available.
> 
> As an example, I sometimes stream my 3D printer. I have a scene for general prints, and I have scenes for specific cosplay projects I'm working on. The general scene switches between two web-sources (printer dashboard and webcam), while the project-specific scenes also have a slideshow of stills from the movie or series that the cosplay is from.
> 
> With the above suggestion, I could hit "Stream now" and the macro would know whether to include the slideshow-scene or not, depending on what scene-collection is active.


The plugin's settings are saved as part of the scene collection data.
So each macro you create will only apply to one particular scene collection, which should already allow you to achieve what you are looking for.

Please let me know if I am missing something / am misunderstanding your request.


----------



## KattPhloxworthy (Apr 17, 2022)

Warmuptill said:


> Just in case you are wondering which option caused this UI change:
> In the lower left corner of the General tab there is an option to "Hide tabs which can be represented via macros", which is set by default in the recent version.



Ah, I see that now.  Just played with the checkbox just now.  It yielded me that very interface appearance I screenshot for my post.  Thanks for the clarification!

--Katt.  =^.^=


----------



## AaronD (Apr 17, 2022)

Warmuptill said:


> Just in case you are wondering which option caused this UI change:
> In the lower left corner of the General tab there is an option to "Hide tabs which can be represented via macros", which is set by default in the recent version.


Does this mean that you're slowly "reducing" the UI to macros only?  That could be good.


----------



## Warmuptill (Apr 17, 2022)

AaronD said:


> Does this mean that you're slowly "reducing" the UI to macros only?  That could be good.


Yes, that's the plan - but with the emphasis being on slowly.


----------



## booj (Apr 19, 2022)

Here's the issue I have -- I have a base canvas size for Scene 1 at 10240x2880. This is two monitors side by side. When I want to switch to just the left monitor I have a scene setup for this... but the issue is the base canvas size is still at 10240x2880 so I have a large blank/black area to the right.


----------



## AaronD (Apr 20, 2022)

booj said:


> Here's the issue I have -- I have a base canvas size for Scene 1 at 10240x2880. This is two monitors side by side. When I want to switch to just the left monitor I have a scene setup for this... but the issue is the base canvas size is still at 10240x2880 so I have a large blank/black area to the right.


That sounds to me like expected behavior: a constant-size canvas.  Are you trying to re-size the video mid-stream?  Switch from 3D stereo video to 2D?  What are you trying to do?


----------



## khaver (Apr 20, 2022)

So you have 2 5120x2880 monitors side by side with GPU set so they act as one display, and you want to show 1 side at a time in OBS? Make your base canvas 5120x2880 and in 1 scene move the display source to the left so only the right side is shown, and in the other scene move it to the right so the left side is showing. Now you can switch between those 2 scenes.

If the monitors are set as separate displays, just have 2 scenes, one with a display capture of one display, and the other scene with a display capture of the other display.


----------



## Ben Anderson (Apr 22, 2022)

AaronD said:


> Just curious, what was the answer?  Maybe there's a better one, or at least someone else can get it from you, via a google search, instead of beating their head against a wall.


I figured out how to run a PowerShell command from the Run function for a macro.

Select Run as the action. Paste in or browse to `C:/WINDOWS/System32/WindowsPowerShell/v1.0/powershell.exe`
Add the following as an argument, modifying it to match your file path and name: `powershell.exe -executionpolicy bypass -File C:\Users\User\Desktop\command.ps`
Ensure the argument doesn't have any spaces in the file path, e.g. Users/My User/ will not work. If your user has a space in it then put it somewhere else, e.g. C:\


----------



## Ben Anderson (Apr 22, 2022)

If anyone is interested I managed to get this plugin to send an email as the action of a macro. Possible use cases would be broad, such as sending an email if the computer is dropping frames or bitrate, some sort of an error or you started streaming and you want to notify someone. My use case is if an audio device is below a certain level for a period of time then send an email.

This works in Windows but could probably be used to work in Mac and Linux if you use Powershell 7.
1. Open Windows Powershell ISE or Notepad and paste in the following code, modifying from/to email, email password and smtp server & port to suit your needs
`$secpasswd = ConvertTo-SecureString "emailpassword" -AsPlainText -Force
$cred = New-Object System.Management.Automation.PSCredential ("fromemail@gmail.com", $secpasswd)
Send-MailMessage -SmtpServer smtp.gmail.com -Credential $cred -UseSsl -Port 587 -From 'fromemail@gmail.com' -To 'toemail@gmail.com' -Subject 'Audio device disconnected' -Body 'Check audio is connected on audio recording server'`

If you use Gmail ensure you've created an App password and use that as the password, otherwise it will not work as you can no longer disable less-secure apps.

2. Save the file as whatever.ps1

3. In OBS select Run as the macro action and paste in or browse to C:/WINDOWS/System32/WindowsPowerShell/v1.0/powershell.exe

4. Add the following as an argument, modifying it to match your file path and name: `powershell.exe -executionpolicy bypass -File C:\Users\User\Desktop\whatever.ps`
If you don't want to use -executionpolicy bypass then first run Powershell as Administrator and enter in `Set-ExecutionPolicy -ExecutionPolicy Unrestricted`





To the developer, having a native way to send emails could be cool.


----------



## ElitePrezes (Apr 22, 2022)

Hi,
For a long time I was wondering how I can set my streams to turn on by themselves without my interference.
For example, to have the stream come on at 3 p.m. while I'm still at work.
It is true that I found the answer to this (Advanced Scene Switcher Plugin)
And okay, many people praise this plug, but I do not know how to set it.
I marked the stream to turn on in a minute, but the stream started a second after the button was pressed.
What am I doing wrong?
In A.S.S. 1.17.15 I have 4 tabs:
General / Macro / Network / Scene group
There are two tables in the macro:
in upper gives: If Streaming For exactly 1 minuts Stream starting
and at the bottom: Streaming> Start streaming


----------



## ElitePrezes (Apr 22, 2022)

Warmuptill said:


> Warmuptill submitted a new resource:
> 
> Automatic Scene Switching - Switches to specified scenes depending on which window is in focus
> 
> ...


Hi,
For a long time I was wondering how I can set my streams to turn on by themselves without my interference.
For example, to have the stream come on at 3 p.m. while I'm still at work.
It is true that I found the answer to this (Advanced Scene Switcher Plugin)
And okay, many people praise this plug, but I do not know how to set it.
I marked the stream to turn on in a minute, but the stream started a second after the button was pressed.
What am I doing wrong?
In A.S.S. 1.17.15 I have 4 tabs:
General / Macro / Network / Scene group
There are two tables in the macro:
in upper gives: If Streaming For exactly 1 minuts Stream starting
and at the bottom: Streaming> Start streaming


----------



## AaronD (Apr 22, 2022)

ElitePrezes said:


> Hi,
> For a long time I was wondering how I can set my streams to turn on by themselves without my interference.
> For example, to have the stream come on at 3 p.m. while I'm still at work.
> It is true that I found the answer to this (Advanced Scene Switcher Plugin)
> ...


I have a bash script on Linux that does this, from before this plugin was anywhere near as capable as it is now.  Actually, it's split across several scripts because of how the structure works, but the logic is essentially:

If date.hour < start_hour
Wait for date.hour >= start_hour
Force OBS window in focus
Emulate hotkeys set up the first and next scenes, and to start streaming (relies on OBS hotkeys to be set up and not disabled when the window is in focus)

Still doing it that way because it still works, but it has a lot of moving parts.

For a new setup, this is probably better, but I haven't actually done it this way myself:


----------



## ISKCON Jaipur (Apr 23, 2022)

Hey there! My Switcher shows only 4 tabs, General, Macro, Network, Scene Group. Don't know where the rest are! Using version 1.17.5 on Windows Server 2016.


----------



## Warmuptill (Apr 23, 2022)

ISKCON Jaipur said:


> Hey there! My Switcher shows only 4 tabs, General, Macro, Network, Scene Group. Don't know where the rest are! Using Windows Server 2016


Uncheck "Hide tabs which can be represented via macros" in the lower left corner of the General tab.

In general I would suggest to use macros however as they are much for flexible and I do not plan on spending more time on the other tabs.


----------



## ISKCON Jaipur (Apr 23, 2022)

ISKCON Jaipur said:


> Hey there! My Switcher shows only 4 tabs, General, Macro, Network, Scene Group. Don't know where the rest are! Using version 1.17.5 on Windows Server 2016.View attachment 82930


Never Mind, found the checkbox at the bottom.


----------



## RoachMcKrackin (Apr 27, 2022)

Hey all, sorry if this has been answered before: Is it possible to automatically configure the Switcher to import a config file at startup, or otherwise dynamically swap the config file when OBS starts? 

Use Case: I have a set of programs that run my stream, automating all of the scene settings which change based on a number of factors. Would love to dynamically pick which config file for the Switcher I use prior to OBS launch. 

Any insights much appreciated!


----------



## Warmuptill (Apr 27, 2022)

RoachMcKrackin said:


> Hey all, sorry if this has been answered before: Is it possible to automatically configure the Switcher to import a config file at startup, or otherwise dynamically swap the config file when OBS starts?
> 
> Use Case: I have a set of programs that run my stream, automating all of the scene settings which change based on a number of factors. Would love to dynamically pick which config file for the Switcher I use prior to OBS launch.
> 
> Any insights much appreciated!


Depending on what you prefer you have the following options:

Change the scene collection using the "Scene collection" macro action:



Import settings from a file using the "Plugin state" macro action:


And just to mention it in case it is helpful in your setup:
You can also switch the OBS profile using the "Profile" macro action:




Let me know if you have any questions!


----------



## GeeMack (Apr 28, 2022)

RoachMcKrackin said:


> Use Case: I have a set of programs that run my stream, automating all of the scene settings which change based on a number of factors. Would love to dynamically pick which config file for the Switcher I use prior to OBS launch.



You can also include a command line switch to start with a particular profile and/or scene collection when you launch OBS. You can include them in shortcuts or scripts. Find the available switches here: OBS Launch Parameters


----------



## Ahrice (Apr 28, 2022)

Warmuptill said:


> Just in case you are wondering which option caused this UI change:
> In the lower left corner of the General tab there is an option to "Hide tabs which can be represented via macros", which is set by default in the recent version.


Thank you for this response... This is exactly what I was looking for


----------



## RoachMcKrackin (Apr 28, 2022)

Warmuptill said:


> Depending on what you prefer you have the following options:
> 
> Change the scene collection using the "Scene collection" macro action:View attachment 83016
> 
> ...


Thanks so much for this. I was using an older version and didn't realize this functionality had been implemented. Now I'm updated and opening up a whole new world of possibilities. Keep up the great work!!


----------



## burny7 (Apr 28, 2022)

Hey everyone, I was wondering in the macro tabs when I set up a action to "Activate" the source ... it only show in a cut, has i see it don't toggle the EYE icon.... is their a way the macro could apply the transition we set on the source ?


----------



## Warmuptill (Apr 29, 2022)

burny7 said:


> Hey everyone, I was wondering in the macro tabs when I set up a action to "Activate" the source ... it only show in a cut, has i see it don't toggle the EYE icon.... is their a way the macro could apply the transition we set on the source ?


If you want to adjust the visibility of a scene item instead of globally disabling a source you will have to use the "Scene item visibility" action type.
This one will respect the Show / Hide Transition you have configured.





Let me know if I should have misunderstood your question!


----------



## burny7 (Apr 29, 2022)

Warmuptill said:


> If you want to adjust the visibility of a scene item instead of globally disabling a source you will have to use the "Scene item visibility" action type.
> This one will respect the Show / Hide Transition you have configured.
> 
> View attachment 83080
> ...


Oh, yep thats exactly what I needed thx


----------



## SMacEwan (May 1, 2022)

How can I delete this plugin. It's far too complicated for what I need...


----------



## SMacEwan (May 1, 2022)

How do I delete this awful plugin?


----------



## Warmuptill (May 1, 2022)

SMacEwan said:


> How do I delete this awful plugin?


Delete this folder:

```
/Library/Application Support/obs-studio/plugins/advanced-scene-switcher
```


----------



## lindenkron (May 1, 2022)

SMacEwan said:


> How do I delete this awful plugin?


There's nothing awful about this plugin. It's one of the greats actually. I'm sorry it's too complicated for your need, but there's no need to attack the author about removing a plugin.

If you need general OBS help I'd suggest asking in the support channel in the official OBS discord. You can find it in the top right corner of this page. Removing a plugin isn't unique to Advanced Scene Switcher, it's a general OBS thing, so if you need to uninstall other plugins in the future that's your best solution :)


----------



## cognitonium (May 1, 2022)

is it possible to create a video condition macro to trigger a color correction filter if say a game capture loses brightness e.g. nighttime


----------



## KattPhloxworthy (May 2, 2022)

SMacEwan said:


> How do I delete this awful plugin?



"Awful"?  I think it's awful good. I couldn't run my show without it.


----------



## iliketoDJ999 (May 2, 2022)

I have around 200 scenes each with a different video loop media source for my green screen. How would I be able to sequence it to where the plug-in can cycle thru each scene once in random order, then re-cycle indefinitely. I use these video loops as visuals in the background while I DJ. So far I've only been able to figure out how to sequence scene transitions by manually adding them using Sequence macros.

Also, sometimes I will want to trigger a scene with a specific video loop, but after a minute or so, I would like it to transition back to the scene the plug-in had activated and then continue its sequence. As of right now, if I interrupt my sequence of scenes, the plug-in is set up to go back to the start of my Sequence macro, instead of continuing where it was previously. Is something like this possible with this plug-in? We have a large group of streaming DJ's trying to optimize using this plug-in more.


----------



## Lawrence_SoCal (May 2, 2022)

KattPhloxworthy said:


> "Awful"?  I think it's awful good. I couldn't run my show without it.


Yea, someone who can't be bothered to RTFM is going to fail using OBS, much less a feature-rich add-on like AdvSS, which my stream requires as well.
Thanks to @Warmuptill for an absolutely fantastic OBS plug-in


----------



## lindenkron (May 3, 2022)

cognitonium said:


> is it possible to create a video condition macro to trigger a color correction filter if say a game capture loses brightness e.g. nighttime


Yes, probably. You can do a *Video > Matches Pattern* - I'd suggest trying with a dark image, perhaps black? Then set the Threshold and see what % you can get it to trigger on when it's night time.

I have no experience with pattern matching though, so this is just at the top of my head!


----------



## Warmuptill (May 4, 2022)

iliketoDJ999 said:


> How would I be able to sequence it to where the plug-in can cycle thru each scene once in random order


Let me preface this by saying:
Doing this for 200 scenes will be very tedious - maybe there might be a better approach to achieve this.
If you do not insist on each scene being switched to at least once and use the same duration for each scene the setup becomes much simpler (see later section).

This would be possible using the macro action "Random".
It will allow you to randomly execute one macro from a list of macros.



Notably macros that are paused will be skipped over.

So to randomly execute each macro in the list of the "Random" action once the macros will have to be paused when they finish running.
This could be done using the "Macro" action.

To give an example on how these macros will have to look like see the screenshot below:




You would have to copy this macro (Right-click in the macro list -> Create copy) for each of your 200 scenes and add it to the "Random" list.
Once you have this setup you have to think about how you want to trigger this random scene switch, e.g. only while streaming:




(Might be worth executing this in the background if you intend to run other macros in the mean time as well)

Once each macro was executed at least once the "Random" action will no longer have anything to do as each macro in the list was paused.

Note that it might also be worth it to setup a macro which unpauses each of these macros once on OBS startup or shutdown, as otherwise you will have to reset every macro manually to make this setup work again.



iliketoDJ999 said:


> then re-cycle indefinitely


This should be rather easy to setup if you want to switch to each sence for the same amount of time.
In that case you can use a "Scene Group" containing each of the scenes in combination with the "Switch scene" action, like so:








If you are using this macro in the setup with the previously described macro setup (switch to each scene once in a random order) you will have to probably add an additional condition to avoid conflicts, e.g. by checking how often the other macro was executed:




(This is just an example and the best solution depends on your setup needs - e.g. you can also achieve this by pausing / unpausing this macro, ...)

If each scene needs to be shown for a different amount of time you will have to setup something similar described in the first section (switch to each scene once in a random order) but leave out the pausing of the macros part.



iliketoDJ999 said:


> Also, sometimes I will want to trigger a scene with a specific video loop, but after a minute or so, I would like it to transition back to the scene the plug-in had activated and then continue its sequence


You could achieve this by setting up a macro, which pauses the automated random scene switches for a fixed amount of time when a hotkey is pressed, similar to this one:





Hope this helped - Let me know if you have any questions!


----------



## macha (May 6, 2022)

Hi, I have a question.
I want to stop automatically Advanced Scene Switcher when I finished stream.
How can I this?
Sorry my English, Thank you.


----------



## AaronD (May 6, 2022)

macha said:


> Hi, I have a question.
> I want to stop automatically Advanced Scene Switcher when I finished stream.
> How can I this?
> Sorry my English, Thank you.


Just poke around the options.  There's enough there now that no matter what you want to do, it's probably in there somewhere.  For this particular case:




And I barely even use this plugin, having built my rig before it became this good.  Yet it still only took me a handful of seconds to find this.

Why you'd WANT to stop the plugin, instead of either letting it run with practically no effect because you're not streaming anyway, or designing your conditions so that they're only met when you actually need them, is beyond me.  (Note: designing the conditions includes both the signals coming in, as well as how you respond to them.  It might be easier to leave the plugin logic alone, and prevent the trigger itself instead.)  But the function is there, should you decide that you really do need it.


----------



## carlosfunk (May 6, 2022)

Not sure if this is the right place to ask, but why does not my advanced scene switcher look like the rest I've seen with all the menu items on top..... can't get it to work


----------



## Warmuptill (May 6, 2022)

carlosfunk said:


> Not sure if this is the right place to ask, but why does not my advanced scene switcher look like the rest I've seen with all the menu items on top..... can't get it to work


You can show the old tabs by unchecking "Hide tabs which can be represented via macros" in the lower left corner of the General tab.


----------



## macha (May 7, 2022)

AaronD said:


> オプションをざっと見てください。何をしたいのかに関わらず、おそらくどこかにあるので十分です。この特定のケースの場合：
> View attachment 83270
> 
> そして、私はこのプラグインをほとんど使用していません。これほど良いものになる前にリグを構築しました。それでも、これを見つけるのにほんの数秒しかかかりませんでした。
> ...


Thanks.


----------



## KattPhloxworthy (May 8, 2022)

AaronD said:


> Why you'd WANT to stop the plugin, instead of either letting it run with practically no effect because you're not streaming anyway, or designing your conditions so that they're only met when you actually need them, is beyond me.  (Note: designing the conditions includes both the signals coming in, as well as how you respond to them.  It might be easier to leave the plugin logic alone, and prevent the trigger itself instead.)  But the function is there, should you decide that you really do need it.



My usage case for that is that, before LioranBoard 2 dropped, since I use a second PC to do encoding and packet-pushing, I had to use the plugin and a scene switch via the network support to trigger start-of-stream.  Before I started stream, using LioranBoard and a few buttons with the arm/disarm events assigned to keys, I could manually arm the local instance of Advanced Scene Switcher immediately prior to start-of-stream.  Once my stream was over, a black-at-foot event would not only stop the stream on the encoding machine, turn off the "studio" instance of Advanced Scene Switcher to avoid starting a stream if I touched the scene that triggers the other computer to start stream by accident.

However nowadays, given LioranBoard 2's ability to access multiple OBS Studio setups as a new feature, I can now directly issue the command from LioranBoard 2 to the encoder machine, obviating the need for relying on Advanced Stream Switcher on the "encoder" machine to trigger the event when the start-of-show scene is selected on the "studio" machine.  That said, I could leave Advanced Scene Switcher turned on with no ill effects.  I just need to be careful on the tablet I use for my stream deck.

--Katt.  =^.^=


----------



## AaronD (May 8, 2022)

KattPhloxworthy said:


> My usage case for that is that, before LioranBoard 2 dropped, since I use a second PC to do encoding and packet-pushing, I had to use the plugin and a scene switch via the network support to trigger start-of-stream.  Before I started stream, using LioranBoard and a few buttons with the arm/disarm events assigned to keys, I could manually arm the local instance of Advanced Scene Switcher immediately prior to start-of-stream.  Once my stream was over, a black-at-foot event would not only stop the stream on the encoding machine, turn off the "studio" instance of Advanced Scene Switcher to avoid starting a stream if I touched the scene that triggers the other computer to start stream by accident.
> 
> However nowadays, given LioranBoard 2's ability to access multiple OBS Studio setups as a new feature, I can now directly issue the command from LioranBoard 2 to the encoder machine, obviating the need for relying on Advanced Stream Switcher on the "encoder" machine to trigger the event when the start-of-show scene is selected on the "studio" machine.  That said, I could leave Advanced Scene Switcher turned on with no ill effects.  I just need to be careful on the tablet I use for my stream deck.
> 
> --Katt.  =^.^=


That makes...a little bit of sense I guess.  It's hard to understand a complex setup with just words.  But yeah, backwards compatibility makes for some fun times.  :-/

---

I actually have a dual-OBS rig myself, with both running on the same PC in portable mode via a command-line switch.  (they're actually started from a script that does a bunch more automated setup as well)  Different profiles and scene collections, of course, also specified on the command line.

One instance produces the live feed to a remote meeting via the virtual camera, same as any other broadcast, and the other instance window-captures that meeting to show to the local audience and to record.  Two different pictures, so I need two different instances, with some automation between them using either a python script with websockets (on Linux) or an old version of Adv-SS communicating via a file (on Windows).

Either way, the local display and recording ("slave") switches between 3 scenes according to a regex on the ("master") scene name that's being shown to the meeting: Camera.* to show the normal meeting window with its grid of participants, Feature.* to mirror what's going to the meeting with the meeting audio off, and Voiceover.* to mirror with the meeting audio on.

Name the "master" scenes accordingly, and there's no need to mess with the "slave" at all, except to tell it to start/stop recording at the right time.  This gives me both a functional meeting with broadcast-style presentation capabilities, and a recording to put on YouTube later.  I could stream too, if I really wanted, but I haven't seen the need.  Everyone who wants to be there live is already in the meeting.

No need in that rig to disable the automation.  In fact, it's quite reassuring to see it "always work", especially before I go "on-air".  If I weren't clicking those buttons with the mouse, I'd be sorely tempted to use hotkeys instead of Adv-SS for the more critical functions like start/stop recording.  The inability to put complex logic behind them means that I can remember exactly what their triggers are, and I can control the environment accordingly to avoid a surprise.


----------



## KattPhloxworthy (May 9, 2022)

AaronD said:


> I actually have a dual-OBS rig myself, with both running on the same PC in portable mode via a command-line switch.  (they're actually started from a script that does a bunch more automated setup as well)  Different profiles and scene collections, of course, also specified on the command line.



Apart from the flags you use for loading up specific profiles and scene collections, you do know about the ability to put a file at OBS Studio's directory tree root called "obs_portable_mode"?  That completely obviates the need to specify the "--portable" flag on the command line.  Of course, that assumes that all instances you're running on that machine from that tree are in portable mode.

--Katt.  =^.^=


----------



## AaronD (May 9, 2022)

KattPhloxworthy said:


> Apart from the flags you use for loading up specific profiles and scene collections, you do know about the ability to put a file at OBS Studio's directory tree root called "obs_portable_mode"?  That completely obviates the need to specify the "--portable" flag on the command line.  Of course, that assumes that all instances you're running on that machine from that tree are in portable mode.
> 
> --Katt.  =^.^=


No, I didn't know that, but it's not hard at all to use the command line, and it keeps my options open.

Another tip for those that might not know: even Windows shortcuts use the command line.  You just have to dig a little bit to find it, and then you can modify as you need.  So I made the shortcut for OBS by itself (the one that comes with the installer) use a third profile and collection so it doesn't interfere with the meeting rig.


----------



## KattPhloxworthy (May 9, 2022)

AaronD said:


> No, I didn't know that, but it's not hard at all to use the command line, and it keeps my options open.
> 
> Another tip for those that might not know: even Windows shortcuts use the command line.  You just have to dig a little bit to find it, and then you can modify as you need.  So I made the shortcut for OBS by itself (the one that comes with the installer) use a third profile and collection so it doesn't interfere with the meeting rig.



Briefly and completely unrelated, I do that with two of my VTubing programs, code in a couple of items in the command line, notably setting window size by way of a Unity command-line flag for both, and for one, VTube Studio, to not use Steam on startup (a batch tile comes with the program, but it was just as easy to use a shortcut).

--Katt.  =^.^=


----------



## WekizZ (May 10, 2022)

Would it be possible to make a auto counter that would count how many games in a row I have won and reset to 0 afer a lose? With image recognition.


----------



## AaronD (May 10, 2022)

WekizZ said:


> Would it be possible to make a auto counter that would count how many games in a row I have won and reset to 0 afer a lose? With image recognition.


Yeow!  And here's why: https://www.explainxkcd.com/wiki/index.php/1425:_Tasks

Besides, I think that *generating* content to put on the screen is outside the scope of this plugin.


----------



## WekizZ (May 10, 2022)

AaronD said:


> Yeow!  And here's why: https://www.explainxkcd.com/wiki/index.php/1425:_Tasks
> 
> Besides, I think that *generating* content to put on the screen is outside the scope of this plugin.


This plugin feels so powerful that it looks like it could do way more than I ask XD

And with a Tally Counter plugin, I think I can get what I want!


----------



## AaronD (May 10, 2022)

WekizZ said:


> This plugin feels so powerful that it looks like it could do way more than I ask XD
> 
> And with a Tally Counter plugin, I think I can get what I want!


What you might do, if you're okay with doing it manually, is to find or write a simple app or webpage that can do that in response to some hotkeys, and then Window Capture that app or browser window.  (it doesn't have to be showing at the moment, just running and not minimized)  Maybe even chroma-key it like a green-screen.  (except it doesn't have to be green, it could be anything)  All of that is also outside the scope of Adv-SS.

Also, I think OBS's text source can watch a file and keep itself up to date from that file.  If you do it that way, then you just have to keep that file up to date somehow.  Again, outside the scope of this plugin though.


----------



## jcoryd (May 11, 2022)

Hey folks....from OBS studio users, what would be the best approach in utilizing the advanced screen switcher to switch between a handful of different scenes approximately 100 times (each with a different wait time). Is there a way to utilize the macro feature without having to manually add "switch scene" then "wait" that many times?


----------



## AaronD (May 11, 2022)

jcoryd said:


> Hey folks....from OBS studio users, what would be the best approach in utilizing the advanced screen switcher to switch between a handful of different scenes approximately 100 times (each with a different wait time). Is there a way to utilize the macro feature without having to manually add "switch scene" then "wait" that many times?


How do you get the different wait times?  Do you enter those manually?  If so, then there's probably not much room to improve on making the entire sequence that way.  If they're the same or random, then we might have some possibilities.


----------



## khaver (May 11, 2022)

Using the latest Windows OBS and ASS plugin, the macro for listening for the level of an audio source that goes over a certain level seems to have a bug.
I have a macro set to start recording on a video pattern match (a certain slide is shown on a display). After the recording starts, the macro fades up to a wide camera scene and unpauses another macro that's been pauses from when OBS is opened and the ASS plugin is activated. This macro listens to an audio source and when it reaches a certain level, switches to a closeup camera scene. Instead, the macro immediately switches to the closeup scene no matter what the level of the audio.

This setup does work if the audio source is silent all the way up to the point the listening macro is unpaused, but if there is audio on the source that's above the trigger level while the macro is paused, as soon as it is unpaused, the switch is triggered. This can be seen in the verbose log where the audio macro returns a 1 as soon as it's unpaused. It seems to be listening even while it's paused.


----------



## Terry1983! (May 11, 2022)

hello all, i am a very very beginner at obs. the advanced scene switcher, i have no clue on how to set up, can someone explain in simple terms how to setup from start to finish. thanks


----------



## Warmuptill (May 11, 2022)

khaver said:


> Using the latest Windows OBS and ASS plugin, the macro for listening for the level of an audio source that goes over a certain level seems to have a bug.
> I have a macro set to start recording on a video pattern match (a certain slide is shown on a display). After the recording starts, the macro fades up to a wide camera scene and unpauses another macro that's been pauses from when OBS is opened and the ASS plugin is activated. This macro listens to an audio source and when it reaches a certain level, switches to a closeup camera scene. Instead, the macro immediately switches to the closeup scene no matter what the level of the audio.
> 
> This setup does work if the audio source is silent all the way up to the point the listening macro is unpaused, but if there is audio on the source that's above the trigger level while the macro is paused, as soon as it is unpaused, the switch is triggered. This can be seen in the verbose log where the audio macro returns a 1 as soon as it's unpaused. It seems to be listening even while it's paused.


Thanks for pointing that out!
A build with a fix should be available here in a few minutes:








						Studio mode action and more stuff ... · WarmUpTill/SceneSwitcher@b2d7ba3
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				



Note that you have to be logged into GitHub to be able to download it.


----------



## Warmuptill (May 11, 2022)

Terry1983! said:


> hello all, i am a very very beginner at obs. the advanced scene switcher, i have no clue on how to set up, can someone explain in simple terms how to setup from start to finish. thanks


Hello,
that very much depends on what you want to achieve.
Maybe this will help you to get started:








						Macros · WarmUpTill/SceneSwitcher Wiki
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com


----------



## jcoryd (May 11, 2022)

AaronD said:


> How do you get the different wait times?  Do you enter those manually?  If so, then there's probably not much room to improve on making the entire sequence that way.  If they're the same or random, then we might have some possibilities.


Yes, the wait times will need to be determined apriori and not random or the same...but lets say for argument sake that I could do random, how might I do this?


----------



## Warmuptill (May 11, 2022)

jcoryd said:


> Yes, the wait times will need to be determined apriori and not random or the same...but lets say for argument sake that I could do random, how might I do this?


You can have a look at this post where I described how to set up random scene switching:




__





						Advanced Scene Switcher
					

is it possible to create a video condition macro to trigger a color correction filter if say a game capture loses brightness e.g. nighttime  Yes, probably. You can do a Video > Matches Pattern - I'd suggest trying with a dark image, perhaps black? Then set the Threshold and see what % you can...




					obsproject.com
				




In particular if you can use the same wait time or a random wait time before continuing with the next scene switch the approach using "Scene Groups" might be the least hassle to set up for a large amount of scenes. (Still a lot of work though)


----------



## khaver (May 11, 2022)

Warmuptill said:


> Thanks for pointing that out!
> A build with a fix should be available here in a few minutes:
> 
> 
> ...


Thank you Warmuptill. It now works perfectly.


----------



## Terry1983! (May 11, 2022)

Warmuptill said:


> Hello,
> that very much depends on what you want to achieve.
> Maybe this will help you to get started:
> 
> ...


all i want is for the program to switch between camera 1 and 2 while i do the djing, thanks


----------



## AaronD (May 11, 2022)

Terry1983! said:


> all i want is for the program to switch between camera 1 and 2 while i do the djing, thanks


Click the up arrow on the following quote, and use the subsequent up arrows to follow that thread back to where it started:


loudroom said:


> Ooooh now that might work!! I'm going to give this a shot for sure, thank you so much :)


It's okay if you didn't read back that far.  I didn't when I started here!


----------



## Haggy (May 12, 2022)

Heya.
I really love your plugin - my whole stream is built upon it. I run a Squad Stream with my Wife on our LAN.
I ran into a small problem. I'd like to switch the category/game title when the scene switches to my wifes PC.
I tried checking all the options but i couldn't find anything to make it work. Would i be possible to add that option somewhere somehow ?
Best regards


----------



## AaronD (May 12, 2022)

Haggy said:


> Heya.
> I really love your plugin - my whole stream is built upon it. I run a Squad Stream with my Wife on our LAN.
> I ran into a small problem. I'd like to switch the category/game title when the scene switches to my wifes PC.
> I tried checking all the options but i couldn't find anything to make it work. Would i be possible to add that option somewhere somehow ?
> Best regards


You mean like this?




You'd only use one of those actions.  I included both because I have no idea what most of your terms mean, with no more context than what you gave here.

Though if you want something to appear for one scene but not another, why not just put it in that scene to start with, and not the other?  No need for Adv-SS at all then, at least for that action.


----------



## Warmuptill (May 12, 2022)

Haggy said:


> I'd like to switch the category/game title when the scene switches to my wifes PC.


Do you mean the streaming category on whichever website you are streaming on?
If so that is currently not possible.



Terry1983! said:


> all i want is for the program to switch between camera 1 and 2 while i do the djing, thanks


Assuming that both "camera 1" and "camera 2" are sources on a particular scene then something like this might do the trick:





This will show camera 1 and hide camera 2 for 5 seconds then hide camera 1 and show camera 2 for 5 seconds and repeat.
Let me know if you have further questions!


----------



## Haggy (May 12, 2022)

Thank you for your answers. I have no problems automatically switch scenes. I managed to do that with the Scene Switching Tab.

I am trying to explain my problem again.
For example. While my gaming scene is running I want the the category in Twitch display lets say Apex Legends. 
If the Scene gets switched to the game of my wife (which is captured by another elgato card) I want to have the Automatic Scene Switcher insert a different game name (e.g.Animal Crossing). It doesn't need to detect it automatically. If I could set it up manually somewhere in the Scene Switcher it would be great.
So, my scene switching is fine. It autmatically switches to different scenes after xxx seconds.
Maybe anyone has an Idea how to do it. I searched the OBS Forum back and forth and couldn't find anything.


----------



## Warmuptill (May 12, 2022)

Haggy said:


> Thank you for your answers. I have no problems automatically switch scenes. I managed to do that with the Scene Switching Tab.
> 
> I am trying to explain my problem again.
> For example. While my gaming scene is running I want the the category in Twitch display lets say Apex Legends.
> ...


This is currently not supported.
You could in theory get this to work using the "Run" action in combination with "curl" but setting this up might be very cumbersome.


```
# Twitch API samples:
# Find game category IDs for query "fort":

curl -X GET 'https://api.twitch.tv/helix/search/categories?query=fort' \
-H 'Authorization: Bearer 2gbdx6oar67tqtcmt49t3wpcgycthx' \
-H 'Client-Id: wbmytr93xzw8zbg0p1izqyzzc5mbiz'

# Possible reply:

{
  "data": [
    {
      "id": "33214",
      "name": "Fortnite",
      "box_art_url": "https://static-cdn.jtvnw.net/ttv-boxart/Fortnite-{width}x{height}.jpg"
    },
    ...
  ],
  "pagination": {
    "cursor": "eyJiIjpudWxsLCJhIjp7IkN"
  }
}


# Update Stream info using id 33214:

curl -X PATCH 'https://api.twitch.tv/helix/channels?broadcaster_id=41245072' \
-H 'Authorization: Bearer 2gbdx6oar67tqtcmt49t3wpcgycthx' \
-H 'Client-Id: wbmytr93xzw8zbg0p1izqyzzc5mbiz' \
-H 'Content-Type: application/json' \
--data-raw '{"game_id":"33214", "title":"there are helicopters in the game? REASON TO PLAY FORTNITE found", "broadcaster_language":"en"}'
```


----------



## FAT9L (May 15, 2022)

It seems that something is being handled incorrectly on the "save replay buffer function". Attached is my log file, which shows what I'm talking about. Basically, attempting to save the replay buffer from this utility will only work if more than ~15 seconds have elapsed since the last time the replay buffer was saved, and the macro has been triggered at least once since the last recording was saved (meaning I have to hit it twice).

*Example:*

This works:

Launch OBS
Trigger replay buffer save
Attempt to save again (no result)
Wait >10 seconds
Trigger replay buffer save
This does not work:

Launch OBS
Trigger replay buffer save
Trigger replay buffer save again
When the replay buffer is saved correctly, I get this (expected) result in the log file:


> 14:04:22.688: [adv-ss] performed action "AdvSceneSwitcher.action.replay.type.save"


[...]


> 14:04:23.021: [ffmpeg muxer: 'Replay Buffer'] Wrote replay buffer to 'D:/Videos/OBS/Replay 2022-05-15 14-04-22.mkv'



When it does not, I get this:



> 14:04:23.669: [adv-ss] performed action "AdvSceneSwitcher.action.replay.type.save"


_(nothing happens)_
[...]


> 14:04:35.946: [adv-ss] performed action "AdvSceneSwitcher.action.replay.type.save"


[...]


> 14:04:36.307: [ffmpeg muxer: 'Replay Buffer'] Wrote replay buffer to 'D:/Videos/OBS/Replay 2022-05-15 14-04-36.mkv'



Note the timestamps on these actions.

Am I just doing something wrong, is it a limit imposed by OBS on third-party plugins, or is something wrong with the Switcher?


----------



## Warmuptill (May 18, 2022)

FAT9L said:


> It seems that something is being handled incorrectly on the "save replay buffer function". Attached is my log file, which shows what I'm talking about. Basically, attempting to save the replay buffer from this utility will only work if more than ~15 seconds have elapsed since the last time the replay buffer was saved, and the macro has been triggered at least once since the last recording was saved (meaning I have to hit it twice).
> 
> *Example:*
> 
> ...


Thanks for reporting the issue and sorry about the late reply!
I have an idea what might cause this.
A build with a potential fix will be available here in a few minutes:








						Remove delay before saving replay buffer · WarmUpTill/SceneSwitcher@6c13fba
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				



Note that you have to be logged into GitHub to be able to download it.
I would appreciate if you could give this a try and report back if everything works as expected.


----------



## ukie (May 18, 2022)

@Warmuptill Any chance you can add a simple open URL action that will open whatever link is entered in the default browser?
Would be good to also have have an option to run link in background.


----------



## ukie (May 18, 2022)

Another questions,
It appears that "System tray notification" is only for Windows. Could you please add this function for Mac as well?


----------



## AaronD (May 19, 2022)

ukie said:


> @Warmuptill Any chance you can add a simple open URL action that will open whatever link is entered in the default browser?
> Would be good to also have have an option to run link in background.





ukie said:


> Another questions,
> It appears that "System tray notification" is only for Windows. Could you please add this function for Mac as well?



Linux can do all of that and far more from a script.  Just put the script file in a Run action and let the script handle the details.

Don't know about Mac; never seriously used one.  But given how similar to Linux it supposedly is under the hood, I wouldn't be surprised if it did.

My view is that anything to do with the computer itself, outside of OBS, should be handled like that, and not from the plugin.  The plugin runs an external executable, which could be a binary program, a script file, a system command, or whatever, and then that external thing does whatever external work is needed.  There's just no way to include everyone's favorite functionality in the plugin, which is kinda where you end up if you try to do external stuff directly from inside.


----------



## Warmuptill (May 19, 2022)

ukie said:


> @Warmuptill Any chance you can add a simple open URL action that will open whatever link is entered in the default browser?
> Would be good to also have have an option to run link in background.


Something like this should do the trick:




Note that "Run macro in parallel to other macros" is checked, which will ensure that the macro is running in the background and not blocking the execution of other macros.



ukie said:


> Another questions,
> It appears that "System tray notification" is only for Windows. Could you please add this function for Mac as well?


This should be available for MacOS as well.
Have you maybe not allowed OBS to display notifications?





Hope that helps!


----------



## zlayer (May 21, 2022)

Hello,

I have a macro which starts every 15min using 'timer'. But I want the 2nd macro to begin 15sec after the 1st macro and the 3rd macro another 15sec after 2nd macro etc

Any ideas how this can be done?

Thanks


----------



## Ben Anderson (May 24, 2022)

Hey, I can see in the pre-release version you've got 'add option to ignore time component in simple check'
It works wonderfully! I was actually considering requesting this feature.

Will you also be adding an after & before time to the simple settings? I like the simple settings because I can easily select a certain day, as opposed to selecting a date, and then having it repeat every 168 hours. I have found that sometimes due to human error, I've selected a date in the past, and then it never gets updated. Or occasionally it doesn't repeat, perhaps because I don't open OBS on that particular date and so it never matches the condition and updates the date.


----------



## eriksatie (May 26, 2022)

Hello! which version will work with OBS 21? does it have Sequences?
I'm stuck with an old Mac with 10.8.5. OBS 21 should work but I also need Advanced Scene Switcher with Sequences function


----------



## Limeqvist (May 27, 2022)

Hi!

Is there anyway to make the Idle command reset once OBS gets an SDK based command from a Loupedeck Live. Currently the macro won't reset and it will immediately switch back to my idle scene. This is for a marketing project where customers can interact with the device only and navigate throug scenes.


----------



## Warmuptill (May 28, 2022)

First of all - I apologize for the delayed responses.
I was not able to reply earlier.



zlayer said:


> Hello,
> 
> I have a macro which starts every 15min using 'timer'. But I want the 2nd macro to begin 15sec after the 1st macro and the 3rd macro another 15sec after 2nd macro etc
> 
> ...


You can run other macros from within a macro so maybe something like this will work for you:








Ben Anderson said:


> Will you also be adding an after & before time to the simple settings? I like the simple settings because I can easily select a certain day, as opposed to selecting a date, and then having it repeat every 168 hours. I have found that sometimes due to human error, I've selected a date in the past, and then it never gets updated. Or occasionally it doesn't repeat, perhaps because I don't open OBS on that particular date and so it never matches the condition and updates the date.


Thanks for the suggestion!
I will add it to the list.

My main concern here is just that some users might "before" and "after" to work differently.
For example, as the simple date condition is not fixed to a particular date, the "after Wednesday" condition could be interpreted to be true on a Tuesday, as of course there would of course be another Tuesday after each given Wednesday.



eriksatie said:


> Hello! which version will work with OBS 21? does it have Sequences?
> I'm stuck with an old Mac with 10.8.5. OBS 21 should work but I also need Advanced Scene Switcher with Sequences function


I think this very old version does still contain a version of the plugin that might work:








						Release Linux Support And Bug Fixes · WarmUpTill/SceneSwitcher
					

Added option to sort diffrent Scene Switch methods by priority. Added support for Executable Tab on MAC OS Added Linux support Added mask support for Ignore windows Redo of the UI, to be a bit more...




					github.com
				






Limeqvist said:


> Hi!
> 
> Is there anyway to make the Idle command reset once OBS gets an SDK based command from a Loupedeck Live. Currently the macro won't reset and it will immediately switch back to my idle scene. This is for a marketing project where customers can interact with the device only and navigate throug scenes.


There is not, unfortunately.
But maybe you can solve your issue by just pausing the particular macro containing the idle condition for a fixed amount of time before unpausing it again?


----------



## Terry1983! (May 31, 2022)

Warmuptill said:


> Do you mean the streaming category on whichever website you are streaming on?
> If so that is currently not possible.
> 
> 
> ...


how can i add different transitions?


----------



## Warmuptill (Jun 2, 2022)

Terry1983! said:


> how can i add different transitions?


At the moment setting different show / hide transitions via the scene switcher is not supported.
I will add it to the todo list.
Thanks for the suggestion!


----------



## I need help with my mic (Jun 2, 2022)

ㅤ


----------



## youjiman (Jun 4, 2022)

Hi Warmuptill! Thanks for the great plugin! This is absolutely one of my favorite OBS plugins!

Yet I have an issue that OBS will crash when I keep selecting and deselecting (selecting a different macro) a macro contains a video condition, even there is no set of a video source to the condition. It doesn't matter either the macro is paused or unpaused. It also crashed when I was streaming. There are no crashes after I deleted the macro. Is there anyway to solve this issue? I'm wanted to know if I can provide a crash log. I'm using MacOS Monterey, OBS 27.2.4 and Adcvanced Scene Switcher 1.17.5.

Please let me know what kinds of information do you need. I hope I can use the video condition more stably. Thanks!


----------



## Warmuptill (Jun 5, 2022)

youjiman said:


> I'm wanted to know if I can provide a crash log. I'm using MacOS Monterey, OBS 27.2.4 and Adcvanced Scene Switcher 1.17.5.


Thanks for reporting the issue! I will look into it!
If you do happen to have a crash log that would be very helpful in tracking the problem down further.


----------



## youjiman (Jun 5, 2022)

Warmuptill said:


> Thanks for reporting the issue! I will look into it!
> If you do happen to have a crash log that would be very helpful in tracking the problem down further.


Thanks for a quick response! I’m sorry, I meant I don’t know how to find a log that having a crash…

One more thing that I wanted to ask. It’s not related to the above.

I read this thread and I saw you were talking about variables. I’m very interested to have that feature, but I also understand that makes the looks of this plugin more complicated for many of the users.

I want to set a text sauce and image sauce which have the same file name at the same time. for example…

If a variable is APPLE, then set a filename for text sauce to be APPLE.txt and image file for an image sauce to be APPLE.png.

or

If a text file for a text sauce is BANANA.txt, then an image file for the sauce is BANANA.png.

I know that I can check or change a file by using a sauce setting condition and action. Yet is there any way to set both of the name to be the same? I have more than 100 files for each and I don’t know how to accomplished this by a one or few macros.

Thanks.


----------



## iliketoDJ999 (Jun 5, 2022)

Has anyone else experienced very slight audio/visual stutters while Advanced Scene Switcher is turned on and tries to switch scenes? This problem occurs for me while I'm using the Sequence function of the plug-in. When I analyze OBS, it does not detect any problems with the stream, so I'm not sure how to fix this problem. Basically anytime my scenes switch, thats when the stutering occurs. Probably lasts for like .1 seconds. But because I have several scenes constantly rotating in a loop, it is annoying.


----------



## kebslau11 (Jun 7, 2022)

This plugin is really helpful with what I need to do! I also would like to ask where does the plugin save its settings/macros?


----------



## GME (Jun 7, 2022)

I seriously HATE the "new" look. How do I get back to whatever version the last before this change to Macro and other sh!t like that? I need the version with tabs at the top where one could chose Sequence and make simple Scene switching there. THANKS !


----------



## GME (Jun 7, 2022)

I dl the october 2021 version, hopefully this will be sorted in the future with a row of tabs on top like it should have kept being, so we can actually use the latest version again without having to have a degree in using it.


----------



## Warmuptill (Jun 7, 2022)

kebslau11 said:


> This plugin is really helpful with what I need to do! I also would like to ask where does the plugin save its settings/macros?


The settings are saved as part of the scene collection.
So for example, they are part of the *.json files located at `C:\Users\<your username here>\AppData\Roaming\obs-studio\basic\scenes` on Windows systems.



GME said:


> I dl the october 2021 version, hopefully this will be sorted in the future with a row of tabs on top like it should have kept being, so we can actually use the latest version again without having to have a degree in using it.


The old tabs are still there.
Just uncheck "Hide tabs which can be represented via macros".


----------



## cptasparagus (Jun 12, 2022)

Hello,

I have a strange issue that I can't find a solution for. When I try to set scenes in both the built in auto scene switcher and the advanced scene switcher, the drop down menu to select the scene only contains  "Scene", not the other 5 scenes that I have built. Am I missing something?


----------



## Warmuptill (Jun 12, 2022)

cptasparagus said:


> Hello,
> 
> I have a strange issue that I can't find a solution for. When I try to set scenes in both the built in auto scene switcher and the advanced scene switcher, the drop down menu to select the scene only contains  "Scene", not the other 5 scenes that I have built. Am I missing something?


That sounds very strange indeed.
Are you using a special fork of OBS or the "original" version?


----------



## HerrStoy (Jun 13, 2022)

Hi everyone!

First of all, thanks for developping this tool. It is a valuable ressource for me.

I am trying to perform the following task and so far I failed to succeed:

I've got a video that is looping. 
I wanna trigger a scene switch when the looping video reach its end before looping again.

The problem is that as the loop option is ticked, it seems that the video, even if the counter show a end before the loop, does not have an end, therefore it is unable to detect the end of the video file.
So the scene switch never happens.

The only way I found in Advanced Scene Switcher 1.17.5 to perform this is in the Sequence tab, set as follow:
When "Scene 1" is active switch to "Scene 2" after "21.00" seconds using "Cut"
But I cannot trigger this, I don't want this to happen everytime I am selecting "Scene 1".

Any ideas?


----------



## AaronD (Jun 13, 2022)

HerrStoy said:


> Hi everyone!
> 
> First of all, thanks for developping this tool. It is a valuable ressource for me.
> 
> ...


So you want to loop an unspecified number of times (practically infinite), and then set a flag so that the next end-of-loop moves on instead of looping?


----------



## Warmuptill (Jun 13, 2022)

HerrStoy said:


> Hi everyone!
> 
> First of all, thanks for developping this tool. It is a valuable ressource for me.
> 
> ...


Have you considered using a macro setup similar to this one in combination with the hotkeys for unpausing macros?





Once this macro is unpaused it will wait for the end of the looping media source by checking the remaining time.
If the remaining time is below the specified threshold a scene switch to "Scene" will be triggered.
As final step the macro will "disarm" itself again by pausing itself.

The hotkey to unpause and thus enable this macro can be bound in the OBS settings menu.





Hope that helps!


----------



## Warmuptill (Jun 13, 2022)

Warmuptill updated Advanced Scene Switcher with a new update entry:

Bug fixes and minor additions



> Additions:​
> Improved the date condition:
> Added the option to select "before" and "after" for time of simple date view. (1)
> Added the option to ignore time component in the simple view. (2)
> ...



Read the rest of this update entry...


----------



## thegamingstig (Jun 14, 2022)

This plugin is more than just a auto scene switcher. I been using this to trigger sources visibility on specific conditions. 

There is however one thing that I wish you could explain is the run and arguments on Macro. I want one of my scene change to trigger a bat file to open, but it won't. When I put an exe program to run, it runs multiple instances of that program infinitely until I disable the Macro. I hope you could provide a little tutorial on that.


----------



## Ben Anderson (Jun 14, 2022)

thegamingstig said:


> When I put an exe program to run, it runs multiple instances of that program infinitely until I disable the Macro.


Ticking  'Perform actions only on condition change' will likely help you.


----------



## AaronD (Jun 14, 2022)

Warmuptill said:


> Have you considered using a macro setup similar to this one in combination with the hotkeys for unpausing macros?
> 
> View attachment 84151
> 
> ...


Would this also work?:



Click "Get current settings", then change "looping": to false.

Would the originally-desired end-of-video then work?


----------



## AaronD (Jun 15, 2022)

AaronD said:


> Would this also work?:
> View attachment 84180
> Click "Get current settings", then change "looping": to false.
> 
> Would the originally-desired end-of-video then work?


UPDATE: It does...sorta.

It takes two macros to do it.  Both start paused, and then "something" unpauses the first:



The order of the pause/unpause at the end is important.  Get it backwards, and it never unpauses the second one.

The second one does the transition, and ends with everything as it was to start with:





It becomes a little bit simpler to use the "Played to End" condition instead of "Ended".  The difference is that "Ended" remains true indefinitely, so a macro that depends on that will run constantly; while "Played to End" is only true at the moment when it ends, so a macro that depends on that will only run once.

So the Transition macro can stay unpaused now, which eliminates those actions from both macros:





Essentially, yes, my idea does work.  It just takes one macro to translate a hotkey into disabling the loop (plus some housekeeping to not re-trigger), which then allows the normal transition in another macro to happen (plus some more housekeeping to make it do the same thing again next time: loop, and then transition at the next end after a hotkey instead of immediately on that hotkey).


----------



## knifoon (Jun 15, 2022)

Any chance profile can be used as a condition? i want different chat boxes to be enabled depending where im streaming to.


----------



## MiamiPDScanner (Jun 20, 2022)

Hello everyone. Thank you in advance for any assistance or guidance that you can provide regarding this matter.

I have an issue that is plaguing me on Ubuntu 20.04 and the OBS snap (edge - 27.2.1-modified (64 bit)) that comes pre-packaged with Advanced Scene Switcher 1.17.2

Skip to "HERE IS THE PROBLEM" below, if you're easily bored.

Before I get into it, let me give you a bit of background. I currently run four separate instances of OBS from parallel installations. In other words, I have installed 4 separate snaps of OBS, each one with it's own directory and configuration files etc. Despite the fact that they are parallel installs, they are each configured exactly the same with the exception of Sources and Scenes. I use 4 parallel installations because I have 4 separate live streams on YouTube, one for each police district in the City of Miami, that run 24/7. Running these four channels works flawlessly with few exceptions and those are typically due to local ISP or other non-OBS-related issues like power outages, etc.

I have been running this channel for about a year now, maybe slightly less, and I have decided to try and add some automation. I have some python running in the background that listens for a 1000MHz tone on the audio on each one of the channels and when this tone happens, my script goes to work via YouTube API to get the exact time code where it happened, compile a URL pointing to that timecode and then subsequently sends out notifications to both Twitter and Telegram via their respective APIs. It's not a huge deal but I'm proud of it. The issue with these links is that they effectively expire after about 12 hours. YouTube live does not keep historical video feed data after 12 hours. So, essentially, after 12 hours, every single link that was posted to Twitter or Telegram will ultimately fail. I set out to solve this problem by chopping up my 24/7 live feeds into smaller 8 hour chunks that start and stop with the corresponding shifts A, B and C at Miami PD, i.e. 08:00:00, 16:00:00 and 00:00:00, daily.


HERE IS THE PROBLEM:

I have added two macros within Advanced Scene Switcher. One named "Auto Stop Stream" the other named "Auto Start Stream"

Auto Stop Stream has three conditions for the same action:

If Date [ignore date component] 07:58:00; Streaming:Stop streaming
or Date [ignore date component] 15:58:00; Streaming:Stop streaming
or Date [ignore date component] 23:58:00; Streaming:Stop streaming

Auto Start Stream also has three conditions for the same action:

If Date [ignore date component] 08:00:00; Streaming:Start streaming
or Date [ignore date component] 16:00:00; Streaming:Start streaming
or Date [ignore date component] 00:00:00; Streaming:Start streaming

*The STOP macro works every time on all 4 instances...
The START macro fails intermittently on all 4 instances...*

There are no errors, no entries in syslog, nothing... The macro to start the streaming simply doesn't run whenever it doesn't "want" to! HAHA

I have moved "macro" to the top of the priority list from suggestions on other  discussions. I have plenty of available RAM (over 90% available) and processing power (over 70% available). I have quintuple checked the times and settings. I have tried using "repeat every 8 hours" instead of using three separate "or" conditions. The result is always the same; The STOP streaming is 100% reliable, the START streaming has a mind of its own.

I make absolutely certain that the stream endpoints on the YouTube side are scheduled for the correct time and that they are configured to receive a "start" parameter etc...  However, even if these endpoints were not configured properly, OBS simply makes no attempt to start the stream as you can see by the fact that the "Start Streaming" button isn't even depressed. Again, no errors, no syslog, nothing. Screen savers are off, sleep is off, snooze is off, monitor stays on 24/7 etc etc...

I'm at my wit's end and I need someone's help. Again, thank you in advance for reading this and I appreciate any assistance or guidance that anyone can provide.


----------



## AaronD (Jun 20, 2022)

MiamiPDScanner said:


> Hello everyone. Thank you in advance for any assistance or guidance that you can provide regarding this matter.
> 
> I have an issue that is plaguing me on Ubuntu 20.04 and the OBS snap (edge - 27.2.1-modified (64 bit)) that comes pre-packaged with Advanced Scene Switcher 1.17.2
> 
> ...


The only thing I can think of is that it takes more than 2 seconds to guarantee that all of the end-of-stream housekeeping is finished.  Until then - if the housekeeping isn't finished yet - OBS completely ignores another START command, as if it were never sent.  It would be good for this to appear in a log, but I can see how it might not.

What happens if you increase the "dead time"?  Does it become more reliable?  If so, then how much "dead time" are you okay with?


----------



## MiamiPDScanner (Jun 21, 2022)

AaronD said:


> The only thing I can think of is that it takes more than 2 seconds to guarantee that all of the end-of-stream housekeeping is finished.  Until then - if the housekeeping isn't finished yet - OBS completely ignores another START command, as if it were never sent.  It would be good for this to appear in a log, but I can see how it might not.
> 
> What happens if you increase the "dead time"?  Does it become more reliable?  If so, then how much "dead time" are you okay with?


Thanks for the quick reply AaronD!

I'm assuming by "dead time," you mean the time between the stop and start macros. If you look again, you'll notice its a full 2 minutes. I'm ok with any reasonable amount of time to be honest. You think I should increase it to 5 minutes? 10?

BTW, as an aside, as I sit there and watch it, waiting for the start macro to fire off and it ultimately doesn't, I can click START manually and it works every time.


----------



## MiamiPDScanner (Jun 21, 2022)

MiamiPDScanner said:


> Thanks for the quick reply AaronD!
> 
> I'm assuming by "dead time," you mean the time between the stop and start macros. If you look again, you'll notice its a full 2 minutes. I'm ok with any reasonable amount of time to be honest. You think I should increase it to 5 minutes? 10?
> 
> BTW, as an aside, as I sit there and watch it, waiting for the start macro to fire off and it ultimately doesn't, I can click START manually and it works every time.


Come to think of it... It seems like every time I'm sitting there watching it, the START streaming macro seems to work... It's only after I've left the computer alone for a while that it seems to fail me every time. Like when I go to bed and wake up expecting the new feeds to have fired off at 8am but they haven't. The STOP stream works while I'm sleeping though. I wonder if the START streaming requires the OS or OBS to be in a certain state like (not sleeping)... Although, I made sure that there is nothing sleeping anywhere....

That said, I am getting this weird, repeated warning in syslog from OBS:

obs-studio: warning: Failed to create xdg-screensaver: 2

This happens like every minute or so...


----------



## AaronD (Jun 21, 2022)

MiamiPDScanner said:


> Thanks for the quick reply AaronD!
> 
> I'm assuming by "dead time," you mean the time between the stop and start macros. If you look again, you'll notice its a full 2 minutes. I'm ok with any reasonable amount of time to be honest. You think I should increase it to 5 minutes? 10?


Oh!  I must have read that wrong.  Sorry!  2 minutes should be way more than enough, at least for your local machine.

I was wondering too, as I posted that, if the receiving end either:

Rejected it for a similar reason (maybe it takes longer to wrap up a stream on that end?), or
Considered it to be a continuation of the previous stream, and so provided the wrong feedback, which caused OBS to drop it.  With a legitimate network glitch, OBS *expects* the feedback to be from the previous stream and so it gracefully restarts.  But that's not what you're doing.  OBS is now running a *new* stream, but the server thinks it just saw a network glitch in the old stream and continues to provide that feedback.  Because the old feedback doesn't match the new attempt, OBS drops it.
But I rejected those ideas because the 2-second dead time (as I thought) seemed more pressing.


----------



## MiamiPDScanner (Jun 21, 2022)

AaronD said:


> Oh!  I must have read that wrong.  Sorry!  2 minutes should be way more than enough, at least for your local machine.
> 
> I was wondering too, as I posted that, if the receiving end either:
> 
> ...


That makes sense except that YouTube automatically ends the old feed after 60 seconds of loss of data. That's why I use 2 minutes.

When I do this manually, I just stop the streams in obs, wait till the old streams drop off of YouTube, schedule the new streams in YouTube, start streaming in OBS... 

I gave myself an extra minute of padding in the macros just to be sure the old streams fall off.

Either way, this issue seems to be a local environmental issue to me, to be honest. YouTube isn't really doing much in the way of allowing or disallowing a stream to start or stop on the local side. Even if I don't have the correct endpoints actively waiting for a stream on the YouTube side, I can still manually click on "start streaming" on the OBS side. So long at the endpoint exists, OBS will start streaming with no errors despite the stream not actually being visible on the YouTube side.


----------



## AaronD (Jun 21, 2022)

MiamiPDScanner said:


> Come to think of it... It seems like every time I'm sitting there watching it, the START streaming macro seems to work... It's only after I've left the computer alone for a while that it seems to fail me every time. Like when I go to bed and wake up expecting the new feeds to have fired off at 8am but they haven't. The STOP stream works while I'm sleeping though. I wonder if the START streaming requires the OS or OBS to be in a certain state like (not sleeping)... Although, I made sure that there is nothing sleeping anywhere....
> 
> That said, I am getting this weird, repeated warning in syslog from OBS:
> 
> ...


Is the screen still on when you wake up?  I wonder if something is still timing out.



MiamiPDScanner said:


> That makes sense except that YouTube automatically ends the old feed after 60 seconds of loss of data. That's why I use 2 minutes.
> 
> When I do this manually, I just stop the streams in obs, wait till the old streams drop off of YouTube, schedule the new streams in YouTube, start streaming in OBS...
> 
> ...


I don't schedule a stream at all on YouTube.  Seems like an unnecessary step, at least for an audience that knows the regular schedule already.  If your schedule is irregular, then I could see it as an on-platform announcement.

I just start throwing data at it, and YT picks it up and runs with it.  When I'm done, I just stop it from OBS and let YT figure that out.  Each of those becomes its own recording, with whatever title, description, etc. it had at the time of stopping.


----------



## MiamiPDScanner (Jun 21, 2022)

AaronD said:


> Is the screen still on when you wake up?  I wonder if something is still timing out.
> 
> 
> I don't schedule a stream at all on YouTube.  Seems like an unnecessary step, at least for an audience that knows the regular schedule already.  If your schedule is irregular, then I could see it as an on-platform announcement.
> ...


The screen is always on. 24/7 No screensaver, no sleep, no power saving... Just on 24/7

I schedule the streams because each one of the 4 has a different description, i.e. North, Central, West, and South... It's a nightmare I'm trying to work out with YouTube API at the moment but suffice to say that OBS, when left to its own devices, will just pick up some old description from some unrelated feed that I don't use anymore. Unless you have some way for me to configure and pass stream parameters from OBS to YouTube? That's a topic for another thread though.


----------



## AaronD (Jun 21, 2022)

MiamiPDScanner said:


> The screen is always on. 24/7 No screensaver, no sleep, no power saving... Just on 24/7
> 
> I schedule the streams because each one of the 4 has a different description, i.e. North, Central, West, and South... It's a nightmare I'm trying to work out with YouTube API at the moment but suffice to say that OBS, when left to its own devices, will just pick up some old description from some unrelated feed that I don't use anymore. Unless you have some way for me to configure and pass stream parameters from OBS to YouTube? That's a topic for another thread though.


Ah.  Okay, I can see that being a problem.  I'm pretty sure YT assumes one stream at a time (How would a typical content creator manage multiple at once?  Why would they want to?  Why not switch cameras into one stream?  Etc.), so your ability to do 4 simultaneous streams on one account is probably a hack already.

For the original problem of not restarting, I'm stumped now...unless it's connected to the multiple streams problem.


----------



## MiamiPDScanner (Jun 21, 2022)

AaronD said:


> Ah.  Okay, I can see that being a problem.  I'm pretty sure YT assumes one stream at a time (How would a typical content creator manage multiple at once?  Why would they want to?  Why not switch cameras into one stream?  Etc.), so your ability to do 4 simultaneous streams on one account is probably a hack already.
> 
> For the original problem of not restarting, I'm stumped now...unless it's connected to the multiple streams problem.


I’m going to try to do it with only one instance of OBS running and see what happens. I wanted to avoid bringing down the streams but if I must, I must…


----------



## AaronD (Jun 21, 2022)

MiamiPDScanner said:


> I’m going to try to do it with only one instance of OBS running and see what happens. I wanted to avoid bringing down the streams but if I must, I must…


Could you bring all 4 cameras into one instance of OBS, and do a "quad view" into a single stream?  Maybe a huge canvas, like 4k, to avoid losing resolution for each camera.


----------



## MiamiPDScanner (Jun 21, 2022)

AaronD said:


> Could you bring all 4 cameras into one instance of OBS, and do a "quad view" into a single stream?


They’re not cameras. It’s a Police Radio Scanner feed. I’ll post a link of you want but I prefer not to be dinged for self promotion. Maybe I can DM it to you?


----------



## AaronD (Jun 21, 2022)

MiamiPDScanner said:


> They’re not cameras. It’s a Police Radio Scanner feed. I’ll post a link of you want but I prefer not to be dinged for self promotion. Maybe I can DM it to you?


I don't think an example of the problem would count as self-promotion.  You should be okay to post it here.  Maybe it sparks a good idea in someone else too.


----------



## AaronD (Jun 21, 2022)

AaronD said:


> I don't think an example of the problem would count as self-promotion.  You should be okay to post it here.  Maybe it sparks a good idea in someone else too.


Okay, so the real purpose is audio.  The video is mostly to keep that part of a viewer's brain entertained.  Technically, I think you *could* have 4 channels of audio in a single stream, but good luck making sense of it at the other end, as most viewers probably don't have 4 speaker channels that can be turned off independently, and probably can't connect an arbitrary channel *by itself* to a basic system.

So you do want to keep the 4 separate streams, and "just make that work".  I wish I had something for you.  Maybe someone else can look at what *is* in the logfile and come up with something.

Or maybe you can have the macro try again if it failed?  Adjust the condition to match a range of times that practically becomes a timeout, and add a condition for "not streaming".  Thus, it keeps trying until it either starts streaming or it times out.


----------



## MiamiPDScanner (Jun 21, 2022)

AaronD said:


> Okay, so the real purpose is audio.  The video is mostly to keep that part of a viewer's brain entertained.  Technically, I think you *could* have 4 channels of audio in a single stream, but good luck making sense of it at the other end, as most viewers probably don't have 4 speaker channels that can be turned off independently, and probably can't connect an arbitrary channel *by itself* to a basic system.
> 
> So you do want to keep the 4 separate streams, and "just make that work".  I wish I had something for you.  Maybe someone else can look at what *is* in the logfile and come up with something.
> 
> Or maybe you can have the macro try again if it failed?  Adjust the condition to match a range of times that practically becomes a timeout, and add a condition for "not streaming".  Thus, it keeps trying until it either starts streaming or it times out.


I was wondering about conditioning the start stream on not steaming… I haven’t really looked too much into it. “Time” seemed so much easier to be honest. Can you even condition a start stream on a stopped condition? If so, can this been done AFTER 2 minutes? Off the top of my head I can see the “after” option but I’m not at my computer right now.


----------



## MiamiPDScanner (Jun 21, 2022)

MiamiPDScanner said:


> I was wondering about conditioning the start stream on not steaming… I haven’t really looked too much into it. “Time” seemed so much easier to be honest. Can you even condition a start stream on a stopped condition? If so, can this been done AFTER 2 minutes? Off the top of my head I can see the “after” option but I’m not at my computer right now.


Ok, you piqued my interest!! Lol… I just dragged myself out of bed and yes, you can condition and wait on stopped streaming.

I’m going to give that a try. In my mind, this has to work! You’re a genius AaronD!!! Hahahahahah! I’ll let you know!


----------



## AaronD (Jun 21, 2022)

MiamiPDScanner said:


> I was wondering about conditioning the start stream on not steaming… I haven’t really looked too much into it. “Time” seemed so much easier to be honest. Can you even condition a start stream on a stopped condition? If so, can this been done AFTER 2 minutes? Off the top of my head I can see the “after” option but I’m not at my computer right now.


I was thinking about this, in theory:




The one to stop is unchanged, since that one works.

Or you could do this:



Might need another Wait at the end, so it doesn't run over itself in case it takes a while for the indication of Streaming to come through, but you get the idea.


----------



## Coraltrout (Jun 21, 2022)

I have watched the video Advance Scene Switcher feature so amazing and fixed now thanks


----------



## MiamiPDScanner (Jun 21, 2022)

AaronD said:


> I was thinking about this, in theory:
> View attachment 84306
> The one to stop is unchanged, since that one works.
> 
> ...



Hey, thanks again ArronD!

Tried it this way last night and it worked. Failed to work again this morning.

Funny thing though, when I moved the mouse, two minutes later the start streaming macro kicked on. Even funnier, the stop streaming macro clearly worked before my mouse movement as I was still in bed when all the streams stopped...

I walked over to the machine at 07:59 and all the streams had been stopped... I waited until 08:00 expecting all the streams to start and nothing... gave it an extra minute, still nothing. Moved the mouse at 08:01. At ~08:03, streams started...

There must be something going on with an idle state somewhere. Although all sleeping, hibernate and suspend has been disabled on this system.  I have just installed Caffeine and a mouse jiggler and I will see what happens again at 4pm.

Weird that STOP works but not START...


----------



## AaronD (Jun 21, 2022)

MiamiPDScanner said:


> Hey, thanks again ArronD!
> 
> Tried it this way last night and it worked. Failed to work again this morning.
> 
> ...


I was just going to suggest the mouse jiggler too.

And you're right.  That is weird.  Gotta be a bug somewhere, but we still don't know where.


----------



## AaronD (Jun 21, 2022)

AaronD said:


> I was just going to suggest the mouse jiggler too.
> 
> And you're right.  That is weird.  Gotta be a bug somewhere, but we still don't know where.


Maybe you can create your own logfile, at least to see if the macro is running:


----------



## HerrStoy (Jun 21, 2022)

AaronD said:


> So you want to loop an unspecified number of times (practically infinite), and then set a flag so that the next end-of-loop moves on instead of looping?


I would like to switch to the next scene only when the looping video reaches its end (before looping again).


----------



## HerrStoy (Jun 21, 2022)

Warmuptill said:


> Have you considered using a macro setup similar to this one in combination with the hotkeys for unpausing macros?
> 
> View attachment 84151
> 
> ...


I haven't thought of performing this this way, I will give it a try and let you know if it works.


----------



## MiamiPDScanner (Jun 22, 2022)

AaronD said:


> Oh!  I must have read that wrong.  Sorry!  2 minutes should be way more than enough, at least for your local machine.
> 
> I was wondering too, as I posted that, if the receiving end either:
> 
> ...


I don't want to speak too soon but I think you were on to something here... Particularly on your first point.

I have now had two, fully successful, back-to-back rotations of both the start and stop macros. Although as I mentioned earlier, I did add Caffeine and a jiggler, I'm still not convinced that a stale, sleep, or idle state was the problem.

However, I did notice some different behavior based on your suggestion to start streaming after a stopped state trigger... I set the wait interval to 2 minutes and it always takes longer than two minutes. About 4, more or less. So along with your suggestion above, I think I figured out why.

On all my tests, I simply throw up a feed for a few minutes, let the macro stop it, wait the two minutes and then the start macro fires off. Works every time I'm sitting at the computer but, not because the computer is not idle. It works because the video that I'm stopping is only, at most, 15 minutes long, for testing!!!

As you can imagine, a video that is 8 hours long is going to have to do substantially more parsing of buffers and "wrapping up" before OBS is satisfied that the stream has actually ended. This is, of course, assuming that OBS is waiting for this response (which I am not sure of but it definitely sounds reasonable). I've arrived at this conclusion because why would the START macro, which is set for two minutes, fire off in 4? The only thing that makes sense to me is that the STOP macro fires but the "stop state" isn't actually "true" until about 2 minutes after. Aaaaaand...2+2=4, as they say...literally. Makes sense to me anyway.

Anyhow, so far so good. I'll check back in in a few days to confirm all is well.

Thank you again AaronD!! I appreciate all of your time, effort and patience!

One other thing. The reason it wasn't working before and why I think there was no error, is because "technically" we were still streaming when the "start streaming" macro fired off... Would be nice if there was a log entry that said so, but hey, what would we need the obs project forums for, right?? HAHAHA!!!


----------



## HerrStoy (Jun 22, 2022)

Warmuptill said:


> Have you considered using a macro setup similar to this one in combination with the hotkeys for unpausing macros?
> 
> View attachment 84151
> 
> ...


The macro pause tips is brilliant. Thanks for that.
The rest is not working as I want it to.
It is interrupting the playing video everytime I run the macro.
I wanna run the macro, and the scene switching should not happen before the end of the video.


----------



## AaronD (Jun 22, 2022)

HerrStoy said:


> The macro pause tips is brilliant. Thanks for that.
> The rest is not working as I want it to.
> It is interrupting the playing video everytime I run the macro.
> I wanna run the macro, and the scene switching should not happen before the end of the video.


It didn't when I tried it.  You can scroll back to see my version.


----------



## FoxKeegan (Jun 23, 2022)

Thank you very much for adding "Days of the week" to the macros

I'd been moving them to each date manually up until now, but I've macros that automate certain tasks depending on which day of the week it is, and this will make it even less overhead now that it's taking care of all that for me.
(E.g. My wife isn't in the stream on Wednesdays, so her camera and mic are automatically toggled off. The title card we use is different each day of the week, etc.  Could I just click on a different scene depending on the day? Yeah. But that'd result in a ton of extra scenes. Plus, it's all automated thanks to this plugin, so it rotates through the scenes itself)


----------



## Blurf (Jun 25, 2022)

Looking for help regarding How to create a Basic Macro to simply switch from scene_1 to scene_2 and back to scene_1?
There's a camera in scene_1 & a camera in scene_2. That's it. 
Please accept my apologies if I am in the wrong area? 
Thank You for anything you can do for me!
Sincerely!


----------



## Blurf (Jun 26, 2022)

Here's what I do and why I need your help please?
New to the Advanced Scene Switcher....
Need the Macro code for simply switching between five cameras without Hotkeys?
My intentions are to record a 90 second video that automatically switches between five separate scenes with a single camera in each?
Thank you for any help you may provide....
Sincerely!


----------



## Warmuptill (Jun 28, 2022)

Blurf said:


> Here's what I do and why I need your help please?
> New to the Advanced Scene Switcher....
> Need the Macro code for simply switching between five cameras without Hotkeys?
> My intentions are to record a 90 second video that automatically switches between five separate scenes with a single camera in each?
> ...


Have a look at this guide for an example on how to set this up:








						Automatically cycle through a list of scenes · WarmUpTill/SceneSwitcher Wiki
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com


----------



## Javi Villanueva (Jun 29, 2022)

Hello Warmuptill,

I have a question about Advancer Scene Switcher 1.17.7. When I entry in the main menu I only have 4 options, General, Macro, Red and Scene Groups.

After, If I move my mouse with wheel, suddenly appears the rest of options. You can see the attach. May be a bug or Do I have a problem with something?

Thanks you so much.


----------



## Warmuptill (Jun 29, 2022)

Javi Villanueva said:


> Hello Warmuptill,
> 
> I have a question about Advancer Scene Switcher 1.17.7. When I entry in the main menu I only have 4 options, General, Macro, Red and Scene Groups.
> 
> ...


You can show the old tabs by unchecking the following option on the General tab.


----------



## DaReaLDeviL (Jun 30, 2022)

I try to setup to play my intro (mp4 or webm File) when I switch from Live Start to Live Lobby or Live Game. But I only get a infity loop of the video. 
I alternatively could set a stinger and only play when I switch away from Live Start - but I don't know how to create it. 

Please help me to achive my goal.

Thanks in advnaced.


----------



## AaronD (Jun 30, 2022)

DaReaLDeviL said:


> I try to setup to play my intro (mp4 or webm File) when I switch from Live Start to Live Lobby or Live Game. But I only get a infity loop of the video.
> I alternatively could set a stinger and only play when I switch away from Live Start - but I don't know how to create it.
> 
> Please help me to achive my goal.
> ...


Do you switch scenes manually, and want the intro video to effectively be an elaborate transition?  If so, then you might create two scenes that both have that video in it, switch manually to one of *those*, and then switch automatically from that to your ultimate target scene.

5 scenes total:
- Live Start
- Intro to Live Lobby (end of video switches automatically to Live Lobby)
- Intro to Live Game (end of video switches automatically to Live Game)
- Live Lobby
- Live Game

Your hotkeys, or whatever method you use, switch to the "Intro to..." scenes, and not the final destinations.

---

Note: "Play Video" does not mean "show the video to the audience".  You show a *scene* to the audience, which can contain anything you want, essentially "PowerPoint style" but with media instead of just text and clipart.  "Play Video" simply starts the video running, wherever it happens to be in that structure.  It does not necessarily show it to the audience.


----------



## DaReaLDeviL (Jun 30, 2022)

@AaronD Thank you for the reply. That looks like a solution I have to try. But is it possible to make a more leen and just play a Videofile only when I switch from Live Start to Live Game or Live Lobby? At the moment it plays over and over and dont stop but no loop or anything is checked.


----------



## AaronD (Jun 30, 2022)

DaReaLDeviL said:


> @AaronD Thank you for the reply. That looks like a solution I have to try. But is it possible to make a more leen and just play a Videofile only when I switch from Live Start to Live Game or Live Lobby? At the moment it plays over and over and dont stop but no loop or anything is checked.


More leen?  What's that?

Anyway, if I understand you correctly, I don't know of a way to do that, except to make some overly-complicated scenes.  There might be a literal transition that you can install and use, that plays an arbitrary video file, but I think the better way to do it is to have a bunch of trivial scenes like I suggested above.  That also answers the follow-up question of how to transition into and out of the intro video, as the normal transitions become available for this, just like anything else.

As for why it's looping without the box being checked, I don't know either.  I suspect, mostly by the terminology that you use, that you fundamentally misunderstand how the tools work and what the labels mean (everyone has to start somewhere), and so you've inadvertently created a Rube-Goldberg loop.
One possible explanation is that your macro is getting triggered more than you realize (the condition IS technically true...), and so a repeated Play command looks like a loop.


----------



## BarrySDCA (Jul 2, 2022)

What happened to the sequence tab?  I imported from the backup and it is switching but I can't seem to find the tab??  thank you in advance.


----------



## BarrySDCA (Jul 2, 2022)

Ugh, I see it's all macros now.  That's cool, I can recreate the sequence.  But I previously imported a sequence and it's running, and I can't see where to clear that all out.  How do I reset advanced scene switcher to clear the config?  thank you


----------



## AaronD (Jul 2, 2022)

BarrySDCA said:


> Ugh, I see it's all macros now.  That's cool, I can recreate the sequence.  But I previously imported a sequence and it's running, and I can't see where to clear that all out.  How do I reset advanced scene switcher to clear the config?  thank you


This seems to be a frequently-recurring question.  The answer is always the same: https://obsproject.com/forum/threads/advanced-scene-switcher.48264/page-92#post-576577


----------



## Warmuptill (Jul 2, 2022)

DaReaLDeviL said:


> @AaronD Thank you for the reply. That looks like a solution I have to try. But is it possible to make a more leen and just play a Videofile only when I switch from Live Start to Live Game or Live Lobby? At the moment it plays over and over and dont stop but no loop or anything is checked.


I think you can use your originally shared macro setup and just need to tick the "Perform actions only on condition change" button.

The way it is configured in the screenshot will continue to restart the playback as the condition "previous scene is Live Start" is continuously true unless you once again switch to a different scene.

I hope that helps! :)


----------



## BarrySDCA (Jul 3, 2022)

AaronD said:


> This seems to be a frequently-recurring question.  The answer is always the same: https://obsproject.com/forum/threads/advanced-scene-switcher.48264/page-92#post-576577


Thank you for that. I thought it was just me.


----------



## Benjamins (Jul 3, 2022)

thegamingstig said:


> This plugin is more than just a auto scene switcher. I been using this to trigger sources visibility on specific conditions.
> 
> There is however one thing that I wish you could explain is the run and arguments on Macro. I want one of my scene change to trigger a bat file to open, but it won't. When I put an exe program to run, it runs multiple instances of that program infinitely until I disable the Macro. I hope you could provide a little tutorial on that.
> 
> ...


I was hoping to use this with a .bat but sad to see it doesn't work, want it to copy + rename the replay buffer save


----------



## BarrySDCA (Jul 3, 2022)

Similar  issue here. I'm using "RUN' and pointing it to a .sh file, but it doesn't appear to be running.  Are there docs anywhere for this feature?  thank you much


----------



## Ben Anderson (Jul 5, 2022)

What does "warning: enabling and disabling sources globally cannot be controlled by the OBS UI" mean?




When I try to use this plugin to enable a source it doesn't work. Should it be able to, or is that what the warning means? Is there anyway to have it enable a source?


----------



## FoxKeegan (Jul 5, 2022)

Ben Anderson said:


> What does "warning: enabling and disabling sources globally cannot be controlled by the OBS UI" mean?
> View attachment 84620
> 
> When I try to use this plugin to enable a source it doesn't work. Should it be able to, or is that what the warning means? Is there anyway to have it enable a source?



Can't say for certain what that error means, but if I had to guess, I'd wager it means that if you disable a source using that macro, you *must *re-enable it again with the same macro, as there's *no way* to use the OBS application's user interface to re-enable it manually with a click.

If that's true, it would explain your next question. You're trying to enable a source _globally._ If you haven't used a macro to first _disable_ said source _globally_, the macro has nothing to enable, as it's already enabled.

Again, guessing as I've never even seen enable/disable in OBS in reference to anything but audio devices--when configured globally--and I wouldn't want to mess with that using a macro. I'd wager you can use this macro to simply make a source completely either disappear from the sources list, or have it so its visibility is toggled off, with no way to toggle it back on without using a macro. Sounds like an interesting feature I didn't know this plug-in had, as I never went looking for something I didn't think OBS supported!

If you're just looking to toggle a source on or off (visible, audible), I'd recommend using the scene item visibility macro. You do need to specify the scene where you'd like the source toggled, but this does give you more control, since it means you can leave it enabled in other scenes. If you use it in a _lot_ of scenes but really want the macro to hide it in a lot of them, I'd recommend nesting a scene just for that source within your other scenes, and specifying the source-specific scene in the visibility macro. It'll apply to any other scenes that scene is within.


----------



## CodeYan (Jul 5, 2022)

@Warmuptill With the swap scene now being under Studio Mode, it seems that you can't set the transition type and duration anymore.

Thanks as always


----------



## Warmuptill (Jul 6, 2022)

Benjamins said:


> I was hoping to use this with a .bat but sad to see it doesn't work, want it to copy + rename the replay buffer save





BarrySDCA said:


> Similar  issue here. I'm using "RUN' and pointing it to a .sh file, but it doesn't appear to be running.  Are there docs anywhere for this feature?  thank you much


I would suggest to first check whether or not the action is being performed by either enabling highlighting of recently executed actions or enabling verbose logging. (More details can be found here)

In general you have to be very careful when using relative paths in your scripts when executing a script via the "Run" options as any relative paths will be interpreted relative to the OBS application.

If you have a concrete example of a script that is causing issues let me know and I can try to help figure things out! :)



CodeYan said:


> @Warmuptill With the swap scene now being under Studio Mode, it seems that you can't set the transition type and duration anymore.
> 
> Thanks as always


The "scene swap" action never supported also specifying a transition as far as I know.
Maybe I am misunderstanding something / mixing something up here?


----------



## CodeYan (Jul 7, 2022)

Warmuptill said:


> The "scene swap" action never supported also specifying a transition as far as I know.
> Maybe I am misunderstanding something / mixing something up here?


I must have been confused, I thought that in "Switch Scene", you could select the "Preview Scene", then set a transition type and duration. I suppose that was the "Previous Scene", which would be different. Well, I still believe there is merit in allowing to set the transition type and duration for swap scene.


----------



## kineticscreen (Jul 7, 2022)

Returning to this since the big reworking of the interface - just wondering if this 'multiple audio sources' trigger is still possible within the new Macros interface? I couldn't work out where it might be:



Warmuptill said:


> As something like this was requested multiple times over the last couple of days I added a simpler version of your suggestion:
> 
> View attachment 65484
> If that should suffice for your use case also you can find a first build with these changes here in a couple of minutes:
> ...


----------



## THE R3Y3S (Jul 13, 2022)

Hi man, just a question. I'm starting to use in macro tab the possibility to control the audio volume of a source between scenes. Isn't there a possibility to start the fade during the transition or on the transition points? And not after the transition is totaly complete


----------



## AaronD (Jul 13, 2022)

THE R3Y3S said:


> Hi man, just a question. I'm starting to use in macro tab the possibility to control the audio volume of a source between scenes. Isn't there a possibility to start the fade during the transition or on the transition points? And not after the transition is totaly complete


Maybe you can have two macros, either with the same condition(s), or have one always true but normally paused and have the other unpause it.  (that way the condition only appears once, instead of getting bug-fixed in one place but not the other and causing headaches because it still doesn't work right)  Then the normally-paused one pauses itself again when it's done.

Either way, I think the key is probably this option here:


If I understand correctly, the actions within a single macro are strictly sequential, which is why the Wait action works, but you can run multiple macros at the same time using that option.

All the macros that don't have that option checked are run sequentially, just like their actions are, while the macros that do have it checked are each on their own, independently and simultaneously.  Welcome to multithreading, to use a computing term, and all of the benefits and pitfalls that come with that!


----------



## KillianM (Jul 13, 2022)

I'm trying to setup a macro so that when I save the replay buffer, it saves, then stops, then starts the replay buffer to clear the buffer so there's no overlap with the next save, much like how the user aludes to doing here - https://obsproject.com/forum/threads/smarter-replay-buffer-options.156347/
This seems simple enough in my head but I'm having trouble getting it to work, here's what I've got below. Am I missing something here? It almost seems like the actions are kicking off before the previous one has completed. I'd really prefer not to add waits in between steps if it can be avoided so that if I do have to sync up the recordings there isn't a gap. Any advice would be appreciated.


----------



## Warmuptill (Jul 14, 2022)

kineticscreen said:


> Returning to this since the big reworking of the interface - just wondering if this 'multiple audio sources' trigger is still possible within the new Macros interface? I couldn't work out where it might be:


The Audio tab is still available in this state.
You just have to uncheck the "Hide tabs which can be represented via macros" on the General tab.

If you want to use macros you can combine _multiple _audio conditions with the "and" logic for similar behaviour.
Depending on the amount of microphones you might have to setup multiple macros.







THE R3Y3S said:


> Hi man, just a question. I'm starting to use in macro tab the possibility to control the audio volume of a source between scenes. Isn't there a possibility to start the fade during the transition or on the transition points? And not after the transition is totaly complete


Yes, it is possible to start an audio fade *during* an transition for example using a setup similar to this.





For an overview of the possible combinations to trigger actions during a transition have a look at this overview:








						Performing actions only when transitioning from A to B · WarmUpTill/SceneSwitcher Wiki
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				






KillianM said:


> I'm trying to setup a macro so that when I save the replay buffer, it saves, then stops, then starts the replay buffer to clear the buffer so there's no overlap with the next save, much like how the user aludes to doing here - https://obsproject.com/forum/threads/smarter-replay-buffer-options.156347/
> This seems simple enough in my head but I'm having trouble getting it to work, here's what I've got below. Am I missing something here? It almost seems like the actions are kicking off before the previous one has completed. I'd really prefer not to add waits in between steps if it can be avoided so that if I do have to sync up the recordings there isn't a gap. Any advice would be appreciated.
> View attachment 84825


As you have guessed already, your current setup does not work as the function calls to save, stop and start the replay buffer are not "blocking" until they are complete.
You will have to add some delay to make sure that the previous replay action did have enough time to complete.
To reduce the necessary delay to a minimum you can split up the macro into three separate macros.









Hope that helps!
Let me know if you have any questions!


----------



## FAT9L (Jul 16, 2022)

Warmuptill said:


> Thanks for reporting the issue and sorry about the late reply!
> I have an idea what might cause this.
> A build with a potential fix will be available here in a few minutes:
> 
> ...


My apologies, I never got a notification for your reply. Will login on github and test it now.


----------



## FAT9L (Jul 16, 2022)

Warmuptill said:


> Thanks for reporting the issue and sorry about the late reply!
> I have an idea what might cause this.
> A build with a potential fix will be available here in a few minutes:
> 
> ...


This fixed the issue completely! Anything that calls on a replay buffer command works as intended now. Thank you so much.


----------



## 93_Minitruckin (Jul 20, 2022)

Okay, so I've installed the plugin probably 3 or 4 times, manually and using the installer, and it installs but it's missing almost all the tabs and fuctionality, see attached immage.... I cant figure out where i went wrong, Im just trying to get obs to follow my mouse from screen to screen.


----------



## THE R3Y3S (Jul 20, 2022)

93_Minitruckin said:


> Okay, so I've installed the plugin probably 3 or 4 times, manually and using the installer, and it installs but it's missing almost all the tabs and fuctionality, see attached immage.... I cant figure out where i went wrong, Im just trying to get obs to follow my mouse from screen to screen.



Click on "HIde tabs which can be represented via macros" in the bottom left


----------



## yeorip (Jul 23, 2022)

I cleaned up my computer software, and most of the 'advanced scene switcher' top menus have disappeared since then. In particular, the important 'Scene Sequence' menu has disappeared and the traditional method cannot be used.

After reinstalling the OBS and the 'advanced scene switcher' plug-in and cycling the computer, the menu is still not being created.

How should we solve this problem?


----------



## khaver (Jul 23, 2022)

At the bottom, uncheck "Hide tabs which can be represented via macros".


----------



## yeorip (Jul 23, 2022)

khaver said:


> 하단에서 "매크로를 통해 표시할 수 있는 탭 숨기기"를 선택 취소합니다.


Thanks!!!!!!!!!!!!!!!!!! thank you very much!!!!


----------



## SillyMcDangle (Aug 2, 2022)

Anyone had an issue with this plugin causing games to lag? I got everything set up and tried to play a game with OBS open (not recording or streaming) and I was lagging bad. I even tried disabling everything I had added in Advanced Scene Switcher and it was still doing it. I couldn't figure out what was causing it, but I just uninstalled the plugin and everything runs fine now. Do I try to reinstall and hope it works better this time or is this a known issue? It makes the games unplayable.


----------



## Warmuptill (Aug 2, 2022)

SillyMcDangle said:


> Anyone had an issue with this plugin causing games to lag? I got everything set up and tried to play a game with OBS open (not recording or streaming) and I was lagging bad. I even tried disabling everything I had added in Advanced Scene Switcher and it was still doing it. I couldn't figure out what was causing it, but I just uninstalled the plugin and everything runs fine now. Do I try to reinstall and hope it works better this time or is this a known issue? It makes the games unplayable.


Can you provide more details as to what you had configured / which functionality you were using?


----------



## thegamingstig (Aug 3, 2022)

I cannot seem to run bat files with the macros. I have an IRL RTMP server that runs via json. I used a npm start bat file to start the program when I start streaming and a npm killtask bat file to close the program when I end streaming. The bat files work on it's own but the plugins won't run the files.


----------



## Warmuptill (Aug 3, 2022)

thegamingstig said:


> I cannot seem to run bat files with the macros. I have an IRL RTMP server that runs via json. I used a npm start bat file to start the program when I start streaming and a npm killtask bat file to close the program when I end streaming. The bat files work on it's own but the plugins won't run the files.


The reason for this can vary a lot without knowing the contents of the script.
So I cannot really give any concrete advice unfortunately.

Can you try adding additional statements to the very beginning of the script, which would indicate whether or not the script is actually being run? (E.g. create a dummy file)

Usually such issues arise if you are using relative paths inside the script, as when the plugin is attempting to run the script these relative paths will resolve to paths relative to the OBS binary and not the scripts location.


----------



## 2pacsaywer (Aug 5, 2022)

I've looked for hours across multiple days and can't find anyone even mentioning my issue. 

With the Advanced Scene switcher plugin disabled I'll get around 175FPS in a game but then with it enabled the game FPS drops down to between 70-85 FPS. That's a crazy difference. To add on top of it, the game seems to be lagging as if it's dropping frames even though its showing it's still above 70 FPS. Even if I'm not streaming or recording and just have OBS open with the plug-in enabled I have this issue.


----------



## Warmuptill (Aug 5, 2022)

2pacsaywer said:


> I've looked for hours across multiple days and can't find anyone even mentioning my issue.
> 
> With the Advanced Scene switcher plugin disabled I'll get around 175FPS in a game but then with it enabled the game FPS drops down to between 70-85 FPS. That's a crazy difference. To add on top of it, the game seems to be lagging as if it's dropping frames even though its showing it's still above 70 FPS. Even if I'm not streaming or recording and just have OBS open with the plug-in enabled I have this issue.


Can you please share the settings you are using? (You can export them to a file on the General tab)


----------



## ozbroady (Aug 5, 2022)

Hi.. I was wondering if I could please get some advice... I am running the latest version of this plugin and am hoping to initiate a scene switch based on when a change is made to a TXT file which occurs every 3-4 minutes

Do you have to enter specific matching text into the content field? My issue is that the text contains the name of a random song that is playing, and I dont actually know or care what the text will be, i just want to change the scene automatically whenever the file is updated (ie. last modified timestamp changes)

My config is below - but this is not working automatically. Is there anything else I could try to get this working?






Ive also attached the settings TXT

Thankyou :)


----------



## ozbroady (Aug 5, 2022)

ozbroady said:


> Hi.. I was wondering if I could please get some advice... I am running the latest version of this plugin and am hoping to initiate a scene switch based on when a change is made to a TXT file which occurs every 3-4 minutes
> 
> Do you have to enter specific matching text into the content field? My issue is that the text contains the name of a random song that is playing, and I dont actually know or care what the text will be, i just want to change the scene automatically whenever the file is updated (ie. last modified timestamp changes)
> 
> ...


Disregard this! I found the answer in another forum post. Turns out I just needed to ad .* to the content field and it is working perfectly!! Thanks so much for an awesome plugin.


----------



## SillyMcDangle (Aug 5, 2022)

2pacsaywer said:


> I've looked for hours across multiple days and can't find anyone even mentioning my issue.
> 
> With the Advanced Scene switcher plugin disabled I'll get around 175FPS in a game but then with it enabled the game FPS drops down to between 70-85 FPS. That's a crazy difference. To add on top of it, the game seems to be lagging as if it's dropping frames even though its showing it's still above 70 FPS. Even if I'm not streaming or recording and just have OBS open with the plug-in enabled I have this issue.



Sounds exactly like what mine is doing. It is completely unusable if I have Advanced Scene Switcher enabled.



Warmuptill said:


> Can you provide more details as to what you had configured / which functionality you were using?



This happens with nothing configured at all. At one point I had the following:
-2 macros to automatically return to previous scene after a certain time period when two of my scenes were switched to
-scene triggers to mute and unmute desktop audio at the start and end of those timed scenes.
-A bunch of media rules that switch back to previous scene once the videos play through once on the new scenes created for them (scenes were just short video clips)

I uninstalled the plug-in and everything started working again. I reinstalled it and everything still worked until I enabled the plug-in. Once I did that, the dropped frames happened again even with nothing set up in Advanced Scene Switcher at all. I just have it turned off for now, because the dropped frames or lag or whatever is too significant to play through.

Edit: Until this gets fixed, I may try to set up what I'm attempting using multi-actions on my Stream Deck. Not ideal, but I think I can get it to work that way without torpedoing my games.


----------



## Warmuptill (Aug 5, 2022)

SillyMcDangle said:


> I uninstalled the plug-in and everything started working again. I reinstalled it and everything still worked until I enabled the plug-in. Once I did that, the dropped frames happened again even with nothing set up in Advanced Scene Switcher at all. I just have it turned off for now, because the dropped frames or lag or whatever is too significant to play through.


That is really strange - I will try to investigate.
Did you observe this with previous versions of the plugin as well?
How much CPU time is roughly used up by OBS Studio studio process in that situation?


----------



## khaver (Aug 5, 2022)

I'm trying to get a 2 camera, 2 scene set up where the scenes switch based on a pattern match on a display capture of slides. I want the "closeup" scene to be switched to whenever there's a slide with a certain object in the display (a white rectangle that appears at different locations horizontally in the upper 1/8th of the display). I've set up a macro called "Go Close" with a video->matches pattern using a cropped png file of the white rectangle. The action switches to the closeup scene, and unpauses the macro referred to below then pauses itself.

Now this next macro (Go Wide) I want to switch to a wide camera scene whenever a slide that doesn't contain the white rectangle is shown (I can't use a pattern match with this slide because these slides are different every week, only the slides with the white rectangle are consistent, i.e. bible verse slides). I tried setting up a video->does not match, using the same png file of the white rectangle, that then switches to the wide camera scene, unpauses the "Go Close" macro and then pauses itself.

If a slide without the white rectangle is showing and I switch to the wide camera scene, ASS does nothing and keeps it on that scene. Great. But if a slide with the white rectangle is shown, ASS switches to the closeup scene then immediately switches back to the wide camera scene and Go Wide macro ends up unchecked (paused) in the Macros list.

I need guidance in setting this up. Thanks.


----------



## Warmuptill (Aug 5, 2022)

khaver said:


> I'm trying to get a 2 camera, 2 scene set up where the scenes switch based on a pattern match on a display capture of slides. I want the "closeup" scene to be switched to whenever there's a slide with a certain object in the display (a white rectangle that appears at different locations horizontally in the upper 1/8th of the display). I've set up a macro called "Go Close" with a video->matches pattern using a cropped png file of the white rectangle. The action switches to the closeup scene, and unpauses the macro referred to below then pauses itself.
> 
> Now this next macro (Go Wide) I want to switch to a wide camera scene whenever a slide that doesn't contain the white rectangle is shown (I can't use a pattern match with this slide because these slides are different every week, only the slides with the white rectangle are consistent, i.e. bible verse slides). I tried setting up a video->does not match, using the same png file of the white rectangle, that then switches to the wide camera scene, unpauses the "Go Close" macro and then pauses itself.
> 
> ...


I would suggest to setup three macros to handle your requirements:


A macro that check for the existence of the pattern in the video source.

The macro does not need any actions as it will only be used to refer to in the other two macros.(The used parameters for the pattern match are just examples of course)
A macro to handle the case in which the conditions of Macro (1) are "true".


The "Macro" condition type can be used to refer to the condition state of the "Pattern match" macro (1).
In this case we want to perform actions in case the pattern is found so we leave the logic type as "If".
The actions just consist of the "Switch scene" action. (Parameters are just examples once again)
I would recommend to also check "Perform actions only on condition change" as this will allow you to manually switch away from this scene if it should be necessary.
A macro to handle the opposite of Macro (2).

Almost the identical settings as in (2) can be used except that the logic type has to be changed to "If not" to allow switching to the correct scene if the pattern is _not_ found.
Also the scene you want to switch to in this case has to be adjusted compared to (2). (In this example "test2" is used)
Hope that helps!
Let me know if you have any questions!

Note:
You could also set this up in only two macros, if you like.
Using three macros just makes it more clear which macro does what in this example.


----------



## AaronD (Aug 5, 2022)

khaver said:


> I'm trying to get a 2 camera, 2 scene set up where the scenes switch based on a pattern match on a display capture of slides. I want the "closeup" scene to be switched to whenever there's a slide with a certain object in the display (a white rectangle that appears at different locations horizontally in the upper 1/8th of the display). I've set up a macro called "Go Close" with a video->matches pattern using a cropped png file of the white rectangle. The action switches to the closeup scene, and unpauses the macro referred to below then pauses itself.
> 
> Now this next macro (Go Wide) I want to switch to a wide camera scene whenever a slide that doesn't contain the white rectangle is shown (I can't use a pattern match with this slide because these slides are different every week, only the slides with the white rectangle are consistent, i.e. bible verse slides). I tried setting up a video->does not match, using the same png file of the white rectangle, that then switches to the wide camera scene, unpauses the "Go Close" macro and then pauses itself.
> 
> ...


Warmuptill probably has the right answer, but this general problem seems likely to recur in other forms too.  Could you share screenshots of the settings that produce this behavior so we know what to look for and avoid?


----------



## khaver (Aug 6, 2022)

Warmuptill, I set my macros exactly as you've shown, but when the slide with the white rectangle is shown, I get the switch to the Sermon scene (the closeup) but then immediately it switches back to the Sermon Wide scene without a change to the slide.










Here's an example of a slide with the white rectangle in it.




And this is the image the pattern match looks for.




Here's the part of the log where I think this is happening.

```
19:05:24.073: [adv-ss] try to sleep for 498
19:05:24.570: [adv-ss] condition scene returned 0
19:05:24.570: [adv-ss] Macro Startup returned 0
19:05:24.570: [adv-ss] condition video returned 0
19:05:24.570: [adv-ss] ignoring condition check 'none' for 'Start Recording 2'
19:05:24.570: [adv-ss] condition scene returned 0
19:05:24.570: [adv-ss] Macro Start Recording 2 returned 0
19:05:24.654: [adv-ss] condition video returned 1
19:05:24.654: [adv-ss] Macro Pattern Match returned 1
19:05:24.654: [adv-ss] condition macro returned 1
19:05:24.654: [adv-ss] Macro Go Close returned 1
19:05:24.655: [adv-ss] condition macro returned 1
19:05:24.655: [adv-ss] Macro Go Wide returned 1
19:05:24.655: [adv-ss] Macro Stop Recording is paused
19:05:24.655: [adv-ss] running macro: Pattern Match
19:05:24.655: [adv-ss] running macro: Go Close
19:05:24.655: [adv-ss] switch to scene 'Sermon'
19:05:24.694: User switched to scene 'Sermon'
19:05:24.694: [adv-ss] switched scene
19:05:26.942: [adv-ss] running macro: Go Wide
19:05:26.942: [adv-ss] switch to scene 'Sermon Wide'
19:05:26.943: [adv-ss] current scene:  Sermon
19:05:26.944: [adv-ss] previous scene: Sermon Wide
19:05:26.962: User switched to scene 'Sermon Wide'
19:05:26.962: [adv-ss] switched scene
19:05:26.978: [adv-ss] detected busy loop - refusing to sleep less than 1ms
19:05:26.978: [adv-ss] try to sleep for 50
19:05:26.980: [adv-ss] current scene:  Sermon Wide
19:05:26.980: [adv-ss] previous scene: Sermon
19:05:27.029: [adv-ss] condition scene returned 0
19:05:27.029: [adv-ss] Macro Startup returned 0
19:05:27.029: [adv-ss] condition video returned 0
19:05:27.029: [adv-ss] ignoring condition check 'none' for 'Start Recording 2'
19:05:27.029: [adv-ss] condition scene returned 0
19:05:27.029: [adv-ss] Macro Start Recording 2 returned 0
19:05:27.079: [adv-ss] condition video returned 1
19:05:27.079: [adv-ss] Macro Pattern Match returned 1
19:05:27.079: [adv-ss] ignore match for Macro Pattern Match (on change)
19:05:27.079: [adv-ss] condition macro returned 0
19:05:27.079: [adv-ss] Macro Go Close returned 0
19:05:27.079: [adv-ss] condition macro returned 0
19:05:27.079: [adv-ss] Macro Go Wide returned 0
19:05:27.079: [adv-ss] Macro Stop Recording is paused
19:05:27.081: [adv-ss] try to sleep for 448
```


----------



## AaronD (Aug 6, 2022)

khaver said:


> Warmuptill, I set my macros exactly as you've shown, but when the slide with the white rectangle is shown, I get the switch to the Sermon scene (the closeup) but then immediately it switches back to the Sermon Wide scene without a change to the slide.
> View attachment 85350
> View attachment 85348
> View attachment 85349
> ...


Go Close and Go Wide both have the condition of "If..."  One of them should be "If not..."


----------



## SillyMcDangle (Aug 6, 2022)

Warmuptill said:


> That is really strange - I will try to investigate.
> Did you observe this with previous versions of the plugin as well?
> How much CPU time is roughly used up by OBS Studio studio process in that situation?


I'll have to test it again and let you know.


----------



## 2pacsaywer (Aug 6, 2022)

Warmuptill said:


> Can you please share the settings you are using? (You can export them to a file on the General tab)


Thank you in advance for looking into this. After some more testing, I deleted all my Scenes and Sources and still had the same "lag" issue. I then went and deleted the macros in the advanced scene switcher until there were none left. Only when I delete all the macros does my game performance go back to normal. 

Possibly some more useful info.

PC Specs
-RTX 3080 Ti
-i9 10900K (no over clock)
-16GB RAM with XMP turned on

-With OBS open not recording/streaming and Advanced Scene Switcher turned on OBS Studio is using 4% CPU 600MB RAM and 1.5% GPU usage. 
-While Advanced Scene Switcher is turned off OBS is using 2.5% CPU 400MB RAM and  1.5% GPU.
-While OBS is open with Advanced Scene Switcher enabled, playing Paladins max settings 1440p CPU is at 47% RAM at 82% and GPU at 33%.


----------



## khaver (Aug 6, 2022)

AaronD said:


> Go Close and Go Wide both have the condition of "If..."  One of them should be "If not..."


You're right. I accidently changed it when I was making the screen shots. I did change it to "if not' but still got the same result. Here's the part of the log where it's happening. It appears the switch ( 2 second fade) to the closeup scene is triggering the pattern match to return 0 so the Go Wide macro triggers a scene change back to the wide view scene.


```
10:03:25.633: [adv-ss] try to sleep for 374
10:03:26.008: [adv-ss] condition scene returned 0
10:03:26.008: [adv-ss] Macro Startup returned 0
10:03:26.008: [adv-ss] condition video returned 0
10:03:26.008: [adv-ss] ignoring condition check 'none' for 'Start Recording 2'
10:03:26.008: [adv-ss] condition scene returned 0
10:03:26.008: [adv-ss] Macro Start Recording 2 returned 0
10:03:26.058: [adv-ss] condition video returned 1
10:03:26.058: [adv-ss] Macro Pattern Match returned 1
10:03:26.058: [adv-ss] condition macro returned 1
10:03:26.058: [adv-ss] Macro Go Close returned 1
10:03:26.059: [adv-ss] condition macro returned 1
10:03:26.059: [adv-ss] Macro Go Wide returned 0
10:03:26.059: [adv-ss] Macro Stop Recording is paused
10:03:26.059: [adv-ss] running macro: Pattern Match
10:03:26.059: [adv-ss] running macro: Go Close
10:03:26.059: [adv-ss] switch to scene 'Sermon'
10:03:26.089: User switched to scene 'Sermon'
10:03:26.089: [adv-ss] switched scene
10:03:28.349: [adv-ss] detected busy loop - refusing to sleep less than 1ms
10:03:28.349: [adv-ss] try to sleep for 50
10:03:28.351: [adv-ss] current scene:  Sermon
10:03:28.352: [adv-ss] previous scene: Sermon Wide
10:03:28.400: [adv-ss] condition scene returned 0
10:03:28.400: [adv-ss] Macro Startup returned 0
10:03:28.400: [adv-ss] condition video returned 0
10:03:28.400: [adv-ss] ignoring condition check 'none' for 'Start Recording 2'
10:03:28.400: [adv-ss] condition scene returned 0
10:03:28.400: [adv-ss] Macro Start Recording 2 returned 0
10:03:28.451: [adv-ss] condition video returned 1
10:03:28.451: [adv-ss] Macro Pattern Match returned 1
10:03:28.451: [adv-ss] ignore match for Macro Pattern Match (on change)
10:03:28.451: [adv-ss] condition macro returned 0
10:03:28.451: [adv-ss] Macro Go Close returned 0
10:03:28.451: [adv-ss] condition macro returned 0
10:03:28.451: [adv-ss] Macro Go Wide returned 1
10:03:28.451: [adv-ss] Macro Stop Recording is paused
10:03:28.451: [adv-ss] running macro: Go Wide
10:03:28.451: [adv-ss] switch to scene 'Sermon Wide'
10:03:28.472: User switched to scene 'Sermon Wide'
10:03:28.472: [adv-ss] switched scene
10:03:30.717: [adv-ss] detected busy loop - refusing to sleep less than 1ms
10:03:30.717: [adv-ss] try to sleep for 50
10:03:30.719: [adv-ss] current scene:  Sermon Wide
10:03:30.719: [adv-ss] previous scene: Sermon
```


----------



## Warmuptill (Aug 6, 2022)

khaver said:


> You're right. I accidently changed it when I was making the screen shots. I did change it to "if not' but still got the same result. Here's the part of the log where it's happening. It appears the switch ( 2 second fade) to the closeup scene is triggering the pattern match to return 0 so the Go Wide macro triggers a scene change back to the wide view scene.
> 
> 
> ```
> ...


I think this might be the issue:
`10:03:28.451: [adv-ss] ignore match for Macro Pattern Match (on change)`
Please uncheck the "Perform actions only on condition change" option in the "Pattern match" macro.


----------



## khaver (Aug 6, 2022)

I also tried it with straight cuts and the immediate switch back to the wide shot still happens. I then added a duration check in the Pattern Match macro "Fot at least - 1 second". It now works. I'm not sure why adding the duration check made it work. Warmuptill, can you explain?

Thanks.


----------



## khaver (Aug 6, 2022)

Warmuptill, I was typing my last reply while you posted. I did try unchecking the "only on change" box but it still exhibited the same behavior. Adding the duration check fixed it.

Just to be thorough, I'll check all previous settings again and report back.


----------



## khaver (Aug 6, 2022)

Okay, I was wrong. The auto switching works without the duration check in the Pattern Match macro. Unchecking the "Perform actions only on condition change" in the Pattern macro was the fix.

Thanks for your help.


----------



## SillyMcDangle (Aug 7, 2022)

Warmuptill said:


> That is really strange - I will try to investigate.
> Did you observe this with previous versions of the plugin as well?
> How much CPU time is roughly used up by OBS Studio studio process in that situation?



I have not used Advanced Scene Switcher until this current version. Brand new to streaming and I'm trying to get everything set up.

PC Specs:
-Radeon 6700XT
-Ryzen 5 3600
-16GB DDR4-3600 RAM

OBS usage with OBS open and not recording or streaming and Advanced Scene Switcher Enabled:
CPU: 2.4% GPU: 0% RAM: 313 MB

OBS usage with OBS open and not recording or streaming and Advanced Scene Switcher Disabled:
CPU: 3-3.5% GPU: 0% RAM: 324 MB

With OBS open and not recording or streaming, Advanced Scene Switcher Enabled and Apex running pretty much max settings in 1440p and normal applications running in the background:
CPU: 48% GPU: 94% RAM: 10.4 GB (TOTAL NUMBERS)

Then I turn off Advanced Scene Switcher and the lag goes away completely and the numbers are:
CPU: 35% GPU: 98% RAM: 10.4 GB (TOTAL NUMBERS)

All I did in Apex is hop in the firing range and I can replicate the issue. Stayed in the range, alt tabbed to OBS on my other monitor, disabled Advanced Scene Switcher, and went back to the game and read the numbers again. No idea why the CPU-GPU balance seemed to shift, but the way it shifted would make you think it would perform worse after I disabled Advanced Scene Switcher, which is the exact opposite of what actually happened. Super weird.


----------



## DJFrANKyEHP (Aug 7, 2022)

@Warmuptill I think I have no sufficient words here to describe how thankfully I am for this really really useful plugin you have here.

I use it in every and all of my 'Streams', everydays, because whithout this plugin my 'Streams' cannot be done in the way they are configurated. I really love the incredible hard work it must have beyond what it is seen at first sight. I use this plugin for very much automated things, like change between scenes, activate and deactivate sources, to turn up and down the volume while speaking in the way if I speak the volume of the desk goes down and when I stop talking the volume goes up again, etc, etc, and etc. And I think I have not gotten the total potential it has.

The curve of learning I think is good because even when at first sight it can be hard, after working a little with it and understanding how it works, then you can go ahead with the only limits of your imagination and, of course, the quantity of work one can want to put in the 'Streams'.

So really... thanks you very much for this extremely powerful tool.

NOTE: You are credited as 'Plug-ins Creator' at the credits of my 'Streams' at the end of them. ;)


----------



## iGamer4tv (Aug 8, 2022)

*Is there a way to check a source is between specific positions using Scene item transform?*

I want a trigger to happen if the x position is between 0 and 10. I want the "2" in x to be anywhere from 0 - 10.
Im not sure how to alter this, if possible!

"pos": {
"x": 2,
"y": 0

Orginial code for the source in question:


```
{
    "alignment": 5,
    "bottom": 0,
    "bounds": {
        "x": 1920,
        "y": 1080
    },
    "bounds_alignment": 0,
    "bounds_type": 2,
    "left": 0,
    "pos": {
        "x": 2,
        "y": 0
    },
    "right": 0,
    "rot": 0,
    "scale": {
        "x": 1,
        "y": 1
    },
    "size": {
        "height": 1080,
        "width": 1920
    },
    "top": 0
}
```


----------



## AaronD (Aug 8, 2022)

DJFrANKyEHP said:


> ...turn up and down the volume while speaking in the way if I speak the volume of the desk goes down and when I stop talking the volume goes up again...


As an audio guy, that sounds like a ducker to me.  You can make one from a compressor, by having it respond to a different signal than the one that it affects.

OBS has a compressor natively as one of the audio filters, so you can put it on your desk source or whatever else that you want to "duck" under your voice, and then put your voice in the Sidechain:




It'll behave a bit differently than the macro version.  The most obvious way to me at the moment is that the macro always drops the background by a fixed amount (which might be what you want), whereas the compressor/ducker drops more if your voice is louder and less if you're softer.
And the macro only checks 10x per second or whatever you have it set to, whereas the audio filters check every sample.  (44.1 or 48 thousand per second)  Much more responsive that way.

The amount that it drops is [volume - Threshold] x Ratio...except that the Ratio control is labelled differently, as the actual ratio of the change in input volume to the change in output volume.  The two timing controls - Attack and Release - are basically fade times - one down and one up - and the Output Gain is simply a fixed volume control after everything else is done.  (so instead of only turning it down, it can turn up by that much normally and reduce from there)

A limiter is simply a compressor with oo:1 Ratio.  Dedicated ones often have non-adjustable instant Attack as well, and the Gain control moved to the input so that it acts *before* the Threshold.  OBS's limiter only has Threshold and Release, so any pre-gain needs to be a separate filter.

The screenshot here is for a presentation mic, which is Behringer's clone of an SM58 a fair distance away in a makeshift studio.  No settings for Noise Suppression.  Limiter has a Threshold of -6dB and Release 100ms.  The Compressor does most of the work, and the Limiter is more of a "safety net".  A different rig (not here at the moment) has the same Compressor filter used as a ducker so that a remote meeting doesn't feed back through the mic to the remote people.  Hearing yourself that much later completely throws off your concentration, so the local mic (quite drastically in this case) ducks under the remote participants.

--- Geeking out a bit: ---

Conceptually, you can think of the compressor as only turning things down, and then the Output Gain (or makeup gain) is a separate thing that follows that, but most compressors implement it as an offset to the control signal instead.  Same effect.  If I have a bunch of channels to mix together, like a band, I often use the compressors' makeup gains to trim the faders so that they all line up nicely for an "okay" mix.  The faders then become offsets from that instead of absolute controls.

In an analog compressor, like you might find in a recording studio or "old school" live rig, you have a volume detector that produces a control signal, which is compared to the Threshold and the difference (or zero if negative) moves on.  Then the timing controls slow down their respective edges, followed by a "volume control" of sorts that turns down the control signal (this is the Ratio: all the way up is oo:1, all the way down is 1:1 or no effect), and finally the Output Gain or Makeup Gain offsets the control signal before feeding it to the gain element.  Increasing control signal turns the gain element down, by the same amount that the detector produced it.  (so if you connected them directly together, you'd always get the same volume out regardless of anything, which would amplify the electronic noise of an otherwise silent input to that volume, hence the Threshold to avoid that)

So far, I've described a "feedforward" compressor, where the detector is up front, measuring the raw signal, and its result is fed "forward" in terms of signal flow to the gain element.  This makes it easy to disconnect the detector from the original input and feed it something else instead, which makes it a ducker.  Or (in the more free-form analog world, and the digital things that already thought of it) you could put an EQ or other processing before the detector so that it responds more to the boosted frequencies (turns them down more) and less to the rest.  The side-chain jack outputs a copy of the raw input for that purpose, in addition to receiving what the detector should respond to.  A switch in that jack automatically connects the detector to the input, when there's no plug present.

There are also "feedback" compressors, where the detector is on the output and fed "back" to the gain element that comes before.  This can only be a compressor, not a ducker (I guess technically it *could*, but it would change to a feedforward ducker), and can't reach oo:1 ratio.  They're fairly rare now...except that our ears work this way, using the auditory nerve signals as the detector and restricting the movement of the eardrum as the gain element.  Thus, when old people say, "It's too loud," it's probably because they can't restrict their eardrums anymore, and so they really are getting blasted more than someone younger...and consequently lose more of their hearing while the younger one doesn't lose any.

The quality of the mix also makes a difference because our hearing is essentially an RTA or spectrum analyzer, not a single microphone, and the signal to "clamp down" is the average of that RTA.  Thus, a small range of prominent frequencies keeps the average low, so we don't clamp down, which allows that small range to get blasted and possibly damaged.  A good mix is more even in its frequency content, which brings the average up, so that we do clamp down and then we're okay...so long as we're still able to clamp down.


----------



## lcalder (Aug 9, 2022)

I was wondering if there is a Mac M1 arm64 version of this magnificent plugin which I can try with the OBS 28 beta...


----------



## Warmuptill (Aug 9, 2022)

lcalder said:


> I was wondering if there is a Mac M1 arm64 version of this magnificent plugin which I can try with the OBS 28 beta...


I am looking into it at the moment.

If you want to test a pre-release you can give this one a try:








						Qt6 · WarmUpTill/SceneSwitcher@e91a282
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				



The M1 build is the "SceneSwitcher-macos-arm64-086daaf5e" one.
(Note that you will have to log into GitHub to be able to download it)


----------



## kellemar (Aug 10, 2022)

Hmm, what's the difference between stoppped and ended state for media?

I've been trying to do this simple macro of switching to another scene when a video is ended (reaches end of the time). But whenever I'm on the scene where the video is, it immediately switches without the video playing in the first place.

Is there something I'm missing?


----------



## AaronD (Aug 10, 2022)

kellemar said:


> Hmm, what's the difference between stoppped and ended state for media?
> 
> I've been trying to do this simple macro of switching to another scene when a video is ended (reaches end of the time). But whenever I'm on the scene where the video is, it immediately switches without the video playing in the first place.
> 
> Is there something I'm missing?


I don't know what they all mean either (maybe Warmuptill can explain?), but Played to End seems to work for me.


----------



## ScanxTaz (Aug 10, 2022)

Guys, I'm desperately trying to find how to start the "timed switcher". I've created a scene group, with the "time" selected, but the switching does not start. Am I missing something ?


----------



## Warmuptill (Aug 10, 2022)

kellemar said:


> Hmm, what's the difference between stoppped and ended state for media?
> 
> I've been trying to do this simple macro of switching to another scene when a video is ended (reaches end of the time). But whenever I'm on the scene where the video is, it immediately switches without the video playing in the first place.
> 
> Is there something I'm missing?


The difference between ended and stopped depends on the source type.
For the regular "Media source" there is not much of a difference as far as I am aware.
I would recommend to enable the following visual guides to make analysing the issue easier on your end:








						Troubleshooting · WarmUpTill/SceneSwitcher Wiki
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				




What I *think* what might be happening is that the playback of the media source is in state "ended" even before you switch to the particular scene containing the media source so the scene is switched immediately.
(Maybe the particular media source is configured to stop its playback if it is no longer visible)



ScanxTaz said:


> Guys, I'm desperately trying to find how to start the "timed switcher". I've created a scene group, with the "time" selected, but the switching does not start. Am I missing something ?


Scene Groups is not what you are looking for I think.
Please have a look at this guide:








						Automatically cycle through a list of scenes · WarmUpTill/SceneSwitcher Wiki
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				



Let me know if you have any questions!


----------



## Chico007 (Aug 20, 2022)

Good day,

is there a way to activate or deactivate the Scene Switcher with the Stream Deck without a hotkey?


----------



## Warmuptill (Aug 20, 2022)

Chico007 said:


> Good day,
> 
> is there a way to activate or deactivate the Scene Switcher with the Stream Deck without a hotkey?


Not that I know of - but I am also not familiar with Stream Decks at all unfortunately, so maybe I am just not aware.


----------



## _AgentCobra (Aug 20, 2022)

Need an update for OBS 28 - Requires special update to work


----------



## OP3 (Aug 20, 2022)

Just upgraded to the latest version thinking Macros might give me a certain capability I'm looking for and noticed that all my old scene sequences weren't imported. Luckily I backed them up / screenshot so that's not a big-ish deal but is there any import feature by chance?

Most importantly, I'm looking for some feature that can MOVE a file or a directory of contents or call a bat script at either the start of the scene OR when the scene ends, kinda like how screen switcher already does for sequence, time, etc switches. Currently I execute a bat script manually but would like to automate this based on when I hotkey to a couple of different scenes.
Thanks!


----------



## AaronD (Aug 20, 2022)

OP3 said:


> Just upgraded to the latest version thinking Macros might give me a certain capability I'm looking for and noticed that all my old scene sequences weren't imported. Luckily I backed them up / screenshot so that's not a big-ish deal but is there any import feature by chance?
> 
> Most importantly, I'm looking for some feature that can MOVE a file or a directory of contents or call a bat script at either the start of the scene OR when the scene ends, kinda like how screen switcher already does for sequence, time, etc switches. Currently I execute a bat script manually but would like to automate this based on when I hotkey to a couple of different scenes.
> Thanks!


Might this be what you're looking for?:


----------



## OP3 (Aug 20, 2022)

AaronD said:


> Might this be what you're looking for?:
> View attachment 85717



BOOM!!!!!!!!! That's EXACTLY what I was looking for!!!!!! Thank you Aaron!!!


----------



## Warmuptill (Aug 20, 2022)

_AgentCobra said:


> Need an update for OBS 28 - Requires special update to work


An OBS 28 build is available here:








						Update .gitignore · WarmUpTill/SceneSwitcher@85e715d
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				



Note that you have to be logged into GitHub to be able to download it.

Warning ahead of time: 
I got a few reports that Windows Defender does not seem to happy about it and seems to flag it as a virus for some reason.
I will still have to look into this.


----------



## Redolent Thought (Aug 22, 2022)

I've been on working to eliminate Bar Raiders' OBS Tools plugin from my stream deck, as recently, it just does not work for me anymore. After a year of "totally fine"  I now have to uninstall and reinstall it *every time* and their two "fixes" didn't fix it, so I started looking for alternative options.  (also, even with the uninstall/reinstall, sometimes it'll just stop working after an hour or so...FUN!)

I was already using ASS for a few things - I'm all updated, etc - and found the workaround for a few "Previous Scene" needs that the Elgato OBS update still cannot do... 

But - I've toyed around with the macros for a while and don't see a way to just have a triggered "Previous Scene" switch/toggle/hot key. Am I missing it?  I have a lot of scenes, between two characters - and being able to just hit a pedal button or stream deck button to fire back between two scenes (without having to flip between the two pages on the stream deck is huge).  

I've peeked around the other tabs, but they are a bit intimidating and I've stayed in the Macros tab - looking for ways to achieve this - possibly with the help of a hot key programmed into the OBS settings...

Essentially - looking for a way to macro on my stream deck a way to just fire previous scene, back and forth, dialogue between two people - not tied to the audio, as a voice changing button would also be employed on each scene swap between the two people...


----------



## Warmuptill (Aug 22, 2022)

Redolent Thought said:


> But - I've toyed around with the macros for a while and don't see a way to just have a triggered "Previous Scene" switch/toggle/hot key. Am I missing it?


Maybe something like this will do the trick:





Redolent Thought said:


> I've peeked around the other tabs, but they are a bit intimidating and I've stayed in the Macros tab


That is a good choice :)
The macro tab can basically do what all the other tabs can do.
I just keep the other tabs for backwards compatibility reasons.

Let me know if you have any questions!


----------



## Redolent Thought (Aug 23, 2022)

Warmuptill said:


> Maybe something like this will do the trick:
> View attachment 85770
> 
> That is a good choice :)
> ...


THanks, just got home - gonna play around with it - I don't think I got down to "Some custom hotkey" with the previous box checked off as "Hotkey" !!!! It looks like this will do it! Exciting!


----------



## Redolent Thought (Aug 23, 2022)

Oh, you typed that =)   Okay - should still work!


----------



## Redolent Thought (Aug 23, 2022)

IT WORKS! Hell yeah!  Oh man I'm pumped. What a plug-in! This and the Move Transition are Top Two - by far. Thanks so much


----------



## ralum3803 (Aug 27, 2022)

Thanks for the great plug-in!  I've been working to replace a bunch of AutoIt scripts  I've been using to automate OBS with the Macros in this plug-in.

One thing I have a question about is whether there's any ability to interrupt or pause a Macro that's running.  For example, if I have a macro that switches from Scene A to Scene B, waits 30 seconds, then switches back to Scene A, is there some way to pause or extend the 30 second wait on the fly?  

I'm thinking it could be done with a hot key that runs another macro to stop the first macro.  Ideally, I think I would want a countdown timer for the wait time in the dock and a button in the dock to pause the timer or pause the scene switcher instead of stopping it entirely.

I'm not trying to be critical here.  This looks to be a great alternative to the AutoIt+OBS combination I'm using and will certainly simplify the # of hotkeys that are out of control in my setup and it can start/stop the macros when I start/stop streaming instead of me having to do it manually with AutoIt.


----------



## Warmuptill (Aug 27, 2022)

ralum3803 said:


> Thanks for the great plug-in!  I've been working to replace a bunch of AutoIt scripts  I've been using to automate OBS with the Macros in this plug-in.
> 
> One thing I have a question about is whether there's any ability to interrupt or pause a Macro that's running.  For example, if I have a macro that switches from Scene A to Scene B, waits 30 seconds, then switches back to Scene A, is there some way to pause or extend the 30 second wait on the fly?
> 
> ...


Unfortunately pausing the _actions_ of a macro while they are currently being executed is not supported.
You can however achieve something similar to what you are looking to do using the "Timer" condition type, which can be paused, reset, or set to a fixed value.

First set up the sequence from A to B and B to A using the timer condition instead of the wait action:








Next set up hotkeys to pause and continue the timer using macros similar to this one:








The hotkeys need to be bound in the OBS settings menu.
You can of course set up the same for the timer to switch to scene B.

Let me know if you have any questions!


----------



## AdmiralFunghie (Sep 1, 2022)

Hi there, thanks again for the most essential plugin. Just moved to OBS28 and been to the WarmUpTill GitHub, logged in but still cannot see any download for the updated version. Please can you assist? Thank you in advance.


----------



## youjiman (Sep 1, 2022)

AdmiralFunghie said:


> Hi there, thanks again for the most essential plugin. Just moved to OBS28 and been to the WarmUpTill GitHub, logged in but still cannot see any download for the updated version. Please can you assist? Thank you in advance.


It is easier to find it if you follow the link on the overview of this plugin page.


----------



## AdmiralFunghie (Sep 1, 2022)

youjiman said:


> It is easier to find it if you follow the link on the overview of this plugin page.


Thanks got it.


----------



## AdmiralFunghie (Sep 1, 2022)

Hi OK installed and up and running in OBS 28. Thanks again for this.

Spotted issues:

1. I did lose all my settings but luckily had exported them a while ago. However, after importing them, although I have moved all my ASS operations to Macros, All tabs are still showing. (You can see this in screenshot).

2. Text in the Macro section is too large and unviewable. (I have Windows scaling at 100% btw). Tried using other OBS theme but with same result. (You can also see this in the same screenshot.)




Thanks and all the best.


----------



## AdmiralFunghie (Sep 1, 2022)

OK "Hide Tabs that can be represented by Macros" solved issue number 1. So just issue number 2 above to look at. :-)


----------



## drakejest (Sep 1, 2022)

Hello i would like to know if its possible to do an http-get request? i have some ptz ipcamera that will respond to commands via http-get url, the response data can be ignored. I was hoping that this plugin can do that? What i want to achieve is that after some triggers i want the camera to move to certain positions


----------



## Warmuptill (Sep 1, 2022)

AdmiralFunghie said:


> Hi OK installed and up and running in OBS 28. Thanks again for this.
> 
> Spotted issues:
> 
> ...


Thank you very much for the hint regarding the list spacing! 
Looks like there were some style changes made on OBS side that I almost missed.
I will make sure to fix it before the next release.



drakejest said:


> Hello i would like to know if its possible to do an http-get request? i have some ptz ipcamera that will respond to commands via http-get url, the response data can be ignored. I was hoping that this plugin can do that? What i want to achieve is that after some triggers i want the camera to move to certain positions


A Http action will be part of the release :)


----------



## Warmuptill (Sep 1, 2022)

Warmuptill updated Advanced Scene Switcher with a new update entry:

OBS 28 support and more



> Important note: You will have to use at least OBS 28 to use this version of the plugin!​Additions:​
> Added support for OBS 28.
> With this also comes support for native Apple Silicon builds.
> Note that the different versions of the plugin for Windows, MacOS, and Linux are now split into separate archives.
> ...



Read the rest of this update entry...


----------



## videored (Sep 2, 2022)

...Are you seriously telling me that I just lost all of my macros after updating??? Were they not automatically saved anywhere???


----------



## Warmuptill (Sep 2, 2022)

videored said:


> ...Are you seriously telling me that I just lost all of my macros after updating??? Were they not automatically saved anywhere???


The settings are saved as part of the scene collection.
I assume what happened is that you updated to OBS 28, the plugin failed to load, and you closed OBS, causing OBS to overwrite the scene collection data without any data of the advanced scene switcher.

If you have backed up your scene collection data or exported your settings to a file previously you can use those files to restore the settings.


----------



## videored (Sep 2, 2022)

Thanks! I found an older scene collection backup and indeed it had my macros! It's an older version but you just saved me TONS of debugging and work! Now to remember what I've changed since then.


----------



## AdmiralFunghie (Sep 2, 2022)

This update fixed the text size/overlap issue on Macro menu thank you.


----------



## mray (Sep 2, 2022)

I can only find debian binaries - is there a way to get generic linux binaries?


----------



## AaronD (Sep 2, 2022)

videored said:


> Thanks! I found an older scene collection backup and indeed it had my macros! It's an older version but you just saved me TONS of debugging and work! Now to remember what I've changed since then.


As a general rule when updating anything, the old version doesn't have a chance to do anything, or even know that it's being replaced.  Everything depends on how the new version installs itself.  It's certainly possible in general, for the new version to load/convert the old settings as part of the installation, but with a structure like we have here (and Warmuptill described wonderfully), that's almost impossible.

So it's on you to back up everything *immediately before* updating, as just a matter of course, so that you have that backup immediately afterwards when you find out you need it.  Imagine if this had been a new operating system install...

I don't always do that either, but this seems like one of the more major ones.


----------



## Lawrence_SoCal (Sep 2, 2022)

Warmuptill said:


> The settings are saved as part of the scene collection.
> I assume what happened is that you updated to OBS 28, the plugin failed to load, and you closed OBS, causing OBS to overwrite the scene collection data without any data of the advanced scene switcher.
> 
> If you have backed up your scene collection data or exported your settings to a file previously you can use those files to restore the settings.


I recommend posting a recommended upgrade path document.  And as a settings loss is a possibility as you just wrote, I'd recommend updating your new release post with a couple of notes/suggestions 
- like export AdvSS settings before upgrading OBS, 
and then sequence. which if I follow correctly is
- Update OBS to v28, immediately update AdvSS to OBS v28 support version (1.18.0) 
 * closing OBS v28 before updating AdvSS may cause settings loss 

Right? or something like that
Then again, would the following make sense/be appropriate
- Exit OBS completley
- updating AdvSS first , along with other plugins to v28 compatible versions
- the downloading direct from this site the OBS v28 installer (ie do NOT initiate upgrade from within running OBS) and upgrade OBS
OR
- Exit OBS completley
- the downloading direct from this site the OBS v28 installer (ie do NOT initiate upgrade from within running OBS) and upgrade OBS. Do NOT start OBS
- updating AdvSS, along with other plugins, to v28 compatible versions
- then starting OBS v28?

granted you can't speak for other plugins. But for AdvSS, @Warmuptill which upgrade process do you recommend?


----------



## videored (Sep 2, 2022)

AaronD said:


> As a general rule when updating anything, the old version doesn't have a chance to do anything, or even know that it's being replaced.  Everything depends on how the new version installs itself.  It's certainly possible in general, for the new version to load/convert the old settings as part of the installation, but with a structure like we have here (and Warmuptill described wonderfully), that's almost impossible.
> 
> So it's on you to back up everything *immediately before* updating, as just a matter of course, so that you have that backup immediately afterwards when you find out you need it.  Imagine if this had been a new operating system install...
> 
> I don't always do that either, but this seems like one of the more major ones.



It just caught me off-guard. I didn't expect the plugin moving to OBS 28 to just outright no longer have all of my macros (Be it due to the plugin itself or beacause of OBS 28's stuff after not reading the old plugins well). Luckily the solution given to me earlier worked well, that old backout was only missing a few extra tweaks.

Now I'm keeping a backup of the current version of my macros, I accidentally deleted a week old one during some cleaning up. Honestly? I didn't even know that OBS 28 was such a big upgrade when I got it and installed it, I totally missed the news of how big of an upgrade it was so I didn't even know that it was going to outright ignore all of my plugins, should've researched better first.


----------



## Warmuptill (Sep 2, 2022)

mray said:


> I can only find debian binaries - is there a way to get generic linux binaries?


Sorry - seems like I need to slightly adjust the build script.
I will make sure to adjust it in future.

I have added the "advanced-scene-switcher-1.0.0-linux-x86_64.zip" archive from https://github.com/WarmUpTill/SceneSwitcher/actions/runs/2974694475 manually to the release for now.

The folder structure also changed slightly - I will revert it to the old format in a future release.


----------



## Warmuptill (Sep 2, 2022)

Lawrence_SoCal said:


> I recommend posting a recommended upgrade path document.  And as a settings loss is a possibility as you just wrote, I'd recommend updating your new release post with a couple of notes/suggestions
> - like export AdvSS settings before upgrading OBS,
> and then sequence. which if I follow correctly is
> - Update OBS to v28, immediately update AdvSS to OBS v28 support version (1.18.0)
> ...


Generally speaking, a problem can arise if OBS is updated to version 28 and a plugin is not also updated, which is reliant on QT (so anything with a custom UI) *and *saves its settings as part of the scene collection.
Once OBS is then started and closed the plugin data saved in the scene collection will be lost.

The suggested approach for the Advanced Scene Switcher plugin in particular would be to simply first export your current settings to a file before migrating to OBS 28.
Then you do not need to worry about the exact sequence and and can simply import the settings once both OBS and the scene switcher are updated.

I added a small note to the update post on OBS and GitHub.
Thanks for the suggestion!


----------



## mray (Sep 2, 2022)

Warmuptill said:


> Sorry - seems like I need to slightly adjust the build script.
> I will make sure to adjust it in future.
> 
> I have added the "advanced-scene-switcher-1.0.0-linux-x86_64.zip" archive from https://github.com/WarmUpTill/SceneSwitcher/actions/runs/2974694475 manually to the release for now.
> ...


Thanks! It looks like the *.deb file inside the zip is redundant, though. Also - do I have to change any folder structure other than extracting? It all seems mixed up a bit.


----------



## Warmuptill (Sep 2, 2022)

mray said:


> Thanks! It looks like the *.deb file inside the zip is redundant, though. Also - do I have to change any folder structure other than extracting? It all seems mixed up a bit.


I have updated the "advanced-scene-switcher-1.0.0-linux-x86_64.zip" once more to reflect the desired folder structure.


----------



## xPray4Deathx (Sep 3, 2022)

Is there anyone who can help get this working again on my OBS.  Since the latest update I can not get it to work. 
@xPray4Deathx on twitter   xPray 4 Deathx #1066 on discord. 

Thank you.


----------



## AaronD (Sep 3, 2022)

xPray4Deathx said:


> Is there anyone who can help get this working again on my OBS.  Since the latest update I can not get it to work.
> @xPray4Deathx on twitter   xPray 4 Deathx #1066 on discord.
> 
> Thank you.


What doesn't work?  Is it something we just finished discussing?  (scroll up)  Or is it something else?  More details would be nice.


----------



## TripleJx3 (Sep 4, 2022)

There is a slight issue with the plugin where if i try to turn off a video file/source using a macro the video will play once then it wont ever play again. If i try turning the source back on, neither the video or audio play. removing the macro does not fix it. Restarting OBS does not fix it. The source is permanently broken and must be deleted and remade.


----------



## Warmuptill (Sep 4, 2022)

TripleJx3 said:


> There is a slight issue with the plugin where if i try to turn off a video file/source using a macro the video will play once then it wont ever play again. If i try turning the source back on, neither the video or audio play. removing the macro does not fix it. Restarting OBS does not fix it. The source is permanently broken and must be deleted and remade.


Can you share the settings your are using that are causing the issue?
If you are using the "Source" action type to globally disable the source I would suggest to instead use the "Scene item visibility" action to only hide the media source on a particular scene.


----------



## Nero (Sep 4, 2022)

Afternoon all, i have the new update on OBS and its saying my plug ins didnt work or something like that. IS there a new advance scene switcher out here that i cant find? Or would someone pls pls tell me how to get this one working.. Im new to this so pls dumb it down the best you can. If there is a new one will you pls link me


----------



## Warmuptill (Sep 4, 2022)

Nero said:


> Afternoon all, i have the new update on OBS and its saying my plug ins didnt work or something like that. IS there a new advance scene switcher out here that i cant find? Or would someone pls pls tell me how to get this one working.. Im new to this so pls dumb it down the best you can. If there is a new one will you pls link me


The latest version of the plugin is compatible with OBS 28.
You can download the Windows installer here.


----------



## Nero (Sep 6, 2022)

Thank you very  very much. Just got it, I YT how to make it switch my scenes automatically like it used to but this layout is a bit different and I'm having p problems. Would anyone be interested in telling me what to do to make it so my scenes switch auto without a macro? That's how i had it before.  I'm a Dj streamer and this is really getting to me. Any and all help would be greatly appreciated..

BTW this is what I've done, just so you know what your working with, if anyone decides to help me out
!) I went to General and set my time for 300ms and made sure it was running,
2) I went to scene groups and added all my cams that i made scenes of.
3) Then i went to the left side of the scene group [page and in "type" i put 3s (just so i could see if it was working and didnt have to sit here for 3 min looking at my monitor. then i went to "add scene and put ALL the scens in order that i wold like them to go to.
40 I did the above step for all 4 scenes


----------



## Nutri_ (Sep 6, 2022)

Hello!
Pre OBS 28 I used Advanced Scene Switcher for it's sequence functionality.
Was this function removed? Is there a way I can auto-switch to scenes on different time intervals for each scene? (like, scene A to B in 1 min, B to C in 10s, C to D in 2 min etc)

Thanks!


----------



## Nutri_ (Sep 6, 2022)

Nutri_ said:


> Hello!
> Pre OBS 28 I used Advanced Scene Switcher for it's sequence functionality.
> Was this function removed? Is there a way I can auto-switch to scenes on different time intervals for each scene? (like, scene A to B in 1 min, B to C in 10s, C to D in 2 min etc)
> 
> Thanks!


Nvm I figured it out via Macro's (found a few pages before this one)!!


----------



## Warmuptill (Sep 6, 2022)

Nero said:


> Thank you very  very much. Just got it, I YT how to make it switch my scenes automatically like it used to but this layout is a bit different and I'm having p problems. Would anyone be interested in telling me what to do to make it so my scenes switch auto without a macro? That's how i had it before.  I'm a Dj streamer and this is really getting to me. Any and all help would be greatly appreciated..
> 
> BTW this is what I've done, just so you know what your working with, if anyone decides to help me out
> !) I went to General and set my time for 300ms and made sure it was running,
> ...


Scene Groups is not what you are looking for to achieve this (see later part of this reply)



Nutri_ said:


> Hello!
> Pre OBS 28 I used Advanced Scene Switcher for it's sequence functionality.
> Was this function removed? Is there a way I can auto-switch to scenes on different time intervals for each scene? (like, scene A to B in 1 min, B to C in 10s, C to D in 2 min etc)
> 
> Thanks!



The "old" tabs are only hidden - the functionality is still there.
To show them again uncheck "Hide tabs which can be represented via macros".

If you want to use macros instead of the Seqence tab you can have a look at this example:








						Automatically cycle through a list of scenes · WarmUpTill/SceneSwitcher Wiki
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com


----------



## Nutri_ (Sep 6, 2022)

Warmuptill said:


> Scene Groups is not what you are looking for to achieve this (see later part of this reply)
> 
> 
> 
> ...


Cheers for the very quick reply! Not long after my post I indeed found the option of achieving the scene switching via macros. Cheers!


----------



## Nero (Sep 6, 2022)

BTW, im still needing very much help pls. I dont use macros, i just has the old one set up where after the time i selected it just changes scenes. Will someone pls help me figure this out? Its driving me crazy i cant figure it out,


----------



## Nero (Sep 6, 2022)

Nero said:


> BTW, im still needing very much help pls. I dont use macros, i just has the old one set up where after the time i selected it just changes scenes. Will someone pls help me figure this out? Its driving me crazy i cant figure it out,


i also posted pics of whati have in my swettings, hopefully that will help someone helping me figure this out


----------



## Warmuptill (Sep 6, 2022)

Nero said:


> BTW, im still needing very much help pls. I dont use macros, i just has the old one set up where after the time i selected it just changes scenes. Will someone pls help me figure this out? Its driving me crazy i cant figure it out,


As previously mentioned:
Scene Groups are not the way to go.

And as you do not want to use Macros:
The old Sequence tab is only hidden.
To show it again *uncheck* "Hide tabs which can be represented via macros".






Does this help you?
If not, what is unclear? / Which steps do you need help with?


----------



## OP3 (Sep 7, 2022)

Recently upgraded to the latest version of scene switcher and I'm noticing some odd residual behavior based on some old settings. I had a bunch of timed movements in the old scene switcher that I can't seem to find in the new version, but exporting the settings I can see "delay" commands. Is there any way other than removing them and creating new macros that I can get these old settings to show up? They still are effective in moving scenes after X seconds.... Kinda confused lol
(screen shot of the exported settings attached)


----------



## OP3 (Sep 8, 2022)

OP3 said:


> Recently upgraded to the latest version of scene switcher and I'm noticing some odd residual behavior based on some old settings. I had a bunch of timed movements in the old scene switcher that I can't seem to find in the new version, but exporting the settings I can see "delay" commands. Is there any way other than removing them and creating new macros that I can get these old settings to show up? They still are effective in moving scenes after X seconds.... Kinda confused lol
> (screen shot of the exported settings attached)


I found the "hide tabs" checkbox to resolve this issue. I'd like to delete my previous post but can't lol


----------



## AaronD (Sep 8, 2022)

OP3 said:


> I found the "hide tabs" checkbox to resolve this issue. I'd like to delete my previous post but can't lol


That's okay.  Lots of other people have commented on that as well.  And we have a record of all of it.

Given Warmuptill's goal of reducing the things that need to be maintained without actually losing any functionality, I think it was the right decision to make the default the way it is and provide an option to go back, but it does take some getting used to.  It'll settle down eventually.


----------



## WimPrest (Sep 8, 2022)

Am I crazy?  I installed the "Advanced Scene Switcher" from the "Go to downloads" link and went through the normal unzip process only to find that it installed "AUTOMATIC Scene Switcher" instead.  I tried again using the windows installer package and got the same results.  The screen looks nothing like the grabs located at the start of this thread.


----------



## amilnor (Sep 8, 2022)

I am trying to use this to have a specific scene go live at a specific time on a given day and have that repeat weekly. 
e.g. I want my "live stream" scene to be fired exactly at 6:30PM on Wednesday nights. 
How would you go about doing that? Thanks.


----------



## amilnor (Sep 8, 2022)

WimPrest said:


> Am I crazy?  I installed the "Advanced Scene Switcher" from the "Go to downloads" link and went through the normal unzip process only to find that it installed "AUTOMATIC Scene Switcher" instead.  I tried again using the windows installer package and got the same results.  The screen looks nothing like the grabs located at the start of this thread.
> View attachment 86385
> View attachment 86386


The "automatic scene switcher" is a pre-installed plug in from OBS. Using the download link should work to install the plugin. If you haven't restarted OBS, I would start there.


----------



## xPray4Deathx (Sep 9, 2022)

AaronD said:


> What doesn't work?  Is it something we just finished discussing?  (scroll up)  Or is it something else?  More details would be nice.



Was not the issues listed above.   Does not function since update.  Reinstalled, did not run installer, searched through every file for a auto installer, was none.  Can not get it to work now.   If anyone can help me install, would be greatly appreciated. thank you


----------



## Warmuptill (Sep 9, 2022)

WimPrest said:


> Am I crazy?  I installed the "Advanced Scene Switcher" from the "Go to downloads" link and went through the normal unzip process only to find that it installed "AUTOMATIC Scene Switcher" instead.  I tried again using the windows installer package and got the same results.  The screen looks nothing like the grabs located at the start of this thread.
> View attachment 86385
> View attachment 86386


Can you please share an OBS log file?
This should allow me to check if the plugin is found at all and maybe something prevented it from being loaded.



xPray4Deathx said:


> Was not the issues listed above.   Does not function since update.  Reinstalled, did not run installer, searched through every file for a auto installer, was none.  Can not get it to work now.   If anyone can help me install, would be greatly appreciated. thank you


Can you please do the same and also share an OBS log file?


----------



## Warmuptill (Sep 9, 2022)

amilnor said:


> I am trying to use this to have a specific scene go live at a specific time on a given day and have that repeat weekly.
> e.g. I want my "live stream" scene to be fired exactly at 6:30PM on Wednesday nights.
> How would you go about doing that? Thanks.


You will have to create a macro and use the "date" condition to trigger a "streaming" action.


----------



## Rizumu85 (Sep 9, 2022)

HI everyone, I wanted to achieve something that this guy did but I am lost on how he achieve it. Can anyone help me?





						Question / Help - [Solved] Record multiple windows, but not all
					

I'd like to record a screencast in which I'll use multiple windows, but I still want to be able to do some things 'off camera'...  The source that let's you record a specific window won't help me as I want to record multiple windows (e.g. browser, text editor, terminal, etc.), and the source...




					obsproject.com


----------



## AaronD (Sep 9, 2022)

Rizumu85 said:


> HI everyone, I wanted to achieve something that this guy did but I am lost on how he achieve it. Can anyone help me?
> 
> 
> 
> ...


There are several parts to that.  Which one is giving you trouble?


----------



## Warmuptill (Sep 9, 2022)

Rizumu85 said:


> HI everyone, I wanted to achieve something that this guy did but I am lost on how he achieve it. Can anyone help me?
> 
> 
> 
> ...


If I understand the other thread correctly you can do something similar to this:







But as already mentioned by @AaronD a similar effect can be achieved in many different ways.
For a general overview of macros have a look at this wiki page:








						Macros · WarmUpTill/SceneSwitcher Wiki
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com


----------



## Lycanthrope -R- (Sep 10, 2022)

Greetings. Thanks for the awesome plug-in.

I have local browser sources and I'm trying to figure out a way to automatically refresh the source if I update the HTML file. For instance, if I have a banner that says "Playing X" and I change the game title, the Scene Switcher would be "monitoring" it so to speak and know to update it.

So I came up with "(If not) content of local file matches" + "Refresh Source Settings", but I can't quite get it to work right. It has the "if modification date changed" or "if content changed" checkboxes, but those don't seem to do anything on their own. I have to paste the browser's HTML in the text box for it to check if it matches for it to update anything. A tad clunky, but it works in a pinch.

However, that only works if I change the file once. Once the file has been flagged as "different", then the macro won't fire again unless I go in manually to adjust what text the switcher is looking for. And I have to keep "Perform actions only on condition change" checked or else it just refreshes indefinitely.

Is there something else I can try? Or am I asking for a new feature update where the switcher can generally monitor for file changes?


----------



## Warmuptill (Sep 10, 2022)

Lycanthrope -R- said:


> Greetings. Thanks for the awesome plug-in.
> 
> I have local browser sources and I'm trying to figure out a way to automatically refresh the source if I update the HTML file. For instance, if I have a banner that says "Playing X" and I change the game title, the Scene Switcher would be "monitoring" it so to speak and know to update it.
> 
> ...


You can use "regular expressions" to have the file condition match any file content.





The "." stands for any character and the "*" specifies that "any charachter" can be used any amount of times.
Does this help?


----------



## Lycanthrope -R- (Sep 10, 2022)

Warmuptill said:


> The "." stands for any character and the "*" specifies that "any charachter" can be used any amount of times.
> Does this help?


Sorry, but I don't think so.

I need to trigger the macro if something in the HTML file changes. But if I change the HTML file once, then it won't update again unless I go back into the scene switcher to change something about the macro. That's because it already no longer "matches" what the text box is looking for. So to the macro itself, the job is already done.

Is there something I can use to tell the macro to trigger when anything about a file is modified regardless of text matching?


----------



## Warmuptill (Sep 10, 2022)

Lycanthrope -R- said:


> Is there something I can use to tell the macro to trigger when anything about a file is modified regardless of text matching?


That is exactly what the above example should do.
The ".*" in combination with "use regular expressions" stands for "regardless of text matching" and the "if modification date changed" and "if content changed" should cover the "file is modified" part.

Maybe I am misunderstanding or missing something - can you give a concrete example where the above will not work?


----------



## Lycanthrope -R- (Sep 10, 2022)

Warmuptill said:


> That is exactly what the above example should do.
> The ".*" in combination with "use regular expressions" stands for "regardless of text matching" and the "if modification date changed" and "if content changed" should cover the "file is modified" part.
> 
> Maybe I am misunderstanding or missing something - can you give a concrete example where the above will not work?


You didn't misunderstand. But unfortunately what you gave me didn't do anything.





This is what you showed me, correct? But with this, no matter how many times I edit the html file, nothing changes. No green blinking, or anything saying that the macro was recently triggered.

If I flip it to *"If not"*, the macro will trigger once and only once. And the top portion will blink green continuously, showing that the top is "true." But after that, if I edit the file, nothing happens.

I could unclick "Perform actions only on condition change" and the macro will keep triggering endlessly, but that's not what I want.

What should I try next?


----------



## Warmuptill (Sep 10, 2022)

Lycanthrope -R- said:


> You didn't misunderstand. But unfortunately what you gave me didn't do anything.
> 
> View attachment 86471
> This is what you showed me, correct? But with this, no matter how many times I edit the html file, nothing changes. No green blinking, or anything saying that the macro was recently triggered.
> ...


Hm ... very interesting.
It seems like all this time I didn't notice that the regular expressions are currently only allowing to match one line at a time.
So you would have to add ".*" for each line in your file.
This is of course not feasible and something I will change.
Thank you very much for bringing this to my attention!

To unblock you I started a build where this behaviour is changed for the file condition.
Should finish in a few minutes and be available here:








						Cleanup · WarmUpTill/SceneSwitcher@2ed9256
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				



You will have to be logged into GitHub to be able to download it.

I will clean this up in the other areas where regular expressions can be used to match multiple lines also.


----------



## xPray4Deathx (Sep 10, 2022)

Warmuptill said:


> Can you please share an OBS log file?
> This should allow me to check if the plugin is found at all and maybe something prevented it from being loaded.
> 
> 
> Can you please do the same and also share an OBS log file?





			https://obsproject.com/logs/jLhGIFD9X6cMdImo


----------



## AaronD (Sep 11, 2022)

Warmuptill said:


> Hm ... very interesting.
> It seems like all this time I didn't notice that the regular expressions are currently only allowing to match one line at a time.
> So you would have to add ".*" for each line in your file.
> This is of course not feasible and something I will change.
> ...


I believe that line-per-line is the default behavior for regular expressions, so changing it away from that would probably break something else.  But yes, there needs to be a way to do this as well.

Notepad++ has this option:


----------



## Warmuptill (Sep 11, 2022)

xPray4Deathx said:


> https://obsproject.com/logs/jLhGIFD9X6cMdImo


You are still using the old version of the scene switcher that is not compatible with OBS 28:
`14:25:11.048: Skipping module '../../obs-plugins/64bit/advanced-scene-switcher.dll' due to possible import conflicts`

Can you try uninstalling the advanced scene switcher and then reinstalling the new version?
Alternatively manually install the files from the windows-x64.zip archive to the OBS folder.


----------



## Warmuptill (Sep 11, 2022)

AaronD said:


> I believe that line-per-line is the default behavior for regular expressions, so changing it away from that would probably break something else.  But yes, there needs to be a way to do this as well.
> 
> Notepad++ has this option:
> View attachment 86480


Thank you for the hint!
I can't think of many situations where enabling "." matching newline would break an existing setup and I think having this setting by default is more in line as to what is expected / more useful in the situations where regular expressions are used in the plugin.

But I plan on having the option to use "^" and "$" to match the beginning and end of lines among other things, if it is required for some cases:


----------



## AaronD (Sep 11, 2022)

Warmuptill said:


> Thank you for the hint!
> I can't think of many situations where enabling "." matching newline would break an existing setup and I think having this setting by default is more in line as to what is expected / more useful in the situations where regular expressions are used in the plugin.
> 
> But I plan on having the option to use "^" and "$" to match the beginning and end of lines among other things, if it is required for some cases:
> ...


Okay.  That works.  I wonder if it's also worth having links to a good explanation of how regexes work, and how Qt's ExtendedPatternSyntax works?  They can do a lot, but it's a lot like code golf.


----------



## CodeYan (Sep 11, 2022)

Warmuptill said:


> Hm ... very interesting.
> It seems like all this time I didn't notice that the regular expressions are currently only allowing to match one line at a time.
> So you would have to add ".*" for each line in your file.
> This is of course not feasible and something I will change.
> ...


Tried this build and it works fine for the issue. Strangely though, the same regex can be used on 1.17.5 and it works there, but not on 1.18.0. Did you just revert it?

As for "Enable use of (^) and ($)", having that option is good, although you many want to consider the wording regex101.com used, "^ and $ match start/end of line", although it is a tad longer ("...match line start/end" would reduce characters). IMO just saying "Enable use of (^) and ($)" makes it seem like they are actually not allowed until you check it, but doesn't it just mean that instead of ^ and $ being per line, it matches the start/end of the file when the option is disabled?


----------



## Lycanthrope -R- (Sep 11, 2022)

Warmuptill said:


> Hm ... very interesting.
> It seems like all this time I didn't notice that the regular expressions are currently only allowing to match one line at a time.
> So you would have to add ".*" for each line in your file.
> This is of course not feasible and something I will change.
> ...


Thanks. This works.

I hate to bring up another issue, but does the switcher access Image Slide Show controls? They don't seem to show up in media lists.


----------



## Warmuptill (Sep 11, 2022)

CodeYan said:


> Tried this build and it works fine for the issue. Strangely though, the same regex can be used on 1.17.5 and it works there, but not on 1.18.0. Did you just revert it?


Sorry if I am misunderstanding, but are you saying that the "." was matching the new line characters in 1.17.5, but since the switch to 1.18.0 it no longer does? (Only in the test build above)


CodeYan said:


> As for "Enable use of (^) and ($)", having that option is good, although you many want to consider the wording regex101.com used, "^ and $ match start/end of line", although it is a tad longer ("...match line start/end" would reduce characters). IMO just saying "Enable use of (^) and ($)" makes it seem like they are actually not allowed until you check it, but doesn't it just mean that instead of ^ and $ being per line, it matches the start/end of the file when the option is disabled?


Thanks for the suggestion - will change the wording!



Lycanthrope -R- said:


> Thanks. This works.
> 
> I hate to bring up another issue, but does the switcher access Image Slide Show controls? They don't seem to show up in media lists.


Thanks for the confirmation!

Image slide show sources are not supported, yet.
The changes to include support for them on the plugin side are prepared, but before merging them I want to wait for the next OBS release, which should fix the media states of image slide show sources being reported properly by OBS.

Depending on what you want to achieve you could maybe use the video condition to check for changes in the image slide show source.


----------



## Trenaldi (Sep 12, 2022)

Yesterday I installed this and made a bunch of macros, and today I went to work on more macros to find they'd all disappeared and I have no idea what happened. My best guess is maybe putting my PC to sleep while advanced scene switcher was open destroyed them somehow? Anyway, I wish I knew what happened so I could avoid it.


----------



## Lycanthrope -R- (Sep 12, 2022)

Warmuptill said:


> Image slide show sources are not supported, yet.
> The changes to include support for them on the plugin side are prepared, but before merging them I want to wait for the next OBS release, which should fix the media states of image slide show sources being reported properly by OBS.


Understood. I just wanted to trigger the slide show to restart. I was able to do it by assigning a hotkey and having that be triggered. Thanks.


----------



## xPray4Deathx (Sep 12, 2022)

Warmuptill said:


> You are still using the old version of the scene switcher that is not compatible with OBS 28:
> `14:25:11.048: Skipping module '../../obs-plugins/64bit/advanced-scene-switcher.dll' due to possible import conflicts`
> 
> Can you try uninstalling the advanced scene switcher and then reinstalling the new version?
> Alternatively manually install the files from the windows-x64.zip archive to the OBS folder.


Thank you for the reply, but the orignal post I made here was asking for help updating as it wont auto install and I looked over all the files and none was a auto installer from what I could tell.   Followed what was asked, and was told, with respect what I already know, and was asked to do what I am stuck at.  Funny.  Not at you, the situation. 

From the start..


> Is there anyone who can help get this working again on my OBS. Since the latest update I can not get it to work.
> @xPray4Deathx on twitter xPray 4 Deathx #1066 on discord.
> 
> Thank you.



Was asked..


> What doesn't work? Is it something we just finished discussing? (scroll up) Or is it something else? More details would be nice.



Replied with..


> Was not the issues listed above. Does not function since update. Reinstalled, it* did not run installer, searched through every file for a auto installer, was none. Can not get it to work now. If anyone can help me install, would be greatly appreciated. thank you



This is when we meet..


> Can you please do the same and also share an OBS log file?



Have the new one DLed, just cant get it on my OBS. Would love help please, can jump on a discord call and stream.  








						Join the Gamers Discord Server!
					

Check out the Gamers community on Discord - hang out with 401 other members and enjoy free voice and text chat.




					discord.gg
				





Thank you so much for your time.  Built my stream setup around a 2 camera auto rotation that is not working...sad face.


----------



## CodeYan (Sep 12, 2022)

Warmuptill said:


> Sorry if I am misunderstanding, but are you saying that the "." was matching the new line characters in 1.17.5, but since the switch to 1.18.0 it no longer does? (Only in the test build above)


Yes, doing ".*" will match for a file with multiple lines, and even doing "a\nb" in the file then using "a..b" as the regex matches it (although I have no idea why I need 2 dots; as far as I remember regex should not care about \r\n and would only see them as /n, but correct me if I'm wrong). I also retested this just now. And in the 1.18.0 release, the dot doesn't match the line break (and you still have to use \r\n"). The test build actually fixed this and now you only need \n. 

Retesting your test build made me realize that the "." actually still doesn't match the line break, but ".*" only works because you're no longer doing a full match for the whole file (so .* only has to match the first line). Which imo is desirable, since you can always do a full match with "^" and "$" now. If the regex still did a full match for the file, then we would have to put ".*" both at the start and end, which is strange to me. 

But this also means that you don't need to do ".*" anymore. ".?" would have the same effect. In fact, you could also just keep the regex blank, and content changed will still activate whenever the file is changed. Though now I'm confused. What would be the difference between "modification date changed" and "date changed" in this case? Also, check if a blank regex was actually regression.

About the dot not matching line break, I think the dot should not match line breaks by default. In the regex flavors I used, that was never a default, and you'd have to enable a flag. On this note, does the regex flavor you use allow putting flags within the regex? The js syntax afaik is "(?s)", where s is the DOTALL flag. "(?i)" would disable case sensitivity. This would allow others to use the regex flags if they want (although you could always just do "(.|\n)+").

Also, I noticed that the browse button in the macro condition just defaults to the obs path. Would be nice if it defaults to the directory where the previously selected file was from.


----------



## Warmuptill (Sep 12, 2022)

Trenaldi said:


> Yesterday I installed this and made a bunch of macros, and today I went to work on more macros to find they'd all disappeared and I have no idea what happened. My best guess is maybe putting my PC to sleep while advanced scene switcher was open destroyed them somehow? Anyway, I wish I knew what happened so I could avoid it.


The settings are saved as part of the scene collection.
Do you maybe accidentally or on purpose switch to a different one?



xPray4Deathx said:


> Thank you for the reply, but the orignal post I made here was asking for help updating as it wont auto install and I looked over all the files and none was a auto installer from what I could tell.   Followed what was asked, and was told, with respect what I already know, and was asked to do what I am stuck at.  Funny.  Not at you, the situation.
> 
> From the start..
> 
> ...


Sorry I misunderstood your request then.
Usually OBS is installed to "C:\Program Files\obs-studio" - but I cannot say with certainty that this is the case for you also.
Once you have located the folder in which OBS was installed into, extract / merge the contents of the windows-x64.zip archive into this folder.
Does this clear things up?



CodeYan said:


> Also, I noticed that the browse button in the macro condition just defaults to the obs path. Would be nice if it defaults to the directory where the previously selected file was from.


Already prepared for the next release :)



CodeYan said:


> About the dot not matching line break, I think the dot should not match line breaks by default. In the regex flavors I used, that was never a default, and you'd have to enable a flag


I could also just add an additional checkbox to allow "." to match the new line also.



CodeYan said:


> On this note, does the regex flavor you use allow putting flags within the regex? The js syntax afaik is "(?s)", where s is the DOTALL flag. "(?i)" would disable case sensitivity. This would allow others to use the regex flags if they want (although you could always just do "(.|\n)+").


Qt does not support setting the flags in the regex text itself but requires passing these option when constructing the QRegularExpression object.



CodeYan said:


> Yes, doing ".*" will match for a file with multiple lines, and even doing "a\nb" in the file then using "a..b" as the regex matches it (although I have no idea why I need 2 dots; as far as I remember regex should not care about \r\n and would only see them as /n, but correct me if I'm wrong). I also retested this just now. And in the 1.18.0 release, the dot doesn't match the line break (and you still have to use \r\n"). The test build actually fixed this and now you only need \n.
> 
> Retesting your test build made me realize that the "." actually still doesn't match the line break, but ".*" only works because you're no longer doing a full match for the whole file (so .* only has to match the first line). Which imo is desirable, since you can always do a full match with "^" and "$" now. If the regex still did a full match for the file, then we would have to put ".*" both at the start and end, which is strange to me.


Thanks a lot for performing these tests and reporting the results!
I really do appreciate it _a lot_!

So to summarize:

Previously "." did match \n by default
Previously the regex always performed a full match
I think the best approach to go forward would be to add options for users to configure the regex behaviour to their liking, but to also make sure to break as few setups as possible.
So I will make sure to still perform a full match for existing regular expressions but add the option of partial matches for new ones.

A build with these changes will be available here in a few minutes








						Regex · WarmUpTill/SceneSwitcher@eb0f06a
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				




I will probably not get around to testing in the next few days though - so use at your own risk :P


----------



## Trenaldi (Sep 12, 2022)

Warmuptill said:


> The settings are saved as part of the scene collection.
> Do you maybe accidentally or on purpose switch to a different one?


I have not changed scene collections, but I think my new best guess is maybe I opened the old OBS version by mistake and borked it that way.

The new one I have as portable for testing it out, and so maybe I just went through the start menu without thinking. I wouldn't put that past me. I've rebuilt most of my macros, and exported the scene switcher settings and a fresh backup of my scene collection, so hopefully now I'll be safe from whatever I did.


----------



## xPray4Deathx (Sep 13, 2022)

> Sorry I misunderstood your request then.
> Usually OBS is installed to "C:\Program Files\obs-studio" - but I cannot say with certainty that this is the case for you also.
> Once you have located the folder in which OBS was installed into, extract / merge the contents of the windows-x64.zip archive into this folder.
> Does this clear things up?




This has been tried, that's why I am reaching out, am at a point where I have tried it all and need help to install.  Going in circles here, mentioned that this has been tried.  


Is there anyone that can take less than 5 mins to help, like LIVE help.


----------



## CodeYan (Sep 13, 2022)

Warmuptill said:


> The settings are saved as part of the scene collection.
> Do you maybe accidentally or on purpose switch to a different one?
> 
> 
> ...


I appreciate the update and being able to use the other regex options. Some comments:





- combining the "matches" with "content changed" and the other is good.
- should be ". matches newlines" (no "is")
- partial match and case insensitive, i think that's an option that should be usable even if regex is not enabled. perhaps the partial match can also be combined with the "matches" dropdown? so the choices could be "contains", "fully matches", "modification date changed", etc. on that note, i'd also personally like "contains" to be the default, but i don't really use the File macro, so I don't know what's more common.
- it also makes the condition frame too big. the ui is not very compact even with dark theme (i'm talking about general ui, regardless of macro condition type).
- one option would be to have a pop up where they can set the regex options, so it doesn't use space. kinda like the settings icon



Also tested the regex options (except the ExtendedPatternSyntax, because I don't know that), and they seem to be working fine.

Thank you again for the continuous development of a great plugin!


----------



## Warmuptill (Sep 13, 2022)

CodeYan said:


> I appreciate the update and being able to use the other regex options. Some comments:
> View attachment 86559View attachment 86558
> - combining the "matches" with "content changed" and the other is good.
> - should be ". matches newlines" (no "is")
> ...


Thanks again for your help!
I will try to incorporate your suggestions into the next release :)



CodeYan said:


> - should be ". matches newlines" (no "is")


Thanks! :)


CodeYan said:


> partial match and case insensitive, i think that's an option that should be usable even if regex is not enabled.


I agree, but I will put in the backlog for now.


CodeYan said:


> - it also makes the condition frame too big. the ui is not very compact even with dark theme (i'm talking about general ui, regardless of macro condition type).
> - one option would be to have a pop up where they can set the regex options, so it doesn't use space. kinda like the settings icon


Sounds good - i'll change it to the pop up approach.
Although I liked being to able to "quickly" change a regex setting without having to open a separate dialog, but I don't see the need for it.
Once a user has configured a regex, it is unlikely to change. :P

A build with this change is available here:








						Regex · WarmUpTill/SceneSwitcher@229b5e4
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				






xPray4Deathx said:


> This has been tried, that's why I am reaching out, am at a point where I have tried it all and need help to install.  Going in circles here, mentioned that this has been tried.
> 
> 
> Is there anyone that can take less than 5 mins to help, like LIVE help.


Maybe send me a PM and we can try to figure out a time.


----------



## dderidder (Sep 15, 2022)

WimPrest said:


> Am I crazy?  I installed the "Advanced Scene Switcher" from the "Go to downloads" link and went through the normal unzip process only to find that it installed "AUTOMATIC Scene Switcher" instead.  I tried again using the windows installer package and got the same results.  The screen looks nothing like the grabs located at the start of this thread.
> View attachment 86385
> View attachment 86386



Hi, I have the same issue. Installed from the 64bit windows installer. Advanced Scene switches is not available in the tools menu.
I reinstalled it with admin rights. Made no difference. I think the 'Automatic Scene Switcher' was already there; it's not that it got installed by the Advanced Scene Switches.

Doies anybody has an idea how I can get the new Advanced Scene Switcher available in the tools menu?

Thx!


----------



## dderidder (Sep 15, 2022)

dderidder said:


> Hi, I have the same issue. Installed from the 64bit windows installer. Advanced Scene switches is not available in the tools menu.
> I reinstalled it with admin rights. Made no difference. I think the 'Automatic Scene Switcher' was already there; it's not that it got installed by the Advanced Scene Switches.
> 
> Doies anybody has an idea how I can get the new Advanced Scene Switcher available in the tools menu?
> ...


Problem solved. Apparently I installed the x86 plugin instead of the 64bit version.


----------



## Warmuptill (Sep 15, 2022)

dderidder said:


> Problem solved. Apparently I installed the x86 plugin instead of the 64bit version.


Thanks for reporting back what the issue was!
I will make sure to remove the 32 bit builds in future releases as 32 bit support was also dropped on OBS side.


----------



## bvenr (Sep 17, 2022)

where is sequence menu  ?
i cant find it in new update .


----------



## Warmuptill (Sep 17, 2022)

bvenr said:


> where is sequence menu  ?
> i cant find it in new update .


Uncheck the "Hide tabs which can be represented via macros" option on the Genera tab.


----------



## bvenr (Sep 17, 2022)

Warmuptill said:


> Uncheck the "Hide tabs which can be represented via macros" option on the Genera tab.


THANKS YOU


----------



## CodeYan (Sep 22, 2022)

Suggestion: add scenes to the Screenshot action. Currently only active output and sources are allowed, but it is also useful to screenshot the preview, which OBS does not provide a function to screenshot the preview using a hotkey.

Only caveat is that unrendered scenes may result in blank screenshots, since window captures and media sources are unloaded when they are not visible, but a note for that will suffice. The preview in studio mode is not affected by this since they are loaded.


----------



## AaronD (Sep 22, 2022)

CodeYan said:


> Suggestion: add scenes to the Screenshot action. Currently only active output and sources are allowed, but it is also useful to screenshot the preview, which OBS does not provide a function to screenshot the preview using a hotkey.
> 
> Only caveat is that unrendered scenes may result in blank screenshots, since window captures and media sources are unloaded when they are not visible, but a note for that will suffice. The preview in studio mode is not affected by this since they are loaded.


Multiview (View->bottom-of-menu) loads at least the first 8 scenes (by default), or however many are selected in Settings->General->scroll-to-bottom.  That might be used to make a scene screenshot work, even if Multiview isn't otherwise needed.


----------



## CodeYan (Sep 23, 2022)

Windowed projectors on specific scenes can also make it so the sources are rendered, which is cheaper than a multiview


----------



## AaronD (Sep 23, 2022)

CodeYan said:


> Windowed projectors on specific scenes can also make it so the sources are rendered, which is cheaper than a multiview


I hadn't seen that option before - maybe it was added after I started using OBS - but I looked now, and sure enough, there it is.  Version 28.0.2 on Windows 10.  I also have a Linux version of this rig: haven't looked yet, but I wouldn't be surprised to find it there too.


----------



## smaunsell (Sep 24, 2022)

Since OBS 27 (?) when creating a stream to YouTube it's required to 'Manage Broadcast' to setup title, description, privacy, category etc. When I configure ASS (an unfortunate acronym ;) ) to automatically start it prompts for these settings. Is there a way to eg pre-configure all these settings so it does actually start a stream automatically??


----------



## CodeYan (Sep 24, 2022)

AaronD said:


> I hadn't seen that option before - maybe it was added after I started using OBS - but I looked now, and sure enough, there it is.  Version 28.0.2 on Windows 10.  I also have a Linux version of this rig: haven't looked yet, but I wouldn't be surprised to find it there too.


it has been there for years hahahaha, along with the full screen projector

but yes, we need a way to screenshot scenes. even the obs UI allows screenshot of scenes that are not currently rendered, so imo this just needs a note on the macro


----------



## Warmuptill (Sep 24, 2022)

CodeYan said:


> Suggestion: add scenes to the Screenshot action. Currently only active output and sources are allowed, but it is also useful to screenshot the preview, which OBS does not provide a function to screenshot the preview using a hotkey.
> 
> Only caveat is that unrendered scenes may result in blank screenshots, since window captures and media sources are unloaded when they are not visible, but a note for that will suffice. The preview in studio mode is not affected by this since they are loaded.


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








						Enable creating screenshots of scenes · WarmUpTill/SceneSwitcher@f29f415
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				



I added a note regarding unrendered scenes and sources as a tooltip.



smaunsell said:


> Since OBS 27 (?) when creating a stream to YouTube it's required to 'Manage Broadcast' to setup title, description, privacy, category etc. When I configure ASS (an unfortunate acronym ;) ) to automatically start it prompts for these settings. Is there a way to eg pre-configure all these settings so it does actually start a stream automatically??


Not that I know of unfortunately - I will try to look into it.


----------



## CodeYan (Sep 25, 2022)

Warmuptill said:


> Sure, a build with this functionality will be available here in a few minutes:
> 
> 
> 
> ...


Thanks, also wow! Custom screenshot path is nice! One more reason to recommend this plugin when people ask in support channels.


----------



## CodeYan (Sep 25, 2022)

Oh but there isn't a way to select the preview. Is there any way you could add that please? API provides `obs_frontend_get_current_preview_scene`


----------



## Warmuptill (Sep 28, 2022)

CodeYan said:


> Oh but there isn't a way to select the preview. Is there any way you could add that please? API provides `obs_frontend_get_current_preview_scene`


A build with the option to screenshot the preview scene should be available here in a few minutes:








						Enable creating screenshots of scenes · WarmUpTill/SceneSwitcher@b3a4894
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com


----------



## vjoutai (Oct 3, 2022)

How to download ? I can't find apk file to install on windows


----------



## Vubar (Oct 4, 2022)

Hey folks, I just updated to the new version because OBS 28 meant the old version stopped working.  

My old macros did not automatically set up when I installed the new version.  Is there any way to recover my old macros so I don't have to recreate them all in this new version?

Thanks in advance for any help!


----------



## Keith Schneider (Oct 4, 2022)

FYI - I have standalone built OBS-Studio 28.0.1 on Fedora 36 x86_64 and included the Advance Screen Switcher.  Thus, I have the plugin files which all compiled clean and seem to work.   The build was based on the current rpmfusion-free source RPM.  So it matches the binary obs-studio 28.0.1 RPM provided at the time of this writing.  Overall, am a Noob here on the board so I do not know exactly what to do to make them more formally available (lso not sure that is the right thing to do).  Cant say I will keep them up to date - but since my build environment is up and running, I and I am intending to use this plugin, I just may.  if anyone wants them, message me if have interest.


----------



## Warmuptill (Oct 4, 2022)

Vubar said:


> Hey folks, I just updated to the new version because OBS 28 meant the old version stopped working.
> 
> My old macros did not automatically set up when I installed the new version.  Is there any way to recover my old macros so I don't have to recreate them all in this new version?
> 
> Thanks in advance for any help!


If you have exported your settings to a file using the option to do so on the General tab you could reimport them.
Alternatively if you have backed up your scene collection you can load this backup as the plugin's settings are stored there.


----------



## Warmuptill (Oct 4, 2022)

vjoutai said:


> How to download ? I can't find apk file to install on windows


You can either use the installer "advanced-scene-switcher-1.0.0-windows-x64-Installer.exe".
Or you can manually copy the files from this archive "advanced-scene-switcher-1.0.0-windows-x64.zip" to your OBS installation folder. (Usually `C:\Program Files\obs-studio`)


----------



## Warmuptill (Oct 4, 2022)

Warmuptill updated Advanced Scene Switcher with a new update entry:

Add variable support



> Important note: You will have to use at least OBS 28 to use this version of the plugin!​Please make sure to back up your settings before updating OBS to version 28!​Additions:​
> Added initial support for variables...



Read the rest of this update entry...


----------



## PlatinumLive (Oct 5, 2022)

Hello, I recently downloaded Advanced Scene Switcher V1.19.0 and I've been attempting to figure out how to scene from Scene A to Scene B after 5 minutes has elapsed. I'm thinking this was an easy task, but I couldn't find a section where a timed switch is an option, if it is, it's hidden quite well or quite confusing. Also, I searched on YouTube for "Advanced Scene Switcher" and couldn't find any videos of version 1.19 so there is no clear and concise information out there on how to quickly and easily add a 5 minute timer from one scene to another. Screenshots or a quick video would be very helpful, thank you.


----------



## lindenkron (Oct 5, 2022)

*Note:* Don't update to the latest version yet. I believe there's an issue with *If Scene Item Visibility* that makes it never trigger. I reverted to previous version where this issue does not persist.

If you're getting issues with this, please downgrade to previous version.


----------



## Warmuptill (Oct 5, 2022)

PlatinumLive said:


> Hello, I recently downloaded Advanced Scene Switcher V1.19.0 and I've been attempting to figure out how to scene from Scene A to Scene B after 5 minutes has elapsed. I'm thinking this was an easy task, but I couldn't find a section where a timed switch is an option, if it is, it's hidden quite well or quite confusing. Also, I searched on YouTube for "Advanced Scene Switcher" and couldn't find any videos of version 1.19 so there is no clear and concise information out there on how to quickly and easily add a 5 minute timer from one scene to another. Screenshots or a quick video would be very helpful, thank you.


Maybe something like this will work for you?







lindenkron said:


> *Note:* Don't update to the latest version yet. I believe there's an issue with *If Scene Item Visibility* that makes it never trigger. I reverted to previous version where this issue does not persist.
> 
> If you're getting issues with this, please downgrade to previous version.


Thanks for the hint - I have identified the issue and will release a new version.


----------



## Warmuptill (Oct 5, 2022)

Warmuptill updated Advanced Scene Switcher with a new update entry:

Fix scene item selection



> Fixed scene item selection not working as expected in certain situations.



Read the rest of this update entry...


----------



## lindenkron (Oct 5, 2022)

New version appears to function from my initial testing.

Thanks Warmuptill!


----------



## daviddm (Oct 5, 2022)

Is there any way to set a hotkey to reset a timer in a macro? I know you can pause and start the timer with a hotkey but I need to reset it with a hotkey.  If not, is there a way to have the timer set to pause when you first open OBS? It seem like the timer resets when you first open OBS but then starts running.  -Thanks


----------



## Warmuptill (Oct 5, 2022)

daviddm said:


> Is there any way to set a hotkey to reset a timer in a macro?


You could do something like this:





daviddm said:


> is there a way to have the timer set to pause when you first open OBS?


You can do something similar to this:




Depending on what you want the timer to do there might be even more ways to achieve this.
Let me know if you have further questions :)


----------



## Glynnman (Oct 5, 2022)

So, previously the dialog for the sequence allowed for the entire sequence to be shown in a single window. Am I understanding correctly that the new version requires a separate macro to be written for each scene change of a sequence? Or, put another way, sequences are now handled differently and is essentially a collection of macros? 

I hope this isn't the case. The old method for sequences seemed to be much more intuitive and workable. Simply list all of the needed scene changes, set the current scene, set the target scene, pick the transition type and duration and that's that.

Strangely enough, I imported my scene collection and profile from v27.4.2 and the scene switching is still functioning even though the dialog for it is nowhere to be seen. Additionally, there are no macro's running or even created. So, so it seems the old sequence is still registered somewhere as well as still functioning.


----------



## AaronD (Oct 6, 2022)

Glynnman said:


> So, previously the dialog for the sequence allowed for the entire sequence to be shown in a single window. Am I understanding correctly that the new version requires a separate macro to be written for each scene change of a sequence? Or, put another way, sequences are now handled differently and is essentially a collection of macros?
> 
> I hope this isn't the case. The old method for sequences seemed to be much more intuitive and workable. Simply list all of the needed scene changes, set the current scene, set the target scene, pick the transition type and duration and that's that.
> 
> Strangely enough, I imported my scene collection and profile from v27.4.2 and the scene switching is still functioning even though the dialog for it is nowhere to be seen. Additionally, there are no macro's running or even created. So, so it seems the old sequence is still registered somewhere as well as still functioning.


Nothing has gone away.  But there's now a checkbox in the bottom left corner of the main tab, to hide the tabs that the macros replace.  Uncheck it, and you get the other tabs back.  Your old settings are probably still in there.

That checkbox and its default setting have been there for some time now, but if you (or perhaps your distro in the case of Linux) are FINALLY getting around to updating, then it may still be new to you.


----------



## Keith Schneider (Oct 6, 2022)

*Fedora 36 Linux, x86_64* - I can acknowledge that there was a bug in the 1.19.0 release.   My experience was that none of the macros I was trying, where I was using Scene-Item-Visibility would work (even though verbose logging was showing proper triggering etc) and I even updated OBS to 28.0.2 and still would not work.  However -- after taking the latest 1.19.1 scene switcher (posted today) code base and building it all In-Tree (based on the rpmfusion.org source rpm), I can now say - with great happiness - that Advanced Scene Switcher 1.19.1 with OBS 28.0.2 seems to have cured all these issues.  I have done a number of tests, all modeled directly from the Adv-SS Instruction Wiki with success.

With this current success, I can again, say that if anyone has interest, I can provide Fedora 36 X86_64 compatible Adv-SS plugin binaries/kit.  All my (Fedora Linux) testing with the distributed (Ubuntu) Linux kit fail with hard errors.

I am especially ****Thankful**** to the Author of this software for finding and fixing this recent bug at right about the same time I happened to be working to in-tree build OBS with this plugin (trying to solve this very issue).  I was sweating a bit over the malfunction and was not relishing what might have been a serious debug effort on unfamiliar software.  But overnight, there it was - the fix I needed/wanted.  All in the nick of time.  *Again - Many Thanks!*


----------



## ContentDeveloper (Oct 6, 2022)

Is there a way that a MIDI event (Not On, for instance) could be sent from OBS to a MIDI device or Virtual MIDI port when a scene is triggered, or recording status has changed, etc?


----------



## AaronD (Oct 6, 2022)

ContentDeveloper said:


> Is there a way that a MIDI event (Not On, for instance) could be sent from OBS to a MIDI device or Virtual MIDI port when a scene is triggered, or recording status has changed, etc?


Not explicitly that I could find, but there might be two ways to do it anyway:

1. Create a MIDI file for each event that you want to send, and put them in a scene that you're not going to use.  Then use the Media action in a Macro to Play the appropriate one.  Normal output routing applies.  That is, if OBS supports MIDI at all, which it may not.

2. Create a script or executable to send those events, and use the Run action in a Macro to trigger it.  Anything goes at this point.  Depending on how your system works, you might not even need a script.  You could call a player app directly, for example, and give it the appropriate arguments.

You might also need to have the Macro do the action that the MIDI event is supposed to be in response to, just to be sure that the two things do go together.  A lot of things can be detected by a Macro and responded to, but not everything.
Like, instead of responding to a Scene Transition and sending a MIDI event, the Macro could respond to a hotkey instead, and both send the MIDI event and Transition the Scene.  (that one specifically, could probably be done by responding to the Scene, but you get the idea)


----------



## videored (Oct 6, 2022)

Any chance for in the future to add macro grouping for the list on the left side? I usually just use an empty macro to divide my stuff in groups but it would be cool to have them officially implemented so I can just click on the group to expand or hide the macros from the list.





Or maybe there's a way already and I'm missing it??? Anyway, time to experiment with the variables, I was using empty image sources as variables until now, this will help me big time!


----------



## CodeYan (Oct 6, 2022)

Could I get some advice on how to set this up? I want a condition to check if the current time is between 00:50:00 and 01:00:00, but for every hour. so basically i would duplicate all my conditions for 01:50:00, 02:50:00 and so on, but that's a bit much. is there an easier way?


----------



## CodeYan (Oct 6, 2022)

I wouldn't mind duplicating the conditions for every hour if there's no easier way


----------



## ContentDeveloper (Oct 6, 2022)

AaronD said:


> Not explicitly that I could find, but there might be two ways to do it anyway:
> 
> 1. Create a MIDI file for each event that you want to send, and put them in a scene that you're not going to use.  Then use the Media action in a Macro to Play the appropriate one.  Normal output routing applies.  That is, if OBS supports MIDI at all, which it may not.
> 
> ...



Thank you, @AaronD....  you've given me some ideas.

I also use AutoHotkey to "listen" for certain keystrokes, than send on to OBS specifically (a way to "target" the keystrokes better)... perhaps I can use AutoHotkey to a also send a MIDI command.

Thx!


----------



## Warmuptill (Oct 6, 2022)

videored said:


> Any chance for in the future to add macro grouping for the list on the left side? I usually just use an empty macro to divide my stuff in groups but it would be cool to have them officially implemented so I can just click on the group to expand or hide the macros from the list.
> 
> View attachment 87357
> 
> Or maybe there's a way already and I'm missing it??? Anyway, time to experiment with the variables, I was using empty image sources as variables until now, this will help me big time!


Thanks for the suggestion!
This was also requested in the past, but I just have not gotten around to it yet.
I will try to look into it.



CodeYan said:


> Could I get some advice on how to set this up? I want a condition to check if the current time is between 00:50:00 and 01:00:00, but for every hour. so basically i would duplicate all my conditions for 01:50:00, 02:50:00 and so on, but that's a bit much. is there an easier way?


I think adding multiple date conditions is the best way.
I guess you could alternatively somehow get it to work using the timer condition but that is probably rather error prone.

If you have to use this type of check in multiple places you can however simply "reuse" the existing macro using the "Macro" condition type:







I just noticed while creating this example that there is a bug showing the wrong dates after reopening a macro containing date conditions.
Thankfully seems to just be an issue on the UI side and the correct values are used to do the actual checks.

A build with a fix for this visual issue should be available here in a few minutes:








						Fix date condition showing incorrect date · WarmUpTill/SceneSwitcher@d5b6fab
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com


----------



## CodeYan (Oct 6, 2022)

Warmuptill said:


> Thanks for the suggestion!
> This was also requested in the past, but I just have not gotten around to it yet.
> I will try to look into it.
> 
> ...


Thank you. How about if I need to add a condition with an AND? So if it's in those specified time ranges AND it's on a certain scene. I'm not sure about the precedence, but applying what I know by AND usually taking precedence over OR, this would mean I'd need an AND for each time range, is that correct? And thus, so I don't need to create multiple ANDs, i just group all the time ranges in one macro like you said, then AND in another macro?


----------



## AaronD (Oct 7, 2022)

CodeYan said:


> Thank you. How about if I need to add a condition with an AND? So if it's in those specified time ranges AND it's on a certain scene. I'm not sure about the precedence, but applying what I know by AND usually taking precedence over OR, this would mean I'd need an AND for each time range, is that correct? And thus, so I don't need to create multiple ANDs, i just group all the time ranges in one macro like you said, then AND in another macro?


Normally, AND would take precedence, but there's also an argument for building up as you go.  (I've seen C compilers do that, so that PEMDAS becomes PE-order-of-appearance - only because E is a formally-defined function and not a built-in operator - and code that uses it has parentheses *everywhere*!)  I haven't used enough complex logic in here to figure out which it is for us.  We don't have parentheses, so it's limited either way.

The build-up-as-you-go version requires less to keep track of under the hood, and is equivalent to having a big pile of open parens up front, and each expression closes one.


If you really don't want parentheses, you can look at Reverse Polish Notation.  It has all the capabilities, without that requirement, but it does have a different requirement of loading each operand by itself, without an operator, and specifying each operator without operands.  Each operand goes onto a stack, and each operator takes the last two items (sometimes one) off of the stack and puts its result back onto the stack.  If you're not used to it, that gets confusing in a hurry!
For example, `A B + C * D E / -` in RPN is equivalent to `((A + B) * C) - (D / E)` in the way that most of us are used to.
A bunch of the same associative operation could be `A B + C + D + E +` or `A B C D E + + + +` or any combination in between, though the first is probably easiest to read, and keeps the stack size down.
This is also easier under the hood than parentheses, because there's never a need to save your place in the expression and come back to it.

For error handling:

An operator that sees insufficient operands on the stack, could do nothing (don't even pop/push), and throw a warning.
When the expression is finished, take the top of the stack as the answer.  If the stack is empty, call it false.  If there are additional items, throw a warning, but only use the top one.  Regardless, clear the stack before the next scan.
The side-effects are that a 2-input operator that only sees 1, will leave that 1 unchanged, and a too-full stack at the end will ignore some of what you told it to look at.  Neither of which is probably what you had in mind, mostly because the expression *itself* is broken, and not what you had in mind.  Take the warnings seriously!


----------



## iliketoDJ999 (Oct 7, 2022)

UGH. My backup was corrupted and I could not import my previous settings once I updated OBS to the lastest version. Now I have to redo over 200 scenes with of scene transitions. Which leads me to my post here....

... Can we PLEASE PLEASE PLEASE get an option to mass change settings in the different tabs:  - like duration amount for all scenes before switching into another scene / micros / performing a different action, changing scene transition types, etc.

Or even allow us to copy / paste scenes.
Trying to redo hundreds of scenes manually by hand, one by one, is actually torture.


----------



## Warmuptill (Oct 7, 2022)

CodeYan said:


> Thank you. How about if I need to add a condition with an AND? So if it's in those specified time ranges AND it's on a certain scene. I'm not sure about the precedence, but applying what I know by AND usually taking precedence over OR, this would mean I'd need an AND for each time range, is that correct? And thus, so I don't need to create multiple ANDs, i just group all the time ranges in one macro like you said, then AND in another macro?


The way macro conditions are evaluated is always from top to bottom within each macro.
So if you have macro with conditions...

IF A
OR B
AND C
OR NOT D

It will be evaluated as (((A OR B) AND C) OR NOT D).

In case of the "Macro" condition type, the value of whatever the conditions of the specified macro resulted in the last time the macro was checked is simply *reused *(and not re-evaluted in place).

To give an example, let's call the example above "Macro 1" and reuse in this setup:

IF X
AND Y
AND NOT "conditions of 'Macro 1' are true"
OR Z

This would effectively result in:

(((X AND Y) AND NOT (((A OR B) AND C) OR NOT D)) OR Z)

I hope this is somewhat clear.
If not please let me know :)


----------



## Warmuptill (Oct 7, 2022)

iliketoDJ999 said:


> UGH. My backup was corrupted and I could not import my previous settings once I updated OBS to the lastest version. Now I have to redo over 200 scenes with of scene transitions.


Is the backup lost completely or can it maybe be salvaged?
I can try to give it a show if there is still something left over.



iliketoDJ999 said:


> ... Can we PLEASE PLEASE PLEASE get an option to mass change settings in the different tabs: - like duration amount for all scenes before switching into another scene / micros / performing a different action, changing scene transition types, etc.
> 
> Or even allow us to copy / paste scenes.
> Trying to redo hundreds of scenes manually by hand, one by one, is actually torture.


I appreciate the request / suggestion, but I am afraid it is unlikely I will add functionality to the non-macro tabs in the near future.

In case it is of help:
The macro tab does allow you to create copies of macros by right clicking on the macro you want to create copy of:





Alternatively you could export the settings to a file and change the values there and reimport it if that is quicker.
But please make sure to back up the settings before hand in case something goes wrong.


----------



## AaronD (Oct 7, 2022)

Warmuptill said:


> The way macro conditions are evaluated is always from top to bottom within each macro.
> So if you have macro with conditions...
> 
> IF A
> ...


That's exactly the build-as-you-go version that I mentioned.  Thanks for clearing that up!

RPN might be interesting to play with too, but not necessary.


----------



## daviddm (Oct 7, 2022)

Warmuptill said:


> You could do something like this:
> View attachment 87318
> 
> You can do something similar to this:
> ...


 
I will try this thank you very much!


----------



## GabiDG (Oct 8, 2022)

Can a macro do "pause all title match checks when a certain scene is active"? Or I still have to use the Pause tab? I do not want to completely stop the plugin...


----------



## Warmuptill (Oct 8, 2022)

GabiDG said:


> Can a macro do "pause all title match checks when a certain scene is active"? Or I still have to use the Pause tab? I do not want to completely stop the plugin...


You can do something like this:


----------



## PlatinumLive (Oct 10, 2022)

Warmuptill said:


> Maybe something like this will work for you?
> View attachment 87296
> 
> 
> Thanks for the hint - I have identified the issue and will release a new version.



Hey Warmuptill, 

A big thank you for creating, updating, and maintaining this app. I could imagine it takes a lot of time to identify the issue, develop a working patch, and confidently update the version for everyone else to download, all while responding to messages in a timely manner. So again, thank you!

I was able to update to the latest version of Advanced Scene Switcher, V 1.19.1 and the scene switched from scene A to B after 5 minutes as intended. I left the "with a duration of - seconds" untouched, in the lower portion of the macro and it worked for me, didn't know what that was intended for given the time is set in the top section of the macro. I've tested it out over the past few days and it works perfectly! I attached a screenshot for anyone else looking to accomplish the same thing. In my scenario, it was from the intro scene to the main scene after 5 minutes and 5 seconds into the stream.


----------



## mlgudi (Oct 11, 2022)

Is it possible to use the value of a regex match as part of the subsequent action? For example, if I used a regex to match a window title, could I assign that value to a variable or use it in a text field somehow?


----------



## Warmuptill (Oct 11, 2022)

mlgudi said:


> Is it possible to use the value of a regex match as part of the subsequent action? For example, if I used a regex to match a window title, could I assign that value to a variable or use it in a text field somehow?


Unfortunately not at the moment.
But I will add your suggestion to the todo list.
Thanks!


----------



## dayu (Oct 12, 2022)

I have created a simple Python program. I started it triggering "RAN" but the command pronto screen immediately closed.

I was able to start it manually, so my Python file is not the problem.

Any suggestions?


----------



## Warmuptill (Oct 12, 2022)

dayu said:


> I have created a simple Python program. I started it triggering "RAN" but the command pronto screen immediately closed.
> 
> I was able to start it manually, so my Python file is not the problem.
> 
> Any suggestions?


Can you share how you are attempting to run it?
The most common source of issues is using relative paths instead of absolute ones.


----------



## GabiDG (Oct 12, 2022)

I am trying to use macros to show a scene when Chrome is full screen and another screen when Chrome is not full screen. My best result is a flickering between the two scene when Chrome is full screen. Do you have any idea what's happening? It looks like second macro is activated even when Chrome is not full screen, and there is a race between the two macros...


----------



## GabiDG (Oct 12, 2022)

I probably solved it by adding the condition "If not" Chrome fulscreen, maxed and focused to the second macro....


----------



## AaronD (Oct 12, 2022)

GabiDG said:


> I am trying to use macros to show a scene when Chrome is full screen and another screen when Chrome is not full screen. My best result is a flickering between the two scene when Chrome is full screen. Do you have any idea what's happening? It looks like second macro is activated even when Chrome is not full screen, and there is a race between the two macros...
> View attachment 87579
> View attachment 87580





GabiDG said:


> I probably solved it by adding the condition "If not" Chrome fulscreen, maxed and focused to the second macro....


I was going to say that unchecking the fullscreen box (or any of them) is not the inverse condition, but simply not looking at that condition at all.  I wonder if this would work for you:

Macro A:
If Chrome exist
AND
If Chrome exist and fullscreen

Macro B:
If Chrome exist
AND
If Not Chrome exist and fullscreen

The first term in each might seem redundant, since it also appears in the second term, but I don't think it can go away from the second term, and it needs to be there explicitly to keep Macro B from running when Chrome doesn't exist.  Its appearance in Macro A is just for parallelism between the two.


----------



## reservoirducks (Oct 12, 2022)

Apologies in advance if this is a dumb question but - I'm working on a film festival, and trying to set OBS up to easily play blocks of films. For example, for a simpler one - I have one preroll video file and one movie file. I've tried putting them both in a VLC playlist and playing that, but the playlist restarts when the movie is over. When I try to make a macro to switch to the next scene when the playlist ends (using that Media state Ended(playlist)), it doesn't work. Is there a simple way to build out these blocks of videos to just play through once?


----------



## AaronD (Oct 12, 2022)

reservoirducks said:


> Apologies in advance if this is a dumb question but - I'm working on a film festival, and trying to set OBS up to easily play blocks of films. For example, for a simpler one - I have one preroll video file and one movie file. I've tried putting them both in a VLC playlist and playing that, but the playlist restarts when the movie is over. When I try to make a macro to switch to the next scene when the playlist ends (using that Media state Ended(playlist)), it doesn't work. Is there a simple way to build out these blocks of videos to just play through once?


I've never had the Ended state work for me either.  I wonder if it was a good intent from the writers of the API, but something about it is fatally broken.

Anyway, Played to End does work.  Don't know what the difference is internally, but that's the one you need to use.


----------



## CodeYan (Oct 13, 2022)

Warmuptill said:


> The way macro conditions are evaluated is always from top to bottom within each macro.
> So if you have macro with conditions...
> 
> IF A
> ...


I see, thank you. So if I do the multiple conditions for hourly time range, and I want to add an AND condition, I can simply add 1 AND at the end for the extra condition (although ofc I'll still put the hourly time range conditions in a separate macro).

That being said, trying it made me encounter a bug with the Date condition, where it seemed like you were converting the time to UTC, but fails to convert it back (happens on switching between macros back and forth). Will try to provide screenshots or a video later.


----------



## Warmuptill (Oct 13, 2022)

reservoirducks said:


> Apologies in advance if this is a dumb question but - I'm working on a film festival, and trying to set OBS up to easily play blocks of films. For example, for a simpler one - I have one preroll video file and one movie file. I've tried putting them both in a VLC playlist and playing that, but the playlist restarts when the movie is over. When I try to make a macro to switch to the next scene when the playlist ends (using that Media state Ended(playlist)), it doesn't work. Is there a simple way to build out these blocks of videos to just play through once?


This will be a bit tricky unfortunately.
Internally the VLC source only supplies the "ended" state.
This is however triggered even after a single playlist item ends, but the playlist has still items remaining.

I added the "Ended(Playlist)" condition type to work around this limitation.
It works by checking if the selected media source reports the "ended" state for an extended period of time.

An issue now arises as you have configured the playlist to contentiously loop.
This means that neither the "Ended" or the "Ended(Playlist)" check will work to detect the end of the playlist.

You can however work around this by disabling the "Loop playlist" option in the VLC source's settings and letting the scene switcher do the restart of the playlist by doing something similar to this:





Now you can rely on the "Ended(Playlist)" check to detect the end of the VLC playlist. (Even in other macros)

Sorry that this is so complicated, but this is the best solution I could think of with what the OBS media state API provided.
I will try to document this behaviour / limitation in the wiki once I have the time to.

Hope that clears things up a bit.
Let me know if you have any questions!


----------



## Warmuptill (Oct 13, 2022)

CodeYan said:


> I see, thank you. So if I do the multiple conditions for hourly time range, and I want to add an AND condition, I can simply add 1 AND at the end for the extra condition (although ofc I'll still put the hourly time range conditions in a separate macro).
> 
> That being said, trying it made me encounter a bug with the Date condition, where it seemed like you were converting the time to UTC, but fails to convert it back (happens on switching between macros back and forth). Will try to provide screenshots or a video later.


Thanks - that is a known issue.
A build with a fix is available here:








						Fix date condition showing incorrect date · WarmUpTill/SceneSwitcher@67c3b73
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				



It is just a visual issue however.
Whichever values you entered are being used in the backend.


----------



## gem40 (Oct 13, 2022)

Help me please
I just want to switch the scene. that is, to make the scenes switch endlessly after a certain time. In the old version, this was done in the Sequences tab. How to do the same now?


----------



## Warmuptill (Oct 13, 2022)

gem40 said:


> Help me please
> I just want to switch the scene. that is, to make the scenes switch endlessly after a certain time. In the old version, this was done in the Sequences tab. How to do the same now?


You can still use the old tabs by changing this setting:






Alternatively create a macro to do the same thing:








						Automatically cycle through a list of scenes · WarmUpTill/SceneSwitcher Wiki
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				




Let me know if you need further help :)


----------



## gem40 (Oct 13, 2022)

Warmuptill, thanks awfully!!
Turns out there are instructions! But I would never have found it without your help)))
And I myself would never have guessed how to do it myself) I'm not very intelligent)
Thanks again, everything worked out. Done with macros.


----------



## AaronD (Oct 14, 2022)

AaronD said:


> I've never had the Ended state work for me either.  I wonder if it was a good intent from the writers of the API, but something about it is fatally broken.
> 
> Anyway, Played to End does work.  Don't know what the difference is internally, but that's the one you need to use.





Warmuptill said:


> Internally the VLC source only supplies the "ended" state.
> This is however triggered even after a single playlist item ends, but the playlist has still items remaining.
> 
> I added the "Ended(Playlist)" condition type to work around this limitation.
> It works by checking if the selected media source reports the "ended" state for an extended period of time.


Okay.  I was thinking about the Media source, not VLC.  I believe my assessment of the Media source still stands though.

Two more thoughts:

How long is "an extended period of time"?  Is it long enough to be perceptible?  Or just two scans of the plugin, expecting that the API only returns "Ended" once if the playlist has more in it?
Does it HAVE to be a VLC playlist?  Or could that sequence be done in OBS instead, using individual Media sources?


----------



## te_rav (Oct 14, 2022)

I have just updated to OBS v28.0.4 (mac) and then updated to Advanced Scene Switcher 1.19.1. However, I do not have the Advanced Scene Switcher available in OBS. I have tried doing re-installing and restarting OBS and my computer multiple times with no success. A quick look at the logs does not show up anything obvious. What am I missing here?


----------



## BillRayDrums (Oct 14, 2022)

Warmuptill said:


> Which step do you have problems with and what do you want me to elaborate on further? (note that this plugin will only work for 64 bit versions of OBS on windows since that is the version the person i made the plugin for uses)


Hello Warmuptill! 
I cannot figure out how to make my scenes change randomly; I went to the tutorial on it in your wiki, but alas, it looks like there's a different version of your program for PC and Mac. (I'm on a Mac). Can you tell me how to make my scenes change randomly? Thank you!


----------



## CodeYan (Oct 14, 2022)

Warmuptill said:


> Thanks - that is a known issue.
> A build with a fix is available here:
> 
> 
> ...


Good to know a release will have a fix for it soon, thanks (can't test yet). Although, from my testing, it wasn't really just a visual issue. The changed values are the ones used.


----------



## CodeYan (Oct 14, 2022)

BillRayDrums said:


> Hello Warmuptill!
> I cannot figure out how to make my scenes change randomly; I went to the tutorial on it in your wiki, but alas, it looks like there's a different version of your program for PC and Mac. (I'm on a Mac). Can you tell me how to make my scenes change randomly? Thank you!


That tutorial in the wiki, https://github.com/WarmUpTill/SceneSwitcher/wiki/Switch-scenes-randomly, will work regardless of the operating system version.


----------



## BillRayDrums (Oct 14, 2022)

CodeYan said:


> That tutorial in the wiki, https://github.com/WarmUpTill/SceneSwitcher/wiki/Switch-scenes-randomly, will work regardless of the operating system version.


Thank you CodeYan!


----------



## Warmuptill (Oct 14, 2022)

te_rav said:


> I have just updated to OBS v28.0.4 (mac) and then updated to Advanced Scene Switcher 1.19.1. However, I do not have the Advanced Scene Switcher available in OBS. I have tried doing re-installing and restarting OBS and my computer multiple times with no success. A quick look at the logs does not show up anything obvious. What am I missing here?


Can you share the log?
Which version of OBS are you using (arm or x86)?


----------



## Warmuptill (Oct 14, 2022)

AaronD said:


> Okay.  I was thinking about the Media source, not VLC.  I believe my assessment of the Media source still stands though.
> 
> Two more thoughts:
> 
> ...



Depends on what is configured as the scene switcher interval, but it just boils down to at least two consecutive intervals at which the state ended is reported.
The "Ended" (without playlist) option will trigger even for a single occurrence.
For the "Media Source" source type both Ended and Ended(Playlist) will almost behave identically.
I am not sure I understand the question correctly.
Yes, you could simulate a VLC playlist using multiple media sources for each playlist item.
Can you elaborate when the ended state is not working as intended?
I would like to investigate if that is maybe an issue on the plugin side.


----------



## AaronD (Oct 15, 2022)

Warmuptill said:


> Depends on what is configured as the scene switcher interval, but it just boils down to at least two consecutive intervals at which the state ended is reported.
> The "Ended" (without playlist) option will trigger even for a single occurrence.
> For the "Media Source" source type both Ended and Ended(Playlist) will almost behave identically.
> I am not sure I understand the question correctly.
> ...


#2 was more for the OP.  If the playlists are already made and not trivial, then it's probably easier to use the VLC source and work around its limitations.  If they're simple, or if you're building one from scratch, then it's probably easier to do it in OBS instead.  Then you know *exactly* what the state is, all the way through.

For the Ended condition not working for a Media source, I've never seen it actually trigger.  When I set it up to switch back to the previous scene (usually a camera), when a video is "Ended", it still just hung on the last frame.  (the source is not set to repeat)  When I changed it to "Played to End", then it switched, even if I drug the slider manually to the end, which is good for testing.

That was for the old Sequence tab though.  It works the way I have it, and I've never changed it to see if it breaks again.  I see the same list in the Macro conditions and assume that it's the same logic behind it.  Maybe not?
If "Ended" and "Played to End" do both work now, what's the difference?

---

If you're looking at it anyway, is there a way that I can trigger on *any* video being finished, and not a specific one?  The idea is to have a generic "play video" scene that is constantly getting reconfigured, but regardless of what's in it, it still "just works" without changing the plugin settings at all.  "Oh, you're playing a video?  Okay.  That video's done now?  I'll switch back to the camera for you.  You're welcome!"  And all I did to play that video instead of a different one, is to update the scene.

Also, the number of videos is not always known until the moment itself.  It could be one, or it could be several, all set up beforehand with not enough time in between, or as a remote possibility, added live during the show, with certainly not enough time to update the plugin then.  Not to mention training people to "go into this->string->of->menus and change <this setting>" whenever they want to play a new video.  (they're not going to do that)

So "any video" (or perhaps "any media"?) shouldn't be limited to a particular scene or source.  It really should be "any", with no further qualifiers.

Thanks!


----------



## saddie (Oct 15, 2022)

Hi
I have a mac mini. since the last update all my prefs advanced scenes switchers just disappeared. How can I have that back? I am unable to install the new advanced switcher. 
I tried to unarchived it but It does show up anywhere.
Is there a YoutuBe video or something else step by steps?
Best
S


----------



## Warmuptill (Oct 15, 2022)

AaronD said:


> If "Ended" and "Played to End" do both work now, what's the difference?


There is only a difference for sources that have internal playlists like the VLC Video source.



AaronD said:


> If you're looking at it anyway, is there a way that I can trigger on *any* video being finished, and not a specific one? The idea is to have a generic "play video" scene that is constantly getting reconfigured, but regardless of what's in it, it still "just works" without changing the plugin settings at all. "Oh, you're playing a video? Okay. That video's done now? I'll switch back to the camera for you. You're welcome!" And all I did to play that video instead of a different one, is to update the scene.
> 
> Also, the number of videos is not always known until the moment itself. It could be one, or it could be several, all set up beforehand with not enough time in between, or as a remote possibility, added live during the show, with certainly not enough time to update the plugin then. Not to mention training people to "go into this->string->of->menus and change <this setting>" whenever they want to play a new video. (they're not going to do that)
> 
> So "any video" (or perhaps "any media"?) shouldn't be limited to a particular scene or source. It really should be "any", with no further qualifiers.


I will add it to the list, but it might turn out to be a bit tricky.


----------



## Warmuptill (Oct 15, 2022)

saddie said:


> Hi
> I have a mac mini. since the last update all my prefs advanced scenes switchers just disappeared. How can I have that back? I am unable to install the new advanced switcher.
> I tried to unarchived it but It does show up anywhere.
> Is there a YoutuBe video or something else step by steps?
> ...


Hi,

I assume what happened is that first OBS got updated but the plugin did not.
Then it failed to load the old version of the plugin due to being incompatible with the newer Qt framework and the plugin's settings were deleted.

I am afraid unless you have a backup of your old scene collection or manually exported the plugin's settings to a file using the option on the General tab there is no way to get the settings back. :(

Just to clarify:
Are you also having issues of the plugin showing up at all when using the new version of OBS, even after installing the new version of the plugin?
If so can you please share an OBS log?
That might give hints as to what the issue might be.


----------



## saddie (Oct 15, 2022)

Warmuptill said:


> Hi,
> 
> I assume what happened is that first OBS got updated but the plugin did not.
> Then it failed to load the old version of the plugin due to being incompatible with the newer Qt framework and the plugin's settings were deleted.
> ...


Hi
Thanks for your reply.
Yes OBS has been updated but the plugin did not. You right.

Ok no problem. I will do everything again. 

Yes exactly. The plugin not shows up in my new version. Not sure I did the installation properly though. I just clicked and unarchived the file: advanced-scene-switcher-macos-arm64.pkg
I restarted. And strictly nothing happened. 

Do I have something else to do? 
I tried to find the files to do that part (... right click the OBS app inside your Applications folder and choose 'Show Package Contents'.
Copy the advanced-scene-switcher.so file to 'Contents/Plugins' and the 'data' folder to 'Contents/Resources'.)  BUT never found those files...

I'm lost.
Best


----------



## saddie (Oct 15, 2022)

saddie said:


> Hi
> Thanks for your reply.
> Yes OBS has been updated but the plugin did not. You right.
> 
> ...


Hi again
How can I send log files?
Best
S


----------



## Warmuptill (Oct 15, 2022)

saddie said:


> Hi again
> How can I send log files?
> Best
> S


Either paste the contents here directly or upload it to pastebin (or something similar) and share the link.
If you have concerns about the contents you can also send me a private message.


----------



## saddie (Oct 15, 2022)

Hi
I have exactly the same problem………








						Plug In Not Showing in OBS 28.0.3 [MacOS x86] · Discussion #567 · WarmUpTill/SceneSwitcher
					

Hi, I recently upgraded to OBS 28.0.3 and tried reinstalling Advanced Scene Switcher, but it's not showing up in the Tools menu (or anywhere else that I can see). I've tried running the uni...




					github.com
				



Not working on my Mac version.

PLease let me know how to save my sentences for next time. It's a nightmare to have everything to do again……
Best
S


----------



## Warmuptill (Oct 15, 2022)

saddie said:


> Hi
> I have exactly the same problem………
> 
> 
> ...


Can you please share a log file? :)

As mentioned previously above you can either back up your scene collection data or export the settings to file on the General tab.
(1) will let you save the settings to a file and with (2) you can restore them from a file.


----------



## AaronD (Oct 16, 2022)

Warmuptill said:


> There is only a difference for sources that have internal playlists like the VLC Video source.


Hmm.  That seems odd, unless the logic really is different between the old Sequence tab and the Macros.  That would make sense of what I saw.



Warmuptill said:


> I will add it to the list, but it might turn out to be a bit tricky.


You already populate a dropdown list to choose from.  Could you iterate through that and watch for a rising edge (not just true) on the Ended state?


----------



## Warmuptill (Oct 16, 2022)

AaronD said:


> Hmm. That seems odd, unless the logic really is different between the old Sequence tab and the Macros. That would make sense of what I saw.


The implementation does indeed differ, so the old media tab probably behaves differently.


----------



## GabiDG (Oct 16, 2022)

I would like to automatically change to the scene (let's call it scene A) having a window capture (the window of the software in which I am writing).
If the current scene is scene A and I am writing, the "video changed" is triggered fine. However, if the current scene is any other, writing detection does not happen.
In addition, the macro triggers automatically at the moment I switch away from from scene A, even when the captured window of scene A did not change.
Is this the intended behaviour of the "video changed" macro?


----------



## GabiDG (Oct 16, 2022)

Solved. It seems the behaviour is caused by the window capture not being rendered by OBS in the other scenes. If the capture is set to a projector, then the video change triggers when Scene A is not the current scene, and also it is not triggered when switching away from Scene A.


----------



## WingFat (Oct 17, 2022)

I can't figure out how to write the current scene to a text file. This used to be pretty obvious in previous versions of Advanced Scene Switcher, I'm running 1.19.1 and can't find this anywhere. A lot of searching of this thread and elsewhere provided no help. If someone could tell me where to look or how to do this I would sincerely appreciate it.


----------



## saddie (Oct 17, 2022)

Warmuptill said:


> Can you please share a log file? :)
> 
> As mentioned previously above you can either back up your scene collection data or export the settings to file on the General tab.
> (1) will let you save the settings to a file and with (2) you can restore them from a file.




Hi
thanks for your reply.
How and where can I find those log files? I don't find the way to send you that....

Is it possible to go back with the previous edition (of OBS and Switcher scenes?) 

Best
S


----------



## saddie (Oct 17, 2022)

Warmuptill said:


> Can you please share a log file? :)
> 
> As mentioned previously above you can either back up your scene collection data or export the settings to file on the General tab.
> (1) will let you save the settings to a file and with (2) you can restore them from a file.





Impossible to go further...


----------



## saddie (Oct 17, 2022)

Hi 
I don't get it. 
The spoiler for Mac has changed or...
I don't understand anything.
I'm blocked when I try to install. I cant' even do what is said in spoiler…
Best


----------



## Warmuptill (Oct 17, 2022)

WingFat said:


> I can't figure out how to write the current scene to a text file. This used to be pretty obvious in previous versions of Advanced Scene Switcher, I'm running 1.19.1 and can't find this anywhere. A lot of searching of this thread and elsewhere provided no help. If someone could tell me where to look or how to do this I would sincerely appreciate it.


You can still use the old "File" tab to write the current scene name to a file.
Just uncheck this box to show the old tabs again and proceed as you did in the past.




Hope that helps! :)


----------



## Warmuptill (Oct 17, 2022)

saddie said:


> Hi
> I don't get it.
> The spoiler for Mac has changed or...
> I don't understand anything.
> ...


Are you familiar with how to use the terminal in MacOS?
If so what you likely have to do is tell MacOS to not "quarantine" the plugin any more.

`xattr -d com.apple.quarantine advanced-scene-switcher-macos-arm64.pkg`

I am by no means an MacOS expert but if you like we can maybe also set up a call, with you sharing your screen, to try to get things running on your machine. (If so please send me a private message)



saddie said:


> How and where can I find those log files? I don't find the way to send you that....


You can find them in OBS under "Help -> Log Files -> ..."



saddie said:


> Is it possible to go back with the previous edition (of OBS and Switcher scenes?)


Yes it is.
You can find OBS 27 here:








						Release OBS Studio 27.2.4 · obsproject/obs-studio
					

If you would like to support the OBS Project, please consider contributing to our Patreon or Open Collective! 27.2.4 Hotfix Changes  Fixed a bug where sources could show up in the mixer while using...




					github.com
				




And the compatible plugin here:








						Release Bug fixes and minor additions · WarmUpTill/SceneSwitcher
					

Additions:  Improved the date condition:  Added the option to select "before" and "after" for time of simple date view. (1) Added the option to ignore time component in the simple view. (2)  Displa...




					github.com


----------



## AaronD (Oct 17, 2022)

Warmuptill said:


> You can find them in OBS under "Help -> Log Files -> ..."


As common as this hangup seems to be, would it be worth having a button to copy the file from where it normally is, to a user-specified location?  Or open a file browser to where it normally is, so the user can work with it there?
Yes, there's already a way to get to it, as you've mentioned, but few people use menus at all, and even less when they're frustrated.  ("The problem is <here>!  So the solution, or at least the tools to help solve it, must also be <here>!")

(Firefox and Thunderbird do the latter one now.  Long ago, they would just tell you where their profiles were and you'd have to copy/paste that path into the file browser, but now there's a button that opens the file browser and sends it there...although that button itself is in a menu that I have to google every time. :-/ )


----------



## PChambers (Oct 19, 2022)

I am wanting to make a macro that automatically runs and INTRO scene when starting streaming and an OUTRO scene before the stream is stopped. I can do the INTRO macro no problems but can't work out the OUTRO to happen automatically. Any help would be gratefully received!


----------



## AaronD (Oct 19, 2022)

PChambers said:


> I am wanting to make a macro that automatically runs and INTRO scene when starting streaming and an OUTRO scene before the stream is stopped. I can do the INTRO macro no problems but can't work out the OUTRO to happen automatically. Any help would be gratefully received!


Are you trying to intercept the stream ending, so you can play the OUTRO first?  That's probably somewhere between tricky and impossible.

BUT, depending on how your triggers work, you could take whatever hotkey or other trigger that you're using to stop the stream, and have it play the OUTRO instead.  So far, there's no "stop stream" command anymore, as that's replaced by "play OUTRO".  But now you can trigger on the OUTRO being done, and stop the stream then.


----------



## Yoso Matto (Oct 20, 2022)

Hi everybody, i'm trying to sync Advanced scene switcher to a music source, but it loses sync, i believe i figured out what causes the loss. It's "check switch conditions every..." Is there any chance to keep the sync with song? (i'm talking about the sync of the switch).


----------



## AaronD (Oct 20, 2022)

Yoso Matto said:


> Hi everybody, i'm trying to sync Advanced scene switcher to a music source, but it loses sync, i believe i figured out what causes the loss. It's "check switch conditions every..." Is there any chance to keep the sync with song? (i'm talking about the sync of the switch).


Are you trying to sync it to the beat, using the ms scan interval?  That's really hard for any application.  Not impossible, but good luck.

Are you keeping the switch interval "reasonable" while using an audio volume trigger to try and catch the beats?  That's also hard because not all music has a reliable peak on every beat, and a "reasonable" interval is still slower than you really need to make that work.  120BPM, which seems like a reasonably exciting tempo that you might want to coordinate something to, is 2 beats per second, or 500ms between beats.  But you want to scan significantly faster than that, so you can switch ON the beat instead of slightly off.  (The general rule of thumb for direct unfiltered control is at least 10x faster, which is much faster than Nyquist as understood from the DSP world.)

The best option might be to make a video in a separate editor, do all of the tight timing in there, and then just play the video.  Or if it must be live, have someone listen and push a hotkey for every switch.  Adv. SS is then reduced to picking the next thing so that it's ready for the next switch, but not actually switching yet.  That doesn't require nearly as fast scanning as it does to time the switch just right.


----------



## TobyBrady (Oct 20, 2022)

I just livestream my music performances, was looking into going live from a venue and I just fired up OBS after a break. Everything gone. Advanced Scene Switcher doesn't work. I spent HOURS setting this up and making it function. Now I have to start all over. I don't understand how to just get back to simple Auto scene switching. Macros?? WTF?? It's enough to make me stop livestreaming.


----------



## TobyBrady (Oct 20, 2022)

Warmuptill said:


> You can still use the old "File" tab to write the current scene name to a file.
> Just uncheck this box to show the old tabs again and proceed as you did in the past.
> 
> 
> ...


My screen only has two tabs. And not as many other "options" Seems like it just got harder to do a very simple basic function


----------



## AaronD (Oct 21, 2022)

TobyBrady said:


> My screen only has two tabs. And not as many other "options" Seems like it just got harder to do a very simple basic function


Uncheck that box.


----------



## cristian44137 (Oct 21, 2022)

Hello, I'm using a Macro with a Websocket Request action, I want to get the transform from one source and set it to another. 
So far I managed to make work GetSceneItemTransform and SetSceneItemTransform requests by themselves... but I have no idea on how to link them so the output result from the first is the input of the second. Does anyone know?


----------



## cristian44137 (Oct 21, 2022)

Well, nvm, I can't make SetSceneItemTransform to work, I need help for this too...


----------



## AaronD (Oct 21, 2022)

cristian44137 said:


> Hello, I'm using a Macro with a Websocket Request action, I want to get the transform from one source and set it to another.
> So far I managed to make work GetSceneItemTransform and SetSceneItemTransform requests by themselves... but I have no idea on how to link them so the output result from the first is the input of the second. Does anyone know?


Since this thread is specifically for the Adv. SS plugin, it'd be good to have an in-plugin solution, but the way that I've done it before was with a short python script.  Connect and register itself to the appropriate sockets and events, then a short one-liner for each bit of logic that needs to be done with those events.  Since I start that rig from a script anyway, it's completely transparent and "just works".

I think I'll keep doing it that way, at least for now, mostly for the latency.  WebSockets aren't scanned/polled like this plugin is.  They happen immediately on each event.  What I'm doing with it requires quite low latency, and I'd rather not scan the plugin that fast.
(Coordinating two copies of OBS as if I were controlling both simultaneously, but smarter than assigning the same global hotkey to both.  So I control one copy directly, and the other follows via that script and its two WS connections.  When the master changes scenes, run a set of regex'es on the new name, and change the slave to the one that matches.)

If Adv. SS were to respond immediately to WS events, and not wait for the next scan, then I might be tempted to move that logic into a macro or two.
Of course, it wouldn't hurt to have the other events happen immediately as well, like media status, audio volume, etc., but that's getting into some unnecessary CPU load for most people, and is easily approximated by a short scan interval if you're not doing much else with it.


----------



## Si5584 (Oct 22, 2022)

Hi Everyone,

I have just installed the plugin for the first time on my Mac  running OBS 28. The plugin doesn't appear to show up anywhere to use. If I look under tools it shows only the Automatic Scene Switcher option, no Advanced Scene Switcher Option.

I have closed and re-opened OBS several times as well as re-installed the plugin.

Any suggestions?


----------



## jamrockvj (Oct 22, 2022)

Some of us can't seem to get the plugin to show up on the TOOLS menu and not much being said about it.

I used this plugin perfectly fine for a long time on 32-bit OBS Studio but had to switch OBS to 64-bit for other reasons.  Now can't get Adv Scene Switcher to show up on the Tools menu anymore.

Using 64-bit OBS 27.2.4 and latest 64-bit Adv Scene Switcher plugin, all on WINDOWS 10.

Tried the Windows installer, tried just unzipping the files and placing them in obs-studio\plugins folder, made sure all files under obs-studio are unblocked by Windows, checked the C++ Re-Distributable is 2019 or later.  Don't know what else to try!

Can anyone offer any suggestions please?


----------



## Warmuptill (Oct 22, 2022)

jamrockvj said:


> Some of us can't seem to get the plugin to show up on the TOOLS menu and not much being said about it.
> 
> I used this plugin perfectly fine for a long time on 32-bit OBS Studio but had to switch OBS to 64-bit for other reasons.  Now can't get Adv Scene Switcher to show up on the Tools menu anymore.
> 
> ...


Can you please share an OBS log file?


Si5584 said:


> Hi Everyone,
> 
> I have just installed the plugin for the first time on my Mac  running OBS 28. The plugin doesn't appear to show up anywhere to use. If I look under tools it shows only the Automatic Scene Switcher option, no Advanced Scene Switcher Option.
> 
> ...


Can you please also share an OBS log file?
It seems that MacOS is quarantining the plugin for some reason, so you might have to undo that using the terminal.


Copy advanced-scene-switcher.plugin into ~/Library/Application Support/obs-studio/plugins/ (Should be done by the installer)
Open ~/Library/Application Support/obs-studio/plugins/ in Terminal
Run command: xattr -r -d com.apple.quarantine advanced-scene-switcher.plugin


----------



## MMedia (Oct 22, 2022)

Warmuptill said:


> Can you please share an OBS log file?
> 
> Can you please also share an OBS log file?
> It seems that MacOS is quarantining the plugin for some reason, so you might have to undo that using the terminal.
> ...


@Warmuptill 
Replying for @jamrockvj 

Here is the log from the Windows 10 machine and attached is the log from a Windows 7 machine where it was also tried as a fresh install of OBS. Note on the Windows 7 machine the OBS version is way back at 27.1.3.  On the Windows 10 machine we are rolling with 27.2.4 where Adv Scene Switcher was installed and working before under OBS 32-bit. 

Windows 10 | OBS 27.2.4 log:
Clearly the Adv.S.S. DLLs aren't loading.


10:38:37.443: CPU Name: Intel(R) Core(TM) i5-10400 CPU @ 2.90GHz
10:38:37.443: CPU Speed: 2904MHz
10:38:37.443: Physical Cores: 6, Logical Cores: 12
10:38:37.443: Physical Memory: 7939MB Total, 4137MB Free
10:38:37.443: Windows Version: 10.0 Build 19044 (release: 2009; revision: 2130; 64-bit)
10:38:37.443: Running as administrator: false
10:38:37.443: Aero is Enabled (Aero is always on for windows 8 and above)
10:38:37.443: Windows 10 Gaming Features:
10:38:37.443:     Game DVR: On
10:38:37.444: Sec. Software Status:
10:38:37.445:     Microsoft Defender Antivirus: enabled (AV)
10:38:37.446:     Windows Firewall: enabled (FW)
10:38:37.447: Current Date/Time: 2022-10-22, 10:38:37
10:38:37.447: Browser Hardware Acceleration: true
10:38:37.447: Hide OBS windows from screen capture: false
10:38:37.447: Qt Version: 5.15.2 (runtime), 5.15.2 (compiled)
10:38:37.447: Portable mode: false
10:38:37.623: OBS 27.2.4 (64-bit, windows)
10:38:37.623: ---------------------------------
10:38:37.623: ---------------------------------
10:38:37.623: audio settings reset:
10:38:37.623:     samples per sec: 48000
10:38:37.623:     speakers:        2
10:38:37.624: ---------------------------------
10:38:37.624: Initializing D3D11...
10:38:37.624: Available Video Adapters: 
10:38:37.626:     Adapter 0: Intel(R) UHD Graphics 630
10:38:37.626:       Dedicated VRAM: 134217728
10:38:37.626:       Shared VRAM:    4162691072
10:38:37.626:       PCI ID:         8086:9bc8
10:38:37.626:       Driver Version: 27.20.100.9664
10:38:37.626:       output 0:
10:38:37.626:         name=Acer V203HL
10:38:37.626:         pos={0, 0}
10:38:37.626:         size={1600, 900}
10:38:37.626:         attached=true
10:38:37.626:         refresh=60
10:38:37.626:         space=RGB_FULL_G22_NONE_P709
10:38:37.626:         sdr_white_nits=80
10:38:37.626:         nit_range=[min=0.500000, max=270.000000, max_full_frame=270.000000]
10:38:37.628: Loading up D3D11 on adapter Intel(R) UHD Graphics 630 (0)
10:38:37.650: D3D11 loaded successfully, feature level used: b000
10:38:37.650: DXGI increase maximum frame latency success
10:38:37.996: ---------------------------------
10:38:37.996: video settings reset:
10:38:37.996:     base resolution:   1600x900
10:38:37.996:     output resolution: 1280x720
10:38:37.996:     downscale filter:  Bicubic
10:38:37.996:     fps:               30/1
10:38:37.996:     format:            NV12
10:38:37.996:     YUV mode:          709/Partial
10:38:37.996: NV12 texture support not available
10:38:37.996: Audio monitoring device:
10:38:37.996:     name: Default
10:38:37.996:     id: default
10:38:37.996: ---------------------------------
*10:38:37.997: Skipping module '../../obs-plugins/64bit/advanced-scene-switcher-lib.dll', not an OBS plugin*
*10:38:37.999: LoadLibrary failed for '../../obs-plugins/64bit/advanced-scene-switcher.dll': The specified module could not be found.
10:38:37.999:  (126)*
*10:38:37.999: Module '../../obs-plugins/64bit/advanced-scene-switcher.dll' not loaded*
10:38:38.002: No AJA devices found, skipping loading AJA UI plugin
10:38:38.002: Failed to initialize module 'aja-output-ui.dll'
10:38:38.004: No AJA devices found, skipping loading AJA plugin
10:38:38.004: Failed to initialize module 'aja.dll'
10:38:38.004: Skipping module '../../obs-plugins/64bit/chrome_elf.dll', not an OBS plugin
10:38:38.005: [CoreAudio encoder]: CoreAudio AAC encoder not installed on the system or couldn't be loaded
10:38:38.006: Failed to load 'en-US' text for module: 'decklink-captions.dll'
10:38:38.007: Failed to load 'en-US' text for module: 'decklink-ouput-ui.dll'
10:38:38.030: [AMF] Unable to load 'amfrt64.dll', error code 126.
10:38:38.031: [AMF] AMF Test failed due to one or more errors.
10:38:38.031: Failed to initialize module 'enc-amf.dll'
10:38:38.038: Skipping module '../../obs-plugins/64bit/libcef.dll', not an OBS plugin
10:38:38.038: Skipping module '../../obs-plugins/64bit/libEGL.dll', not an OBS plugin
10:38:38.038: Skipping module '../../obs-plugins/64bit/libGLESv2.dll', not an OBS plugin
10:38:38.053: [obs-browser]: Version 2.17.13
10:38:38.053: [obs-browser]: CEF Version 95.0.0-MediaHandler.2467+g8092a57+chromium-95.0.4638.69
10:38:38.057: [noise suppress]: NVIDIA RTX denoiser disabled, redistributable not found
10:38:38.088: [StreamFX] Loading Version 0.11.1.0-g81a96998
10:38:38.142: [StreamFX] <gfx::opengl> Version 0.0 initialized.
10:38:38.145: [StreamFX] <filter::autoframing> Failed to make NVIDIA providers available due to error: The specified module could not be found.
10:38:38.145:


----------



## Warmuptill (Oct 22, 2022)

MMedia said:


> @Warmuptill
> Replying for @jamrockvj
> 
> Here is the log from the Windows 10 machine and attached is the log from a Windows 7 machine where it was also tried as a fresh install of OBS. Note on the Windows 7 machine the OBS version is way back at 27.1.3.  On the Windows 10 machine we are rolling with 27.2.4 where Adv Scene Switcher was installed and working before under OBS 32-bit.
> ...


Which version of the plugin are you using?
The most recent plugin releases are only compatible with OBS 28 and above.

The last one compatible with OBS 27 is:








						Release Bug fixes and minor additions · WarmUpTill/SceneSwitcher
					

Additions:  Improved the date condition:  Added the option to select "before" and "after" for time of simple date view. (1) Added the option to ignore time component in the simple view. (2)  Displa...




					github.com


----------



## MMedia (Oct 22, 2022)

Warmuptill said:


> Which version of the plugin are you using?
> The most recent plugin releases are only compatible with OBS 28 and above.
> 
> The last one compatible with OBS 27 is:
> ...


*That was the problem @Warmuptill !*

Can't tell you how much appreciate the quick response to this post!

So the simple answer to others who may run into this issue is to know that the latest version of Adv.S.S. does not support earlier versions of OBS.  If that was already made clear, We never noticed. Sorry about that.


----------



## MMedia (Oct 22, 2022)

Now we have to figure out if we could somehow recover all the Adv.S.S. setups we had when it was running under OBS 32-bit or if we have to configure all over again from scratch.  Thanks!


----------



## AaronD (Oct 22, 2022)

MMedia said:


> Now we have to figure out if we could somehow recover all the Adv.S.S. setups we had when it was running under OBS 32-bit or if we have to configure all over again from scratch.  Thanks!





Warmuptill said:


> The settings are saved as part of the scene collection.
> I assume what happened is that you updated to OBS 28, the plugin failed to load, and you closed OBS, causing OBS to overwrite the scene collection data without any data of the advanced scene switcher.
> 
> If you have backed up your scene collection data or exported your settings to a file previously you can use those files to restore the settings.


----------



## MMedia (Oct 23, 2022)

Thanks a lot.  Ended up going the route of just re-doing the Adv.S.S. setups.  Will take advantage of the Adv.S.S. Export feature this time after we get it sorted.  Didn't install OBS 28 by the way.  Uninstalled OBS 27 32-bit in favor of OBS 27 64-bit.


----------



## thegamingstig (Oct 23, 2022)

Can you add some sort of indicator that a macro has stop? After my OBS crashed, the plugin won't run the macros when the plugin itself was active. Took me a while to figure out and had to manually click on "run macro" button on every single macros on my list just to get it back to normal.


----------



## Warmuptill (Oct 23, 2022)

thegamingstig said:


> Can you add some sort of indicator that a macro has stop? After my OBS crashed, the plugin won't run the macros when the plugin itself was active. Took me a while to figure out and had to manually click on "run macro" button on every single macros on my list just to get it back to normal.


Can you give a bit more details as to which type of macro is causing issues?
Or even better can you export your settings to a file and share it?

I don't fully understand what exactly is going wrong / what  your requested feature should indicate.


----------



## thegamingstig (Oct 24, 2022)

Warmuptill said:


> Can you give a bit more details as to which type of macro is causing issues?
> Or even better can you export your settings to a file and share it?
> 
> I don't fully understand what exactly is going wrong / what  your requested feature should indicate.


You mean export my advanced scene switcher? See attached. It was all my macros that weren't working at the time.

When my obs crashed (audio hz issue) and restart, all of my macros were not running despite the plugin was active. Tried rebooting my pc or reinstall the plugin but it didn't work. It would only run when I click the "run macro" button, which let me to believe all my macros were in a stop status. I had to go into each of my macros and click the run macro button while the plugin was active, which fixed everything


----------



## Redolent Thought (Oct 24, 2022)

Warmuphill: You helped me out a few pages/months ago here - and now, none of those steps are working. Everything is updated and shows up in Tools... Am I supposed to check off something to get anything to actually work?  The custom hotkeys show up as options, but they simply don't work now...

Switching and previous-scene switching aren't working.... and the sources on/off with hotkey, etc.

Am I missing just clicking a box somewhere?


----------



## ded_12 (Oct 24, 2022)

Привет! У меня проблемы с настройкой макросов. Вы можете помочь мне? В одной сцене настраиваются три источника. Горячей клавишей выключаю один источник. Как я могу сделать так, чтобы этот источник снова стал видимым через 10 секунд?


----------



## AaronD (Oct 24, 2022)

ded_12 said:


> Привет! У меня проблемы с настройкой макросов. Вы можете помочь мне? В одной сцене настраиваются три источника. Горячей клавишей выключаю один источник. Как я могу сделать так, чтобы этот источник снова стал видимым через 10 секунд?


Google Translate from auto-detected Russian (I have no idea if it's accurate):

Hello! I'm having trouble setting up macros. You can help me? Three sources are set up in one scene. I turn off one source with a hot key. How can I make this source visible again after 10 seconds?

---

My answer is to change that hotkey to trigger a macro instead, and that's all it does.  The macro then disables the source, waits 10 seconds, and enables it again.  (3 actions in that order)


----------



## ExtraBulla (Oct 24, 2022)

Hi there. I just upgraded OBS to 28.0.3 (Windows 10). Installed the plug in but it doesn't show up under the Tools tab. Installed a couple of times, rebooted the computer and still it doesn't show up. 

12:35:01.010: CPU Name: AMD Ryzen 7 3700X 8-Core Processor             
12:35:01.010: CPU Speed: 3593MHz
12:35:01.010: Physical Cores: 8, Logical Cores: 16
12:35:01.010: Physical Memory: 32694MB Total, 26659MB Free
12:35:01.010: Windows Version: 10.0 Build 19043 (release: 2009; revision: 2130; 64-bit)
12:35:01.010: Running as administrator: false
12:35:01.010: Aero is Enabled (Aero is always on for windows 8 and above)
12:35:01.010: Windows 10/11 Gaming Features:
12:35:01.010:     Game DVR: On
12:35:01.010:     Game Mode: Probably On (no reg key set)
12:35:01.011: Sec. Software Status:
12:35:01.012:     Microsoft Defender Antivirus: enabled (AV)
12:35:01.013:     Windows Firewall: enabled (FW)
12:35:01.013: Current Date/Time: 2022-10-24, 12:35:01
12:35:01.013: Browser Hardware Acceleration: true
12:35:01.013: Hide OBS windows from screen capture: false
12:35:01.013: Qt Version: 6.3.1 (runtime), 6.3.1 (compiled)
12:35:01.013: Portable mode: false
12:35:01.804: OBS 28.0.3 (64-bit, windows)
12:35:01.804: ---------------------------------
12:35:01.805: ---------------------------------
12:35:01.805: audio settings reset:
12:35:01.805:     samples per sec: 44100
12:35:01.805:     speakers:        2
12:35:01.805:     max buffering:   1044 milliseconds
12:35:01.805:     buffering type:  dynamically increasing
12:35:01.805: ---------------------------------
12:35:01.805: Initializing D3D11...
12:35:01.805: Available Video Adapters: 
12:35:01.807:     Adapter 0: AMD Radeon RX 5600 XT
12:35:01.807:       Dedicated VRAM: 2105409536
12:35:01.807:       Shared VRAM:    4256456704
12:35:01.807:       PCI ID:         1002:731f
12:35:01.807:       Driver Version: 30.0.13023.4001
12:35:01.807:       output 0:
12:35:01.807:         name=TOSHIBA-TV
12:35:01.807:         pos={0, 0}
12:35:01.807:         size={3840, 2160}
12:35:01.807:         attached=true
12:35:01.807:         refresh=59
12:35:01.807:         space=RGB_FULL_G22_NONE_P709
12:35:01.807:         sdr_white_nits=80
12:35:01.807:         nit_range=[min=0.070000, max=351.000000, max_full_frame=351.000000]
12:35:01.810: Loading up D3D11 on adapter AMD Radeon RX 5600 XT (0)
12:35:01.832: D3D11 loaded successfully, feature level used: b000
12:35:01.832: DXGI increase maximum frame latency success
12:35:01.832: D3D11 GPU priority setup failed (not admin?)
12:35:02.983: ---------------------------------
12:35:02.983: video settings reset:
12:35:02.983:     base resolution:   1280x720
12:35:02.983:     output resolution: 1280x720
12:35:02.983:     downscale filter:  Lanczos
12:35:02.983:     fps:               30/1
12:35:02.983:     format:            NV12
12:35:02.983:     YUV mode:          Rec. 709/Partial
12:35:02.984: NV12 texture support enabled
12:35:02.984: P010 texture support not available
12:35:02.988: Audio monitoring device:
12:35:02.988:     name: VoiceMeeter VAIO3 Input (VB-Audio VoiceMeeter VAIO3)
12:35:02.988:     id: {0.0.0.00000000}.{4b3a68e8-9d54-4631-8bf9-e17f024a1b2b}
12:35:02.988: ---------------------------------
12:35:02.998: No AJA devices found, skipping loading AJA UI plugin
12:35:02.998: Failed to initialize module 'aja-output-ui.dll'
12:35:03.006: No AJA devices found, skipping loading AJA plugin
12:35:03.006: Failed to initialize module 'aja.dll'
12:35:03.006: Skipping module '../../obs-plugins/64bit/chrome_elf.dll', not an OBS plugin
12:35:03.009: [CoreAudio encoder]: CoreAudio AAC encoder not installed on the system or couldn't be loaded
12:35:03.010: Failed to load 'en-US' text for module: 'decklink-captions.dll'
12:35:03.012: Failed to load 'en-US' text for module: 'decklink-output-ui.dll'
12:35:03.015: A DeckLink iterator could not be created.  The DeckLink drivers may not be installed
12:35:03.015: Failed to initialize module 'decklink.dll'
12:35:03.017: [Downstream Keyer] loaded version 0.2.5
12:35:03.225: [AMF] Version 2.7.0 loaded (Compiled: 1.4.14.0, Runtime: 1.4.22.0, Library: 1;4;22;0;21.30.25.05;202110051216;CL#2364427).
12:35:03.256: [AMF] <Id: 1> Unable to set converter transfer characteristic, error AMF_NOT_FOUND (code 11)
12:35:03.290: [AMF] <Id: 2> Unable to set converter transfer characteristic, error AMF_NOT_FOUND (code 11)
12:35:03.294: [AMF] [Capability Manager] Testing Direct3D 11 Adapter 'AMD Radeon RX 5600 XT (VEN_1002/DEV_731f/SUB_51221849/REV_00ca)':
12:35:03.294:   H264/AVC: Supported
12:35:03.294:   H265/HEVC: Supported
12:35:03.294: 
12:35:03.315: Skipping module '../../obs-plugins/64bit/libcef.dll', not an OBS plugin
12:35:03.316: Skipping module '../../obs-plugins/64bit/libEGL.dll', not an OBS plugin
12:35:03.317: Skipping module '../../obs-plugins/64bit/libGLESv2.dll', not an OBS plugin
12:35:03.319: [Move Transition] loaded version 2.5.8
12:35:03.371: [obs-browser]: Version 2.18.5
12:35:03.371: [obs-browser]: CEF Version 103.0.5060.134 (runtime), 103.0.0-5060-shared-textures.2591+g4204d54+chromium-103.0.5060.134 (compiled)
12:35:03.525: [noise suppress]: NVIDIA RTX denoiser disabled, redistributable not found
12:35:03.527: [NVIDIA RTX VIDEO FX]: FX disabled, redistributable not found.
12:35:03.822: [obs-websocket] [obs_module_load] you can haz websockets (Version: 5.0.1 | RPC Version: 1)
12:35:03.822: [obs-websocket] [obs_module_load] Qt version (compile-time): 6.3.1 | Qt version (run-time): 6.3.1
12:35:03.822: [obs-websocket] [obs_module_load] Linked ASIO Version: 101201
12:35:03.839: [obs-websocket] [obs_module_load] Module loaded.
12:35:03.843: Skipping module '../../obs-plugins/64bit/obs_scene_tree_view.dll' due to possible import conflicts
12:35:03.850: [Transition Table] loaded version 0.2.5
12:35:03.852: [Virtual Cam Filter] loaded version 0.0.5
12:35:03.859: [vlc-video]: VLC 3.0.16 Vetinari found, VLC video source enabled
12:35:03.864: Failed to load 'en-US' text for module: 'win-capture-audio.dll'
12:35:03.864: [win-capture-audio] Version 2.2.2 (67e3c96)
12:35:03.869: A DeckLink iterator could not be created.  The DeckLink drivers may not be installed
12:35:03.870: No blackmagic support
12:35:03.892: ---------------------------------
12:35:03.892:   Loaded Modules:
12:35:03.892:     obs-multi-rtmp.dll
12:35:03.892:     win-wasapi.dll
12:35:03.892:     win-mf.dll
12:35:03.892:     win-dshow.dll
12:35:03.892:     win-decklink.dll
12:35:03.892:     win-capture.dll
12:35:03.892:     win-capture-audio.dll
12:35:03.892:     vlc-video.dll
12:35:03.892:     virtual-cam-filter.dll
12:35:03.892:     transition-table.dll
12:35:03.892:     text-freetype2.dll
12:35:03.892:     rtmp-services.dll
12:35:03.892:     obs-x264.dll
12:35:03.892:     obs-websocket.dll
12:35:03.892:     obs-vst.dll
12:35:03.892:     obs-transitions.dll
12:35:03.892:     obs-text.dll
12:35:03.892:     obs-qsv11.dll
12:35:03.892:     obs-outputs.dll
12:35:03.892:     obs-filters.dll
12:35:03.892:     obs-ffmpeg.dll
12:35:03.892:     obs-browser.dll
12:35:03.892:     move-transition.dll
12:35:03.892:     image-source.dll
12:35:03.892:     frontend-tools.dll
12:35:03.892:     enc-amf.dll
12:35:03.892:     downstream-keyer.dll
12:35:03.892:     decklink-output-ui.dll
12:35:03.892:     decklink-captions.dll
12:35:03.892:     coreaudio-encoder.dll
12:35:03.892: ---------------------------------
12:35:03.893: ==== Startup complete ===============================================
12:35:03.965: All scene data cleared
12:35:03.965: ------------------------------------------------
12:35:03.977: [win-wasapi: 'VM to OBS'] update settings:
12:35:03.977:     device id: {0.0.1.00000000}.{8b73cb36-92ea-442d-9935-520168e477f0}
12:35:03.977:     use device timing: 0
12:35:04.010: WASAPI: Device 'VoiceMeeter Output (VB-Audio VoiceMeeter VAIO)' [44100 Hz] initialized
12:35:04.531: [win-wasapi: 'Host Mic'] update settings:
12:35:04.531:     device id: {0.0.1.00000000}.{9e776acc-63f3-4313-94dd-ca9b0c519fb8}
12:35:04.531:     use device timing: 0
12:35:04.546: WASAPI: Device 'VoiceMeeter VAIO3 Output (VB-Audio VoiceMeeter VAIO3)' [44100 Hz] initialized
12:35:04.569: Switched to scene '=====[VOICEMEETER]'
12:35:04.576: ------------------------------------------------
12:35:04.576: Loaded scenes:
12:35:04.576: - scene '--<OPEN SLATE>--':
12:35:04.576:     - source: 'Slate' (image_source)
12:35:04.576: - scene '--<CITIES SKYLINES MAIN>--':
12:35:04.576:     - source: '=====[VOICEMEETER]' (scene)
12:35:04.576:     - source: 'Star BKG' (image_source)
12:35:04.576:     - source: '=====[C:S GAME WINDOW]' (scene)
12:35:04.576:     - source: '=====[RESTREAM CHAT]' (scene)
12:35:04.576:     - source: '=====[BOTTOM SCROLL]' (scene)
12:35:04.576:     - source: 'EB Gaming Logo' (image_source)
12:35:04.576:     - source: 'CS Logo' (image_source)
12:35:04.576:     - source: 'INN Logo' (image_source)
12:35:04.576: - scene '=====[C:S GAME WINDOW]':
12:35:04.576:     - source: 'Cities Skylines' (game_capture)
12:35:04.576:     - source: 'CS Audio' (audio_capture)
12:35:04.576:         - monitoring: monitor and output
12:35:04.576: - scene '=====[RESTREAM CHAT]':
12:35:04.576:     - source: 'Color Source' (color_source_v3)
12:35:04.576:     - source: 'Chat Box' (browser_source)
12:35:04.576: - scene '=====[BOTTOM SCROLL]':
12:35:04.576:     - source: 'Image' (image_source)
12:35:04.576:     - source: 'Scroll Bkg' (image_source)
12:35:04.576:     - source: 'Scroll Text' (text_gdiplus_v2)
12:35:04.576:         - filter: 'Scroll' (scroll_filter)
12:35:04.576: - scene '=====[VOICEMEETER]':
12:35:04.576:     - source: 'Host Mic' (wasapi_input_capture)
12:35:04.576:     - source: 'VM to OBS' (wasapi_input_capture)
12:35:04.576: ------------------------------------------------

Any help is appreciated. Thanks!


----------



## ded_12 (Oct 24, 2022)

AaronD said:


> Google Translate с автоматически определяемого русского языка (я понятия не имею, точен ли он):
> 
> Привет! У меня проблемы с настройкой макросов. Вы можете мне помочь? В одной сцене настраиваются три источника. Выключаю один источник горячей клавишей. Как я могу снова сделать этот источник видимым через 10 секунд?
> 
> ...


Можете ли вы показать мне, как его настроить?


----------



## Warmuptill (Oct 24, 2022)

Redolent Thought said:


> Warmuphill: You helped me out a few pages/months ago here - and now, none of those steps are working. Everything is updated and shows up in Tools... Am I supposed to check off something to get anything to actually work?  The custom hotkeys show up as options, but they simply don't work now...
> 
> Switching and previous-scene switching aren't working.... and the sources on/off with hotkey, etc.
> 
> Am I missing just clicking a box somewhere?


Sorry if that is an obvious question, but Is the plugin running?
You can check if it is active on the General tab / the status dock.
(See first red arrow)

If it is indeed active can you please enable verbose logging (second red arrow), reproduce the problem, and finally share the corresponding OBS log file?








ExtraBulla said:


> Hi there. I just upgraded OBS to 28.0.3 (Windows 10). Installed the plug in but it doesn't show up under the Tools tab. Installed a couple of times, rebooted the computer and still it doesn't show up.
> 
> 12:35:01.010: CPU Name: AMD Ryzen 7 3700X 8-Core Processor
> 12:35:01.010: CPU Speed: 3593MHz
> ...


Can you please try to manually install the plugin by placing the files from this archive advanced-scene-switcher-windows-x64.zip into your OBS installation directory? (E.g. `C:\Program Files\obs-studio`)



thegamingstig said:


> You mean export my advanced scene switcher? See attached. It was all my macros that weren't working at the time.
> 
> When my obs crashed (audio hz issue) and restart, all of my macros were not running despite the plugin was active. Tried rebooting my pc or reinstall the plugin but it didn't work. It would only run when I click the "run macro" button, which let me to believe all my macros were in a stop status. I had to go into each of my macros and click the run macro button while the plugin was active, which fixed everything


That seems really strange.
The "Run macro" button is only intended to be used to be able to test macro actions.
It does not affect whether or not a macro is "active" or not.

The only way to deactivate a macro is to use the checkboxes to the left of the macro names, highlighted below:



Their status will also update if a macro is paused e.g. via a hotkey / some other macro.

Are you able to reproduce the problem?
If so can you please share an OBS log with verbose logging enabled?
(See screenshot above on how to enable verbose logging)

So I don't think the solution to your problem would be adding some sort of indicator widget but to understand in what situation the plugin is after the crash.

Could it be that maybe the "WorkProfile" or "BlankProfile" macros were triggered and thus a different set of macros were loaded as the scene collection was changed?


----------



## Warmuptill (Oct 24, 2022)

ded_12 said:


> Можете ли вы показать мне, как его настроить?


Maybe something similar to this will work for you?


----------



## ExtraBulla (Oct 24, 2022)

Warmuptill said:


> Sorry if that is an obvious question, but Is the plugin running?
> You can check if it is active on the General tab / the status dock.
> (See first red arrow)
> 
> ...


I tried manually installing it and still get the same problem. No error message but still not showing up under Tools.


----------



## ded_12 (Oct 24, 2022)

Warmuptill said:


> Может быть, что-то подобное вам подойдет?
> View attachment 87955


Большое спасибо! Очень помог!


----------



## Warmuptill (Oct 24, 2022)

ExtraBulla said:


> I tried manually installing it and still get the same problem. No error message but still not showing up under Tools.


Can you share a log after attempting to manually install it?
Where is your obs installed?


----------



## ExtraBulla (Oct 24, 2022)

Warmuptill said:


> Can you share a log after attempting to manually install it?
> Where is your obs installed?


It's installed here D:\obs-studio
I attached the log.


----------



## Si5584 (Oct 24, 2022)

Warmuptill said:


> Can you please share an OBS log file?
> 
> Can you please also share an OBS log file?
> It seems that MacOS is quarantining the plugin for some reason, so you might have to undo that using the terminal.
> ...



Is this what you require?



			https://obsproject.com/logs/ULJ3HbY3BryfBRbf


----------



## Warmuptill (Oct 24, 2022)

ExtraBulla said:


> It's installed here D:\obs-studio
> I attached the log.


Unfortunately, there is still no indication of the plugin being even attempted to be loaded.
So OBS cannot even see the plugin files.

Can you check if the file `D:\obs-studio\obs-plugins\64bit\advanced-scene-switcher.dll` actually exists?



Si5584 said:


> Is this what you require?
> 
> 
> 
> https://obsproject.com/logs/ULJ3HbY3BryfBRbf


Yes, thank you.

You have installed the "arm64" variant but seem to be running the x86_64 version of OBS.
Please either use advanced-scene-switcher-macos-universal.pkg or advanced-scene-switcher-macos-x86_64.pkg instead.


----------



## ExtraBulla (Oct 24, 2022)

Warmuptill said:


> Unfortunately, there is still no indication of the plugin being even attempted to be loaded.
> So OBS cannot even see the plugin files.
> 
> Can you check if the file `D:\obs-studio\obs-plugins\64bit\advanced-scene-switcher.dll` actually exists?
> ...


Yes it's in there.


----------



## Si5584 (Oct 24, 2022)

Warmuptill said:


> Unfortunately, there is still no indication of the plugin being even attempted to be loaded.
> So OBS cannot even see the plugin files.
> 
> Can you check if the file `D:\obs-studio\obs-plugins\64bit\advanced-scene-switcher.dll` actually exists?
> ...


Thanks, all sorted. I had tried the other versions previously but I have done that again with x86 and all working now. I think I had to run the terminal commands.

Thanks again,

Si.


----------



## ExtraBulla (Oct 24, 2022)

ExtraBulla said:


> Yes it's in there.
> View attachment 87957


I found the problem on my end. Turns out I had a separate older vision I was working with. Anyway, it works fine and thanks for the help!


----------



## thegamingstig (Oct 24, 2022)

I had previously experiment "pause/unpause/run/stop" macros action. Pause/unpause appears check/uncheck the checkbox. When I tried using stop on macros, It stopped the macro permanently and not work again (just like when I use pause) - but checkbox remains check.

I haven't been able to reproduce the problem. But I will enable the verbose logging from now on.

The workprofile or blankprofile weren't trigger. I would know visually since both those profiles do not have platform server logins like my streamingprofile, and the have different sources, scenes, and plugin profiles.


----------



## CodeYan (Oct 25, 2022)

thegamingstig said:


> I had previously experiment "pause/unpause/run/stop" macros action. Pause/unpause appears check/uncheck the checkbox. When I tried using stop on macros, It stopped the macro permanently and not work again (just like when I use pause) - but checkbox remains check.
> 
> I haven't been able to reproduce the problem. But I will enable the verbose logging from now on.
> 
> The workprofile or blankprofile weren't trigger. I would know visually since both those profiles do not have platform server logins like my streamingprofile, and the have different sources, scenes, and plugin profiles.


Stop macro is not supposed to uncheck the checkbox. It's meant to be used to stop or "cancel" a macro that is currently executing. Pause macro pauses the evaluation of conditions. Meaning, if a macro is already executing, and you pause it, the macro will continue to execute, but will no longer execute again because the conditions will not be evaluated until you unpause it.


----------



## CodeYan (Oct 26, 2022)

@Warmuptill I installed the latest commit build so I can test the date macro, and the time issue is indeed fixed. However, my last macro condition doesn't work because it's 23:49 to 00:00, and it seems like it encompasses the whole day, rather than just 11 minutes. I can't type 24:00 for the second field so I can't do this, other than make it 23:59:59, but this is still a limitation. Like, what if I wanted the range to be 23:50 to 00:10?

Also, side note, maybe you can also add "Between" to simple settings?




As always, thank you for your work!


----------



## Warmuptill (Oct 26, 2022)

CodeYan said:


> @Warmuptill I installed the latest commit build so I can test the date macro, and the time issue is indeed fixed. However, my last macro condition doesn't work because it's 23:49 to 00:00, and it seems like it encompasses the whole day, rather than just 11 minutes. I can't type 24:00 for the second field so I can't do this, other than make it 23:59:59, but this is still a limitation. Like, what if I wanted the range to be 23:50 to 00:10?


Good point.
I have attempted to change behaviour when using the "between" option in combination with ignoring the date component.
A build will be available here in a few minutes:








						Add special handling for the "between" case when ignoring the date · WarmUpTill/SceneSwitcher@ad973d3
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				






CodeYan said:


> Also, side note, maybe you can also add "Between" to simple settings?


This will face the same problem as above but worse (due to relying on week days instead of specific dates) so I would like to keep the simple settings as is.


----------



## CodeYan (Oct 26, 2022)

Warmuptill said:


> Good point.
> I have attempted to change behaviour when using the "between" option in combination with ignoring the date component.
> A build will be available here in a few minutes:
> 
> ...


Tried it by changing my time zone, well, the range 23:49 to 00:10 works for 23:49 to 00:00, but it no longer returned true after that. It's probably because it already changed dates, and so it now checked for 23:49 of the next day. I guess such time range is not possible, other than to split it into 2 conditions? Now i'm not sure how this should be handled in the UI.

As for not including it in simple settings, that's fine, thanks.


----------



## Redolent Thought (Oct 26, 2022)

Warmuptill said:


> Sorry if that is an obvious question, but Is the plugin running?
> You can check if it is active on the General tab / the status dock.
> (See first red arrow)
> 
> ...


----------



## Ben Anderson (Oct 27, 2022)

Is it possible to have a trigger based on an audio's muted/unmuted state that then triggers an action? Currently you can change an audio source as an action but not as a trigger.
An example is I want to make that if a particular audio source is unmuted, it then triggers a source - set settings.


----------



## CodeYan (Oct 27, 2022)

Ben Anderson said:


> Is it possible to have a trigger based on an audio's muted/unmuted state that then triggers an action? Currently you can change an audio source as an action but not as a trigger.
> An example is I want to make that if a particular audio source is unmuted, it then triggers a source - set settings.


Yes, you can, see example screenshot below.



If you don't see these options, update the plugin.


----------



## Ben Anderson (Oct 27, 2022)

Thanks for the quick reply.
Oh wow, how have I missed those options. Cheers!


----------



## Warmuptill (Oct 27, 2022)

CodeYan said:


> Tried it by changing my time zone, well, the range 23:49 to 00:10 works for 23:49 to 00:00, but it no longer returned true after that. It's probably because it already changed dates, and so it now checked for 23:49 of the next day. I guess such time range is not possible, other than to split it into 2 conditions? Now i'm not sure how this should be handled in the UI.
> 
> As for not including it in simple settings, that's fine, thanks.


Ah you are right.
I will now also try to shift the date into the past by 24h and checking if that matches to handle this case. 








						Add special handling for the "between" case when ignoring the date · WarmUpTill/SceneSwitcher@452edad
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				




Btw. thank you very much for adding the wiki entry! :)


----------



## nublet (Oct 28, 2022)

Hey there, I'm trying to make it so audio plays as a text file which contains captions is edited.
My issues after various attempts are that, depending on how short or long the file is, the sound effect is too short or long.
If I say "Hello", it could play a whole 5 seconds of dialogue effects.
When I try shorter sounds, it ends up too short for longer sentences.

Here is a video to see what I've been attempting
https://drive.google.com/file/d/1lHvwQaX8FXo_fCmRqbSLzMvuSZ_MLwRf/view

Currently, I have it set up as

*[If] [File]*
Content of *[local file] [captions.txt] [modification date changed]

[And not] [File]*
Content of *[local file] [captions.txt] [matches]*
^%

*[Media]
[Play] [Sound Effect]*

Is it possible to have the sound play based on the length of words as they are added to the file?


----------



## CodeYan (Oct 28, 2022)

Warmuptill said:


> I will now also try to shift the date into the past by 24h and checking if that matches to handle this case.


Ooooh! That's nice, thank you!

You're welcome for the wiki entry! I actually wanted to apologize as well for suggesting the wiki and then not contributing


----------



## Warmuptill (Oct 29, 2022)

nublet said:


> Hey there, I'm trying to make it so audio plays as a text file which contains captions is edited.
> My issues after various attempts are that, depending on how short or long the file is, the sound effect is too short or long.
> If I say "Hello", it could play a whole 5 seconds of dialogue effects.
> When I try shorter sounds, it ends up too short for longer sentences.
> ...


You could try to check for the length of the file contents using regular expressions and thus choose to play longer or shorter sound effects.
For example the following expression will match if the file content is between 5 and 10 characters.






This one will match if the file contains 11 or more characters.





Hope that helps!


----------



## lil_broto (Oct 29, 2022)

I'm having trouble with the plugin. 
This is what it looks like when i open it through obs. I also was trying to reinstall it so i can see if it will solve but i can't find it on my computer to remove.


----------



## AaronD (Oct 29, 2022)

lil_broto said:


> I'm having trouble with the plugin.
> This is what it looks like when i open it through obs. I also was trying to reinstall it so i can see if it will solve but i can't find it on my computer to remove.
> View attachment 88125


That's a different plugin with a similar name.  "Automatic" vs. "Advanced".


----------



## lil_broto (Oct 29, 2022)

AaronD said:


> That's a different plugin with a similar name.  "Automatic" vs. "Advanced".


Oh i didn't even noticed the name, thanks.


----------



## serenmew (Oct 30, 2022)

When adding a macro to adjust transformation of a scene item, if there are two of the same object (references) I can select single instances of them with the drop down (all, .1, .2 etc). However when you have anything but 1 selected, upon restarting obs it seems to default to 1.


----------



## Shaggedy (Nov 1, 2022)

Hi, having a problem with the plugin crashing OBS when I try to actually click on any of my macros in the macro menu. OBS is fully up to date, latest version of the plugin. It works fine, the macros trigger according to their conditions while OBS is running. I can even open the macro menu to the default page. But when I click any of the macros in the list the entirety of OBS hangs. Not sure what I've done to create this behaviour and any help would be really appreciated.


----------



## Warmuptill (Nov 1, 2022)

Shaggedy said:


> Hi, having a problem with the plugin crashing OBS when I try to actually click on any of my macros in the macro menu. OBS is fully up to date, latest version of the plugin. It works fine, the macros trigger according to their conditions while OBS is running. I can even open the macro menu to the default page. But when I click any of the macros in the list the entirety of OBS hangs. Not sure what I've done to create this behaviour and any help would be really appreciated.


Can you please export the settings you are currently using to a file on the General tab and share it with me?


----------



## Warmuptill (Nov 1, 2022)

serenmew said:


> When adding a macro to adjust transformation of a scene item, if there are two of the same object (references) I can select single instances of them with the drop down (all, .1, .2 etc). However when you have anything but 1 selected, upon restarting obs it seems to default to 1.


Thank you very much for pointing that out.
A build with a fix will be available here in a few minutes:








						Fix scene item selection not saving index · WarmUpTill/SceneSwitcher@5c5480a
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				



You will have to be logged into GitHub to be able to download it.
If that is an issue for you let me know and I will share it somewhere else.


----------



## Shaggedy (Nov 1, 2022)

Warmuptill said:


> Can you please export the settings you are currently using to a file on the General tab and share it with me?


Here you go.


----------



## Warmuptill (Nov 1, 2022)

Shaggedy said:


> Here you go.


Thank you!
I cannot see any obvious issues in the settings themselves and cannot see the problem when importing the settings.
So maybe the problem in the scene switcher is somehow triggered to one of the sources the plugin is interacting with.

Does the freeze also happen if you stop the plugin first before interacting the the macros?


----------



## Shaggedy (Nov 1, 2022)

Warmuptill said:


> Thank you!
> I cannot see any obvious issues in the settings themselves and cannot see the problem when importing the settings.
> So maybe the problem in the scene switcher is somehow triggered to one of the sources the plugin is interacting with.
> 
> Does the freeze also happen if you stop the plugin first before interacting the the macros?


Yep. Stopped the plugin and restarted OBS to make sure the change took effect. Still freezes. 

Actually experimenting with it a bit more, I can click on any of the "empty" macros I have added to use as separators, as well as the final real macro in the list and not freeze the program, but anything else causes the freeze. I can only assume it has something to do with the way I've constructed the macros to monitor certain sources or interact with each other.


----------



## CodeYan (Nov 1, 2022)

I experience this freezing with macros that have many macro conditions and actions. Won't really crash obs, but will take a good few seconds till it finishes loading the macro widgets. I have one macro with 24 date conditions and it does take a while to load.


----------



## attaboyBrad (Nov 2, 2022)

For the life of me, I can't get a window or process to trigger if 'Focused' is checked.  They trigger fine on 'exists' or 'is running', respectively.  I'm running OBS 28.1 on a Mac Studio running Ventura.

Seems like I must be missing something right in front of me... 

I've attached an export of my settings in case that helps somebody point me in the right direction.


----------



## Warmuptill (Nov 2, 2022)

attaboyBrad said:


> For the life of me, I can't get a window or process to trigger if 'Focused' is checked.  They trigger fine on 'exists' or 'is running', respectively.  I'm running OBS 28.1 on a Mac Studio running Ventura.
> 
> Seems like I must be missing something right in front of me...
> 
> I've attached an export of my settings in case that helps somebody point me in the right direction.


On MacOS the "focus" check is relying on the window title to match the provided pattern.
So to match the OBS window you could use the following options:





If that is too limiting, as the window title might change when switching profiles, you can use a regular expression similar to this one:





For the Zoom example I think you can just leave it as is, as the process name and window name seem to be the same (at least in my limited testing):





Unfortunately I am not familiar with the other applications mentioned in your settings, so I cannot give examples for those.
Hope that helps!


----------



## attaboyBrad (Nov 2, 2022)

Warmuptill said:


> On MacOS the "focus" check is relying on the window title to match the provided pattern.
> So to match the OBS window you could use the following options:
> 
> View attachment 88269
> ...


I appreciate the suggestions! I tried them all, but unfortunately they didn't solve the issue as the window/process titles are already exact (tried both typing in manually and selecting from dropdown list).  I had a mix of windows and processes in my settings because I was A/B testing trying to figure out why nothing worked once I checked "focused" (or any of the other window options like fullscreen, etc).

It sounds like I'm correct in assuming that "focused" means "the foreground window that's currently being interacted with".  Is there perhaps some permissions issue where Advanced Scene Switcher cannot access the Window titles?  Is there a way I can see what the program thinks is currently in focus? 

It's strange that the app seems to detect that all of the windows/processes I've tried exist, but can't trigger with any of the options selected.  I wonder if it has anything to do with how the "Color Picker" in OBS filters can't access anything outside its own window... Then again, foreground app based triggers seem to work fine with 'Automatic Scene Switcher' so the issue seems limited to 'Advanced Scene Switcher'.

All other triggers seem to work fine: cursor, idle, plugin state, virtual camera, scene item visibility, file, etc.


----------



## FabioCarpi (Nov 3, 2022)

i cant change time config... the tab sont shows


----------



## Warmuptill (Nov 3, 2022)

FabioCarpi said:


> i cant change time config... the tab sont shows


You can reenable the old tabs by using this checkbox:


----------



## Warmuptill (Nov 3, 2022)

attaboyBrad said:


> I appreciate the suggestions! I tried them all, but unfortunately they didn't solve the issue as the window/process titles are already exact (tried both typing in manually and selecting from dropdown list).  I had a mix of windows and processes in my settings because I was A/B testing trying to figure out why nothing worked once I checked "focused" (or any of the other window options like fullscreen, etc).
> 
> It sounds like I'm correct in assuming that "focused" means "the foreground window that's currently being interacted with".  Is there perhaps some permissions issue where Advanced Scene Switcher cannot access the Window titles?  Is there a way I can see what the program thinks is currently in focus?
> 
> ...


I will add the option to display the current foreground window or process name when the focus option is enabled.
Unfortunately I won't be able to finish this today.
I will send you the the link to the build tomorrow.


----------



## Warmuptill (Nov 4, 2022)

@attaboyBrad a build with the functionality to display the current foreground window name / foreground process name is available here on GitHub:








						Improve focus handling · WarmUpTill/SceneSwitcher@c33eb80
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				



Note that you have to be logged into GitHub to be able to download it - let me know if that should be an issue.

The name of current foreground the window / process will be displayed if the focus option is selected:









I am very interested in what is being shown there on your end.
Let me know if you have any questions! :)


----------



## KiraRedpaw (Nov 4, 2022)

Hey, I am having an issue with the new Advanced Scene Switcher and OBS 28.1.0. The old OBS 27.x.x would run my macro but the new advanced scene switcher will not.

The scene switch should come when the audio track of my choice is finished playing and the volume of that track is below 10% for 10 seconds then the scene switches to me scene labeled Gaming, but it never switches. What am I doing wrong?


----------



## AaronD (Nov 4, 2022)

KiraRedpaw said:


> Hey, I am having an issue with the new Advanced Scene Switcher and OBS 28.1.0. The old OBS 27.x.x would run my macro but the new advanced scene switcher will not.
> 
> The scene switch should come when the audio track of my choice is finished playing and the volume of that track is below 10% for 10 seconds then the scene switches to me scene labeled Gaming, but it never switches. What am I doing wrong?


That screenshot shows *Above* 10%.  Unless your Starting Music is shorter than 10 seconds, that should have switched way too early.  I assume you've fixed that already?

This might be one for Warmuptill: Do the audio conditions still match when the source is finished?  (not playing = 0% volume, and the conditions continue to work normally with that)  If they don't, then it could mean that the Audio condition can't work for what you're doing.

If you want to trigger on the end of a media file, I'd use the Media condition anyway, not the Audio one.  Tell it directly what you want; try to avoid "proxy conditions".  If it's a streaming source that doesn't really have an end, but does indeed send you silence, then the Audio condition would be the way to go.


----------



## KiraRedpaw (Nov 4, 2022)

AaronD said:


> That screenshot shows *Above* 10%.  Unless your Starting Music is shorter than 10 seconds, that should have switched way too early.  I assume you've fixed that already?
> 
> This might be one for Warmuptill: Do the audio conditions still match when the source is finished?  (not playing = 0% volume, and the conditions continue to work normally with that)  If they don't, then it could mean that the Audio condition can't work for what you're doing.
> 
> If you want to trigger on the end of a media file, I'd use the Media condition anyway, not the Audio one.  Tell it directly what you want; try to avoid "proxy conditions".


Havent changed anything, music is 4:00 long and the first 10 seconds is silence.

when the song is over the audio is at 0% yes.

Also I have 3 macros based on audio and none of them work.


----------



## KiraRedpaw (Nov 4, 2022)

KiraRedpaw said:


> Havent changed anything, music is 4:00 long and the first 10 seconds is silence.
> 
> when the song is over the audio is at 0% yes.
> 
> Also I have 3 macros based on audio and none of them work.


Also I'm trying the media option. Streaming right now so I'll let you know if that works.

Thanks


----------



## AaronD (Nov 4, 2022)

KiraRedpaw said:


> Havent changed anything, music is 4:00 long and the first 10 seconds is silence.
> 
> when the song is over the sudio is at 0% yes.


The **meter** says 0%, but that doesn't necessarily mean that the conditions are still running.  It could be that the meter updates and the conditions run on every new sample or block of samples, so that if there are no more samples (end of file), nothing happens.  So the meter shows whatever the last few ms was (which is usually low), and no condition works because they're not even running.  I don't actually *know* that that's the case here, but it's definitely a possibility without digging through the code to look.

If you haven't changed anything, then you should have switched about 10 seconds into the music, not 10 seconds after the end.  (well, 10 seconds after the volume exceeded 10%, which should be almost always for a decently-produced track)  If you didn't, then there's something else going on, and it doesn't matter (yet) whether the conditions continue to run or not after the file is over.


----------



## KiraRedpaw (Nov 5, 2022)

AaronD said:


> The **meter** says 0%, but that doesn't necessarily mean that the conditions are still running.  It could be that the meter updates and the conditions run on every new sample or block of samples, so that if there are no more samples (end of file), nothing happens.  So the meter shows whatever the last few ms was (which is usually low), and no condition works because they're not even running.  I don't actually *know* that that's the case here, but it's definitely a possibility without digging through the code to look.
> 
> If you haven't changed anything, then you should have switched about 10 seconds into the music, not 10 seconds after the end.  (well, 10 seconds after the volume exceeded 10%, which should be almost always for a decently-produced track)  If you didn't, then there's something else going on, and it doesn't matter (yet) whether the conditions continue to run or not after the file is over.


Yeah nothing is happening, here are all my macros in the attachments. I had all of these working in the old version of Advanced Scene Switcher before the big OBS update.

Start is suppose to switch scene from Stream Starting to Gaming Using the macro "Start"

I click starting stream in Obs and Play the starting music literally called "Starting music". The first 10 seconds of the song has no sound but I guess with the media function I can just choose to scene switch at the end of the song? 

Anyways it doesn't work. Check the screen capture and tell me what I am doing wrong. 

The second macro Ending Is suppose to switch the scenes from "Stream Credits" (Which Is the scene the obs would be currently playing) to "Stream End" after 10 seconds after Ending music has finished. I just testing the macro which I have a screenshot attached and it doesn't work. Any ideas?

And even the last Macro doesn't work. Simply when the scene switches to the scene "Stream End" it is suppose to end the stream but it does nothing. is the plugin broken?


----------



## AaronD (Nov 5, 2022)

KiraRedpaw said:


> Yeah nothing is happening, here are all my macros in the attachments. I had all of these working in the old version of Advanced Scene Switcher before the big OBS update.
> 
> Start is suppose to switch scene from Stream Starting to Gaming Using the macro "Start"
> 
> ...


Hmm...  I think those screenshots should work.  What does your General tab look like?


----------



## AwakenedCloud (Nov 5, 2022)

KiraRedpaw said:


> Yeah nothing is happening, here are all my macros in the attachments. I had all of these working in the old version of Advanced Scene Switcher before the big OBS update.
> 
> Start is suppose to switch scene from Stream Starting to Gaming Using the macro "Start"
> 
> ...



This will sound dumb, but make sure you set it to Stream Switcher to active in the general tab. I finally updated mine to be compatible with OBS 28 and forgot this had to be switched to on for anything to work.


----------



## NorthernGambit (Nov 5, 2022)

I installed the new version for obs 28 without exporting my old macros, is there a way to get them back or is everything over written?


----------



## AaronD (Nov 5, 2022)

NorthernGambit said:


> I installed the new version for obs 28 without exporting my old macros, is there a way to get them back or is everything over written?





Warmuptill said:


> The settings are saved as part of the scene collection.
> I assume what happened is that you updated to OBS 28, the plugin failed to load, and you closed OBS, causing OBS to overwrite the scene collection data without any data of the advanced scene switcher.
> 
> If you have backed up your scene collection data or exported your settings to a file previously you can use those files to restore the settings.


Is there a FAQ for things like this?

Where did all my settings go?!  I updated and the tabs are all gone!  (uncheck the box on the General tab)
Where did all my settings go?!  I updated and they're all wiped out!  (see quote above, though you really need to know that BEFORE you update to v28!)
How do I get some common useful behaviors?
Etc.


----------



## serenmew (Nov 5, 2022)

Warmuptill said:


> Thank you very much for pointing that out.
> A build with a fix will be available here in a few minutes:
> 
> 
> ...


Works fantastic thank you so much!


----------



## Warmuptill (Nov 5, 2022)

AaronD said:


> Do the audio conditions still match when the source is finished? (not playing = 0% volume, and the conditions continue to work normally with that) If they don't, then it could mean that the Audio condition can't work for what you're doing.


Yes, audio conditions also function on audio sources that are not currently playing anything.



AaronD said:


> Is there a FAQ for things like this?
> 
> Where did all my settings go?! I updated and the tabs are all gone! (uncheck the box on the General tab)
> Where did all my settings go?! I updated and they're all wiped out! (see quote above, though you really need to know that BEFORE you update to v28!)
> ...


Great idea!
I will add a wiki entry and also link it on the plugin's overview page.
Thank you very much for replying to those types of questions all the time :)

Done: https://github.com/WarmUpTill/SceneSwitcher/wiki/FAQ



KiraRedpaw said:


> And even the last Macro doesn't work. Simply when the scene switches to the scene "Stream End" it is suppose to end the stream but it does nothing. is the plugin broken?


This very much sounds like the plugin is not started.
Can you please check this on the General tab?

If you ever want to investigate if a condition is working as expected you can use the methods mentioned here to make the testing easier:








						Troubleshooting · WarmUpTill/SceneSwitcher Wiki
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com


----------



## CodeYan (Nov 5, 2022)

Hi, can you please add some functionality for automatically interacting with browser sources? The OBS API provides functions for sending mouse/key events to browser sources. See https://obsproject.com/docs/reference-sources.html#c.obs_source_send_mouse_click

Would be really helpful since I have a two browser sources set to YouTube that I have to set to full screen every time I open OBS.


----------



## Warmuptill (Nov 5, 2022)

CodeYan said:


> Hi, can you please add some functionality for automatically interacting with browser sources? The OBS API provides functions for sending mouse/key events to browser sources. See https://obsproject.com/docs/reference-sources.html#c.obs_source_send_mouse_click
> 
> Would be really helpful since I have a two browser sources set to YouTube that I have to set to full screen every time I open OBS.


Thanks for the suggestion!
I have added it to the list, but I am not sure when I will get around to it.


----------



## AaronD (Nov 5, 2022)

CodeYan said:


> ...I have a two browser sources set to YouTube that I have to set to full screen every time I open OBS.


For that specific application, does YT have an API function for that?  Probably an option to put in the URL, like there is to start at a non-zero time.
(...youtube.com/watch/<code>?t=34s to start 34 seconds into the video instead of the beginning)


----------



## attaboyBrad (Nov 6, 2022)

Warmuptill said:


> I am very interested in what is being shown there on your end.
> Let me know if you have any questions! :)


Progress! Now things seem to work properly with "Process" macros.  However, 'Window' Macros only ever show "StatusIndicator" as the current foreground window, as below.









As a practical matter, having "process" Macros working is adequate to my needs for the moment, but I thought this feedback might help you quash further bugs. Thanks so much for your help with this! Happy to test anything else if it would be helpful.


----------



## CodeYan (Nov 6, 2022)

AaronD said:


> For that specific application, does YT have an API function for that?  Probably an option to put in the URL, like there is to start at a non-zero time.
> (...youtube.com/watch/<code>?t=34s to start 34 seconds into the video instead of the beginning)


Interesting! https://www.youtube.com/watch?v=iZqoRzmtaU4 This video shows a trick make youtube auto full screen and auto play by using the embed link. Thank you!


----------



## AaronD (Nov 6, 2022)

CodeYan said:


> Interesting! https://www.youtube.com/watch?v=iZqoRzmtaU4 This video shows a trick make youtube auto full screen and auto play by using the embed link. Thank you!


Okay, I got it slightly wrong.  I was going from memory.  The video code itself is an example of a URL option.  There's only the one "watch" page, and the video code is an option.  For *any* site that uses them, not just YouTube, the first option is denoted by ?<name>=<value>, and the remaining options are &<name>=<value>.  (? for the first, & for the rest, no spaces anywhere)  Use as many as you want like that.  You just have to know the names and what values they accept.  So my example should have been ...youtube.com/watch?v=<code>&t=34s to start 34 sec in.

I wonder if this still works: ...youtube.com/watch?v=<code>&start=16&end=130&autoplay=true, or a variation of it?  (start and end are in seconds, and could be big)
They have their own snippet function now (whatever they call it), that requires an account, and then you can specify the video and two endpoints, and it provides a new random URL with no options, to play just that section anonymously.  (or you can make it private or unlisted like a regular video, but the one it refers to doesn't have to be yours)  But that requires an account, and I don't like that.  I'm sure they're using it to track the account owners' interests...


----------



## Bairespm (Nov 7, 2022)

Hi @Warmuptill  please helpme sorry for my english

if scene is A then hotkey Alt+e , this works but the same hotkey continues to be pressed and this causes me problems, how can I make it so that when I go to a scene A or B or C the Hotkey Alt+e is activated only once once and when you exit those scenes to any other the same hotkey Alt+e is activated again once. I use it as a switch with another program in windows that if it is in one of those scenes it is activated and when it exits those scenes it must be deactivated. The only way that program accepts me is by pressing the same hotkey again. How do I do it, thank you, your program is incredible.


----------



## Bairespm (Nov 7, 2022)

Bairespm said:


> Hola @Warmuptill por favor ayúdenme, lo siento por mi inglés
> 
> si la escena es A entonces tecla de acceso directo Alt+e, esto funciona pero la misma tecla de acceso directo sigue siendo presionada y esto me causa problemas, ¿cómo puedo hacer que cuando voy a una escena A o B o C la tecla de acceso directo Alt+e es se activa solo una vez y cuando sale de esas escenas a cualquier otra, la misma tecla de acceso rápido Alt + e se activa nuevamente una vez. Yo lo uso como interruptor con otro programa en windows que si esta en una de esas escenas se activa y cuando sale de esas escenas hay que desactivarlo. La única forma en que el programa me acepta es presionando la misma tecla de acceso rápido nuevamente. Como lo hago, gracias, su programa es increible.


And How since the advance scene switcher knows that this hotkey was previously pressed


----------



## Bairespm (Nov 7, 2022)

@Warmuptill


----------



## CodeYan (Nov 7, 2022)

Bairespm said:


> @Warmuptill
> View attachment 88483


You have to enable the option "Realizar acciones solo en el cambio de condicion"


----------



## Dustin D (Nov 7, 2022)

is there a way for this plugin to run an advertisement or possibly type in chat so an ad is ran?


----------



## AaronD (Nov 7, 2022)

Dustin D said:


> is there a way for this plugin to run an advertisement or possibly type in chat so an ad is ran?


If you make the ad into its own scene or source, yes.  No different from anything else at that point.

Typing in chat might require a third party app or script, that is triggered using the Run action in a macro.  That takes a single command line, that is passed to your operating system as if you typed it in a terminal, except that it necessarily inherits its environment from OBS, which is a little bit different than if you used the terminal to do it.  Absolute paths, or some trickery in a script that is called directly and then does the thing you want, are needed to break out of that...but some things work just fine regardless of their environment, so you may not have to break out.  Try it and see.


----------



## Warmuptill (Nov 7, 2022)

Bairespm said:


> Hi @Warmuptill  please helpme sorry for my english
> 
> if scene is A then hotkey Alt+e , this works but the same hotkey continues to be pressed and this causes me problems, how can I make it so that when I go to a scene A or B or C the Hotkey Alt+e is activated only once once and when you exit those scenes to any other the same hotkey Alt+e is activated again once. I use it as a switch with another program in windows that if it is in one of those scenes it is activated and when it exits those scenes it must be deactivated. The only way that program accepts me is by pressing the same hotkey again. How do I do it, thank you, your program is incredible.


You will need two separate macros:

One for the case when you enter the scene



One for the case when you leave the scene



The important thing to avoid the hotkey being pressed continuously is to check the "Perform actions only on condition change" checkbox at the top of the macro tab. (As also mentioned by @CodeYan )





Note that only pressing the key for 1 ms, as it was configured in your screenshot, _might_ be too short for some applications to notice.

Let me know if you have any questions!


----------



## Bairespm (Nov 7, 2022)

Warmuptill said:


> Necesitará dos macros separadas:
> 
> Uno para el caso cuando ingresas a la escena
> View attachment 88495
> ...


la macro para salir me muestra lo mismo exactamente igual que para entrar esta bien?

una pregunta más.
si en lugar de ser una sola escena hay varias

ejemplo
Quiero presionar ALT+A solo una vez
si la escena 1 está activa
o si la escena 2 está activa
o si la escena 3 está activa

lo mismo si salgo de las escenas que se presiona una vez si salgo de alguna de esas escenas

para agregar mas detalle..

Si la escena 1 está activa y vas a la escena 2 o a la escena 3, no vuelves a presionar ALT+A

De la misma forma, si la escena 2 está activa y vas a la escena 1 oa la escena 3, no vuelves a presionar ALT+A.

Solo si salgo de alguno de ellos es presionando ALT+A nuevamente

Muchas gracias por su tiempo en ayudarme a ambos. @Warmuptill and @CodeYan


----------



## Bairespm (Nov 7, 2022)

And is there any way to validate if the ALT+A hotkey was previously pressed before pressing it again


----------



## KiraRedpaw (Nov 8, 2022)

AwakenedCloud said:


> This will sound dumb, but make sure you set it to Stream Switcher to active in the general tab. I finally updated mine to be compatible with OBS 28 and forgot this had to be switched to on for anything to work.


Well that fixed one issue kinda but now my issue is the macro runs instantly if I hit the stop button on the music file. Because when obs starts up it starts playing the file whenever that scene is selected and if I'm not ready to hit stream starting then I have to pause/stop the music and this makes it instantly run the macro. Now how do I fix this issue?

Also if I switch to say the credits screen it instantly goes back to the gaming screen and then sometimes it will switch back then to the stream end screen. It's all $_(#&) up

I don't understand what is going on, why does it seem so broken.

I should have just stuck with obs 27 and the advanced scene switched that went with it. Never had an issue.


----------



## Warmuptill (Nov 8, 2022)

Bairespm said:


> la macro para salir me muestra lo mismo exactamente igual que para entrar esta bien?


Sorry I attached the same image twice by accident.
I have updated my previous comment.



Bairespm said:


> And is there any way to validate if the ALT+A hotkey was previously pressed before pressing it again


I would suggest to either enable the some visual guides to help you understand when which action is executed or use a different action type for testing purposes. (e.g. mute Desktop Audio / append to a file / ...)



Bairespm said:


> una pregunta más.
> si en lugar de ser una sola escena hay varias
> 
> ejemplo
> ...


I would suggest the following setup if I understood your requirements correctly:


A macro that is used to check if the current scene is either scene 1, scene 2, or scene 3.
This macro will only be used as a reference in other macros and thus will not need any actions.



A macro handling the case when entering either of the three scenes.
There we can reuse the previously created macro.



A macro handling the case when leaving either of the three scenes.
It must also be made sure that when leaving either of the three scenes the now active scene is not once again scene 1, scene 2, or scene 3.
So we can reuse the previously created macro once again.



I hope I understood your requests correctly.
Let me know if you have further questions! :)


----------



## Warmuptill (Nov 8, 2022)

KiraRedpaw said:


> Well that fixed one issue kinda but now my issue is the macro runs instantly if I hit the stop button on the music file. Because when obs starts up it starts playing the file whenever that scene is selected and if I'm not ready to hit stream starting then I have to pause/stop the music and this makes it instantly run the macro. Now how do I fix this issue?
> 
> Also if I switch to say the credits screen it instantly goes back to the gaming screen and then sometimes it will switch back then to the stream end screen. It's all $_(#&) up
> 
> ...


Depending on what type of media source you are using you have the option to not automatically start the playback if the source becomes active.





But I believe the use of media conditions was only a suggestion made as an alternative to using the audio condition type.
If you preferred that setup I don't see what would not work on OBS 28 now that the plugin is started.

Alternatively if you give more details on the restrictions in which the plugin should act and in which not I could try to help you set up macros to handle those cases (if possible).

I apologize for not being able to provide you with concrete advice to solve your problem :(


----------



## mochacon99 (Nov 8, 2022)

Advanced Scene Switcher Macro Help
I used to be able to use the Transition tab to automatically switch back and forth from “Scene 1” and “Scene 2” every 30 seconds. No longer can do that with the update. Can’t figure out how to do that with the Macros. Please help?


----------



## Warmuptill (Nov 8, 2022)

mochacon99 said:


> Advanced Scene Switcher Macro Help
> I used to be able to use the Transition tab to automatically switch back and forth from “Scene 1” and “Scene 2” every 30 seconds. No longer can do that with the update. Can’t figure out how to do that with the Macros. Please help?


I think you are referring to the old "Sequence" tab.
You can still use it if you like, but I won't add any features to it.

In case it is hidden you can show it again by unchecking this box on the General tab:





If you instead want to use macros have a look at this example:








						Automatically cycle through a list of scenes · WarmUpTill/SceneSwitcher Wiki
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com


----------



## KattPhloxworthy (Nov 8, 2022)

In re:  Websockets

Is there a good tutorial on how to communicate from one Advance Scene Switcher instance on one system to on another?  I want to send a websocket request to another OBS instance on another computer to tell it to send a hotkey to an external app on the second computer.

Thanks!

--Katt.  =^.^=


----------



## AaronD (Nov 9, 2022)

KiraRedpaw said:


> Well that fixed one issue kinda but now my issue is the macro runs instantly if I hit the stop button on the music file. Because when obs starts up it starts playing the file whenever that scene is selected and if I'm not ready to hit stream starting then I have to pause/stop the music and this makes it instantly run the macro. Now how do I fix this issue?


My first thought on that, is that you're trying to have too few scenes for what you're doing, so that the structure of each scene, and the rules to automate them, have to be too complicated to try and make the system do what you want.

It seems to work best to have a separate scene for every time you want to change something.  You end up with a lot of similar scenes that way, but the rules become a lot simpler and almost just write themselves, with little need for debugging.

Also, if you really want it to be *completely* free-form, then you really should have a serious look at using external sources, instead of doing everything inside of one instance of OBS.  For example, you might have an external app that does backgrounds(*), and bring that into OBS via screen or window capture, or via HDMI capture from a different computer altogether as if it were a camera.  Likewise for audio: use an external mixer (physical or virtual) to produce a finished soundtrack for OBS to pass through unchanged.  None of that is *absolutely* required to produce a "good" stream, but distributing the workload like that makes it a lot easier.


(*) If you like the way that OBS handles things, then you can still have this architecture of a separate producer and consumer, between two copies of OBS on the same machine.  Just modify the shortcut to use the --multi flag, run it twice, and you get two independent copies.  Set up one to feed a virtual camera, using one profile and scene collection, and the other to accept that virtual camera as a source, using a different profile and scene collection.  All of that is automatable using OBS's command-line options, so you might just have two shortcuts with different options (both including --multi), or a single shortcut could run a script instead, that forks off both processes.  (along with whatever other setup/cleanup you need to keep straight)

To see what options are available, open a terminal and run:
obs --help


----------



## Bairespm (Nov 9, 2022)

Warmuptill said:


> Sorry I attached the same image twice by accident.
> I have updated my previous comment.
> 
> 
> ...


excellent, thankssssssssss It works perfect


----------



## Warmuptill (Nov 9, 2022)

KattPhloxworthy said:


> In re:  Websockets
> 
> Is there a good tutorial on how to communicate from one Advance Scene Switcher instance on one system to on another?  I want to send a websocket request to another OBS instance on another computer to tell it to send a hotkey to an external app on the second computer.
> 
> ...


You have to configure the obs-websocket settings on the remote computer you want to execute the hotkey press on under the tools menu.



Next add a macro on the machine you want to trigger the hotkey press on similar to the following.





Then on the computer that is supposed to trigger the hotkey press on the remote OBS instance add a macro with a Websocket action sending the message to the remote machine.
In this websocket action you will also have to add a new connection with the connection details of the remote OBS instance.





Hope that helps!

For more details on the websocket action and condition have a look at this wiki entry:








						Websockets · WarmUpTill/SceneSwitcher Wiki
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com


----------



## KattPhloxworthy (Nov 10, 2022)

Warmuptill said:


> You have to configure the obs-websocket settings on the remote computer you want to execute the hotkey press on under the tools menu.
> 
> (Removed for brevity's sake
> 
> ...



Fixed one issue on the receiving side; the hotkey sequence was incorrectly formed.  It now sends the correct keystroke sequence and the intended program catches it as it should.

Now, I'm trying to figure out how to send the message to start the BGM playback.

On the sending machine, I have this as the request to the Advanced Scene Switcher process on the receiving machine:



```
{

    "d": {

        "requestData": {

            "requestData": {

                "message": "BGM"

            },

            "requestType": "AdvancedSceneSwitcherMessage",

            "vendorName": "AdvancedSceneSwitcher"

        },

        "requestId": "1",

        "requestType": "CallVendorRequest"

    },

    "op": 6

}
```

On the receiving side, I have the following as the condition to look for:


```
BGM
```

I'm basing the request on the "testing" example in the wiki entry about Websockets.

The condition on the sending machine is being triggered correctly because I see that the Websocket message count indicator in OBS's Websocket dialog increment by 1.  However, either I'm forming the request incorrectly, I'm incorrectly checking for the desired condition, but more than likely, it's a combination of both.  It must be the fact that I don't write any software that talks Websockets (plus I'm not a dev in general, actually) and likely a fundamental lack of understanding of how it works.

Any suggestions?

Thanks.

--Kat.  =^.^=


----------



## Warmuptill (Nov 10, 2022)

KattPhloxworthy said:


> Fixed one issue on the receiving side; the hotkey sequence was incorrectly formed.  It now sends the correct keystroke sequence and the intended program catches it as it should.
> 
> Now, I'm trying to figure out how to send the message to start the BGM playback.
> 
> ...


Just to clarify:
Are you using the advanced scene switcher to send the message on one machine and also the advanced scene switcher to receive the messages on the other machine?


If so you can just use the exact same message in the action on one machine and in the condition on the other machine.
You will not have to manually form the json string containing the vendor request this will be done by the plugin automatically.


If you are instead using an external tool to send this message via the "AdvancedSceneSwitcherMessage" vendor request can you give more details on what you have set up exactly?
Did you authenticate first before attempting to send out the request?


----------



## KattPhloxworthy (Nov 10, 2022)

Warmuptill said:


> Just to clarify:
> Are you using the advanced scene switcher to send the message on one machine and also the advanced scene switcher to receive the messages on the other machine?
> 
> 
> ...



It's the former at present.  I'm such a total noob at JSON (I'm more a sysadmin/netadmin here).  I'll have to mess with that and get back with you on that.

Thanks!

--Katt.  =^.^=


----------



## SWCarson (Nov 10, 2022)

I cannot get Advanced Scene Switcher to show up in the Tools menu.
I am using:
Mac with an M1 chip and MacOS 13.0
OBS 28.1.2
Latest Advanced Scene Switcher installer
I've tried both of these installers:

advanced-scene-switcher-macos-arm64.pkg
advanced-scene-switcher-macos-universal.pkg

I did try this as well:

Run command: xattr -r -d com.apple.quarantine advanced-scene-switcher.plugin
It just isn't being picked up by OBS!

Help appreciated!

Stephen


----------



## KattPhloxworthy (Nov 11, 2022)

Warmuptill said:


> Just to clarify:
> Are you using the advanced scene switcher to send the message on one machine and also the advanced scene switcher to receive the messages on the other machine?
> 
> 
> ...



UPDATE:  I set it up as an event rather than a request, sending that text as recommended with a connection going the opposite direction.  Works like a champ!  Thanks!

--Katt.  =^.^=


----------



## AaronD (Nov 11, 2022)

KattPhloxworthy said:


> UPDATE:  I set it up as an event rather than a request, sending that text as recommended with a connection going the opposite direction.  Works like a champ!  Thanks!
> 
> --Katt.  =^.^=


I might be interested in doing this, instead of the python script that I currently have to connect two instances via websockets.  The deal-maker or -breaker being the overall latency that may or may not be added by the macro scan time.  (race between a scene-change event, and the virtual camera from one being used as a source in the other)

Would you mind posting screenshots of a complete setup that works?  Thanks!


----------



## Warmuptill (Nov 11, 2022)

SWCarson said:


> I cannot get Advanced Scene Switcher to show up in the Tools menu.
> I am using:
> Mac with an M1 chip and MacOS 13.0
> OBS 28.1.2
> ...


Can you please share an OBS log?


----------



## SWCarson (Nov 12, 2022)

Warmuptill said:


> Can you please share an OBS log?







__





						Loading…
					





					obsproject.com


----------



## PsychoSek (Nov 12, 2022)

I need help setting up a random transition macro.

What I'm trying to accomplish:
When transitioning to a specific scene (my brb scene)
Use a random transition from a list of transitions

I used the "Switch scenes randomly" guide as my reference, figuring that I should be able to replace scene changes with transition changes and using the scene change as the trigger.

I think I've tried every combination of running parallel and on condition change. I tried using "scene transition override" for the "brb" scene and again using "current scene". I unchecked all of the other macros to be sure there were no conflicts.

I don't understand what I'm doing wrong here.


----------



## Warmuptill (Nov 12, 2022)

SWCarson said:


> __
> 
> 
> 
> ...


Thank you!
Seems like you are using the x86 variant of OBS but have installed the version of the plugin for arm chips.
`advanced-scene-switcher' (mach-o file, but is an incompatible architecture (have 'arm64', need 'x86_64'))`
Can you please try installing the x86 version of the plugin and share a new log?


----------



## Warmuptill (Nov 12, 2022)

PsychoSek said:


> I need help setting up a random transition macro.
> 
> What I'm trying to accomplish:
> When transitioning to a specific scene (my brb scene)
> ...


I think the issue lies in the "Random WTV" macro.

You are attempting to change the transition while a transition is already active.
This is just something that OBS does not "like" and not an issue with the logic you have set up.
In the best case nothing will happen and in the worst the transition will be aborted and you end up on the wrong scene.

Could you maybe use a different trigger to trigger the transition type to change?
For example, the "scene changed" check of the "Scene" condition could be used to change the transition type after the last scene change has completed. (Just make sure to enable the "Perform actions only on condition change")
If that is not an option can you give more details on your requirements for when the transition type should be changed?

Hope that help! :)


----------



## AaronD (Nov 12, 2022)

PsychoSek said:


> I need help setting up a random transition macro.
> 
> What I'm trying to accomplish:
> When transitioning to a specific scene (my brb scene)
> ...





Warmuptill said:


> I think the issue lies in the "Random WTV" macro.
> 
> You are attempting to change the transition while a transition is already active.
> This is just something that OBS does not "like" and not an issue with the logic you have set up.
> ...



It's amazing how often this trick comes up (add to the FAQ?):
Instead of detecting an existing action, change the existing trigger to run a macro that does both that action and the response.

In your case, it would set the transition, and then switch the scene, in the same macro.  The hotkey, or whatever trigger you used to use to switch the scene, now triggers that macro instead.


----------



## PsychoSek (Nov 12, 2022)

Warmuptill said:


> I think the issue lies in the "Random WTV" macro.
> 
> You are attempting to change the transition while a transition is already active.
> This is just something that OBS does not "like" and not an issue with the logic you have set up.
> ...


I'd essentially want to set a transition from "any scene" to "brb", but instead of setting a single specific transition, I want it to choose a transition from a set list of transitions.

It's something similar to what I think SLOBS has/had (I haven't used it in awhile), where it would let you set the transition from one specific scene to another specific scene and had an option to randomize that transition. I just wanted to limit it to a specific group of transitions and not every transition in OBS.


----------



## PsychoSek (Nov 12, 2022)

AaronD said:


> It's amazing how often this trick comes up (add to the FAQ?):
> Instead of detecting an existing action, change the existing trigger to run a macro that does both that action and the response.
> 
> In your case, it would set the transition, and then switch the scene, in the same macro.  The hotkey, or whatever trigger you used to use to switch the scene, now triggers that macro instead.


I think I understand what you mean, that makes much more sense than what I was trying to do.

Just set a hotkey of sorts for the macro instead of a scene change. The macro runs the randomizer to set the transition and then sends it to the scene. Cuts the OBS middle man out of the equation essentially.

I'll try and put it into motion this evening, as I'm too tired right now to attempt it. I'll let you know how it goes.

Thank you all for your help.


----------



## SWCarson (Nov 12, 2022)

Warmuptill said:


> Thank you!
> Seems like you are using the x86 variant of OBS but have installed the version of the plugin for arm chips.
> `advanced-scene-switcher' (mach-o file, but is an incompatible architecture (have 'arm64', need 'x86_64'))`
> Can you please try installing the x86 version of the plugin and share a new log?


Doh! I thought that by upgrading to OBS 28 I would have the Apple Silicon version.

But I used the automatic upgrade... So sounds like I just need to manually download the Apple Silicon version of OBS.

(I want to be running the Apple Silicon OBS on my Apple Silicon Mac!)

Indeed, that fixed it. Advanced Scene Switcher is now in the Tools menu. I just wish the settings for it hadn't disappeared!


----------



## AaronD (Nov 12, 2022)

Just thought of something, related to the incompatibility between OBS 27 and OBS 28, which results in deleting this plugin's settings when upgrading:

I recently installed Ubuntu Studio 22.04.1 LTS, which comes with OBS 27 preinstalled.  Adding OBS's PPA as described here, and then letting the normal maintenance tools run, got me an automatic upgrade to OBS 28, with no indication that it was going to lose something that important.

I knew, of course, before I did any of that, that it was going to wipe out the old settings, but since this is a new install that hadn't gotten to that part of configuring yet, I just went ahead and did it.  Nothing special in there yet *to* wipe out.

But that got me to thinking, "What if Ubuntu's normal PPA decides to include OBS 28?"  Then everyone would get that "upgrade" automatically, and potentially lose a TON of work without warning.  Is there something that can be done about that?


----------



## Warmuptill (Nov 12, 2022)

AaronD said:


> Just thought of something, related to the incompatibility between OBS 27 and OBS 28, which results in deleting this plugin's settings when upgrading:
> 
> I recently installed Ubuntu Studio 22.04.1 LTS, which comes with OBS 27 preinstalled.  Adding OBS's PPA as described here, and then letting the normal maintenance tools run, got me an automatic upgrade to OBS 28, with no indication that it was going to lose something that important.
> 
> ...


Thanks for the warning / suggestion!

It is possible to do something about it.
For example separating the UI from the rest of the plugin so the plugin would always be able to load even if the UI fails to load due to Qt dependencies.
But this would be a lot of work for which I just to do not have the time for at the moment unfortunately.
I will add it to the todo list though.


----------



## AaronD (Nov 12, 2022)

AaronD said:


> I might be interested in doing this, instead of the python script that I currently have to connect two instances via websockets.  The deal-maker or -breaker being the overall latency that may or may not be added by the macro scan time.  (race between a scene-change event, and the virtual camera from one being used as a source in the other)
> 
> Would you mind posting screenshots of a complete setup that works?  Thanks!


Well, looks like OBS 28 can't use my python script anyway, because it can't use different websocket settings for different instances simultaneously.  Don't know if that's an actual regression, or a side-effect of being native vs. snap (snap *could* use different settings), but regardless, I need a different way for this list of scenes in one instance:

Camera - Selfie
Camera - PTZ
Camera - Camcorder
Feature - Video1
Feature - Video2
Voiceover - Image
...
to trigger their corresponding scenes in another instance:

Camera
Feature
Voiceover
on the same machine, with low enough latency to practically call it "immediate".  That is, both start transitioning at the same time, while I simply use the Master instance as usual to produce a broadcast, not really thinking about the Slave.

(Yes, I just said in a previous post to have a macro that does both the logical trigger action and its response, but as I add/remove/reorder a bunch of scenes as if they were PowerPoint slides, that gets to be a lot of hotkeys and associated maintenance to keep the macros up to date!  Every trick has its limits...)

The python script that used to do it, and probably still could if I could have different websockets for each instance, is:

```
#!/usr/bin/env python

import re
import sys
import subprocess

from obswebsocket import obsws, events, requests


wsSlv = obsws("localhost", 4456, "NotTheRealPassword!")
try:
    wsSlv.connect()
except:
    print("Error: Could not connect to OBS Slave")
    sys.exit(-1)


def on_switch(message):
    name = message.getSceneName()
    if re.match("Camera.*", name):
        wsSlv.call(requests.SetCurrentScene("Camera"))
    if re.match("Feature.*", name):
        wsSlv.call(requests.SetCurrentScene("Feature"))
    if re.match("Voiceover.*", name):
        wsSlv.call(requests.SetCurrentScene("Voiceover"))


wsMst = obsws("localhost", 4455, "NotTheRealPassword!")
wsMst.register(on_switch, events.SwitchScenes)
try:
    wsMst.connect()
except:
    try:
        wsSlv.disconnect()
    except:
        pass
    print("Error: Could not connect to OBS Master")
    sys.exit(-2)


# Expect a user dialog command and message, passed as arguments, that tell the user to keep the dialog open until the event is done
#   so this won't return until then
subprocess.run(sys.argv[1:])


# Disconnect from both, if possible
# If not, don't worry about it; it probably is already

try:
    wsMst.disconnect()
except:
    pass

try:
    wsSlv.disconnect()
except:
    pass

sys.exit(0)
```


----------



## AaronD (Nov 12, 2022)

Also, good start on the "Any Media" condition, but it's not quite what I need it to be.  If you'd add an "Any" option to the list of scenes as well, so that this becomes "Any media source on" "Any scene", I think that would do it:




(I tried the Ended state first.  It worked, whereas my experience with that label on the old tabs just didn't do anything, but it also fired when I switched away early, which I didn't want.  "Playing and a short time remaining" solves that problem, and allows the transition to be a bit nicer as well.)


----------



## Warmuptill (Nov 12, 2022)

AaronD said:


> Also, good start on the "Any Media" condition, but it's not quite what I need it to be.  If you'd add an "Any" option to the list of scenes as well, so that this becomes "Any media source on" "Any scene", I think that would do it:
> View attachment 88699
> 
> (I tried the Ended state first.  It worked, whereas my experience with that label on the old tabs just didn't do anything, but it also fired when I switched away early, which I didn't want.  "Playing and a short time remaining" solves that problem, and allows the transition to be a bit nicer as well.)


A few weeks back I added the option to use the "Any media source on" and "All media sources on" selections in combination with the "Current scene", "Previous scene", ... options.



Maybe that can help for your use case?

A build with this change can be found here:








						Move transition behaviour related settings to General tab · WarmUpTill/SceneSwitcher@9bcced5
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com


----------



## AaronD (Nov 12, 2022)

Warmuptill said:


> A few weeks back I added the option to use the "Any media source on" and "All media sources on" selections in combination with the "Current scene", "Previous scene", ... options.
> View attachment 88704Maybe that can help for your use case?
> 
> A build with this change can be found here:
> ...


Okay.  "Current Scene" would do it too.  Umm...how do I get it from there?  The "Artifacts Produced during runtime" are not links.

Edit:
D'oh!  Log into GitHub.  Then they're links.

...And it works!  Thank you!


----------



## PsychoSek (Nov 13, 2022)

AaronD said:


> It's amazing how often this trick comes up (add to the FAQ?):
> Instead of detecting an existing action, change the existing trigger to run a macro that does both that action and the response.
> 
> In your case, it would set the transition, and then switch the scene, in the same macro.  The hotkey, or whatever trigger you used to use to switch the scene, now triggers that macro instead.


I got this to work with minimal difficulty.

The only thing I had figure out was that when I set the macro's actions to do the randomizer and then scene change, it would only do the one and not the other. I added a wait action in between them and it worked like a charm.

I really appreciate the help!


----------



## Warmuptill (Nov 13, 2022)

Warmuptill updated Advanced Scene Switcher with a new update entry:

Minor additions and bug fixes



> Important note: You will have to use at least OBS 28 to use this version of the plugin!​Please make sure to back up your settings before updating OBS to version 28!​Additions:​
> Added the option to check for brightness of a given video source...



Read the rest of this update entry...


----------



## lindenkron (Nov 13, 2022)

Yeees
*Fixed scene item selection not saving index when multiple instances of the source with the same name are available.*

I thought I was going out of my mind, having this specific thing not working and always being wrong. Didn't even occur to me that it wasn't saving it. Just checked. Update time!

Thanks WarmUpTill <3!


----------



## mintosan (Nov 13, 2022)

Hello, Iam new to OBS and the likes. Today I have been setting up various Scenes for a podcasting show.

I have currently 3 Scenes (3x Camera's and 3x RODE Mics.) I can switch between the scenes in OBS but I want to be able to automatically switch when someone speaks on their Mic. then When multiple people speak, It will change to the wide camera view.

I have tried to play in the Audio settings, So when Mic 1 is active, Scene 1 is active. When Mic 2 is active, Scene 2 is active etc. When multiple then go to Scene 3 (Wide) It for some reason isn't switching for me.

Using latest OBS, Mac and its a 64 bit.
Any advice?


----------



## mintosan (Nov 13, 2022)

Ok got it to work now but how can I default a wide angle camera first, then switch to close up when someone speaks?


----------



## Warmuptill (Nov 13, 2022)

mintosan said:


> Ok got it to work now but how can I default a wide angle camera first, then switch to close up when someone speaks?


You could set up macros similar to this example and add an additional macro to handle the case when nobody is speaking:








						Variables · WarmUpTill/SceneSwitcher Wiki
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				



Let me know if you need more details.


----------



## Daspaddy (Nov 14, 2022)

I'm trying to setup a Macro that switches Scene, when Lightroom is in focus. But the current foreground window always indicates "StatusIndicator". That never changes. Does anybody have an idea what that is or how to get focus on another window?
Running MacOS Ventura with OBS 28.1.2 and ASS 1.19.2

And another question. I'm also trying to enable/disable a source. But that never works. ASS indicates, that the macro is executed but the source will not switch. I see the hint that sources can't be globally controlled by the OBS UI. But what does that mean?

Thanks
Patrick


----------



## Warmuptill (Nov 14, 2022)

Bairespm said:


> Hi @Warmuptill  please helpme sorry for my english
> 
> if scene is A then hotkey Alt+e , this works but the same hotkey continues to be pressed and this causes me problems, how can I make it so that when I go to a scene A or B or C the Hotkey Alt+e is activated only once once and when you exit those scenes to any other the same hotkey Alt+e is activated again once. I use it as a switch with another program in windows that if it is in one of those scenes it is activated and when it exits those scenes it must be deactivated. The only way that program accepts me is by pressing the same hotkey again. How do I do it, thank you, your program is incredible.





Daspaddy said:


> I'm trying to setup a Macro that switches Scene, when Lightroom is in focus. But the current foreground window always indicates "StatusIndicator". That never changes. Does anybody have an idea what that is or how to get focus on another window?
> Running MacOS Ventura with OBS 28.1.2 and ASS 1.19.2
> 
> And another question. I'm also trying to enable/disable a source. But that never works. ASS indicates, that the macro is executed but the source will not switch. I see the hint that sources can't be globally controlled by the OBS UI. But what does that mean?
> ...


Seems like there were some changes introduced in Ventura that break the window title checking.
Unfortunately I didn't get the chance yet to investigate this further.

As an alternative to the Window condition you could try to use the Process condition type.
It might allow you to achieve what you are trying to do.

Regarding your second question, you likely want to use the "Scene item visibility" action instead.
Disabling a source globally (meaning not just on a particular scene using the eye icon) is usually not something that is desired.

Hope that helps!
Let me know if you have any questions.


----------



## Daspaddy (Nov 14, 2022)

Warmuptill said:


> Seems like there were some changes introduced in Ventura that break the window title checking.
> Unfortunately I didn't get the chance yet to investigate this further.
> 
> As an alternative to the Window condition you could try to use the Process condition type.
> ...


Process works. And Scene Item as well. Thank you. ;-)


----------



## Poodmund (Nov 14, 2022)

I was trying to set up a macro that looked at the current scene to trigger (enable) a filter that has been applied to a scene (not a source) but in the Filter options it seems that you can only choose from the list of sources and not any of the scenes. Is this intended or is this just a niche, edge case that hasn't been considered yet?


----------



## tankman (Nov 15, 2022)

Is it true that this plugin can replace Pixelmatch the switcher plugin?  So for example, if video is showing a certain message or screen image then the plugin can be programmed to switch to a different scene?


----------



## Rediflow (Nov 15, 2022)

I have a request for further updates...
On my system, I have quite a heavy async between my Virtual Cam Video and VCable output Audio, If I route it e.g. in any Webmeeting software. Only way to get it sync is to give my Video sources a 500ms delay and my Audio Sources a -950 ms delay. If I record or Stream directly, those Settings are to be switched off. I can automate the delay Filter setting for the Video with the advanced Scene Switcher per Macro or on any Stream Deck via Hot Keys. For the -950ms Audio delay, I have not found a automation solution, yet.
It has to be configured in the advanced audio Properties under Sync offset. Unfortunately I have not found a Hotkey or other setting to Automate this... Is there way, you could include advanced audio Properties in your Macro templates. Or does anyone know a solution how to either kill the heavy delay in the VCable output or how to automate the advanced audio properties Sync offset Setting?


----------



## Kenshin9977 (Nov 15, 2022)

On Windows the "run" action doesn't seem to do anything with some .exe (no all of them though)
The log clearly indicates it tries to launch the program


> 18:27:02.169: [adv-ss] Macro Macro 1 returned 1
> 18:27:02.169: [adv-ss] running macro: Macro 1
> 18:27:02.169: [adv-ss] run "E:/1. Vidéos_Audios/OBS/Streamlabs/yuzu_install.exe"


But nothing happens. Same thing happen if I try through a shortcut file pointing to the program.
If I try to run a .bat file which start the program it works but through the extension it tells me Windows can't find a program of this name.


> start /d "E:\1. Vidéos_Audios\OBS\Streamlabs" yuzu_install.exe


The program works if I launch it through the GUI or through the terminal.
I also tried with some program I developped and compiled using pyinstaller and ran into the same issue. You can also try with the yuzu installer that can be downloaded here : https://yuzu-emu.org/downloads/


----------



## serenmew (Nov 15, 2022)

Hey there o/ 
Loving the plugin, was wondering if there is any way to set source settings through a text file. This would be extremely useful for me. For example I would like to use an external program to generate a settings file, then have the advanced scene switcher read the text file and set the settings for a source accordingly. 

Thanks for all the hard work on this plugin!


----------



## serenmew (Nov 15, 2022)

Rediflow said:


> I have a request for further updates...
> On my system, I have quite a heavy async between my Virtual Cam Video and VCable output Audio, If I route it e.g. in any Webmeeting software. Only way to get it sync is to give my Video sources a 500ms delay and my Audio Sources a -950 ms delay. If I record or Stream directly, those Settings are to be switched off. I can automate the delay Filter setting for the Video with the advanced Scene Switcher per Macro or on any Stream Deck via Hot Keys. For the -950ms Audio delay, I have not found a automation solution, yet.
> It has to be configured in the advanced audio Properties under Sync offset. Unfortunately I have not found a Hotkey or other setting to Automate this... Is there way, you could include advanced audio Properties in your Macro templates. Or does anyone know a solution how to either kill the heavy delay in the VCable output or how to automate the advanced audio properties Sync offset Setting?


I do not know a way to do this, however this would be hugely useful to me as well!


----------



## AaronD (Nov 15, 2022)

Rediflow said:


> I have a request for further updates...
> On my system, I have quite a heavy async between my Virtual Cam Video and VCable output Audio, If I route it e.g. in any Webmeeting software. Only way to get it sync is to give my Video sources a 500ms delay and my Audio Sources a -950 ms delay. If I record or Stream directly, those Settings are to be switched off. I can automate the delay Filter setting for the Video with the advanced Scene Switcher per Macro or on any Stream Deck via Hot Keys. For the -950ms Audio delay, I have not found a automation solution, yet.
> It has to be configured in the advanced audio Properties under Sync offset. Unfortunately I have not found a Hotkey or other setting to Automate this... Is there way, you could include advanced audio Properties in your Macro templates. Or does anyone know a solution how to either kill the heavy delay in the VCable output or how to automate the advanced audio properties Sync offset Setting?


Huh.  I was sure I'd seen an audio delay in the list of filters, but I don't see it now.  Sure would be nice if there was!  Maybe that setting being somewhere else is a relic from a very early version of OBS that had a much simpler mindset?


----------



## serenmew (Nov 16, 2022)

AaronD said:


> Huh.  I was sure I'd seen an audio delay in the list of filters, but I don't see it now.  Sure would be nice if there was!  Maybe that setting being somewhere else is a relic from a very early version of OBS that had a much simpler mindset?


OBS Audio delay is done through "sync offset" in "advanced audio properties" so there isn't a filter for it


----------



## Warmuptill (Nov 16, 2022)

Poodmund said:


> I was trying to set up a macro that looked at the current scene to trigger (enable) a filter that has been applied to a scene (not a source) but in the Filter options it seems that you can only choose from the list of sources and not any of the scenes. Is this intended or is this just a niche, edge case that hasn't been considered yet?


I am not sure I fully understand the issue.
It should be possible to select scenes in the "Filter" condition and actions.



Or are you specifically referring to the "Current scene" placeholder?




tankman said:


> Is it true that this plugin can replace Pixelmatch the switcher plugin?  So for example, if video is showing a certain message or screen image then the plugin can be programmed to switch to a different scene?


You can indeed look for patterns in video sources using the "Video" condition type.
For general information about the video condition have a look at this wiki entry:








						Video condition · WarmUpTill/SceneSwitcher Wiki
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				



For an example have a look at this wiki entry:








						Activate overlay to hide parts of the screen · WarmUpTill/SceneSwitcher Wiki
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				







Rediflow said:


> I have a request for further updates...
> On my system, I have quite a heavy async between my Virtual Cam Video and VCable output Audio, If I route it e.g. in any Webmeeting software. Only way to get it sync is to give my Video sources a 500ms delay and my Audio Sources a -950 ms delay. If I record or Stream directly, those Settings are to be switched off. I can automate the delay Filter setting for the Video with the advanced Scene Switcher per Macro or on any Stream Deck via Hot Keys. For the -950ms Audio delay, I have not found a automation solution, yet.
> It has to be configured in the advanced audio Properties under Sync offset. Unfortunately I have not found a Hotkey or other setting to Automate this... Is there way, you could include advanced audio Properties in your Macro templates. Or does anyone know a solution how to either kill the heavy delay in the VCable output or how to automate the advanced audio properties Sync offset Setting?


Thanks for the suggestion!
I have implemented the option to set / check the sync offset of sources in this build:











						Allow setting / checking the audio sync offset of sources · WarmUpTill/SceneSwitcher@bb141be
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				



Should be finished in a few minutes.
You will have to be logged into GitHub to be able to download it.
Let me know if you run into any issues!




serenmew said:


> Hey there o/
> Loving the plugin, was wondering if there is any way to set source settings through a text file. This would be extremely useful for me. For example I would like to use an external program to generate a settings file, then have the advanced scene switcher read the text file and set the settings for a source accordingly.
> 
> Thanks for all the hard work on this plugin!


Not yet unfortunately - once I get around to improving the variable support something like this will probably be possible.




Kenshin9977 said:


> On Windows the "run" action doesn't seem to do anything with some .exe (no all of them though)
> The log clearly indicates it tries to launch the program
> 
> But nothing happens. Same thing happen if I try through a shortcut file pointing to the program.
> ...


Could it maybe be that "yuzu-emu" requires additional arguments?
I am not familiar with this particular application at all unfortunately, but are you sure that you want to start the _installer_ and not the application itself instead? (E.g. "yuzu.exe")


----------



## AaronD (Nov 16, 2022)

serenmew said:


> OBS Audio delay is done through "sync offset" in "advanced audio properties" so there isn't a filter for it


Yes.  I was just imagining how that one bit of processing might have gotten *there*, while everything else uses a different UI.  If there isn't anything else, only a sync delay, then it makes sense to put it there and allow negative.  Then at some point, someone needed OBS to be a halfway-decent audio rack as well (at least in the set-and-forget sense), so then the filters were added.  But the sync delay stayed where it was for backwards compatibility?  And like you said, it already existed, so no need to also make a filter for it?

Just speculation, to satisfy my need for a plausible explanation for everything.  I tend to remember "why", while "what" goes in one ear and out the other.

At least it's included in the API "somehow", so it can still be automated regardless.


----------



## serenmew (Nov 16, 2022)

AaronD said:


> Yes.  I was just imagining how that one bit of processing might have gotten *there*, while everything else uses a different UI.  If there isn't anything else, only a sync delay, then it makes sense to put it there and allow negative.  Then at some point, someone needed OBS to be a halfway-decent audio rack as well (at least in the set-and-forget sense), so then the filters were added.  But the sync delay stayed where it was for backwards compatibility?  And like you said, it already existed, so no need to also make a filter for it?
> 
> Just speculation, to satisfy my need for a plausible explanation for everything.  I tend to remember "why", while "what" goes in one ear and out the other.
> 
> At least it's included in the API "somehow", so it can still be automated regardless.


I'm not a developer so I can only speculate as well. But some useful information to know is that the audio monitoring feature in obs does not pay attention to filters at all. For example setting a video delay of 1000ms will delay video and audio in the final mix by 1 second, but audio monitoring will be unchanged. This is a big headache, but probably some sort of programming limitation. I'd assume this is why there's no audio filter delay. That being said, probably a discussion for another thread.

Thanks a lot to Warmuptill for making the build with audio offset capabilities! Looking forward to the future of this project.


----------



## Rediflow (Nov 16, 2022)

Warmuptill said:


> Thanks for the suggestion!
> I have implemented the option to set / check the sync offset of sources in this build:
> 
> 
> ...



Thanks for the fast effort. Just one Issue: I need negativ 950 ms (That's the max OBS let me set in the negativ, but fortunately enough). 



With your new Macro Template, I can insert 0 and postiv Values only.


----------



## Warmuptill (Nov 16, 2022)

Rediflow said:


> Thanks for the fast effort. Just one Issue: I need negativ 950 ms (That's the max OBS let me set in the negativ, but fortunately enough).
> View attachment 88853
> With your new Macro Template, I can insert 0 and postiv Values only.


Ah sorry, I thought that only a positive sync offset was possible for some reason - Thanks for pointing that out!
A build with adjusted limits (-950 to 20000) will be available here in a few minutes:








						Allow setting / checking the audio sync offset of sources · WarmUpTill/SceneSwitcher@cf56d4e
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				



Let me know if you notice any further issues!


----------



## Kenshin9977 (Nov 16, 2022)

Warmuptill said:


> Could it maybe be that "yuzu-emu" requires additional arguments?
> I am not familiar with this particular application at all unfortunately, but are you sure that you want to start the _installer_ and not the application itself instead? (E.g. "yuzu.exe")


Well that's one application I found that has the same issue. I run into the same issue with python applications I packaged into an .exe using pyinstaller but it's easier to reproduce if I send you a binary you can easily and safely get thus the yuzu installer link.
I don't think it's missing any argument otherwise it wouldn't launch through a cmd terminal without extra args


----------



## Warmuptill (Nov 16, 2022)

Kenshin9977 said:


> Well that's one application I found that has the same issue. I run into the same issue with python applications I packaged into an .exe using pyinstaller but it's easier to reproduce if I send you a binary you can easily and safely get thus the yuzu installer link.
> I don't think it's missing any argument otherwise it wouldn't launch through a cmd terminal without extra args


I _think _I understand what is happening.

The particular processes that are seemingly refusing to launch are likely trying to create files in the working directory of the process that created them.
As the calling process is OBS and is likely being run from a location with limited access rights, like C:\Program Files, creating files is in those directories is not allowed.
The processes likely can't handle this situation of not being able to create files and simply exit.

You could work around this problem by running OBS with administrative privileges as this will grand write access to those directories or run OBS from a different folder (e.g. in portable mode), but this is probably not a "good" solution.

The correct solution would be to set the working directory to a folder where files can be created without issues.
I added this option to the "Run" action in the build below:












						Add option to set current working directory · WarmUpTill/SceneSwitcher@ae1a9f8
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				




Please let me know if this solves your observed issues with the "Run" action!


----------



## Rediflow (Nov 17, 2022)

Warmuptill said:


> Let me know if you notice any further issues!


Installed it & set it up. Seems to be working (it changes the values that are supposed to be change).
I have to set-up a live test yet, to check if the sync settings are working, but I guess they are, as OBS shows the change correctly.


----------



## Kenshin9977 (Nov 17, 2022)

Warmuptill said:


> Please let me know if this solves your observed issues with the "Run" action!



I also think the program's context is the problem here. So I tried with yuzu_install and now it works. But it still doesn't with the program I made a repo and compiled a binary with pyinstaller for you to reproduce the issue:








						Release 1.0 · Kenshin9977/Hello-World-Pyinstaller
					

Repo to debug issues with binaries created through pyinstaller - Release 1.0 · Kenshin9977/Hello-World-Pyinstaller




					github.com
				




You can compile the file yourself with pyinstaller using this command in a terminal:

```
pyinstaller --onefile hello_world.py
```

To install pyinstaller you just need python and then type the following command:

```
python -m pip install pyinstaller
```


----------



## Warmuptill (Nov 17, 2022)

Kenshin9977 said:


> I also think the program's context is the problem here. So I tried with yuzu_install and now it works. But it still doesn't with the program I made a repo and compiled a binary with pyinstaller for you to reproduce the issue:
> 
> 
> 
> ...


Those kinds of executables are still being run as expected.
They only seem to behave differently depending on how they are started.
Only when you launch them by double clicking on them the console window shows up. 
(I assume that was leading to the assumption that the file was not executed)

You can test this by writing to a file instead of trying to write to stdout using print().

```
with open("test.txt", "w") as f:
    f.write("asdf\n")
```


----------



## AaronD (Nov 20, 2022)

Okay, I think I'm ready to ask now.  Is there a way, using macros, to make a Slave instance follow a Master one, on the same machine?  As I've said before, OBS 28's built-in WebSocket insists on using the same settings for all instances, which means that I can't easily separate them like I could with a previous version and a separate WebSocket plugin.


I think that this might a good start?:

*Master:*



The idea here is to send the name of the new scene as an event, whatever that scene is.  Like the End of Media macro, this also needs to still work after I add and remove a bunch of scenes, without coming in here to fix it back up again.
I don't remember seeing any documentation about how to include non-hardcoded stuff in the macros' text boxes.  This is the bash way of doing it, which I was in the mindset of after building the setup script, but there are other ways that scripted languages do it too.  Which, if any, is it?
A help button here in the UI would be nice, to say how to do that.  Or a drop-down that lists all the possible variables to insert.  (choosing one would also show how to do it manually, so the help button is probably not needed then)

*Slave:*



Connect to and listen for that event from the Master, and switch to the appropriate scene.  All three of these macros are identical except for the {Camera|Feature|Voiceover} tags.  (used by the name, regex, and scene)
If I understand correctly, this connection actually connects to both copies of OBS, since they both insist on using the same WebSocket settings, but the events that I'm looking for only come from one, and the receiving code is only in the other, so that works???  At least in theory?


I want to keep the Master as minimal as possible (nothing at all would be nice), since there could be several of those set up for different uses, and I want to minimize the number of things that can be erased by accident while customizing a new duplicate of it.  The same Slave is used for all of them, unchanged, so it can be a (well-documented) mess if need be.

The way that my python script worked before, with two different WebSocket servers, is to register itself for the SwitchScenes event in the Master, and then run a set of regexes on the message.getSceneName().  Depending on which regex matches, it sends a request to the Slave to set the corresponding scene.
All of that happens without any logic at all in either instance of OBS, which leads me to hope that it might be possible with no Master macro at all, and to have everything on the Slave side.  Just connect the Slave to that specific, existing event, not just the general server.  (if it insists on connecting to both copies of OBS, then a simple rename of the Slave scenes should kill an infinite loop: *^Camera.*$* doesn't match *_Camera*, for example)

As I've posted before, the complete python code for reference is:

```
#!/usr/bin/env python

import re
import sys
import subprocess

from obswebsocket import obsws, events, requests


wsSlv = obsws("localhost", 4456, "NotTheRealPassword!")
try:
    wsSlv.connect()
except:
    print("Error: Could not connect to OBS Slave")
    sys.exit(-1)


def on_switch(message):
    name = message.getSceneName()
    if re.match("Camera.*", name):
        wsSlv.call(requests.SetCurrentScene("Camera"))
    if re.match("Feature.*", name):
        wsSlv.call(requests.SetCurrentScene("Feature"))
    if re.match("Voiceover.*", name):
        wsSlv.call(requests.SetCurrentScene("Voiceover"))


wsMst = obsws("localhost", 4455, "NotTheRealPassword!")
wsMst.register(on_switch, events.SwitchScenes)
try:
    wsMst.connect()
except:
    try:
        wsSlv.disconnect()
    except:
        pass
    print("Error: Could not connect to OBS Master")
    sys.exit(-2)


# Expect a dialog command and message, to be passed as arguments to this script
# Closing the dialog is taken as a shutdown command, so this doesn't return until then
subprocess.run(sys.argv[1:])


# Disconnect from both, if possible
# If not, don't worry about it; it probably is already

try:
    wsMst.disconnect()
except:
    pass

try:
    wsSlv.disconnect()
except:
    pass

sys.exit(0)
```

It doesn't really matter to me whether I use the python script, or do it all with macros, just as long as it works.  So far, it doesn't yet, with up-to-date tools.  An old version of this rig does it with the old File tab - Master writes the current scene name to a file, Slave reads the file and does the regexes - but I'd rather avoid the file altogether if I can, hence the python script for a later version and this question for another update.

Any ideas?


----------



## Kenshin9977 (Nov 21, 2022)

Warmuptill said:


> Those kinds of executables are still being run as expected.
> They only seem to behave differently depending on how they are started.
> Only when you launch them by double clicking on them the console window shows up.
> (I assume that was leading to the assumption that the file was not executed)
> ...


Ok I see. But my issue now is that I want to start my program if it's not running. In order to do that I set the following condition
"If not process process_name is running" but I can't do that as the process isn't running for Windows.
Before 28.0 I could do that because my program would start in a separate window, now I can't.


----------



## Warmuptill (Nov 21, 2022)

AaronD said:


> I don't remember seeing any documentation about how to include non-hardcoded stuff in the macros' text boxes. This is the bash way of doing it, which I was in the mindset of after building the setup script, but there are other ways that scripted languages do it too. Which, if any, is it?


First of all, sorry about the delayed response - I somehow missed your message.

Unfortunately that is not supported yet.
I will likely go the bash way of specifying variables in text boxes once I get around to implementing this.

So at the moment you would have to manually specify each message for each scene on the master side instead of using the $CURRENT_SCENE placeholder.

Maybe I can whip up a first prototype on the weekend (I cannot guarantee it though).
If so I will let you know.



Kenshin9977 said:


> Ok I see. But my issue now is that I want to start my program if it's not running. In order to do that I set the following condition
> "If not process process_name is running" but I can't do that as the process isn't running for Windows.
> Before 28.0 I could do that because my program would start in a separate window, now I can't.


Maybe I am missing or misunderstanding something, but the "Process" condition should work independent of if an application has a GUI / window or not.
What prevents you from starting the application and checking for its process name?


----------



## AaronD (Nov 21, 2022)

Warmuptill said:


> Unfortunately that is not supported yet.
> I will likely go the bash way of specifying variables in text boxes once I get around to implementing this.
> 
> So at the moment you would have to manually specify each message for each scene on the master side instead of using the $CURRENT_SCENE placeholder.
> ...


I still think that this would be useful for a lot of things besides what I'm doing, and it would get me past another hurdle for the moment, so still do it regardless.  But better for me, I think, and a lot of other things as well, would be to connect to a specific pre-existing event like my python script does, instead of just the entire server and leaving it at that.  Would that also be possible?

(Or I guess if the pre-existing "event" is just a parsable string, then I could use a regex for it...if I could easily see what comes across to be able to write that regex.  I don't really know how WebSockets work, beyond one project with an ESP32 and Node-RED that did just send bare strings across.)

And it still remains to be seen how WebSockets work with two simultaneous instances that insist on using the same settings, but I guess we'll get there soon enough.


----------



## serenmew (Nov 22, 2022)

I've been having no luck with getting Or Not statements to work. For example if I have it checking for if a file is not 0, or a second file is not, It will not work How I expect it to. It will perform the macro if the first condition is satisfied but not the second.


----------



## discharacter (Nov 23, 2022)

Warmuptill said:


> Warmuptill submitted a new resource:
> 
> Automatic Scene Switching - Switches to specified scenes depending on which window is in focus
> 
> ...


Hello Warmup,

I've installed the advanced scene switcher, and it pulls up when I launch it. However, I don't see all the tabs that I saw in the old version. The only tabs I have are "General" and "Macro"

I'm trying to make a simple scene switch, where Scene 1 switches to Scene 2 after 30 seconds. Then Scene 2 to Scene 3 after 30 seconds. Finally, switch from Scene 3 back to Scene 1 after 30 seconds, and repeat.

Very simple, but I'm having trouble doing it with this new version of scene switcher. Do I need to use the Macros tab? If so, how?


----------



## discharacter (Nov 23, 2022)

discharacter said:


> Hello Warmup,
> 
> I've installed the advanced scene switcher, and it pulls up when I launch it. However, I don't see all the tabs that I saw in the old version. The only tabs I have are "General" and "Macro"
> 
> ...


----------



## discharacter (Nov 23, 2022)

I solved it actually. I had to uncheck "hide tabs that can be solved with Macro"


----------



## Warmuptill (Nov 23, 2022)

AaronD said:


> But better for me, I think, and a lot of other things as well, would be to connect to a specific pre-existing event like my python script does, instead of just the entire server and leaving it at that. Would that also be possible?


The websocket condition only listens for "vendor" events and requests so no every single websocket event available via the obs-websocket API.
It also only sends out vendor requests and events specific to the advanced scene switcher.
(Sorry if I misunderstood your question)



serenmew said:


> I've been having no luck with getting Or Not statements to work. For example if I have it checking for if a file is not 0, or a second file is not, It will not work How I expect it to. It will perform the macro if the first condition is satisfied but not the second.


Enabling these visual indicators might help you figure out what is going wrong:








						Troubleshooting · WarmUpTill/SceneSwitcher Wiki
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				




But I might also be able to help / propose a different solution if you describe in a bit more detail what you want to achieve exactly.

Just guessing below:
I would _assume_ you want a certain set of actions to happen if either player1 or player2 have scored at least one point.
You could run into the situation with your current set of conditions, that, if either player has already scored and the other one now scores a point, the actions of the macro would not be performed, as you have enabled "Perform actions only on condition change". (Which might lead you to believe that the "or not" is not working)


----------



## AaronD (Nov 24, 2022)

Warmuptill said:


> The websocket condition only listens for "vendor" events and requests so no every single websocket event available via the obs-websocket API.
> It also only sends out vendor requests and events specific to the advanced scene switcher.
> (Sorry if I misunderstood your question)


Something seems a little bit off (surely it can't be THAT limited!), but it could just as easily be *my* misunderstanding.  :-)  Let's see:

It would appear that an external thing, like my python script, can register for any WebSocket event, and that there's already one for a scene change that includes the name of the new scene.  That name must be extracted from the message object, but it's there.

Meanwhile, if I understand you correctly and put things together, Adv. SS only uses the API to access WebSocket messages, and doesn't actually do it directly.  And the API filters out almost everything.  The one thing that does get through, only has a single string, so that's all that the GUI provides for.

Thus, two instances of Adv. SS can talk to each other because they automatically use "vendor" events and requests, but because that's ALL that comes through the API, I can't have Adv. SS receive an already-existing scene change event from the other instance of OBS.

Is that more-or-less right?


If so, then:

I can imagine some compatibility problems with other apps that want or send something other than "vendor".  It seems like the functionality is almost limited to *only* connecting to other instances of Adv. SS, unless the other end just happens to also use "vendor" type messages.
How much effort would it take to either:
Do the WebSockets directly, bypassing the API, so that Adv. SS appears as a completely separate program as far as that's concerned?
Yes, I know there used to be a standalone plugin entirely for WebSockets, and this would re-include at least the core of that plugin into this one.  But since the original plugin has been integrated now, and presents a big regression in functionality as I need it (multiple simultaneous instances must use the same settings, so that I can't tell them apart)...

Add a ton of environmental variables to send to the receiving instance of Adv. SS.  Things like CURRENT_SCENE, STREAMING_ACTIVE, TOKEN(n) from a regex in one of the conditions, who knows what someone might want to use if it's there, etc...
I would then have a Master macro like "If scene changed" "send WS event $CURRENT_SCENE", and a set of Slave macros like the screenshot a few posts back, that each run a different regex on that same event and switch to the appropriate scene.


Or if you know a better way to automate a second (Slave) instance of OBS on the same machine, without making it prohibitively expensive to add and remove things in the first (Master) instance (no changing settings to match the new set of scenes, though an external controller that auto-updates its list could be allowed), that can be good too.


----------



## AaronD (Nov 24, 2022)

I'm also thinking about moving the different audio mixes in the Master for each of my "types" of scene, out of the scenes and into the global settings so that the scenes themselves *only* have to include the visuals, and then automating the audio fade-ins and -outs using a similar bit of logic as what I'm presently trying to have in the Slave.  If I do *that*, then the regex on the scene name (or whatever method I end up using) would have to be in the *Master* macros, and since the audio fade actions need constant values anyway, I'll be in a perfect position to send a constant-string WebSocket message to the Slave.

I'm not at the machine at the moment to see if I can have a regex on the local current scene name.  If so, then I *might* be home free with what exists already.  (if I can also get a WS message from one instance to another on the same machine, when they insist on using the same server settings)  It would put even more behind-the-scenes logic in the Master, which conflicts with the idea of keeping the often-duplicated stuff simple, but if I get it right and it never changes, then maybe it's okay?


I would then have:

Master:

Conditions
If scene changed
And regex $CURRENT_SCENE  ^Camera.*$

Actions (all simultaneous)
Fade Global Audio 1 to 100%
Fade Global Audio 2 to 0%
Send "Camera" to WS event

Slave:

Conditions
If WS event "Camera"

Actions
Switch scene "Camera"

with of course a separate copy of each for each type of scene: "Camera", "Feature", or "Voiceover" so far.


----------



## JoqniX (Nov 26, 2022)

hi im having a weird bug or so~ where adv-ss v1.19.2 doesnt save properly~ especially for macros

i had made a setup where it turns on / off sources depending on if the application exists or not~
but apparently on every obs launch i have to go back and change it to make it work as it should~

here my issue was -
conditions of `More than ` .....
was supposed to be `Exactly`
so if i were to change it to `Exactly` and close out of adv-ss or export it and import it, it still doesnt save it~ at all~ dunno what is up with this!

this screenshot is from me just launching obs and opening up adv-ss~ ( as you can see its still saving as `more than `


----------



## Warmuptill (Nov 26, 2022)

AaronD said:


> Meanwhile, if I understand you correctly and put things together, Adv. SS only uses the API to access WebSocket messages, and doesn't actually do it directly. And the API filters out almost everything. The one thing that does get through, only has a single string, so that's all that the GUI provides for.
> 
> Thus, two instances of Adv. SS can talk to each other because they automatically use "vendor" events and requests, but because that's ALL that comes through the API, I can't have Adv. SS receive an already-existing scene change event from the other instance of OBS.
> 
> Is that more-or-less right?


Yes, correct.
The advanced scene switcher simply uses the already existing infrastructure the obs-websocket plugin provides with OBS 28 to facilitate communication to other instances of the advanced scene switcher.
It does not process other requests / events.



AaronD said:


> I can imagine some compatibility problems with other apps that want or send something other than "vendor". It seems like the functionality is almost limited to *only* connecting to other instances of Adv. SS, unless the other end just happens to also use "vendor" type messages.


External applications can use the regular obs-websocket API to communicate with the advanced scene switcher.
Here is an example:








						Websockets · WarmUpTill/SceneSwitcher Wiki
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				






AaronD said:


> Do the WebSockets directly, bypassing the API, so that Adv. SS appears as a completely separate program as far as that's concerned?


That would be quite a large undertaking, for which I do not really see the benefit.



AaronD said:


> Add a ton of environmental variables to send to the receiving instance of Adv. SS. Things like CURRENT_SCENE, STREAMING_ACTIVE, TOKEN(n) from a regex in one of the conditions, who knows what someone might want to use if it's there, etc...


That is indeed my intention with the variable support.
I will likely build it up slowly over time as people request features.



AaronD said:


> Or if you know a better way to automate a second (Slave) instance of OBS on the same machine, without making it prohibitively expensive to add and remove things in the first (Master) instance (no changing settings to match the new set of scenes, though an external controller that auto-updates its list could be allowed), that can be good too.


Maybe the old "Network" tab will work for you?
It basically allows to sync the current scene of multiple OBS instances with one being the master.
There is however the limitation that the scenes will have to have the same name.






JoqniX said:


> hi im having a weird bug or so~ where adv-ss v1.19.2 doesnt save properly~ especially for macros
> 
> i had made a setup where it turns on / off sources depending on if the application exists or not~
> but apparently on every obs launch i have to go back and change it to make it work as it should~
> ...



Thanks for reporting the problem!
That particular setting not saving properly is simply a bug.

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








						Date interval · WarmUpTill/SceneSwitcher@1233fce
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				



You will need to be logged into GitHub to be able to download it - let me know if that should be an issue.


----------



## JoqniX (Nov 26, 2022)

Warmuptill said:


> Thanks for reporting the problem!
> That particular setting not saving properly is simply a bug.
> 
> A build with a fix will be available here in a few minutes:
> ...


yesh it does work~ it is now saving ( just checked it by relaunching obs a couple of times)  but on first launch after installing this build - it seems to have reseted my previous settings and changed it into "less than" for both of the macros~ other than that all good~


----------



## AaronD (Nov 26, 2022)

Warmuptill said:


> External applications can use the regular obs-websocket API to communicate with the advanced scene switcher.
> Here is an example:
> 
> 
> ...


As long as the other app can always use the CallVendorRequest type, yes.  But I was imagining one that was hard-coded for something else, and someone wanted to make a connection between it and Adv. SS.  Then we have a problem of, "The data is there, and another app can connect to it.  Why can't this one?"  Which is pretty much the problem that I have already when looking at a different instance of OBS.



Warmuptill said:


> Maybe the old "Network" tab will work for you?
> It basically allows to sync the current scene of multiple OBS instances with one being the master.
> There is however the limitation that the scenes will have to have the same name.


Almost there, but I think the "same name" limitation will be a deal-killer for me.  I need a partial name match, not a complete one, so that a bunch of Master scenes map to the same Slave scene, and I can add and remove Master scenes without changing the Slave at all.


----------



## AaronD (Nov 26, 2022)

AaronD said:


> I'm also thinking about moving the different audio mixes in the Master for each of my "types" of scene, out of the scenes and into the global settings so that the scenes themselves *only* have to include the visuals, and then automating the audio fade-ins and -outs using a similar bit of logic as what I'm presently trying to have in the Slave.  If I do *that*, then the regex on the scene name (or whatever method I end up using) would have to be in the *Master* macros, and since the audio fade actions need constant values anyway, I'll be in a perfect position to send a constant-string WebSocket message to the Slave.
> 
> I'm not at the machine at the moment to see if I can have a regex on the local current scene name.  If so, then I *might* be home free with what exists already.


I finally got to try it, and no, I can't have a regex on the local current scene name.  Not with with version 1.19.2 anyway.

There's a drop-down for the current scene, which of course doesn't do regex.
The Variables do support regex, but they don't have environment stuff yet.


----------



## AaronD (Nov 27, 2022)

AaronD said:


> (if I can also get a WS message from one instance to another on the same machine, when they insist on using the same server settings)


That one DOES work, using Adv. SS on both ends.  At first, I just set up some hotkeys in the Master to brute-force it, and the Slave did change scenes.  So that part is good.

And I eventually got a complete system to work.  It's a bit hokey, but it does work.  Turns out that only the first instance of OBS gets connected to the WebSocket server, so I can't talk directly to the second one, but a later instance of Adv. SS can still connect to the first one and see its Events.  So:

A reworked Python script (using a different module because OBS 28 uses an updated, incompatible protocol) connects to both Events and Requests, both of which can only see the Master, and registers itself for the "CurrentProgramSceneChanged" event.
OBS Master changes scenes.
The Python callback function for the "CurrentProgramSceneChanged" event does the regexes on the scene name and sends a "CallVendorRequest" with the appropriate message for Adv. SS to pick up.
Master Adv. SS has a macro for each Request (no regex required at this point) that:
Sends a matching Event.
Fades the global audio sources.

Slave Adv. SS has a macro for each Event, that switches to the corresponding scene.
Whew!  It'd sure be nice to clean up the Rube Goldberg a bit, but it does at least WORK now!


The reworked python script is:

```
#!/usr/bin/env python

import re
import sys
import subprocess

import obsws_python as obs

try:
    OBS_Event = obs.EventClient(host="localhost", port=4455, password="NotTheRealPassword!")
except:
    print("Error: Could not connect to OBS Event")
    sys.exit(-1)

try:
    OBS_Request = obs.ReqClient(host="localhost", port=4455, password="NotTheRealPassword!")
except:
    print("Error: Could not connect to OBS Request")
    sys.exit(-2)



def on_current_program_scene_changed(data):
    name = data.scene_name
    message = ""
    if re.match("^Camera.*$", name):
        message = "Camera"
    if re.match("^Feature.*$", name):
        message = "Feature"
    if re.match("^Voiceover.*$", name):
        message = "Voiceover"
    if (message != ""):
        OBS_Request.call_vendor_request(vendor_name="AdvancedSceneSwitcher", request_type="AdvancedSceneSwitcherMessage", request_data={"message": message})

OBS_Event.callback.register(on_current_program_scene_changed)



# Expect a dialog command and message, to be passed as arguments to this script
# Closing the dialog is taken as a shutdown command, so this doesn't return until then
if (len(sys.argv) > 1):
    subprocess.run(sys.argv[1:])
else:
    subprocess.run(["zenity", "--info", "--width=350", "--title=Testing", "--text=Click OK to disconnect."])

sys.exit(0)
```

And the macros:

Master:




Slave:


----------



## ukie (Nov 28, 2022)

After updating to OBS 28 and ASS 1.19.2 on Mac (10.15.7), I can't run any applescripts with "Run". 






They worked on prior version of OBS and ASS, but now, I keep getting the error:
The action "run applescript" encountered an error not authorized to send apple events to...




The applescript application does run on its own, but not through ASS anymore.
Tried all levels of permissions under Security&Pravacy, to no avail.










This is the case for all applescript apps, not just the Moom example above.


----------



## ukie (Nov 29, 2022)

ukie said:


> After updating to OBS 28 and ASS 1.19.2 on Mac (10.15.7), I can't run any applescripts with "Run".
> 
> View attachment 89232
> 
> ...


Just saw @Kenshin9977 issue. Looks like this is the same issue just on a Mac. @Warmuptill is there a hidden app that runs to initiate the RUN sequence that needs additional permission?


----------



## Dustin D (Nov 30, 2022)

AaronD said:


> If you make the ad into its own scene or source, yes.  No different from anything else at that point.
> 
> Typing in chat might require a third party app or script, that is triggered using the Run action in a macro.  That takes a single command line, that is passed to your operating system as if you typed it in a terminal, except that it necessarily inherits its environment from OBS, which is a little bit different than if you used the terminal to do it.  Absolute paths, or some trickery in a script that is called directly and then does the thing you want, are needed to break out of that...but some things work just fine regardless of their environment, so you may not have to break out.  Try it and see.


Well, I got a stream deck and it allows me to just push a button to run an ad.  It would be nice if someone developed something for this.


----------



## Warmuptill (Nov 30, 2022)

ukie said:


> Just saw @Kenshin9977 issue. Looks like this is the same issue just on a Mac. @Warmuptill is there a hidden app that runs to initiate the RUN sequence that needs additional permission?


The problem mentioned in this post was Windows specific and relating to the current working directory of the process.
So I don't believe the problems are related.



ukie said:


> After updating to OBS 28 and ASS 1.19.2 on Mac (10.15.7), I can't run any applescripts with "Run".
> 
> View attachment 89232
> 
> ...


Seems like a special set of permissions is required since macOS 10.14+.





						Apple Developer Documentation
					






					developer.apple.com
				



I will try to look into how those could be granted.


----------



## ukie (Nov 30, 2022)

Warmuptill said:


> I will try to look into how those could be granted.


Thanks. Keep in mind that I was already on OSX 10.15 with prior version of the plug-in (for OBS 27) and the AppleScripts worked just fine.


----------



## KiraRedpaw (Dec 1, 2022)

So I know its been awhile since I posted here with my issues with the new version of OBS 28 and advanced scene switcher 1.91 but I've been using this time to try some things out. Good news I got my macro to work for changing the scene once the audio ends. Bad news is I can only get one macro to work at a time. If I enable more then one then they try to all run at the same time and sometimes they just outright dont work. Like at soon as I open OBS they will try to all play instantly even though none of the conditions have been met like Run when I start streaming which you cant do unless you are streaming...its weird. Maybe there is a simple checkbox that I haven't checked. Anyone want to help me out. Attached are pics of my current settings.

Remember I can get one to run but not more then one.

I have End and Stop turned off because of the issues I described above.


----------



## AaronD (Dec 1, 2022)

KiraRedpaw said:


> If I enable more then one then they try to all run at the same time and sometimes they just outright dont work. Like at soon as I open OBS they will try to all play instantly even though none of the conditions have been met like Run when I start streaming which you cant do unless you are streaming...its weird. Maybe there is a simple checkbox that I haven't checked. Anyone want to help me out. Attached are pics of my current settings.


Have you tried "Perform actions only on condition change"?  I wonder if without that, the logic is "at least 30 seconds" instead of "exactly 30 seconds".  So all of them are trying to run all the time and cancelling each other.  I pretty much always have that checked because it matches the way I think of things.

Or it could be that you're set to not run the switcher at all on OBS startup.  I'm guessing you did that on purpose though, to keep it from going nuts.


----------



## KiraRedpaw (Dec 1, 2022)

AaronD said:


> Have you tried "Perform actions only on condition change"?  I wonder if without that, the logic is "at least 30 seconds" instead of "exactly 30 seconds".  So all of them are trying to run all the time and cancelling each other.  I pretty much always have that checked because it matches the way I think of things.
> 
> Or it could be that you're set to not run the switcher at all on OBS startup.  I'm guessing you did that on purpose though, to keep it from going nuts.


What would a condition change be? like the end of a song or the start of the stream? What is the condition?


----------



## AaronD (Dec 1, 2022)

KiraRedpaw said:


> What would a condition change be? like the end of a song or the start of the stream? What is the condition?


Each item in the list of things to watch for, is a condition.

Instead of executing continuously for the entire time that the condition is true, it would only execute once when the condition becomes true.  When the condition goes false and then true again, it executes once again, etc.


----------



## AaronD (Dec 2, 2022)

AaronD said:


> It'd sure be nice to clean up the Rube Goldberg a bit, but it does at least WORK now!
> 
> Master:
> View attachment 89153
> ...





Jay F. Jay said:


> Arron,
> I found a workaround for this, by managing the global.ini file and changing the port number before launching each instances of OBS.
> Not ideal, but it works.



Thanks to Jay in a different thread, I did clean it up a *little* bit, at least as far as a user would see.  My setup/teardown bash script handles the global.ini juggling, and the interconnection python script now commands both instances of OBS directly:


```
message="Feature"
OBS_Master_Request.call_vendor_request(vendor_name="AdvancedSceneSwitcher", request_type="AdvancedSceneSwitcherMessage", request_data={"message": message})
OBS_Slave_Request.set_current_program_scene(message)
```

The Slave instance no longer needs any macros at all, and the Master no longer sends the WS event.  So it's also down to only the functions that it actually needs for itself.

Still a bit Rube-Goldbergy overall, if you include the global.ini juggling, but I do like this version a lot better.  Now I just need to fix up the timing so that the local mics never get into the local speakers during the transitions.  That's probably also done better in the python script because sometimes the Master needs to be first and sometimes the Slave needs to be first.


----------



## AaronD (Dec 3, 2022)

I know I've been back and forth across the fence on this, but having seen it this way for a while, I think I do want to get rid of the python script and the global.ini juggling.  It does put more work onto the macros, which are slightly more user-accessible than the scripts are, but I don't think my users are going to get there anyway.

I think the only obstacle to that would be a regex on the Current Scene.  Is there a release coming up that includes that?  Thanks!


----------



## Warmuptill (Dec 3, 2022)

KiraRedpaw said:


> So I know its been awhile since I posted here with my issues with the new version of OBS 28 and advanced scene switcher 1.91 but I've been using this time to try some things out. Good news I got my macro to work for changing the scene once the audio ends. Bad news is I can only get one macro to work at a time. If I enable more then one then they try to all run at the same time and sometimes they just outright dont work. Like at soon as I open OBS they will try to all play instantly even though none of the conditions have been met like Run when I start streaming which you cant do unless you are streaming...its weird. Maybe there is a simple checkbox that I haven't checked. Anyone want to help me out. Attached are pics of my current settings.
> 
> Remember I can get one to run but not more then one.
> 
> I have End and Stop turned off because of the issues I described above.


The problem of the some of the macros _immediately _firing after starting to stream is caused by the fact that the scene switcher does not properly reset the duration modifiers you can add to condition when stopping the plugin.

So if the plugin is running, then stopped, and finally started up again the timers of the duration modifiers will compare the time between "stopped" and "finally started" instead of restarting from zero. (Hope that was worded somewhat coherent)

I have adjusted this behaviour in this build:








						Reset timers · WarmUpTill/SceneSwitcher@a9a968b
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				



(Note you need to be logged into GitHub to be able to download it)


A few notes regarding your setup:

I think you can remove the "Stop" macro entirely and simply add the action to stop the stream to the "End" macro.
Your "Start" and "End" macro conditions could be true at the same time.
I assume that you will not be playing either the "Starting music" or "Ending music" continuously, so you can run into the situation of both macros being executed at the same time.
The audio conditions checking if the volume of a particular source is below a certain threshold can and will be true even if the the audio source is not part of the currently active scene.
So for example if you "Gaming" scene does not contain an instance of the "Ending music" source the "End" macro might still be executed.
So you could add an additional condition checking if the audio source is currently showing on a particular scene.
Without really knowing your setup I would suggest to rework your "End" and "Start" macro to something similar to this:








You can of course adjust the "is showing" source condition with something that fits better to your setup. (E.g. checking if the current scene is / is not "Scene XYZ")

Hope that helps!
Let me know if you have any questions! :)


----------



## Warmuptill (Dec 3, 2022)

AaronD said:


> I think the only obstacle to that would be a regex on the Current Scene. Is there a release coming up that includes that? Thanks!


Sure, that shouldn't be too difficult.





A first version can be found here in a few minutes:








						Add option to match scene name to pattern · WarmUpTill/SceneSwitcher@413b0fc
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				



(As usual you need to be logged into GitHub to be able to download this build)

Let me know if that works for you! :)


----------



## AaronD (Dec 3, 2022)

Warmuptill said:


> Sure, that shouldn't be too difficult.
> 
> View attachment 89402
> 
> ...


It does!  Thank you!

I had a little bit of trouble with what looked like the WebSocket Event not getting from Master to Slave, but a quick reboot and check again was okay.  So I'll have to see if that persists.


A couple more questions:

It's been discussed before, but it's been a while.  Is there a better way to do a startup initialization that never runs again?
The idea here is to wait until the Slave is also started, and then trigger the normal automation to set things right.  Or if the Slave isn't running for a particular configuration, that's fine too.





Does the extra "Scene Changed" condition here make any difference at all?  I figured it might be a slight optimization so it's not running the regex all the time, but is it really?:



Don't know if it makes a difference in the answers, but I have both Master and Slave running as fast as they'll go - 50ms - to try and approximate "instant".  That is, from a hotkey in the Master that switches scenes, to the Slave switching scenes:


----------



## Warmuptill (Dec 4, 2022)

AaronD said:


> It's been discussed before, but it's been a while. Is there a better way to do a startup initialization that never runs again?


Using the "plugin is running" with a duration modifier "for exactly 0 seconds" should do the trick.



AaronD said:


> Does the extra "Scene Changed" condition here make any difference at all? I figured it might be a slight optimization so it's not running the regex all the time, but is it really?:


The second condition is still checked regardless.

Is the scene switcher using a considerable amount of CPU time in your setup? (Can be checked by comparing OBS CPU usage with the plugin stopped / started).


----------



## AaronD (Dec 4, 2022)

Warmuptill said:


> Using the "plugin is running" with a duration modifier "for exactly 0 seconds" should do the trick.


Okay.  What I posted seems to work too, probably because of the "edge-detect button" as I think of it.  I was just wondering what the "best practice" was, if there is one.

Low priority, but how hard would it be to make an obvious "run once at startup" function?  My first thought was a separate section that had all of the actions available but no conditions, and that's when it runs, but far more flexible might just be a dedicated condition that is true between startup and the first time its actions are executed, and never again.  Then it could be combined with other conditions to delay the "init code" until it can actually work (init AND something else), or to repeat the "init code" without copying it (init OR something else).

It might even replace the "plugin running" condition, since it seems silly to me to have a condition that always returns true.  In a loop, yes, I can see a boolean constant to run that loop forever, and I've also used "if(false)" to (temporarily!) disable a section of code (it's also easily searchable).  But neither of those are relevant here, as there are no loops and there's already a dedicated disable button.



Warmuptill said:


> The second condition is still checked regardless.
> 
> Is the scene switcher using a considerable amount of CPU time in your setup? (Can be checked by comparing OBS CPU usage with the plugin stopped / started).


Good to know.  So it's not doing the "short-circuit" logic that most other languages do, where only the first condition is always checked, and each one after that is only checked if it still makes a difference.

This entire system barely registers on my CPU meter, but my experience with 8-bit microcontrollers (lots of projects with a single core @ 20MHz, using 4 clocks per instruction, and 300-some bytes of RAM for the entire system) leaves me a bit paranoid.  So it's become automatic for me to estimate the cost of each comparison (boolean is best, numbers are okay, and strings take forever), and then guard an expensive one to only run when it's actually needed.  This often leads to logically redundant (but cheap) conditions being added to the front, and sometimes odd ordering, just to take advantage of the "short-circuit" logic.

But if the "short-circuit" logic just doesn't exist here, then the "guard conditions" only hurt.  Their cost is tiny, but still there (I'll probably never stop thinking about optimization), and they clutter things up to read later.  I'll take them out.

I guess the option to "highlight recently matched conditions" kinda forbids the "short-circuit" logic.  And that's a very nice feature to have!


----------



## qwe1154323937 (Dec 4, 2022)

Hi，@Warmuptill
I updated Chinese simplified localization file.
A NEW BUG FOUND:
AdvSceneSwitcher.mediaTab.states.playlistEnd="Ended(Playlist)" This code ，Name not using


----------



## qwe1154323937 (Dec 4, 2022)

qwe1154323937 said:


> Hi，@Warmuptill
> I updated Chinese simplified localization file.
> A NEW BUG FOUND:
> AdvSceneSwitcher.mediaTab.states.playlistEnd="Ended(Playlist)" This code ，Name not using


I added my video space homepage in the general settings, I hope you won't mind, if you don't want it to exist, you can restore it to the original Chinese text, thanks to the plugin, I have made it into a tutorial video and sent it to Bilibili.


----------



## ahquamarine (Dec 4, 2022)

So i just got the Twiddler 3 (handheld keyboard) and I wanted to set up a stream like bbjess where i can hit the keys to jump between scenes/cameras. The problem im running into is OBS can not distinguish between when im hitting my normal keyboard to type outside of OBS and keeps switching scenes when I don't want it to. Is there a way in Advances Scene Switcher to specify buttons from different keyboards or will I have to hold all sorts of combinations to not have the keys conflict?


----------



## ahquamarine (Dec 4, 2022)

Is there a way to set up a macro so that whenever I switch to a scene it auto refreshes the camera? When i switch between screens my camera goes black and I have to hide it and unhide it for it to pop back up. is there a way to automate this?


----------



## Warmuptill (Dec 4, 2022)

qwe1154323937 said:


> I added my video space homepage in the general settings, I hope you won't mind, if you don't want it to exist, you can restore it to the original Chinese text, thanks to the plugin, I have made it into a tutorial video and sent it to Bilibili.


Thank you very much for the updated locale file!
I have removed the link for now.
I don't think the General tab is the right place for this - I hope you understand.


----------



## Warmuptill (Dec 4, 2022)

ahquamarine said:


> So i just got the Twiddler 3 (handheld keyboard) and I wanted to set up a stream like bbjess where i can hit the keys to jump between scenes/cameras. The problem im running into is OBS can not distinguish between when im hitting my normal keyboard to type outside of OBS and keeps switching scenes when I don't want it to. Is there a way in Advances Scene Switcher to specify buttons from different keyboards or will I have to hold all sorts of combinations to not have the keys conflict?


The plugin is using the existing OBS hotkey infrastructure for its hotkeys as well.
So I am afraid you will likely run into the same limitations there.



ahquamarine said:


> Is there a way to set up a macro so that whenever I switch to a scene it auto refreshes the camera? When i switch between screens my camera goes black and I have to hide it and unhide it for it to pop back up. is there a way to automate this?



Maybe something like this might work:





Alternatively this should do exactly what you are doing manually at the moment:


----------



## ahquamarine (Dec 4, 2022)

Warmuptill said:


> Maybe something like this might work:
> View attachment 89435
> 
> Alternatively this should do exactly what you are doing manually at the moment:
> View attachment 89436



Thank you, this seemed to work. Now there is a spot where it goes black for a second and refreshes. I know that this is on purpose because of the wait function but is there a way to make this even more seamless without the screen dipping to black for a second? (The first method you listed didn't seem to work) If not then this is okay. Thank you again! 

Also if anyone has any idea why my PC wont let me switch seamlessly between 4 cameras without having to (deactivate when not showing) please lmk. It's a pretty hefty  PC so im not sure why it cant handle having 4 camera in obs at once.


----------



## AaronD (Dec 4, 2022)

ahquamarine said:


> So i just got the Twiddler 3 (handheld keyboard) and I wanted to set up a stream like bbjess where i can hit the keys to jump between scenes/cameras. The problem im running into is OBS can not distinguish between when im hitting my normal keyboard to type outside of OBS and keeps switching scenes when I don't want it to. Is there a way in Advances Scene Switcher to specify buttons from different keyboards or will I have to hold all sorts of combinations to not have the keys conflict?


Pretty much every operating system (Windows, Mac, Linux, everything) combines all physical keyboards into one logical keyboard, so that no app can distinguish one physical keyboard from another.  There have been hacks to use a ton of keyboards to get a dedicated physical key for every emoji, for example, but they really were quite "hacky"!








						The Art of the Bodge: How I Made The Emoji Keyboard
					

http://tomscott.com - http://twitter.com/tomscott - Here's the behind-the-scenes "how I made the emoji keyboard" video! If you haven't seen the original: htt...




					www.youtube.com
				




So the problem is not with the plugin or even with OBS, but with the operating system itself, and every one of *those* even (to my knowledge), still has the same problem.

But if you pay attention to that video, you might pick up enough for you to hack your own.  :-)


----------



## AaronD (Dec 4, 2022)

ahquamarine said:


> Thank you, this seemed to work. Now there is a spot where it goes black for a second and refreshes. I know that this is on purpose because of the wait function but is there a way to make this even more seamless without the screen dipping to black for a second? (The first method you listed didn't seem to work) If not then this is okay. Thank you again!
> 
> Also if anyone has any idea why my PC wont let me switch seamlessly between 4 cameras without having to (deactivate when not showing) please lmk. It's a pretty hefty  PC so im not sure why it cant handle having 4 camera in obs at once.


You can have decimals in the Wait action.  You just have to type them instead of the up/down buttons.

This next trick only works if you know your sequence and never pick one at the last moment to show NOW, but maybe you can "blink" the one that you're *about* to show, instead of the one that you've just started to show?  This would probably require a hotkey to trigger a macro, which blinks that one and then shows it, instead of the hotkey showing the scene directly.


It's also possible that you're feeding all 4 cameras into a single capture card with 4 inputs...but only one converter.  Feeding that one converter is a 4-input switch, which is controlled automatically...most of the time.  A security system might be designed like that, for example, because a 4-in/1-out switch is cheaper than 3 more converters.  If you try to fade from one to another, forget it, because you only have that one converter, and the switch that feeds it only does hard cuts.  (and it probably needs to re-sync every time too; it's literally a digital version of the old "mechanical clunk" analog TV switches)

Then the driver might try to make it look like you have 4 cameras, but only one actually reports non-black at a time.  So when OBS tries to fade to a different camera...it fades to black instead.  When you "blink" the source that is now showing, THEN the card updates its switch, and you can see it.

If that's really what you have, then you're pretty well sunk.  You'll only ever be capable of hard cuts at best, directly from one camera to another, and any other transition must involve something other than those 4 cameras, and even the trick just before the section break in this post won't work.  The solution in that case, is to get either a different capture card that really does have a dedicated converter for each input, or a bunch of separate 1-input cards, just to guarantee that many separate converters.  (probably USB at that point, unless you've got a boatload of PCIe slots)


----------



## ahquamarine (Dec 4, 2022)

AaronD said:


> You can have decimals in the Wait action.  You just have to type them instead of the up/down buttons.
> 
> This next trick only works if you know your sequence and never pick one at the last moment to show NOW, but maybe you can "blink" the one that you're *about* to show, instead of the one that you've just started to show?  This would probably require a hotkey to trigger a macro, which blinks that one and then shows it, instead of the hotkey showing the scene directly.
> 
> ...


Thank you for the response! I have only one Sony camera hooked up to a capture card. The other 3 cameras are logitech webcams that are connected via a 4-port USB expansion hub. Maybe the expansion hub cant handle all of the different camera inputs as well. I do have two USB expanders but both of them are almost completely full except for a slot and not much changes when I switch around what USBs are where. Do you think getting another one would lessen the load and in turn read the camera faster? Thanks for the help!


----------



## AaronD (Dec 4, 2022)

ahquamarine said:


> Thank you for the response! I have only one Sony camera hooked up to a capture card. The other 3 cameras are logitech webcams that are connected via a 4-port USB expansion hub. Maybe the expansion hub cant handle all of the different camera inputs as well. I do have two USB expanders but both of them are almost completely full except for a slot and not much changes when I switch around what USBs are where. Do you think getting another one would lessen the load and in turn read the camera faster? Thanks for the help!


Hmm.  That *should* show all 4 cameras simultaneously and use them however you want.  I don't think a slow USB connection would completely kill all but one.  I think it would degrade all instead, so that the total still fits through the bottleneck.  The USB hardware has no idea what you're doing with them; it just gets their data across so that it's all available.  I guess it might see that data isn't being requested for all of them, and so it doesn't bother, but if you keep all of them on the screen in some form or another, like in the *View* menu -> *Multiview*, then OBS kinda needs all of them simultaneously.  Maybe that can solve the problem???


Looking at a potential bandwidth issue:

If you're on Linux (might work for Mac too), you could do *lsusb -t* on a command line, to show what's connected to which hub, all the way up to the controller, *including any internal hubs*.  The cluster of ports on the motherboard could easily be an internal hub that goes to a single controller, for example.
On Windows, you can use the Device Manager, and find the menu entry to Show Devices by Connection.  Then expand the USB hubs until you find all of your cameras.

If they're all trying to cram themselves through the same USB bottleneck, then it *might* help to put some USB cards in the PCIe slots.  Each of those has at least one separate controller on it, so you really do get to add their capacities.  Unlike a (potential) single on-board controller that has to share that capacity across all ports no matter how you arrange it.

That being said though, one of my rigs has 4 single HDMI -> USB3 capture cards running through a single 4-port external USB3 hub.  All 4 receive 1080p30 simultaneously, and they're all perfectly fine.  So USB3 does support that much bandwidth, provided that it's USB3 all the way in.  It's a desktop tower with only a mouse, keyboard, and stereo 16-bit line-in/out sound card as the other USB devices, so the entire USB system is pretty much dedicated to those 4 video inputs.  Laptops tend to have lots of internal stuff permanently on USB, so you can't really call it "dedicated" there.  And of course, if you've got a USB2 port in the chain somewhere, then you're definitely not getting full-HD out of those cameras even if they support it!

By the way, isn't a "USB expander" just a USB hub with stuff permanently attached to it?  Like network, sound, video out, and maybe a card reader, in addition to some more USB ports?  Also called a "USB dock", to refer their predecessor that had a proprietary many-pin connector that matched the bottom of a large laptop?  For our purpose here, I would just call them "hubs with stuff permanently attached", if that's what they really are, and treat the bandwidth limits accordingly.
I've used some old ones in various Raspberry Pi projects, that had their own power supply.  That was really handy to power the Pi and some USB-powered hard drives all from one AC plug, and let the Pi use those drives *and* the additional network adapter and better-than-on-board audio out (which really isn't saying much because the Pi's headphone jack is pretty much just a token noise-maker).


----------



## qwe1154323937 (Dec 5, 2022)

Warmuptill said:


> Thank you very much for the updated locale file!
> I have removed the link for now.
> I don't think the General tab is the right place for this - I hope you understand.


It doesn't matter. Like SteamFX, you can create a separate contributor tab to write contributors or some additional content information.


----------



## CodeYan (Dec 5, 2022)

Suggestion: Add macro condition/action for audio monitoring
Context: https://ideas.obsproject.com/posts/277/hotkeys-for-audio-monitoring
I myself don't need it, but I saw this posted there. I doubt this would be added to Settings > Hotkey, given that there are 3 states.


----------



## AaronD (Dec 5, 2022)

CodeYan said:


> Suggestion: Add macro condition/action for audio monitoring
> Context: https://ideas.obsproject.com/posts/277/hotkeys-for-audio-monitoring
> I myself don't need it, but I saw this posted there. I doubt this would be added to Settings > Hotkey, given that there are 3 states.


I might use it, as a "different default" of sorts:

If Any Media on Current Scene is Playing,
Set Monitoring to Monitor and Output

OBS's default for any new source is Monitor Off, but since there isn't a Main audio out to a local device, my rig has to abuse the Monitor out.  I've been bitten before, by a new video being silent, live. So the logic above would fix that setting when I test things beforehand, and do nothing live since it's "changing" to what's already there. Or if I didn't have time to test, it would still work, but with a possible glitch at the start as the setting changes at the last possible moment.


----------



## Warmuptill (Dec 5, 2022)

CodeYan said:


> Suggestion: Add macro condition/action for audio monitoring
> Context: https://ideas.obsproject.com/posts/277/hotkeys-for-audio-monitoring
> I myself don't need it, but I saw this posted there. I doubt this would be added to Settings > Hotkey, given that there are 3 states.


Thanks for the suggestion!
A build with this functionality should be available here in a few minutes:








						Audio monitor · WarmUpTill/SceneSwitcher@f7237ae
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com


----------



## CodeYan (Dec 5, 2022)

AaronD said:


> OBS's default for any new source is Monitor Off, but since there isn't a Main audio out to a local device, my rig has to abuse the Monitor out. I've been bitten before, by a new video being silent, live.


You might be interested in https://obsproject.com/forum/resources/source-defaults.1628/ which I created primarily for this lack of ability to set defaults (although I designed it to act as defaults, not modify monitoring whenever a scene changes).

@Warmuptill thanks for adding it in!


----------



## AaronD (Dec 6, 2022)

CodeYan said:


> You might be interested in https://obsproject.com/forum/resources/source-defaults.1628/ which I created primarily for this lack of ability to set defaults (although I designed it to act as defaults, not modify monitoring whenever a scene changes).


That's actually what I wanted!  Thank you!

More feedback in the appropriate thread:





						Source Defaults
					

CodeYan submitted a new resource:  Source Defaults - Configure a source to be your "default" source, copying properties, filters, etc, to new sources!  Source Defaults for OBS Studio An OBS Studio Plugin that lets you set a source as a "default source". Created sources of the same type will get...




					obsproject.com


----------



## AaronD (Dec 8, 2022)

stellaboa said:


> I am a vlogger at redbook recently found a better multi-push tool is similar with restream. It allows you to stream live on multiple platforms at the same time, the part I am more interested in is 24/7 streaming and unmanned live. I can also chat with my fans on each platform and see which channels they are watching, which makes it much more interactive. The tool is still in the trial stage so it's still free, so give it a try soon.


Umm...  Wrong thread?


----------



## pOpOmOmO (Dec 8, 2022)

Hi!
I want to ask about making a condition with "Date". Is there any way that I can make a condition only a minute of time?
Ex. I want to trigger a macro only when minute reach xx:30 by ignore an hour.

Thanks in advance


----------



## pOpOmOmO (Dec 9, 2022)

And one more problem

Some macro was met every condition (Date and Scene) but there is no any action happened. Like it was skipped all the action I was set. Is anything I can solve this?


----------



## AaronD (Dec 9, 2022)

pOpOmOmO said:


> And one more problem
> 
> Some macro was met every condition (Date and Scene) but there is no any action happened. Like it was skipped all the action I was set. Is anything I can solve this?
> 
> View attachment 89558


There's a scrollbar on your conditions list.  That means we can't see all of them.  I *assume* that you're right in that they all return true, but we can't verify that.
And there are other settings outside of what you've cropped, that could be the problem as well, like running only on change, or paused, etc.


----------



## pOpOmOmO (Dec 9, 2022)

AaronD said:


> There's a scrollbar on your conditions list.  That means we can't see all of them.  I *assume* that you're right in that they all return true, but we can't verify that.
> And there are other settings outside of what you've cropped, that could be the problem as well, like running only on change, or paused, etc.


There is nothing more than that in condition just only a check box "On repeat update...." and I tick it to make it repeat

And for the action just switch scene and adjust volume. no change anything, no pause.

I try to diagnose this problem and it seem like a Date condition will trigger an action once and skip once then it will back to do an action again in third times
Is this bug? or I set something wrong.


----------



## KiraRedpaw (Dec 10, 2022)

Warmuptill said:


> The problem of the some of the macros _immediately _firing after starting to stream is caused by the fact that the scene switcher does not properly reset the duration modifiers you can add to condition when stopping the plugin.
> 
> So if the plugin is running, then stopped, and finally started up again the timers of the duration modifiers will compare the time between "stopped" and "finally started" instead of restarting from zero. (Hope that was worded somewhat coherent)
> 
> ...


I will give this a try during my next stream and report back, if it does not work I will try your Advanced scene switcher  download and try that. Thank you kindly.


----------



## Warmuptill (Dec 10, 2022)

pOpOmOmO said:


> Hi!
> I want to ask about making a condition with "Date". Is there any way that I can make a condition only a minute of time?
> Ex. I want to trigger a macro only when minute reach xx:30 by ignore an hour.
> 
> Thanks in advance


I implemented the functionality to match date patterns a few weeks ago, but it was not yet released.       
	

	
	
		
		

		
			




The pattern supports regular expressions, so each "." in the above screenshot can represent any number.

A build with this change can be found here:








						Remove outdated translations for cooldown option · WarmUpTill/SceneSwitcher@0385437
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				



(Note you have to be logged into GitHub to be able to download it - let me know if that should be an issue)



pOpOmOmO said:


> And one more problem
> 
> Some macro was met every condition (Date and Scene) but there is no any action happened. Like it was skipped all the action I was set. Is anything I can solve this?
> 
> View attachment 89558



As you have enabled the "Repeat every ... on date match" the date will be shifted 30 minutes to the future once it matched.
Unfortunately the part showing the next match is cut off in the screenshot.
I _assume _that is what was confusing you.


----------



## pOpOmOmO (Dec 11, 2022)

Warmuptill said:


> I implemented the functionality to match date patterns a few weeks ago, but it was not yet released.
> 
> 
> 
> ...


I try Pattern function already. Work like I wanted. Great Work!!



Warmuptill said:


> As you have enabled the "Repeat every ... on date match" the date will be shifted 30 minutes to the future once it matched.
> Unfortunately the part showing the next match is cut off in the screenshot.
> I _assume _that is what was confusing you.


I try to figure it out this and seem like to find some solution.


pOpOmOmO said:


> There is nothing more than that in condition just only a check box "On repeat update...." and I tick it to make it repeat
> 
> And for the action just switch scene and adjust volume. no change anything, no pause.
> 
> ...


Here is what I can tell you that what is happening to me now. I try to remove something and test will get back to you soon


----------



## macharborguy (Dec 12, 2022)

I was able to trigger a crash using the Video Matching conditional (match a source or part of one to an image file)


			https://obsproject.com/logs/eSFiUFqZQ6B9fubO
		


Steps I used to reproduce...

OBS v29 beta 2
AdvSS v1.19.2

While AdvSS is *actively running* and *pinging for met conditions*, create a *new Macro*.

Add the *If Video *condition, select a source, do NOT select a patter to match to
Enable "Perform check only in area"
Click the "Select Area" button
With the Select Area window up, i am able to trigger the crash via...
...scrolling within the window
...creating the detection area selection

Polling rate for the conditional check doesnt seem to matter, as ive gotten this crash to trigger at 50ms as well as 250ms. 


UPDATE: Most consistent aspect seems to be that I dont have an image selected to match to.  Almost like its bugging out due to not having something to match against, vs just gracefully returning false.



Warmuptill said:


> Warmuptill submitted a new resource:
> 
> Automatic Scene Switching - Switches to specified scenes depending on which window is in focus
> 
> ...


----------



## CharlieThunkman (Dec 13, 2022)

Can I make a suggestion -- macro folders. I'm running 20 macros (with plans for more) which really says if the conditions of 1 result in true, play the next macro in the sequence. Putting them into virtual folders would allow for these macros to be organized and speed up the process of not having to scroll through the menu every time I go to add a new macro. Attached picture shows how I would group the current macros I'm using and a rough path of how they run (arrow points towards what macro(s) they interact with afterwards). I do recognize that the way current macros are programmed don't easily allow for folder-like manipulation but it would be a great for insane people like me.


----------



## JennaGem (Dec 13, 2022)

Hi!
I downloaded Advanced Scene Switcher and it was working well. I'm not sure what happened, but after a livestream to YouTube, a glitch occurred. Now, when I open up OBS, there is an Adv SS docking switch that pops up that says the switcher is active but I'm unable to click on it or press "stop." Once OBS opens, the switch disappears.

When I open the plugin for Adv SS in OBS, it says it's inactive. When I try to run a new macro, it doesn't switch scenes. I've uninstalled & reinstalled the plug in, and also uninstalled and reinstalled OBS on my macbook pro but the switch is still there upon the loading of OBS and thus the plugin isn't working, even when I add a new macro.

I've searched the forums for info. but can't land on anything that specifically covers this - if anyone has any direction, I'd be so grateful.


----------



## KiraRedpaw (Dec 14, 2022)

KiraRedpaw said:


> I will give this a try during my next stream and report back, if it does not work I will try your Advanced scene switcher  download and try that. Thank you kindly.


The fixed my issue, thanks everybody


----------



## TobyBrady (Dec 14, 2022)

I can't get 4 simple cameras to just loop. Built the macro sequence, no problem. It runs thru then stops when it's done.


----------



## onlyhalfhuman (Dec 15, 2022)

Warmuptill said:


> Which step do you have problems with and what do you want me to elaborate on further? (note that this plugin will only work for 64 bit versions of OBS on windows since that is the version the person i made the plugin for uses)


i cant seem to get my scenes to go back to the first one? am i missing something? it goes through the 4 scenes but wont go back to the first,....


----------



## onlyhalfhuman (Dec 15, 2022)

TobyBrady said:


> I can't get 4 simple cameras to just loop. Built the macro sequence, no problem. It runs thru then stops when it's done.


yeah im dealing with the same thing, just commented,....


----------



## AaronD (Dec 15, 2022)

TobyBrady said:


> I can't get 4 simple cameras to just loop. Built the macro sequence, no problem. It runs thru then stops when it's done.


A single macro is not meant to loop.  It's supposed to be a simple "if this, then do that" sort of thing.

What you could do though, is set up N similar macros for N different scenes:

If Scene 1 (only on change)
Wait
Switch to Scene 2

If Scene 2 (only on change)
Wait
Switch to Scene 3

...
If Scene N (only on change)
Wait
Switch to Scene 1

This also allows you to add more conditions to each one, either instead of or in addition to the Wait action, so that the loop timing depends on more than just a timer.
And once you have that, you could duplicate a macro so that the same trigger scene with different additional logic can do something different.
Etc.


----------



## Warmuptill (Dec 15, 2022)

TobyBrady said:


> I can't get 4 simple cameras to just loop. Built the macro sequence, no problem. It runs thru then stops when it's done.





onlyhalfhuman said:


> yeah im dealing with the same thing, just commented,....


Mabe this example can help?








						Automatically cycle through a list of scenes · WarmUpTill/SceneSwitcher Wiki
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				



Let me know if you have questions!



JennaGem said:


> Hi!
> I downloaded Advanced Scene Switcher and it was working well. I'm not sure what happened, but after a livestream to YouTube, a glitch occurred. Now, when I open up OBS, there is an Adv SS docking switch that pops up that says the switcher is active but I'm unable to click on it or press "stop." Once OBS opens, the switch disappears.
> 
> When I open the plugin for Adv SS in OBS, it says it's inactive. When I try to run a new macro, it doesn't switch scenes. I've uninstalled & reinstalled the plug in, and also uninstalled and reinstalled OBS on my macbook pro but the switch is still there upon the loading of OBS and thus the plugin isn't working, even when I add a new macro.
> ...


Can you please share the settings you are using and describe the scenario in more detail when you would expect a scene switch to happen?
The dock being visible at startup is not necessarily an issue.



CharlieThunkman said:


> Can I make a suggestion -- macro folders. I'm running 20 macros (with plans for more) which really says if the conditions of 1 result in true, play the next macro in the sequence. Putting them into virtual folders would allow for these macros to be organized and speed up the process of not having to scroll through the menu every time I go to add a new macro. Attached picture shows how I would group the current macros I'm using and a rough path of how they run (arrow points towards what macro(s) they interact with afterwards). I do recognize that the way current macros are programmed don't easily allow for folder-like manipulation but it would be a great for insane people like me. View attachment 89652


Thanks for the suggestion!
That is something I want to implement - I am just not sure when I will get around to it.



macharborguy said:


> I was able to trigger a crash using the Video Matching conditional (match a source or part of one to an image file)
> 
> 
> https://obsproject.com/logs/eSFiUFqZQ6B9fubO
> ...


Thanks for reporting the problem!
I will try to look into it.


----------



## Warmuptill (Dec 17, 2022)

macharborguy said:


> I was able to trigger a crash using the Video Matching conditional (match a source or part of one to an image file)
> 
> 
> https://obsproject.com/logs/eSFiUFqZQ6B9fubO
> ...


A build containing a fix for the crashes will be available here in a few minutes:








						Video · WarmUpTill/SceneSwitcher@e081f1a
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				



You will have to be logged into GitHub to be able to download it - let me know if that should be a problem for you.
I would appreciate if you could give this a try and report back if the issue is really solved on your end as well.


----------



## AaronD (Dec 19, 2022)

@Warmuptill  How much of a pain would it be to support both versions of OBS?  v27 and before, AND v28 and after?

It appears that NVIDIA has abandoned their older hardware - stopped releasing drivers for them - including mine, and OBS v28 removed support for the older drivers:





						OBS 28.0.3 is the latest that works right on my laptop. Newer ones will not use my NVENC encoders.
					

I had to uninstall the latest OBS STUDIO release, and download the older OBS 28.0.3 Focal release debian package and install it. The newer ones sudenly will not use my NVENC encoders in my NVIDIA GK104GLM [Quadro K4100M]. Yes I know it's and older NVIDIA card, but it's a laptop, so I cannot...




					obsproject.com
				








						OBS 28.0.1 can use the old QSV encoder but not the old NVENC encoder?
					

My NVIDIA graphics card is relatively old (GeForce GT 735M) and has been updated to the latest version of the driver. The previous version 27.2.4 of OBS Studio can use hardware NVENC encoding. Yesterday, I received an update prompt. After the upgrade is completed as required, start the software...




					obsproject.com
				




It still works just fine...so long as I don't try to stream or record.  So I didn't notice that problem lurking in the background as I was testing the new features that I requested.

Thanks!


----------



## Warmuptill (Dec 19, 2022)

AaronD said:


> @Warmuptill  How much of a pain would it be to support both versions of OBS?  v27 and before, AND v28 and after?
> 
> It appears that NVIDIA has abandoned their older hardware - stopped releasing drivers for them - including mine, and OBS v28 removed support for the older drivers:
> 
> ...


The plugin can be built for older OBS versions.
I will try to set up a branch for OBS 27 build tomorrow or the day after.


----------



## AaronD (Dec 19, 2022)

Warmuptill said:


> The plugin can be built for older OBS versions.
> I will try to set up a branch for OBS 27 build tomorrow or the day after.


Woohoo!  Thank you!

I was afraid that some of the hooks that you rely on now, wouldn't exist in v27, so you'd have to work around that just to support older hardware.  But if it works, that'd be awesome!


----------



## thepoison606 (Dec 20, 2022)

Hey Till and ASS community, 

it would be great to have the option to give a weighting to the *random* selection. For example i'd like to set that in 70% of the cases Macro 1 gets used, in 20% of the cases Macro 2 and in 10% of the cases Macro 3.

Any chance to get that implemented? Or any other workaround for this sue case? :)

Other than that: the plugin is insanely good. Such a great tool, thanks a ton for that!!

All the best
Daniel


----------



## ottawafro (Dec 21, 2022)

thepoison606 said:


> Hey Till and ASS community,
> 
> it would be great to have the option to give a weighting to the *random* selection. For example i'd like to set that in 70% of the cases Macro 1 gets used, in 20% of the cases Macro 2 and in 10% of the cases Macro 3.
> 
> ...


Thinking off the top of my head.

Workaround might be to add 10 macros contained in the random selection  ; 7 of which perform the function of Macro1 ( duplicate 6 times current macro ) ; 2 macros doing the function of Macro2 ( duplicate 1 time current macro ) and have 1 of Macro 3 ...


----------



## Warmuptill (Dec 21, 2022)

thepoison606 said:


> Hey Till and ASS community,
> 
> it would be great to have the option to give a weighting to the *random* selection. For example i'd like to set that in 70% of the cases Macro 1 gets used, in 20% of the cases Macro 2 and in 10% of the cases Macro 3.
> 
> ...


Thanks for the suggestion - I added it to the todo list.
The workaround suggested by @ottawafro should work in the meantime.



AaronD said:


> Woohoo!  Thank you!
> 
> I was afraid that some of the hooks that you rely on now, wouldn't exist in v27, so you'd have to work around that just to support older hardware.  But if it works, that'd be awesome!


OBS 27 build is done, but I did not test it:








						Build for OBS 27.2.4 · WarmUpTill/SceneSwitcher@b413082
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				



Let me know if you run into any issues.


----------



## AaronD (Dec 22, 2022)

Warmuptill said:


> OBS 27 build is done, but I did not test it:
> 
> 
> 
> ...


I got OBS 28 to work!  Thanks for the effort anyway.

What I was seeing before was actually a problem with FFMPEG, not OBS, which was solved by updating the NVIDIA graphics driver from 390 to 470.  That then killed the laptop screen, which required a BIOS setting to fix.

A little bit more tweaking also got OBS 28 to work.  Details here:





						OBS 28.0.3 is the latest that works right on my laptop. Newer ones will not use my NVENC encoders.
					

I had to uninstall the latest OBS STUDIO release, and download the older OBS 28.0.3 Focal release debian package and install it. The newer ones sudenly will not use my NVENC encoders in my NVIDIA GK104GLM [Quadro K4100M]. Yes I know it's and older NVIDIA card, but it's a laptop, so I cannot...




					obsproject.com


----------



## ItsThatGuyJD (Dec 23, 2022)

I'm trying to use the File macro to show tuna music info on song change in that file but when I make the action it doesn't work is there a specific way to do this?


----------



## Warmuptill (Dec 23, 2022)

ItsThatGuyJD said:


> I'm trying to use the File macro to show tuna music info on song change in that file but when I make the action it doesn't work is there a specific way to do this?


Have you tried something similar to this?




If so, can you give more details what exactly is not working as you would expect?


----------



## thepoison606 (Dec 25, 2022)

ottawafro said:


> Thinking off the top of my head.
> 
> Workaround might be to add 10 macros contained in the random selection  ; 7 of which perform the function of Macro1 ( duplicate 6 times current macro ) ; 2 macros doing the function of Macro2 ( duplicate 1 time current macro ) and have 1 of Macro 3 ...



That's a good workaround idea! Thank you.



Warmuptill said:


> Thanks for the suggestion - I added it to the todo list.
> The workaround suggested by @ottawafro should work in the meantime.
> 
> 
> ...



Great, thanks a lot :)


----------



## kdarroch (Dec 26, 2022)

Warmuptill said:


> Warmuptill submitted a new resource:
> 
> Automatic Scene Switching - Switches to specified scenes depending on which window is in focus
> 
> ...


Love ultimate scene switcher.  Wondering the best way to optimize macro execution to decrease time it takes to run thru macros?  I have alot of macros that execute based on video source changes. For the most part it gets slower the more macros there are to execute/check logic but cpu usage never goes up. My pc has 12 cores and it sits at like 3%.  Is there something in setup I am missing? Seams to not be using the computer resources like it should. Built this machine to do nothing but run OBS so nothing else is running and plenty of ram and cpu available based on windows performance.  Any help would be appreciated


----------



## Warmuptill (Dec 26, 2022)

kdarroch said:


> Love ultimate scene switcher.  Wondering the best way to optimize macro execution to decrease time it takes to run thru macros?  I have alot of macros that execute based on video source changes. For the most part it gets slower the more macros there are to execute/check logic but cpu usage never goes up. My pc has 12 cores and it sits at like 3%.  Is there something in setup I am missing? Seams to not be using the computer resources like it should. Built this machine to do nothing but run OBS so nothing else is running and plenty of ram and cpu available based on windows performance.  Any help would be appreciated


Can you describe what type of macros you are using in a bit more detail or export your settings to a file and share it?
That should make it easier to understand what exactly you are dealing with. :)

For most setups it is to be expected that the plugin does not use a considerable amount of system resources.


----------



## kdarroch (Dec 26, 2022)

So I look at a video source in a specific area and compare it to an image. The images are say #1-#50. When it finds a match it displays the overlay corresponding to that number. The macros keep watch for a change in number/letter/etc. And when it finds a match Turns off the current overlay and switches to new overlay. So I guess what I want to know is there a way to decrease the time it takes to cycle thru the 100 or so macros I have set up. In this case I want it to be fast so using system resources does not matter to me, that's why I built a standalone computer with plenty of cpu and memory to run obs.


----------



## Warmuptill (Dec 26, 2022)

kdarroch said:


> So I look at a video source in a specific area and compare it to an image. The images are say #1-#50. When it finds a match it displays the overlay corresponding to that number. The macros keep watch for a change in number/letter/etc. And when it finds a match Turns off the current overlay and switches to new overlay. So I guess what I want to know is there a way to decrease the time it takes to cycle thru the 100 or so macros I have set up. In this case I want it to be fast so using system resources does not matter to me, that's why I built a standalone computer with plenty of cpu and memory to run obs.


How long does it usually / in the worst case take for the plugin to run through all your macros?
What types of actions are they performing? (In particular are any "Wait" actions or other time consuming actions used?)

The way the macro system currently operates is that it checks each macro's condition sequentially and in a second step then perform all actions.

So if the condition checks themselves are processed quickly, the main way to reduce the time it takes to recognize changes is to reduce the scene switcher interval on the General tab.





The default is 300ms - I guess you could try to use 50ms.

But with the video condition I could _guess _that the issue is not the switcher interval, but the time it takes to process each image.
Can you check if you see the following messages in your OBS log?
`spent <number here> ms in <name here> condition check of macro <name here>`

If that is the case you could try to set up some logic so that not _all _macros containing video conditions are active all the time.

The actions section of each macro is also performed sequentially by default, starting with the top most macro.
So if you have a set of macros that are waiting or performing other tasks for extended periods of time, you will run into the situation that other macros will be delayed.
To work around this you can enable the option to run the macros containing the "slow" action(s) in parallel the other macros, so it no longer blocks the execution of other actions.


----------



## mikexilva (Dec 29, 2022)

Hello,
I'm testing this plugin to trigger a camera change using it's audio on a multi camera setup on same room but since the cameras are close by, the audio going for one camera can still be heard on another camera, and if some one talks a bit lowder it will trigger more than one cameras at the same time.

Is there any way to make the switch according to higher audio level (compared to the other audio sources) instead of just a predefined  trigger level?


----------



## AaronD (Dec 29, 2022)

mikexilva said:


> Hello,
> I'm testing this plugin to trigger a camera change using it's audio on a multi camera setup on same room but since the cameras are close by, the audio going for one camera can still be heard on another camera, and if some one talks a bit lowder it will trigger more than one cameras at the same time.
> 
> Is there any way to make the switch according to higher audio level (compared to the other audio sources) instead of just a predefined  trigger level?


That sounds like a Dugan automixer, named for its inventor Dan Dugan.  Except instead of controlling audio gain, you're using the internal control signals to switch cameras.  Same logic to create those control signals.

Problem is, the patent is still valid, and the inventor is still making a living on it.  So you'll have to either buy something that satisfies his license and figure out how to use it, or license it from him yourself.  Probably not going to happen for this plugin.

The original invention was entirely analog, as a standalone 19-inch rackmounted thing to plug into the channel insert jacks of an analog mixing console.  In terms of "conventional" audio processors, it's a cross-coupled ducker/expander.  Each signal has a level detector and a gain element (analog VCA, or voltage controlled amplifier), but they're all connected so that each channel's increase causes its own gain to increase  (expander) and all the others to decrease (ducker).  That "voting" happens simultaneously for all channels, and the results are summed to control each VCA.  The result is that the loudest one stands out and the rest fall away, and the rates are designed so that the total of all gains running in parallel stays constant.

I think for the plugin to do all of that directly, would infringe on the patent.  But it would probably be okay to compare arbitrary things - it doesn't do that yet either - and it only happens that audio level is one of many arbitrary things.  Better still, to avoid a mess of cross-comparisons, would be to do some math, store the result in a variable, and then compare anything to that variable.
For example, sum a bunch of audio levels, divide by a constant (start with the number of inputs used, and adjust as needed), store that, then compare each level to that (modified) average.  But again, it would require some functionality that (to my knowledge) doesn't exist yet.


A long time ago, when @Warmuptill was switching from the old single-function tabs to macros, I made the case for arbitrary programming, like Python or similar.  So there'd be a General tab, a Macro tab, and a Python tab, or whatever capable language.  Still have a menu for everything that the API offers, but each menu item simply inserts the code required to use that API hook.  The user still needs to make the connection.

I think the "compare multiple to an average" function would be one of the stronger arguments for that, because the menu structure to do all of that directly would get to be a mess pretty quick...unless that's *all* it does, which is getting dangerously close to the patent IMO.


----------



## ItsThatGuyJD (Dec 30, 2022)

Warmuptill said:


> Have you tried something similar to this?
> View attachment 89960
> If so, can you give more details what exactly is not working as you would expectT





Warmuptill said:


> Have you tried something similar to this?
> View attachment 89960
> If so, can you give more details what exactly is not working as you would expect?


This is what I have and when the title changes the asset is still visible if I click run it will perform the action once but never again until I press run again


----------



## mikexilva (Dec 30, 2022)

AaronD said:


> That sounds like a Dugan automixer, named for its inventor Dan Dugan.  Except instead of controlling audio gain, you're using the internal control signals to switch cameras.  Same logic to create those control signals.
> 
> Problem is, the patent is still valid, and the inventor is still making a living on it.  So you'll have to either buy something that satisfies his license and figure out how to use it, or license it from him yourself.  Probably not going to happen for this plugin.
> 
> ...


Right.. I thought software patents weren't an universal issue (specially when hardware was required before and it isn't anymore, software has so many dimensions that shouldn't be caped), anyway I just wanted to switch the video, maybe include main camera in big size and other cameras in a smaller size, not necessarily excluding all other audio but isn't this what videoconferencing software do? Zoom, Teams, Webex, Google Meet, all of them show the speaker in based on who is talking, this would be doing the same on a local room instead of distributed over the internet.


----------



## AaronD (Dec 30, 2022)

mikexilva said:


> Right.. I thought software patents weren't an universal issue (specially when hardware was required before and it isn't anymore, software has so many dimensions that shouldn't be caped), anyway I just wanted to switch the video, maybe include main camera in big size and other cameras in a smaller size, not necessarily excluding all other audio but isn't this what videoconferencing software do? Zoom, Teams, Webex, Google Meet, all of them show the speaker in based on who is talking, this would be doing the same on a local room instead of distributed over the internet.


All the platforms you mentioned are paid in some form or another.  Either directly, or through ads or other products that the same company sells.  What's to say that they didn't license a ton of tools to make them work, none of which for free?

OBS is entirely free, no paid licenses, and not even free licenses that are incompatible with open source, which is at least part of why we don't have native NDI support for a different example.

Also, patents (if written well) are tool-agnostic, so if something was patented as an analog circuit, then the same patent also covers software implementations of the same thing, hence the continuing need to license it.

If we only provide the building blocks that can't be IP-protected - generic math operations, variables, etc. - then we're not infringing anything, even if a user decides to make something out of them that does infringe something.  At that point, the risk is entirely on the user, and generally isn't worth pursuing unless you're selling it or giving it away beyond your own use...or to make an example like the old music-sharing debacle, but even then it was the sharing part beyond themselves that triggered it.


----------



## Warmuptill (Dec 31, 2022)

ItsThatGuyJD said:


> This is what I have and when the title changes the asset is still visible if I click run it will perform the action once but never again until I press run again
> View attachment 90089


You seem to be using an older version of the plugin.
In this version the "File" condition always required you to match the content of the file.
So in your current setup the condition will only ever be true if the file is empty.

If you want to stick with this old version please tick the "use regular expressions" checkbox and enter `(.|\n)*` in the textbox above.

Alternatively update to the newest version of the plugin an use this:





mikexilva said:


> Hello,
> I'm testing this plugin to trigger a camera change using it's audio on a multi camera setup on same room but since the cameras are close by, the audio going for one camera can still be heard on another camera, and if some one talks a bit lowder it will trigger more than one cameras at the same time.
> 
> Is there any way to make the switch according to higher audio level (compared to the other audio sources) instead of just a predefined  trigger level?


That is not possible at the moment unfortunately - I will try to to think of something.


----------



## mikexilva (Jan 1, 2023)

Warmuptill said:


> Warmuptill said:
> 
> 
> > mikexilva said:
> ...


Nice, maybe just allowing to compare 2 audio levels would be enough (instead of just comparing to a reference) then we would need program something like this conditions depending on the number of audio sources, like:
IF (optionally level of A> trigger reference) AND level of A>B AND level of A>C AND level of A>D THEN switch to scene A
IF (optionally level of B> trigger reference) AND level of B>A AND level of B>C AND level of B>D THEN switch to scene B
IF (optionally level of C> trigger reference) AND level of C>A AND level of C>B AND level of C>D THEN switch to scene C
IF (optionally level of D> trigger reference) AND level of D>A AND level of D>B AND level of D>C THEN switch to scene D
I don't know how CPU intensive this is but if it's too much it cold be done just every 500ms to reduce CPU load...

And it should allow to select a minimum period of time (like 1000ms) with the all conditions TRUE before triggering the scene switch to avoid quick confusing, unnecessary scene switching with momentary noises like coughing.. but this I think it's already implemented when comparing to a reference..

This was just a quick thought, maybe there are more elegant ways to do it, but just adding that possibility will allow for more freedom on user programming.

Thanks and happy new year ;)


----------



## mikexilva (Jan 1, 2023)

mikexilva said:


> Nice, maybe just allowing to compare 2 audio levels would be enough (instead of just comparing to a reference) then we would need program something like this conditions depending on the number of audio sources, like:
> IF (optionally level of A> trigger reference) AND level of A>B AND level of A>C AND level of A>D THEN switch to scene A
> IF (optionally level of B> trigger reference) AND level of B>A AND level of B>C AND level of B>D THEN switch to scene B
> IF (optionally level of C> trigger reference) AND level of C>A AND level of C>B AND level of C>D THEN switch to scene C
> ...





Warmuptill said:


> Warmuptill said:
> 
> 
> > mikexilva said:
> ...


Maybe it would be more efficient and elegant to set one variable per audio source and then just use them on the IF's comparisons... instead of "measuring" audio levels so many times repeatedly with all macros running at the same time, although I don't know if this adds too much complexity...


----------



## jbcurler2010 (Jan 2, 2023)

Love this plug-in. Cannot survive without it.

Using macros to auto-schedule streaming based on scene selection and day and time. Works perfect for multiple instances of OBS.

I'm using export and import to duplicate settings between the multiple instances of OBS. Wondering if there's an easy way to create the text files outside of OBS? Forgive me, I haven't looked too hard for something. The problem is that the schedules can be quite complicated and long and it would be easier to build in a spreadsheet or something. I also wonder if there might be a way too pull a schedule directly from a file on OBS launch?

Thanks so much for your work!


----------



## Warmuptill (Jan 2, 2023)

jbcurler2010 said:


> Love this plug-in. Cannot survive without it.
> 
> Using macros to auto-schedule streaming based on scene selection and day and time. Works perfect for multiple instances of OBS


Glad to hear the plugin is of use to you! :)



jbcurler2010 said:


> I also wonder if there might be a way too pull a schedule directly from a file on OBS launch?


Assuming the plugin is configured to run on OBS startup you achieve this using the "Import settings from" option of the "Plugin state" action.






jbcurler2010 said:


> Wondering if there's an easy way to create the text files outside of OBS? Forgive me, I haven't looked too hard for something. The problem is that the schedules can be quite complicated and long and it would be easier to build in a spreadsheet or something.


Unfortunately I do no think there is a tool to create the settings file outside of OBS.
The settings format is a simple json file, so I guess you could theoretically set up a script to generate the settings file from a spreadsheet.
But I don't think that would be a trivial task.


----------



## alexanderrk (Jan 2, 2023)

Hi Warmuptill,

I've tried to google and search through the thread but is there a way to repeat a condition before a macro triggers?

I am trying to use Media state Ended before a scene changes but i'm trying to get it to happen after 3 videos, not just 1. 
Any macros I've set up just end up simultaneously triggering at once.

Thanks and happy new year!


----------



## Warmuptill (Jan 3, 2023)

alexanderrk said:


> Hi Warmuptill,
> 
> I've tried to google and search through the thread but is there a way to repeat a condition before a macro triggers?
> 
> ...



I am not sure I am understanding what you are trying to achieve correctly.

If your question is how to trigger the actions only if multiple media sources are in the ended state, something like this should do the trick:





If you have the issue of multiple macros attempting to change the active scene at  the same time you could use something similar to this:





The "Plugin state" condition could of course be replaced by other condition types as well depending on your setup.
For example you could check if the particular media source is even visible on the current scene using the scene item visibility condition.

Alternatively you could set up a variable containing the scene name, which you use in the action triggering the scene change, to avoid having multiple conflicting scene switch actions active at the same time.

I hope one of the points covered your question and helped solved the issue! :)


----------



## jbcurler2010 (Jan 3, 2023)

Warmuptill said:


> Glad to hear the plugin is of use to you! :)
> 
> 
> Assuming the plugin is configured to run on OBS startup you achieve this using the "Import settings from" option of the "Plugin state" action.
> ...


Ahhh. Very helpful. Now to think about scripting. Would be even better to pull from a cloud platform. Hmmm.


----------



## AaronD (Jan 3, 2023)

jbcurler2010 said:


> Ahhh. Very helpful. Now to think about scripting. Would be even better to pull from a cloud platform. Hmmm.


There's also the Run action, which takes a single command as if you typed it in a terminal.  Maybe that could be used to trigger something that pulls from the cloud to a local file, and then you read that file?


----------



## AaronD (Jan 3, 2023)

alexanderrk said:


> I am trying to use Media state Ended before a scene changes but i'm trying to get it to happen after 3 videos, not just 1.
> Any macros I've set up just end up simultaneously triggering at once.


Are you trying to do something like this?:

Play video 1
Wait for video 1 finished
Play video 2
Wait for video 2 finished
Play video 3
Wait for video 3 finished
Switch scenes
If so, then I'd put each video in its own scene, and do this:

Switch to video 1 scene, (could be manual, or a macro, or whatever)
If video 1 Playing and 0.5 sec left
Switch to video 2 scene with 0.5 sec transition

If video 2 Playing and 0.5 sec left
Switch to video 3 scene with 0.5 sec transition

If video 3 Playing and 0.5 sec left
Switch to last scene with 0.5 sec transition

The 0.5 sec early with 0.5 sec transition makes it look really nice, almost professional.  Of course, you could make that time anything you want, independently for each one.


----------



## huuich (Jan 4, 2023)

What is the difference Source Active and Showing like this picture? 






I want to automatically stop streaming by a condition, not fixed time. Can I use source change or anything else?


----------



## alexanderrk (Jan 4, 2023)

@Warmuptill

What i'm trying to do is keep a shuffled playlist going with a break after a couple plays (like a logo bumper). @AaronD has a pretty close to what i'm trying to do. I'll have to try that. Maybe with a reference video player since they need to be on the same scene. 

I think the "Automated scene change was triggered in this interval" option might be what i'm looking for but i'll play around with both your suggestions and let you guys know what works.

Thanks to both of you for taking the time to answer, appreciate it!


----------



## Nucktrooper (Jan 5, 2023)

Since the old tabs are deprecated, is there a way to switch a scene according to a file content with the macro ?
I've only found a way to switch to a specific scene.


----------



## Nucktrooper (Jan 5, 2023)

I see we can also use this plugin to trigger other actions than switching scene.
Is there a way to change the monitor type of audio sources ?

I would like to be able to switch my playlist between "monitor and output" and "monitor off" when I have to focus.


----------



## Warmuptill (Jan 5, 2023)

huuich said:


> What is the difference Source Active and Showing like this picture?
> 
> View attachment 90240
> 
> I want to automatically stop streaming by a condition, not fixed time. Can I use source change or anything else?


Can you elaborate on what the condition is supposed to do / what the circumstances are in which you want to stop streaming?

As far as I understand a source can be active, but not visible.
A source that is showing is always active.

Depending on what you have in mind with your condition you might also want to have a look at "Scene item visibility".



Nucktrooper said:


> Since the old tabs are deprecated, is there a way to switch a scene according to a file content with the macro ?
> I've only found a way to switch to a specific scene.


The file tab is still available but hidden by default.
Uncheck the following option on the General tab to show it again.








Nucktrooper said:


> I see we can also use this plugin to trigger other actions than switching scene.
> Is there a way to change the monitor type of audio sources ?
> 
> I would like to be able to switch my playlist between "monitor and output" and "monitor off" when I have to focus.


That is not available in the current release.

If you don't mind using a pre-release version however the option to do so is available in this build:








						Adjust locale · WarmUpTill/SceneSwitcher@5444d6f
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				




Here the "Audio" action (and condition) support setting monitoring options of audio sources.




Note that you have to be logged into GitHub to be able to download this build.
If that should be a problem let me know.


----------



## Nucktrooper (Friday at 3:17 PM)

Thank you, it is working. I can now focus on my games. ^^


----------



## rades (Monday at 2:35 AM)

Hello friends, I am about to start a podcast with my partner and I want to automate the scene changes every time it detects that the microphone input is coming from her or mine.

The problem I have is that sometimes the image flickers, apparently it doesn't detect which scene it should be showing and the change it makes is immediate and the screen is flickering.

I also want every once in a while to ignore that and show a third scene that would have a general camera only for a certain amount of time. But I can't do it.

How could I solve this?


----------



## jbcurler2010 (Tuesday at 4:19 PM)

Next question/issue. Wondering where the macro settings are located in the config files? I am seeing an issue where my settings from the old version seem to still be present and need to figure out how to remove them. Thanks.


----------



## AaronD (Tuesday at 4:54 PM)

jbcurler2010 said:


> Next question/issue. Wondering where the macro settings are located in the config files? I am seeing an issue where my settings from the old version seem to still be present and need to figure out how to remove them. Thanks.


You mean the old tabs?  There's a checkbox to show them.  (scroll up a couple of posts)  Then you can work through them manually and delete everything.

The macros should always show, if they're still there.  If not, I'd call that a bug, but a workaround might be to:

Back up what you want to keep, probably manually, as the Export/Import buttons cover everything
Uninstall the plugin
Start and close OBS, so that it doesn't load the (uninstalled) plugin and then overwrites the file without it
Reinstall the plugin
Put your settings back in it
To (somewhat) answer your question, it's part of the Scene Collection.  (so you'll have to expand steps 1, 3, and 5 if you have multiple)  Where that is in the file system, I don't know.


----------



## jbcurler2010 (Tuesday at 5:24 PM)

AaronD said:


> You mean the old tabs?  There's a checkbox to show them.  (scroll up a couple of posts)  Then you can work through them manually and delete everything.
> 
> The macros should always show, if they're still there.  If not, I'd call that a bug, but a workaround might be to:
> 
> ...


Thanks for that! Much appreciated.


----------



## Warmuptill (Tuesday at 8:56 PM)

rades said:


> Hello friends, I am about to start a podcast with my partner and I want to automate the scene changes every time it detects that the microphone input is coming from her or mine.
> 
> The problem I have is that sometimes the image flickers, apparently it doesn't detect which scene it should be showing and the change it makes is immediate and the screen is flickering.
> 
> ...


What is probably happening here, when the image is flickering, is that multiple macros, which both contain scene switches, are active in the same interval.
Thus the first macro is switching to "Scene A" and the the second one is switching to "Scene B" immideatly after that.

I would recommend to set up your macros similar to this example:








						Variables · WarmUpTill/SceneSwitcher Wiki
					

An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.




					github.com
				




To achieve the switch to the third scene something like this might do the trick:





This will switch to the "General Camera Scene" every 1 to 5 minutes and remain there for 10 to 30 seconds.
The exact duration values are of course only examples.

And sorry about the delayed response.


----------



## tankman (Yesterday at 9:04 AM)

Can ASS be used to restart a VLC YouTube source that has stopped?


----------



## Ganztageshörerin (Today at 5:14 PM)

Hello,

Thanks for that useful plugin!

Is there an opportunity to make an easy schedule by importing a text file that says when to show which scene?

And how can I consider time zones? For example, when a time repeats at the end of daylight saving time, how can I say: show this on 2.30 DST and show that on 2.20 Standard time (2.20 standard comes after 2.30 daylight saving time). All in UTC would be easier. :)

Thanks!


----------

