Advanced Scene Switcher

Advanced Scene Switcher 1.28.1

Andrew7172

New Member
Good day! Please tell me how to configure the plugin, when the donation bar is filled to the maximum, the media file is turned on. is there such a feature in the plugin? Of course, I can put this on the hotkey, but I want automatism. Thanks!
 
Last edited:

AaronD

Active Member
Hi,
Amazing plugin, very useful! I am using it for lots of macros. I have a question, do you think I can also use this plugin for the following:

I have many audio cues ordered in folders, and I would like to press a hotkey in OBS linked to each folder and to play an audio file, picked randomly from that folder. Can this plugin make it? (basically, hotkey 1 plays any file ABC from folder 1, hotkey 2 plays any file ABC from folder 2 etc). Right now I have many hotkeys, one for each audio file, to turn them visible (and so play them in OBS), then I use Advanced Scene Twitcher for dozens of macro that simply say "if file A is below 5db, make it hidden again" ... so clunky...

Soundboard Dock plugin does not work randomly (nor does it really restart all the sounds, ready to be played again). Any help appreciated!
There's the Random action, which chooses a *Macro* at random to run. If you don't change your library very much, then it could work to have a macro with no condition (so it doesn't run on its own) for each file, and then put all of the macros that you want to choose from into the Random action.

To streamline the cleanup afterward, you might use this condition, instead of a specific one for each:
1720808270307.png

This works better if you have a separate scene for each thing, so then you can either switch to a specific scene, or to the Previous Scene like I do (play any video, and then this one macro goes back to the same camera that I was on).

Don't be afraid to have lots of scenes! With relatively few things in each. If you're presently using them as folders, try doing that with their naming convention instead, and their order in the list.
 

AaronD

Active Member
Good day! Please tell me how to configure the plugin, when the donation bar is filled to the maximum, the media file is turned on. is there such a feature in the plugin? Of course, I can put this on the hotkey, but I want automatism. Thanks!
How would it know about the donation bar? Is there an API for it? Do you *have* to watch that part of the screen? Once you have that answer, you can make it a condition, in place of the hotkey.
 

cliggity

New Member
I really like Advanced Scene Switcher - it's such a powerful tool. I'm wondering, is there any way to use it to bring the "scenes" dock into focus automatically? Is it possible to interact with OBS's UI to simulate a click in a specific window or dock? Or is there another way to do this? I'm using an M1 mac.

I'm helping a with a friend's set up for a theatre show. They are advancing through their scenes one at a time, using the down arrow key on a remote from the stage. At one point they will go to the computer and quickly type something and press a hotkey. This triggers an advanced scene switcher macro that goes through a series of steps. At the end of this, they'll be back onstage, and they want to advance to the next scene with the down arrow on their remote. The problem is, if they forget to click back into the scenes list, there is no way for them to advance to the next scene because the scenes dock is no longer in focus. I want to add a step to the end of the macro that refocuses on the correct dock. Any ideas for how to make this work?
 

AaronD

Active Member
I really like Advanced Scene Switcher - it's such a powerful tool. I'm wondering, is there any way to use it to bring the "scenes" dock into focus automatically? Is it possible to interact with OBS's UI to simulate a click in a specific window or dock? Or is there another way to do this? I'm using an M1 mac.

I'm helping a with a friend's set up for a theatre show. They are advancing through their scenes one at a time, using the down arrow key on a remote from the stage. At one point they will go to the computer and quickly type something and press a hotkey. This triggers an advanced scene switcher macro that goes through a series of steps. At the end of this, they'll be back onstage, and they want to advance to the next scene with the down arrow on their remote. The problem is, if they forget to click back into the scenes list, there is no way for them to advance to the next scene because the scenes dock is no longer in focus. I want to add a step to the end of the macro that refocuses on the correct dock. Any ideas for how to make this work?
I wonder if you need to change how it works normally, so that it doesn't need that focus.

OBS can be made to be a slideshow, as you say you're doing, but it's not really meant for that. It's more of a free-form TV studio. My first thought is that a slideshow should probably run from an actual slideshow app, like PowerPoint, LibreOffice Impress, OpenLP, ProPresenter, Keynote, etc... Lots of those to choose from, with a wide variety of functionality and price, that don't necessarily correlate with each other.

I like OpenLP myself. It's free, and has its own remote control interface, so it doesn't need focus at all. Just turn it on in the settings, download a phone app (NOT from the app store, but from the QR code in OpenLP's settings), connect the phone app to the desktop app, and you have a dedicated controller that doesn't lose focus.

If you're only running a local display and speakers, then you can run the show directly from OpenLP, without OBS involved at all. Or you can capture it in OBS as part of a larger production.

I expect other apps to follow a similar idea, with variations on how the remote works if at all, how you set it up, what you can do with it, etc.
 

AaronD

Active Member
At one point they will go to the computer and quickly type something...At the end of this, they'll be back onstage...The problem is, if they forget...
Don't require any more work in-the-moment than you absolutely have to! Spend a boatload of time and effort to set things up beforehand, so that they can just click straight through with no other thought. Or, barring that, have several things already set up, to be able to choose one quickly with just one button each, and have it work.

Live-on-Air and Live-on-Stage are stressful enough already. Keep that workload to an ABSOLUTE minimum! So no typing at all if you can avoid it. Just one button at a time, and that's it. Everything is set up and tested beforehand, even if you don't end up using most of it.

THAT might put you back into OBS, where each button corresponds to a macro. Each macro then, does everything required, already set-up and tested, with no more interaction than just the one trigger hotkey for each.
 

cliggity

New Member
I wonder if you need to change how it works normally, so that it doesn't need that focus.

OBS can be made to be a slideshow, as you say you're doing, but it's not really meant for that. It's more of a free-form TV studio. My first thought is that a slideshow should probably run from an actual slideshow app, like PowerPoint, LibreOffice Impress, OpenLP, ProPresenter, Keynote, etc... Lots of those to choose from, with a wide variety of functionality and price, that don't necessarily correlate with each other.

I like OpenLP myself. It's free, and has its own remote control interface, so it doesn't need focus at all. Just turn it on in the settings, download a phone app (NOT from the app store, but from the QR code in OpenLP's settings), connect the phone app to the desktop app, and you have a dedicated controller that doesn't lose focus.

If you're only running a local display and speakers, then you can run the show directly from OpenLP, without OBS involved at all. Or you can capture it in OBS as part of a larger production.

I expect other apps to follow a similar idea, with variations on how the remote works if at all, how you set it up, what you can do with it, etc.

Hi, thanks for your reply! I agree about using the right tool for the job. Their set-up is more complex than a slide show - their show involves making an improvised "movie" live in the moment, so they are running cameras through NDI, and recording parts of the show live, that will play back later. So a simpler slide show app wouldn't work.

Don't require any more work in-the-moment than you absolutely have to! Spend a boatload of time and effort to set things up beforehand, so that they can just click straight through with no other thought. Or, barring that, have several things already set up, to be able to choose one quickly with just one button each, and have it work.

Live-on-Air and Live-on-Stage are stressful enough already. Keep that workload to an ABSOLUTE minimum! So no typing at all if you can avoid it. Just one button at a time, and that's it. Everything is set up and tested beforehand, even if you don't end up using most of it.

THAT might put you back into OBS, where each button corresponds to a macro. Each macro then, does everything required, already set-up and tested, with no more interaction than just the one trigger hotkey for each.

Yes, it is exactly my intention to simplify their set-up by helping them automate as much of it as possible so they don't have to think about it. The one moment where they type on the computer can't be avoided - they have asked the audience for a suggested title for the "movie" and it's a different title every time. I've used advanced scene switcher to make everything as simple and easy as possible. Refocusing on the "scenes" dock automatically would make it seamless. If you have any suggestions on how to achieve this, I'd love to figure it out!
 

Hemux

New Member
There's the Random action, which chooses a *Macro* at random to run. If you don't change your library very much, then it could work to have a macro with no condition (so it doesn't run on its own) for each file, and then put all of the macros that you want to choose from into the Random action.

To streamline the cleanup afterward, you might use this condition, instead of a specific one for each:
View attachment 105287
This works better if you have a separate scene for each thing, so then you can either switch to a specific scene, or to the Previous Scene like I do (play any video, and then this one macro goes back to the same camera that I was on).

Don't be afraid to have lots of scenes! With relatively few things in each. If you're presently using them as folders, try doing that with their naming convention instead, and their order in the list.

Hello Aaron, and thank you very much for your answer!
Regarding the first point, I will try the random today and let you know the outcome.
For the second point, with the cleanup, I have a huge issue: I added that macro, and from there on, my OBS makes my cpu go up to 20% use and most of all using 60go of my 64go of ram!!! I then have to wait before I can click anywhere in OBS for like 2 whole minutes... (not kidding, I timed it). I wonder what that macro (If media source) is messing up in my OBS.
 

Hemux

New Member
Ok I confirm that the Random process works very well. However, I have a really big problem with the "Turning the media sources off" macro we talked about in second point: I tried with 2 fake sound cues, it worked. Then I started with my real sound cues, creating dozens of media sources, and when I created the Macro with Media like you indicated, my pc became crazy. I have a good enough pc, but when I start creating the Macro to turn off the Media sources, OBS suddenly uses all my 64go of ram, and I can't interact with it anymore, it just loads and loads, the fans of my pc start turning madly... see attached. Turning OBS off and back on, or the whole PC off and back on does not change: I have to go to OBS safe mode and then delete my whole scene, groups and media sources (so much work wasted..) to be able to use OBS again. Any idea?!
 

Attachments

  • aaron.png
    aaron.png
    23.3 KB · Views: 14

AaronD

Active Member
their show involves making an improvised "movie" live in the moment, so they are running cameras through NDI, and recording parts of the show live, that will play back later.
Wow!

The one moment where they type on the computer can't be avoided - they have asked the audience for a suggested title for the "movie" and it's a different title every time.
Okay. Yeah, it's kinda hard to avoid *that* one.

I've used advanced scene switcher to make everything as simple and easy as possible. Refocusing on the "scenes" dock automatically would make it seamless. If you have any suggestions on how to achieve this, I'd love to figure it out!
I said above (and quoted below) that automating a UI directly should only be considered as a last resort, but maybe you can mitigate the problems yourself so that it's not *as* unreliable??? Then either a GUI action (or whatever @Warmuptill ends up calling it) or an external script that you call from the Run action, literally clicks on that part of the screen.

Generally, automating a user interface as if it were an actual user, has to be considered an option of last resort. If that's all you have, then fine, do it that way, but keep in mind that it can easily decide to break at any time:
  • The reference location and/or scale for mouse clicks might change, and so the same numbers now miss the button.
  • The button itself might move, as part of some "usability improvements", and so the same numbers now miss the button.
  • There might be an additional step involved, as part of some "security improvements", and so the button isn't even there or is ineffective without a step that you now have to add.
  • In the cases where you now miss the button, there might be another button that you hit instead. What does *that* do?
  • Etc.
If it's at all possible to get an API that you can just connect to and tell it directly what you want to do, that's far preferable. Only if there's no other option, should you consider automating a user interface. But it could still be worth having that feature, for those cases where there really is no other option.
I hope there's a way that doesn't require you to automate the UI, but I don't know what that would be. Sorry!
 

AaronD

Active Member
...my OBS makes my cpu go up to 20% use and most of all using 60go of my 64go of ram!!! I then have to wait before I can click anywhere in OBS for like 2 whole minutes... (not kidding, I timed it). I wonder what that macro (If media source) is messing up in my OBS.
That sounds like a bug to me! Massive memory leak at minimum. It doesn't do that for me, so I wonder what's different?

Turning OBS off and back on, or the whole PC off and back on does not change: I have to go to OBS safe mode and then delete my whole scene, groups and media sources (so much work wasted..) to be able to use OBS again. Any idea?!
So it's something about the configuration itself, not the action that you do with it. Are you inadvertently trying to run EVERYTHING at the same time? I thought OBS did already, just to be able to show immediately, whatever you decide on a whim to show, but this seems like something else!

Can you make a new, blank Profile and Scene Collection, and build that up to a minimal configuration that shows the problem? Or duplicate what you have so as not to mess it up, and then pare it down to that minimal example?
 

cliggity

New Member
I said above (and quoted below) that automating a UI directly should only be considered as a last resort, but maybe you can mitigate the problems yourself so that it's not *as* unreliable??? Then either a GUI action (or whatever @Warmuptill ends up calling it) or an external script that you call from the Run action, literally clicks on that part of the screen.
I'm really close to making this work using BetterTouchTool and an applescript app made with automator.
With BetterTouchTool, I can make a "named trigger" that detects an image or text onscreen and moves the mouse to that area and clicks on it (this mitigates the mis-clicks/mouse co-ordinates issue). The BTT trigger can be triggered with the simple applescript app. It all works perfectly when I run the app from finder. Unfortunately I'm running into an issue with permissions while using the "Run" action in Advanced Scene Switcher. I get a pop up dialogue box:
The action "Run AppleScript" encountered an error: "Not authorized to send Apple events to BetterTouchTool"

Screenshot 2024-07-14 at 1.02.22 PM.png

The first time I ran the apple script app from finder, I got a permissions dialogue box and clicked yes. I think that's what's missing to make it run from AdvancedSceneSwitcher.

I found these posts from 2022 from @ukie and @Warmuptill which seem to point to the same issue. Did either of you ever find a solution to this issue?
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


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...
View attachment 89228

The applescript application does run on its own, but not through ASS anymore.
Tried all levels of permissions under Security&Pravacy, to no avail.
View attachment 89229
View attachment 89230
View attachment 89231

This is the case for all applescript apps, not just the Moom example above.

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.


Seems like a special set of permissions is required since macOS 10.14+.
I will try to look into how those could be granted.
 

David_G

New Member
Hello,

In the Macro action can you please consider adding a third option to "actions" and "else-actions" that executes the "of" macros condition and performs the appropriate actions?

regards,

David
 

Attachments

  • ExecuteMacro.png
    ExecuteMacro.png
    77.5 KB · Views: 21

AaronD

Active Member
Hello,

In the Macro action can you please consider adding a third option to "actions" and "else-actions" that executes the "of" macros condition and performs the appropriate actions?

regards,

David
So...you want to run the selected macro's actions, only when its condition is true? Isn't that what it normally does anyway?

Or do you keep it paused, and use the Macro action to run it just this once, right here? In that case, you could have it pause itself, and then instead of directly running it, you unpause it.
 

David_G

New Member
So...you want to run the selected macro's actions, only when its condition is true? Isn't that what it normally does anyway?

Or do you keep it paused, and use the Macro action to run it just this once, right here? In that case, you could have it pause itself, and then instead of directly running it, you unpause it.
 

David_G

New Member
If you look at the screen shot you can currently select to run the then or the else actions regardless of the macros condition, the condition is not evaluated. Sure you pfaff around with pauses and unpauses but why not add a more direct and typical programming solution.
 

fencer

New Member
Hi everyone
I would like to start some action (for example unpause a macro) with some schedule using either windows scheduler or some OBS tool.
Does someone know how to do that?
Thanks fo help.
 

fencer

New Member
Hi everyone
I would like to start some action (for example unpause a macro) with some schedule using either windows scheduler or some OBS tool.
Does someone know how to do that?
Thanks fo help.
I made a timer macro that unpauses the macro every 60 minutes, but sometimes something goes wrong and the recording doesn't start, so maybe there is another solution to resuming the macro that is more reliable
obs_macro_timer.png
 

AaronD

Active Member
Hi everyone
I would like to start some action (for example unpause a macro) with some schedule using either windows scheduler or some OBS tool.
Does someone know how to do that?
Thanks fo help.
There's the Date condition:
1721231014647.png

Of course, OBS has to be running for that to work, but that's true for your version too.

Poke around the settings in there, and see what you find. For example:
1721231117317.png
 
Top