Advanced Scene Switcher

Advanced Scene Switcher 1.28.1

AaronD

Active Member
Hi. Despite looking through the forum I can't figure out how to get my Advanced Scene Switcher scene sequence macro to loop. I'm using ASS 1.22.1 & OBS 29.1.3 on a Windows 11 laptop. I just want the sequence to start again when it gets to the last scene. I did try the 'sequence' tab way but it doesn't seem to let me sequence my scenes as I want to. Thanks in advance for any help.

View attachment 97957
I would do it completely differently. Instead of having a single sequence in a single macro with Waits in between, have a bunch of macros that each does only one transition. Or perhaps a hybrid. You only really need 2 macros to make this concept work.

1695488445679.png

1695488453702.png

This is already a loop, because each one switches to the other. Of course, you can make the loop as long as you want, with different wait times in the conditions. Each one goes to the next, and that last one simply goes to the first one.

A huge advantage of doing it this way is that it's also easy to manually escape the sequence, just by switching to something that's not in the sequence. Or you can jump to a particular point in the sequence just by manually (or automatically by other means) going there. A bunch of Wait actions forces you back to that exact sequence when each of the wait timers runs out.

A disadvantage, and why you might want a hybrid, is that you can't repeat the same step at different points in the sequence. If you use variables, you can, but then you actually have to simulate the function in your head while keeping track of the value of that variable, which takes a lot more effort than just reading it off.

So a hybrid might have a sequence of Wait steps, but not the entire sequence, in one macro, and another macro uses the logic shown here to continue that sequence with some more Wait steps. The Wait step that would have been in between, gets converted to a condition timer in the next macro, which is waiting for the last step of the previous one to be active for that time. 2 of those can loop, simply by having their last steps switch to what the other one is waiting for.
 

BioFUSION

Member
Not sure if its possible, anyway to cycle through multiple actions? Like, say the top box is setup with a hot key... If I have 4 different filters, could I cycle through each one, each time I hit the hotkey?
 

BioFUSION

Member
Not sure if its possible, anyway to cycle through multiple actions? Like, say the top box is setup with a hot key... If I have 4 different filters, could I cycle through each one, each time I hit the hotkey?
Nevermind, found an old post of yours that pretty much explained it.
 

DiscoJimbo

New Member
I would set up a timer with a fixed duration with automatic reset of timer checked, when the duration condition is met, trigger the above macro to play.
Thanks for your reply. I’ve tried this and it seems to be working ok. Just have to figure out the correct time values.
 
  • Like
Reactions: PNO

DiscoJimbo

New Member
I would do it completely differently. Instead of having a single sequence in a single macro with Waits in between, have a bunch of macros that each does only one transition. Or perhaps a hybrid. You only really need 2 macros to make this concept work.

View attachment 97973
View attachment 97974
This is already a loop, because each one switches to the other. Of course, you can make the loop as long as you want, with different wait times in the conditions. Each one goes to the next, and that last one simply goes to the first one.

A huge advantage of doing it this way is that it's also easy to manually escape the sequence, just by switching to something that's not in the sequence. Or you can jump to a particular point in the sequence just by manually (or automatically by other means) going there. A bunch of Wait actions forces you back to that exact sequence when each of the wait timers runs out.

A disadvantage, and why you might want a hybrid, is that you can't repeat the same step at different points in the sequence. If you use variables, you can, but then you actually have to simulate the function in your head while keeping track of the value of that variable, which takes a lot more effort than just reading it off.

So a hybrid might have a sequence of Wait steps, but not the entire sequence, in one macro, and another macro uses the logic shown here to continue that sequence with some more Wait steps. The Wait step that would have been in between, gets converted to a condition timer in the next macro, which is waiting for the last step of the previous one to be active for that time. 2 of those can loop, simply by having their last steps switch to what the other one is waiting for.
Thanks for your reply. Your suggestions look really useful but I’m not at the level of know-how to implement them thanks anyway
 

AaronD

Active Member
On Windows 11, OBS 29.1.3

How do i get Advanced Scene Switcher to show the other tab options?
It only shows General & Macro

View attachment 98037
Got it sorted.

the 'Hide Tabs...' option had to be unselected

View attachment 98038
Yes. But be aware that the other tabs are not maintained anymore, and might even go away in a future release. See if you can migrate everything to the macros, and if you find something that can't be migrated, ask about that here so that you can.
 

BioFUSION

Member
What are your thoughts on the Filter box, having a disable all filters on source setting? Im working with a bunch of filters, and have to keep doing like 8-9 boxes for on, 8-9 for off, etc. Just becomes a hassle... but like I said in discord, I could be doing the whole thing wrong/hard way. I dont see a scenario where enable all would work, but who knows.

They tried suggesting the beta, for else, but wasnt quite working right for me (and my beginner level of knowledge)
 

LeeG

New Member
I run 4 livestreams to youtube simultaneously. Advance scene switching looks like a good idea but I wonder if I can attach the plugin to each instance and run each stream without conflict. Anyone know?
 

AaronD

Active Member
I run 4 livestreams to youtube simultaneously. Advance scene switching looks like a good idea but I wonder if I can attach the plugin to each instance and run each stream without conflict. Anyone know?
I do that with 2 simultaneous instances of OBS on the same machine. Different set of macros to do different things, and one even sends websocket messages to the other.

The settings are part of the Scene Collection, so if you use a different collection in each instance, they're independent. I start both instances with a script that uses the command-line options to give them different profiles and collections right from the start, so there's no forgetting to switch. Just run the script, and there it is.
obs --multi --profile "Profile Name" --collection "Scene Collection Name"
You can do the same thing by modifying the shortcut, launcher, or whatever your system calls it.
The parts in quotes must be in quotes, and must match *exactly* the name that OBS already has. Not matching exactly is the same as not providing that option - it uses the last one that it remembers having, which might be the other instance or a different unrelated one - and not having quotes will probably kill the match *and* throw an error because it thinks the last part of the name is another option that it doesn't recognize.

obs --help in a terminal (Command Prompt for Windows) to see all that you can do there, but some might be done better in an "Init" macro in Adv. SS, just to have as much as possible in one place.
"Plugin running" is always true, and the "only on change" checkbox makes it run once on startup and never again. That's really handy!
 
Last edited:

LeeG

New Member
I do that with 2 simultaneous instances of OBS on the same machine. Different set of macros to do different things, and one even sends websocket messages to the other.

The settings are part of the Scene Collection, so if you use a different collection in each instance, they're independent. I start both instances with a script that uses the command-line options to give them different profiles and collections right from the start, so there's no forgetting to switch. Just run the script, and there it is.
obs --multi --profile "Profile Name" --collection "Scene Collection Name"
You can do the same thing by modifying the shortcut, launcher, or whatever your system calls it.
The parts in quotes must be in quotes, and must match *exactly* the name that OBS already has. Not matching exactly is the same as not providing that option - it uses the last one that it remembers having, which might be the other instance or a different unrelated one - and not having quotes will probably kill the match *and* throw an error because it thinks the last part of the name is another option that it doesn't recognize.

obs --help in a terminal (Command Prompt for Windows) to see all that you can do there, but some might be done better in an "Init" macro in Adv. SS, just to have as much as possible in one place.
"Plugin running" is always true, and the "only on change" checkbox makes it run once on startup and never again. That's really handy!
Thanks for taking the time to share your experience. This option opens some interesting doors.
 

Destroy666

Member
What are your thoughts on the Filter box, having a disable all filters on source setting? Im working with a bunch of filters, and have to keep doing like 8-9 boxes for on, 8-9 for off, etc. Just becomes a hassle... but like I said in discord, I could be doing the whole thing wrong/hard way. I dont see a scenario where enable all would work, but who knows.

They tried suggesting the beta, for else, but wasnt quite working right for me (and my beginner level of knowledge)
Suggest that on GitHub please. I've already made a similar suggestion for source item visibility, but there are bunch of other dropdowns that could benefit from "All"/"Any" option.
 
Good day. I'm asking this question again because we've got a large OBS deployment and have a specific but simple use case. We use the plugin to simply start and stop streaming on a schedule. Most of the schedules are fairly simple and short. However, we are now seeing more complicated schedules. There new ability to export and import macros will be helpful, but I'm looking for an easy way to build complicated schedule to import. Again, the schedule itself is just composed of DAY OF WEEK, START TIME, STOP TIME. So either having a separate function just for this simple task or having a macro writer for this purpose would be helpful. I currently have a schedule with 30+ Start and Stop times. Thanks.
 

BioFUSION

Member
Why do you need that? Smells an awful lot like an XY problem to me.
Some old program Youtube Title Reader, it writes a browser title to a text file, and obs displays the text.

Used to work on w10 normal, but win11 requires it to be elevated (to write to file)

Also not asking for it to be implemented, just curious if there was a way I couldnt find on google.
 
Last edited:

Destroy666

Member
I don't think a random app requires admin permissions to write to a file. What's the path you're trying to save to? And why does Advanced Scene Switcher need to launch the app?

On another note, do you know Tuna plugin? If you want YT song name, use that + YT Music (although it can read from window titles as well). You'll also have access to % progression bar widget then.
 

AaronD

Active Member
win11 requires it to be elevated (to write to file)
Soo...*every* app must now be elevated? Just because they all write user data and configuration settings to files? I rather doubt that.

More believable would be to require admin to read the title of another app......except that OBS itself does this for the Window Capture without admin. So that's out too.

So, why again do you need admin? Just because something you call from the Run action is poorly written? That's pretty much what it sounds like to me.

Back to the XY problem, maybe there's a way for OBS to grab the window title directly and put it into a text source, and you can ditch the "hack-me sign" of an app.
 

BioFUSION

Member
User was warned for this post.
Soo...*every* app must now be elevated? Just because they all write user data and configuration settings to files? I rather doubt that.

More believable would be to require admin to read the title of another app......except that OBS itself does this for the Window Capture without admin. So that's out too.

So, why again do you need admin? Just because something you call from the Run action is poorly written? That's pretty much what it sounds like to me.

Back to the XY problem, maybe there's a way for OBS to grab the window title directly and put it into a text source, and you can ditch the "hack-me sign" of an app.
listen dik licker, here is the program https://obsproject.com/forum/resources/beta-simple-youtube-title-reader.263/, again I am not asking it to be implemented into ass, im asking those more familiar with running s#%t via command line if theres a way, an argument, what ever the f#%k to elevate the program. run it yourself if your so f#%king curious why it does what it does. all I know is if i run the b#%$h as admin, it works, if not everything works except writing to a file. I am sure its a flaw in the original coding but IDGAF, it works, ill manually launch it if I have to, all I was looking for:

to launch an app via command line as admin you do this that and the other

or

sorry kid, aint possible

Not your leaky vag#%a snail trail all over my question.

My files located on a d: drive, nothing system protected. I am aware of tuna, its being used for something else, it took a lot of time to get it working right how I want it, so I dont wanna try adding more to it and fucking it up, plus I dont think it would do what I want, I know its called YTR, but it just pulls browser page titles, and I cannot find another program/script that does it. Tuna is very finicky and poorly written. And the author is bored with maintaining it (his words).

Hostilities aimed at Aaron, not destroy666. I can only eat s#%t for so long before it gets puked right back in your face.
 
Top