Advanced Scene Switcher

Advanced Scene Switcher 1.29.3

kanewesley

New Member
Thanks! :)

I think I was able to identify the problem.
A new build will be available here in a few minutes:

Let me know if you face any issues with this build!

Thank you for the update, I really appreciate it! The initial situation is that the OCR is now correctly updating. However, there still seem to be some other strange bugs with the macro condition settings for this non-sequential run. I will conduct detailed tests and provide you with the results.
 

Tallicia

Member
Thank you both @Warmuptill and @kanewesley ! Things are better here as well, but still things are not as expected.

I'm not sure what the expected behavior is, but in the case of else actions, what I am expecting is when conditions change, they are evaluated, if a logically true the top actions are performed and when *ELSE* the bottom actions are performed. I am encountering that BOTH are running...

is this a bug? or is there something I am missing?

1745970922657.png


I'm creating a lot of logging to help debug and figure out what is happening, and it's confusing/not as expected.

1745970985506.png



To add context, I expect Previous Lap log entries while in event, and a final Finished Race log entry at the end. Currently both occur each lap change. Is this how the else actions are expected to run?
 

F7amous

New Member
Not sure if this is the right place but I am looking for a bit of help. Essentially, I have a group of macros that i have 90% completed. The issue that I am facing is getting the Macro activated.

I want a gifted subscription to active the Macro. As "replaying" a gifted sub from my recent activity doesn't work & I don't want to spend anymore money trying to get this to work, I am hoping this is the right place for assistance.

Below is the macro that is not working.

How I read this Macro is " If Twitch channel A receives a gifted sub, switch scene to Disco ball dropping scene"

Confirm the gifted subscription using Twitch Channel A
1745972955448.png


Am I missing something?
 

Warmuptill

Active Member
I'm not sure what the expected behavior is, but in the case of else actions, what I am expecting is when conditions change, they are evaluated, if a logically true the top actions are performed and when *ELSE* the bottom actions are performed. I am encountering that BOTH are running...

is this a bug? or is there something I am missing?
That is indeed a bug.
I did not consider the "else" actions behavior yet in regards to the parallel condition checks.

A new build with a fix for that behavior will be available here in a few minutes:

Let me know if you spot any other problems with that build!
And thanks for your patience and support in getting this feature to work! :)

Not sure if this is the right place but I am looking for a bit of help. Essentially, I have a group of macros that i have 90% completed. The issue that I am facing is getting the Macro activated.

I want a gifted subscription to active the Macro. As "replaying" a gifted sub from my recent activity doesn't work & I don't want to spend anymore money trying to get this to work, I am hoping this is the right place for assistance.

Below is the macro that is not working.

How I read this Macro is " If Twitch channel A receives a gifted sub, switch scene to Disco ball dropping scene"

Confirm the gifted subscription using Twitch Channel A
View attachment 113206

Am I missing something?
This all looks correct to me and you are interpreting what the macro will do correctly.

Would you mind sharing an OBS log?
Maybe something is going wrong when connecting to the Twitch servers.

I would suggest you first try out an event which does not cost any money to test.
For example "Stream went live" or "Points reward redeemed".
These all use the same underlying Twitch infrastructure.
If those work, then you can be very sure that the git subscription event will also work when the Twitch servers send out the information.
 

kanewesley

New Member
Thank you both @Warmuptill and @kanewesley ! Things are better here as well, but still things are not as expected.

I'm not sure what the expected behavior is, but in the case of else actions, what I am expecting is when conditions change, they are evaluated, if a logically true the top actions are performed and when *ELSE* the bottom actions are performed. I am encountering that BOTH are running...

is this a bug? or is there something I am missing?

View attachment 113204

I'm creating a lot of logging to help debug and figure out what is happening, and it's confusing/not as expected.

View attachment 113205


To add context, I expect Previous Lap log entries while in event, and a final Finished Race log entry at the end. Currently both occur each lap change. Is this how the else actions are expected to run?

I've exactly discovered the same issue as you. I'm currently sorting out the exact cause and some possible ways to eliminate these errors, but sometimes they don't seem to work. I think when I find the specific steps to reproduce it, I'll share the details with you.
 

F7amous

New Member
That is indeed a bug.
I did not consider the "else" actions behavior yet in regards to the parallel condition checks.

A new build with a fix for that behavior will be available here in a few minutes:

Let me know if you spot any other problems with that build!
And thanks for your patience and support in getting this feature to work! :)


This all looks correct to me and you are interpreting what the macro will do correctly.

Would you mind sharing an OBS log?
Maybe something is going wrong when connecting to the Twitch servers.

I would suggest you first try out an event which does not cost any money to test.
For example "Stream went live" or "Points reward redeemed".
These all use the same underlying Twitch infrastructure.
If those work, then you can be very sure that the git subscription event will also work when the Twitch servers send out the information.
I appreciate you responding and helping out.

Below is the log during the time testing time period. It then repeats.

Looking at the logs, It does appear that there is a faulty connection with Twitch. Though, when Checking "Twitch Connections" it does say the connection is valid and I have 32 permissions. Not sure if that helps at all


14:36:05.692: [adv-ss] spent 433 ms in twitch condition check of macro 'Gifted Sub Test'!

14:36:05.848: [adv-ss] isValidTimestamp: Unable to get Timezone database version from **C: xyz**

14:36:05.848: [adv-ss] Discarding Twitch EventSub with invalid timestamp 2025-04-30T18:36:06.497946686Z

14:36:15.317: [adv-ss] curl loaded successfully

14:36:15.317: [adv-ss] found curl library

14:36:15.850: [adv-ss] isValidTimestamp: Unable to get Timezone database version from **C: xyz**

14:36:15.850: [adv-ss] Discarding Twitch EventSub with invalid timestamp 2025-04-30T18:36:16.498928082Z

14:36:25.858: [adv-ss] Twitch EventSub connection closed: The closing handshake timed out

14:36:25.884: [adv-ss] Twitch EventSub trying to reconnect to in 15 seconds.
 

Warmuptill

Active Member
I appreciate you responding and helping out.

Below is the log during the time testing time period. It then repeats.

Looking at the logs, It does appear that there is a faulty connection with Twitch. Though, when Checking "Twitch Connections" it does say the connection is valid and I have 32 permissions. Not sure if that helps at all


14:36:05.692: [adv-ss] spent 433 ms in twitch condition check of macro 'Gifted Sub Test'!

14:36:05.848: [adv-ss] isValidTimestamp: Unable to get Timezone database version from **C: xyz**

14:36:05.848: [adv-ss] Discarding Twitch EventSub with invalid timestamp 2025-04-30T18:36:06.497946686Z

14:36:15.317: [adv-ss] curl loaded successfully

14:36:15.317: [adv-ss] found curl library

14:36:15.850: [adv-ss] isValidTimestamp: Unable to get Timezone database version from **C: xyz**

14:36:15.850: [adv-ss] Discarding Twitch EventSub with invalid timestamp 2025-04-30T18:36:16.498928082Z

14:36:25.858: [adv-ss] Twitch EventSub connection closed: The closing handshake timed out

14:36:25.884: [adv-ss] Twitch EventSub trying to reconnect to in 15 seconds.
That log does indeed explain why you have trouble getting the event to trigger the desired actions.
The validity of the messaged received from Twitch cannot be verified and thus the messages are being discarded.

I don't really understand why getting the time zone database would fail, but I added the option to simply disable the verification of the Twitch messages in this test build here:
(You will have to be logged into GitHub to be able to download it - if that should be an issue, let me know)

The option can be found in the settings of the respective Twitch connection:
1746048437469.png


I've exactly discovered the same issue as you. I'm currently sorting out the exact cause and some possible ways to eliminate these errors, but sometimes they don't seem to work. I think when I find the specific steps to reproduce it, I'll share the details with you.
Just in case you missed it :)
A build with a potential fix for the "else action" issue is available here:
Feedback would be much appreciated!
 

F7amous

New Member
That log does indeed explain why you have trouble getting the event to trigger the desired actions.
The validity of the messaged received from Twitch cannot be verified and thus the messages are being discarded.

I don't really understand why getting the time zone database would fail, but I added the option to simply disable the verification of the Twitch messages in this test build here:
(You will have to be logged into GitHub to be able to download it - if that should be an issue, let me know)

The option can be found in the settings of the respective Twitch connection:
View attachment 113230


Just in case you missed it :)
A build with a potential fix for the "else action" issue is available here:
Feedback would be much appreciated!
The file on GitHub with the new setting worked. I sincerely appreciate it!
 

Warmuptill

Active Member
I released a beta version of the next release here on GitHub:

This version includes a few minor new features and bug fixes I wanted to share early, as I might not have too much time to work on the plugin in the next few weeks.
If you run into any issues, please let me know!
Thank you!


Important notes:​

  • This is a beta release.
    Not all features are in and it might not be 100% stable.
  • The minimum supported OBS version is OBS 30.1.2.
  • Please make sure to back up your settings!
  • If you run into any issues, please either post in the OBS forums or create an issue on GitHub!

Additions:​

  • Added additional options to access JSON elements stored in a variable.
    1746734696152.png
  • Added the option to completely disable all logs produced by this plugin to the General tab.
    1746734705237.png
  • Added the option to check the conditions of a macro in parallel to other macros.
    Usually the conditions of macros are checked sequentially, one macro at a time.
    This could cause issues when using a very complex condition setup as the condition checks of all other macros would potentially have to wait for the complex condition check to finish.

Other changes:​

  • Added the option to disable Twitch event timestamp verification.
    1746734719605.png

    By default, the timestamps of Twitch event messages will now no longer be verified as this has caused too many issues.
    The settings of existing Twitch connections will not be changed.
  • When opening a macro, the action and condition controls are now only being initialized when then become visible.
    This should make it much quicker to open up and switch between very large macros, but it will have to downside that scrolling through the list of actions and conditions might be a bit slower.

Fixes:​

  • Fixed variable values not being resolved properly when the plugin is being started for the first time after launching OBS.
  • Fixed "HTTP" action not sending out requests on MacOS in some scenarios.
  • Fixed log spam in case a Twitch connection was invalidated.
 

lllCruncHlll

New Member
Hey, I have still some questions after I have searched for 1,5 days here an on reddit. I hope someone can help me out, thanks in advance.

If I understand the possibilitys of this plugin correctly, it should make any alert boxes (tipeeestream, streamelements, twitch alerts, etc.) obsolete, because you can set up macros for every event (follows, bits, subs and raids) on twitch. For me, this opens up a lot of creative ways to personalize my stream with just some graphics design and smart Makros.

First question, am I correct on this? So the plugin gets those informations from twitch in real time without doing more than install it, link my twitch account and set up the macros? This questions is more to reassure myself because this sounds too good to be true.

Second question and actually the one I am looking for:

Am I able to test the alerts under real conditions? For example a follower event. I have set up a macro to restart a media source when someone follows my channel and then created an alert box in tipeestream to send a test alert, but nothing happened. Surely because the test alert from that site just corresponds with the given url. So I switched the condition to trigger that media source when a channel point redeem happens, just for testing purposes, but also nothing happened. Could be that the redeems only work when the stream is actually live but now I am unsure if I am doing something wrong and I don’t want to put in hours of work to set stuff up and then nothings happens in the next stream. The Makro worked when I switched the condition to stream is offline.

So maybe someone smarter then me can help?

Thanks so much in advance and keep up this crazy good work
 

Warmuptill

Active Member
So the plugin gets those informations from twitch in real time without doing more than install it, link my twitch account and set up the macros? This questions is more to reassure myself because this sounds too good to be true.
That is indeed how it is supposed to work.

However, some users recently reported issues establishing a Twitch connection.

An option to work around those problems was introduced in the recent beta release.
See here for more information:
Added the option to disable Twitch event timestamp verification.
1746734719605.png

By default, the timestamps of Twitch event messages will now no longer be verified as this has caused too many issues.
The settings of existing Twitch connections will not be changed.
If you share an OBS log of when the expected event was not received I can try to check if this was the known issue.


Am I able to test the alerts under real conditions? For example a follower event. I have set up a macro to restart a media source when someone follows my channel and then created an alert box in tipeestream to send a test alert, but nothing happened. Surely because the test alert from that site just corresponds with the given url. So I switched the condition to trigger that media source when a channel point redeem happens, just for testing purposes, but also nothing happened. Could be that the redeems only work when the stream is actually live but now I am unsure if I am doing something wrong and I don’t want to put in hours of work to set stuff up and then nothings happens in the next stream. The Makro worked when I switched the condition to stream is offline.
You can’t simulate the Follower events unfortunately.
So switching to something like channel points rewards for testing is the correct approach.
(It should not be necessary for the channel to be live)

Just in case it is useful - you can find an example how to react to Twitch Follower events here in the wiki:

I hope that helped!
I might be a bit slow to respond in the next few weeks so I apologize in advance if I don’t get back to you in a timely manner.
 

lllCruncHlll

New Member
That is indeed how it is supposed to work.

However, some users recently reported issues establishing a Twitch connection.

An option to work around those problems was introduced in the recent beta release.
See here for more information:

If you share an OBS log of when the expected event was not received I can try to check if this was the known issue.



You can’t simulate the Follower events unfortunately.
So switching to something like channel points rewards for testing is the correct approach.
(It should not be necessary for the channel to be live)

Just in case it is useful - you can find an example how to react to Twitch Follower events here in the wiki:

I hope that helped!
I might be a bit slow to respond in the next few weeks so I apologize in advance if I don’t get back to you in a timely manner.
Thank you for your reply.

So I’ve installed the beta, checked the twitch validation off and tried the macro again.

It didn’t work the first two tries but after switching from “any” to a specific redeem, redeem that and switching back to “any” it worked consistently with the redeemed points test.

So I switched back to followers received, startet the stream, got followers and nothing happened.

I guess the next step would be a log but how do I provide that to you?

Thank you very much in advance
 

lllCruncHlll

New Member
I guess the next step would be a log but how do I provide that to you?

I have found the Logdata from last stream and its always the same Loop all stream long:

19:02:36.280: ==== Streaming Start ===============================================
19:16:13.907: [RewardsTheater] Twitch auth token expires in 5226261 seconds
19:19:41.988: [RewardsTheater] Exception in asyncReconnectToEventsubForever: ReconnectException
19:19:51.988: [RewardsTheater] Connecting to EventSub URL wss://eventsub.wss.twitch.tv/ws for user lllCruncHlll
19:19:52.058: [RewardsTheater] Successfully connected to EventSub
19:32:42.147: WASAPI: Device '[VIRTUAL_AUDIO_DEVICE_PROCESS_LOOPBACK]' [44100 Hz] initialized (source: Firefox)
19:33:22.809: [WASAPISource::ProcessCaptureData] window disappeared
19:33:22.810: Device '[VIRTUAL_AUDIO_DEVICE_PROCESS_LOOPBACK]' invalidated. Retrying (source: Firefox)
19:33:25.813: [WASAPISource::TryInitialize]:[[VIRTUAL_AUDIO_DEVICE_PROCESS_LOOPBACK]] Failed to find window
19:35:16.474: [adv-ss] Twitch EventSub connection closed: stream truncated
19:35:16.474: [adv-ss] Twitch EventSub trying to reconnect to in 15 seconds.
19:35:17.451: [adv-ss] spent 783 ms in twitch condition check of macro 'Follower alert'!
19:35:31.989: [adv-ss] spent 374 ms in twitch condition check of macro 'Sub Alert'!
19:35:32.419: [adv-ss] spent 429 ms in twitch condition check of macro 'Sub Alert'!
19:35:33.457: [adv-ss] spent 561 ms in twitch condition check of macro 'Hypetrain Alert'!
19:35:34.443: [adv-ss] spent 351 ms in twitch condition check of macro 'Sub Alert'!
19:35:35.632: [adv-ss] spent 336 ms in twitch condition check of macro 'Follower alert'!
19:35:36.554: [adv-ss] Twitch EventSub connection closed: Der Vorgang wurde erfolgreich beendet.
19:35:36.856: [adv-ss] spent 563 ms in twitch condition check of macro 'Bit Alert'!
19:35:36.856: [adv-ss] Twitch EventSub trying to reconnect to in 15 seconds.
19:35:52.499: [adv-ss] spent 578 ms in twitch condition check of macro 'Sub Alert'!
19:35:52.930: [adv-ss] spent 431 ms in twitch condition check of macro 'Sub Alert'!
19:35:53.503: [adv-ss] spent 350 ms in twitch condition check of macro 'Hypetrain Alert'!
19:35:54.719: [adv-ss] spent 572 ms in twitch condition check of macro 'Sub Alert'!
19:35:55.912: [adv-ss] spent 554 ms in twitch condition check of macro 'Follower alert'!
19:35:57.136: [adv-ss] spent 363 ms in twitch condition check of macro 'Bit Alert'!
19:35:58.416: [adv-ss] spent 646 ms in twitch condition check of macro 'Raid Alert'!
19:35:59.643: [adv-ss] spent 368 ms in twitch condition check of macro 'Hypetrain Alert'!
19:36:00.881: [adv-ss] spent 376 ms in twitch condition check of macro 'Sub Alert'!
19:36:01.937: [adv-ss] Twitch EventSub connection closed: The closing handshake timed out
19:36:02.083: [adv-ss] Twitch EventSub trying to reconnect to in 15 seconds.
19:36:02.083: [adv-ss] spent 347 ms in twitch condition check of macro 'Follower alert'!
19:36:17.524: [adv-ss] spent 374 ms in twitch condition check of macro 'Sub Alert'!
19:36:17.944: [adv-ss] spent 419 ms in twitch condition check of macro 'Sub Alert'!
19:36:18.949: [adv-ss] spent 584 ms in twitch condition check of macro 'Hypetrain Alert'!
19:36:19.948: [adv-ss] spent 363 ms in twitch condition check of macro 'Sub Alert'!
19:36:20.381: [adv-ss] spent 432 ms in twitch condition check of macro 'Bit Alert'!
19:36:21.176: [adv-ss] spent 347 ms in twitch condition check of macro 'Follower alert'!
19:36:22.375: [adv-ss] spent 360 ms in twitch condition check of macro 'Bit Alert'!
19:36:23.609: [adv-ss] spent 359 ms in twitch condition check of macro 'Sub Alert'!
19:36:24.816: [adv-ss] spent 351 ms in twitch condition check of macro 'Hypetrain Alert'!
19:36:26.027: [adv-ss] spent 357 ms in twitch condition check of macro 'Sub Alert'!
19:36:27.148: [adv-ss] Twitch EventSub connection closed: The closing handshake timed out
19:36:27.267: [adv-ss] spent 357 ms in twitch condition check of macro 'Raid Alert'!
19:36:27.267: [adv-ss] Twitch EventSub trying to reconnect to in 15 seconds.

After the stream truncated line it just loops. for four hours.

Does this help?

Thanks in advance.
 

UnluckyForSome

New Member
I think I found a possible bug - Video Source matching, when short circuit enabled - seems to evaluate to true when it's not for the first cycle. Maybe is using previous cycles matching data? I'm not sure.
 

JPD

New Member
Hello,
I don't understand the following behavior.
1-Macro 'ACW_P04>P00' 'run macro' works perfectly
2-Macro 'ACW_P05>P00' 'run macro' works perfectly


1-Macro 'ACW_P04>P00' 'run macro' works perfectly
2-Macro 'ACW_P05>P00' executed with condition doesn't work at all
3-Macro 'ACW_P05>P00' 'run macro' works perfectly

 

Bagerklestyne

New Member
I need some help, this macro 'was' working, now after an update in I don't know what (windows, some application, obs, streamelements live) my fps in league tanks (like a few fps, stuttering mess, cripples the interface of the game) in a config that normally runs 300-500fps uncapped

Can anyone see what is wrong here that I can't ?

In essence the macro was written to see if the league client is running AND the game is running, then scene switch to the in game capture scene, if only the client is running, switch back to the lobby capture scene

This is destroying my brain.
 

Attachments

  • image_2025-05-11_153103083.png
    image_2025-05-11_153103083.png
    74.5 KB · Views: 7

Warmuptill

Active Member
I need some help, this macro 'was' working, now after an update in I don't know what (windows, some application, obs, streamelements live) my fps in league tanks (like a few fps, stuttering mess, cripples the interface of the game) in a config that normally runs 300-500fps uncapped

Can anyone see what is wrong here that I can't ?

In essence the macro was written to see if the league client is running AND the game is running, then scene switch to the in game capture scene, if only the client is running, switch back to the lobby capture scene

This is destroying my brain.
I think I read in the obs discord that the stuttering is caused by an incompatibility between the game capture source and the riot anti cheat.
 

Bagerklestyne

New Member
I think I read in the obs discord that the stuttering is caused by an incompatibility between the game capture source and the riot anti cheat.
You sir, are dead on, it's not the switcher, it's the game capture having a meltdown. Switched to screen capture and let the scene switcher protect my desktop.
 

Warmuptill

Active Member
Thank you for your reply.

So I’ve installed the beta, checked the twitch validation off and tried the macro again.

It didn’t work the first two tries but after switching from “any” to a specific redeem, redeem that and switching back to “any” it worked consistently with the redeemed points test.

So I switched back to followers received, startet the stream, got followers and nothing happened.

I guess the next step would be a log but how do I provide that to you?

Thank you very much in advance
You can find the log files under Help > Log Files in OBS.

I think I found a possible bug - Video Source matching, when short circuit enabled - seems to evaluate to true when it's not for the first cycle. Maybe is using previous cycles matching data? I'm not sure.
Thanks I will look into it.

Hello,
I don't understand the following behavior.
1-Macro 'ACW_P04>P00' 'run macro' works perfectly
2-Macro 'ACW_P05>P00' 'run macro' works perfectly


1-Macro 'ACW_P04>P00' 'run macro' works perfectly
2-Macro 'ACW_P05>P00' executed with condition doesn't work at all
3-Macro 'ACW_P05>P00' 'run macro' works perfectly

Can you please export your macros to a file and share an verbose OBS log with a time stamp of when the problem occurred?
 

lllCruncHlll

New Member
You can find the log files under Help > Log Files in OBS.


Thanks I will look into it.


Can you please export your macros to a file and share a verbose OBS log with a time stamp of when the problem occurred?
I’ve found the log already, the Message ist waiting for Mod approval for a day.

The loop starts with a stream truncated line after the rewards theater connects to the twitch api.

I’ve seen someone on GitHub talking to you about a similar issue.

Meanwhile the macros worked on stream so it seems to be an issue with random disconnects from the api.

Thank you so much for your time
 
Top