Advanced Scene Switcher

Advanced Scene Switcher 1.31.0

Tsokke

New Member
Unfortunately, I am not sure I exactly understand what the problem is.

What exactly is "app" referring to here?
The "Honkai Star Rail game" or something else?

To be honest I am not sure why what you have set up would behave differently depending on if an application is fullscreen or not.
Does "Honkai Star Rail game" maybe change its window title when it switches to fullscreen mode?
OMG I think I am stupid to some degree or I was just too tired back then from the struggles, I was in the middle of writing you answer with questions etc. but then I read your reply once again about you not knowing why it would behave differently, so I went back to obs to check on it and to my surprise It actually worked. Maybe not directly but thanks for opening my eyes and helping me out!
 
How would you essentially say (If audio comes from anywhere in sceneX, turn down sceneY audio till sceneX goes back to 0db)

I thought I had it a few times, but testing it proved me wrong. I cant figure it out.
 

sdfg

New Member
I want to stream pre-recorded loop for 11 hours 55 minutes and end the stream. I can do that with obs output timer but it does not work with aitum vertical aitum multistream. start stream, pre recorded video loop for 11 hours 55 mins, stream end. that work for main canvas and vertical canvas. Can the plugin do that
 

Warmuptill

Active Member
How would you essentially say (If audio comes from anywhere in sceneX, turn down sceneY audio till sceneX goes back to 0db)

I thought I had it a few times, but testing it proved me wrong. I cant figure it out.
Unfortunately, the current implementation of the "Audio" condition only allows checking the volume of individual sources and not scenes.
So, I can't really think of a more elegant solution besides manually adding a "Audio" condition check for each source of scene X.

I want to stream pre-recorded loop for 11 hours 55 minutes and end the stream. I can do that with obs output timer but it does not work with aitum vertical aitum multistream. start stream, pre recorded video loop for 11 hours 55 mins, stream end. that work for main canvas and vertical canvas. Can the plugin do that
I assume the easiest approach would probably to use the "Hotkey" action to signal the Aitum vertical plugin to stop streaming:

1753264553325.png


Alternatively you can also interact with the Aitum vertical plugin using websockt messages.
An example how this can be done can be found here:
Instead of switch_scene you would have to use the message type stop_streaming.
 
Unfortunately, the current implementation of the "Audio" condition only allows checking the volume of individual sources and not scenes.
So, I can't really think of a more elegant solution besides manually adding a "Audio" condition check for each source of scene X.
Oh ok, I was hoping you'd say their was a condition similar to random or scene collection, that I could slap a bunch of sources into,
then somehow monitor them for audio or something... besides just listing each one out. Oh well.
 

Warmuptill

Active Member
View attachment 114760View attachment 114761

Where do I put the stop streaming what did I do wrong
What you have set up right now would translate to:

If "Media Source" is in state playing and at the same time a timer of reaches zero seconds ...
... then start both, normal and vertical, streaming and immediately after that stop the stream.

I don't know for sure what your "trigger" for the macro is supposed to be from what you have described so far.
But since you mentioned the "output timer" tool something like this might be it:

1753373103789.png
 

cdante100

New Member
Hi, how can I fix this error?
Code:
19:28:27.176: [adv-ss] Twitch EventSub connection closed: stream truncated
19:28:27.176: [adv-ss] Twitch EventSub trying to reconnect to in 15 seconds.
19:28:52.335: [adv-ss] Twitch EventSub connection closed: The closing handshake timed out
19:28:52.335: [adv-ss] Twitch EventSub trying to reconnect to in 15 seconds.
 

Warmuptill

Active Member
Hi, how can I fix this error?
Code:
19:28:27.176: [adv-ss] Twitch EventSub connection closed: stream truncated
19:28:27.176: [adv-ss] Twitch EventSub trying to reconnect to in 15 seconds.
19:28:52.335: [adv-ss] Twitch EventSub connection closed: The closing handshake timed out
19:28:52.335: [adv-ss] Twitch EventSub trying to reconnect to in 15 seconds.
Which version of the plugin are you using?
Can you share the complete log?
Thanks!
 

HMundx

New Member
Advanced Scene Switcher is a great tool, but I need help.
I've searched for information and read this forum for answers, but I haven't been able to find a solution to my questions.

I need to be able to search the text of a TextSource (GDI+) and see if there's a keyword in its content to trigger the macro if it's true.

Example: If a SourceText contains the sentence "Roses are red and dogs are green.", I need a macro o condition to trigger if it finds the word "ROSES", regardless of whether it's in uppercase or lowercase.

The answer might be easy, but at least I haven't found it yet.

My second question: How can I copy the text from a SourceText to a variable? It can't do that simple thing.

Regards.

Ps: Sorry for my bad english.
 

Dan_of_Earth

New Member
Hi, im fairly familiar with the plugin and how it functions but there one little detail i cant seem to figure out and its frying my brain. I have a podcast with 3 hosts. i have 4 scenes set up, my "main" scene with all 3 hosts, and one solo scene for each host. I have scene switcher seto switch to the solo scene of the active speaker when they have been speaking for at least 8 seconds. I have a timeout set so that if any solo scene is active for 20 seconds it switches back to the "main" scene with all 3 hosts. the problem I'm running into is that when a solo scene times out after the 20 second duration, it switches to the main scene and that instantly bounced back to the same solo speak if they are continuing to speak.

What id like to do, is have it switch from the active solo scene to the main scene after that 20 second period, and then have a cooldown so it stays on the main scene for a duration before triggering any of the macros again. thanks in advance and sorry if that was very confusing
 

Warmuptill

Active Member
I need to be able to search the text of a TextSource (GDI+) and see if there's a keyword in its content to trigger the macro if it's true.

Example: If a SourceText contains the sentence "Roses are red and dogs are green.", I need a macro o condition to trigger if it finds the word "ROSES", regardless of whether it's in uppercase or lowercase.
I would suggest to use the "Source" condition type for that purpose.
It will allow you to check the settings configured in a source.

1754412626195.png


You can enable pattern matching using regular expressions by clicking the ".*" button.
In you case enabling the highlighted options should suffice.

My second question: How can I copy the text from a SourceText to a variable? It can't do that simple thing.
You can do that using the "Source" condition in combination with the "Variable" action.
Here is an example:

1754412788332.png


Let me know if you have questions!

Hi, im fairly familiar with the plugin and how it functions but there one little detail i cant seem to figure out and its frying my brain. I have a podcast with 3 hosts. i have 4 scenes set up, my "main" scene with all 3 hosts, and one solo scene for each host. I have scene switcher seto switch to the solo scene of the active speaker when they have been speaking for at least 8 seconds. I have a timeout set so that if any solo scene is active for 20 seconds it switches back to the "main" scene with all 3 hosts. the problem I'm running into is that when a solo scene times out after the 20 second duration, it switches to the main scene and that instantly bounced back to the same solo speak if they are continuing to speak.

What id like to do, is have it switch from the active solo scene to the main scene after that 20 second period, and then have a cooldown so it stays on the main scene for a duration before triggering any of the macros again. thanks in advance and sorry if that was very confusing
Without knowing the details of the macros you have set up it is a bit difficult to say what the best approach would be.

However, I assume you can achieve this effect by simply adding a "Wait" action after the "Switch scene" action, which switches to the "main" scene.

1754413053599.png


This will "block" other actions / macros from executing unless you have configured them to be executed in parallel to one another.
Feel free to share you more details about your macro setup (screenshots or export the macros to a file) and ask further questions if this suggestion should not work for you! :)
 
I am getting a crash constantly, it is when changing scene collections... I think its a conflict with adv-ss and source-copy? When I had SC removed I could switch collections flawlessly, but once I re-installed it and tried to copy something from one collection to another, I get a message that a scene is in use, and must shutdown to protect from corruption, then it gives a crash report pointing to adv-ss.... SO I dunno, a lot of what I report lately cant be reproduced so who knows if this can...

 

Warmuptill

Active Member
I am getting a crash constantly, it is when changing scene collections... I think its a conflict with adv-ss and source-copy? When I had SC removed I could switch collections flawlessly, but once I re-installed it and tried to copy something from one collection to another, I get a message that a scene is in use, and must shutdown to protect from corruption, then it gives a crash report pointing to adv-ss.... SO I dunno, a lot of what I report lately cant be reproduced so who knows if this can...

Thanks for the hint regarding source clone!
I will try to replicate the crash and fix it as so as I can. (Probably during the weekend)
 
I have a video rule that checks for recognized TEXT value . For example, I want the rule to evaluate to true if the recognize text is "MARK" or "BEN", or "ROBERTW"

Any suggestions if this can be done in a single condition or do i have a separate rule for each 'word'. Here is an example of one of my conditions:

1754732255477.png


TIA
 

Warmuptill

Active Member
i have updated it and i have the same issue, tha's the log: https://obsproject.com/logs/TRKIoykhcAlLuQOX
I cannot think of a reason why the plugin would have trouble reconnecting to the Twitch API.
Can you try replicating the issue with verbose logging enabled?

1754936993497.png


Note that the log file will be rather large.
So you might want to set it back to default if you were able to reproduce it.

Thanks for your support in figuring out what the problem is!

I have a video rule that checks for recognized TEXT value . For example, I want the rule to evaluate to true if the recognize text is "MARK" or "BEN", or "ROBERTW"

Any suggestions if this can be done in a single condition or do i have a separate rule for each 'word'. Here is an example of one of my conditions:

View attachment 115076

TIA
You can use regular expressions for that purpose.
Click the .* button to enable regular expressions and match for the string (MARK)|(BEN)|(ROBERTW) and you should achieve the desired effect.

1754937374916.png


I hope this helps!
Let me know if you have questions!
 

effortnottalent

New Member
hi everyone! long time lurker, first time caller. We're using OBS and ASS to automate a great deal of our radio station output, including live air and dead air detection, ad breaks, remote and outside broadcast, it's really fun!

I'm now looking into how to automate things like turning on and off, and change dates and times of, prerec slots, which are specified via macro actions. this allows me to add the functionality to put on a pre-recorded show in a DJ's slot if they can't turn up that week, or swap slots.

I can do that via the OBS interface, but I'd be interested in how I can do this programmatically, so I don't need to remote into the studio. I could even expose a screen to allow a DJ to upload a show, and it would update the media source in OBS to the new file, and unpause the macro to play his prerec screen on his two hour slot.

This last bit - programmatically updating stuff in ASS - I can't get my head around. Can I get some pointers as to where to look? Am I going to be writing some Python scripts to do this, or can I hang it off Websocket commands?

Thanks again WarmUpTill and the community!
 
Top