Advanced Scene Switcher

Advanced Scene Switcher 1.30.2

KaroHolmberg

New Member
First of all, I think Advanced Scene Switcher is awesome, but for some reason I started to have critical issues with it not executing the content of macros. I can point at least some of the symptoms:
  1. If scene is switched -> Sending global hotkeys to camera takes about 20-40 seconds (although everything should happen in about 5 seconds)
  2. If scene is switched -> Global hotkeys are not sent at all
  3. Although macro is active and running (rules are blinking green) -> macro content is not executed
    1. Macro is executed after I manually click on the button "run macro"
Let's start from the beginning:

I am running a dj-based stream with multiple cameras. The whole thing is based on an automated "base-roll"-macro that launches scenes after another. Each scene is active for some minutes.

I am using ObsBot cameras (Tiny 2's, and one Meet 2). ObsBot software allows me to use hotkeys for activating a specific camera, launching PTZ-presets-slots (three can be stored per camera), and also to execute "zoom preset" separately. I have assigned them as follows:
  • Numpad 1-4: Camera 1-4
  • Numpad 5-6: Wide & Narrow Zoom-position
  • Numpad 7-9: PTZ-preset 1-3
(Note: I am using Numpad-hotkeys because those are not used by any program that I have - and I don't have to use keyboard modifiers with the hotkey).

Example: Activating an overview-camera (#2) pointing to my home bar (preset 3) for a close-up (NarrowZoom) - my macro goes like this:
When Scene "MyBar", then ->
  • send Numpad2 for 1.3 seconds
  • delay 1.3 seconds
  • send Numpad9 for 1.3 seconds
  • delay 1.3 seconds
  • send numpad6 for 1.3 seconds
One of the odd parts is, that I need to send the same key for over a second for it to be recognized within the ObsBot software (and corresponding action to happen) - although, If I press the same key from keyboard -> ObsBot reacts immediately. I have found out, that if there is no-delay between hotkeys sent -> those might not get recognized at all. To have all hotkeys "go through", I need to have a delay in between. Although this has worked before, why is it like this?

As stated, the stream is based in one "base-macro" which runs through the whole 6-12+ hour stream. It launches scenes between 60-240 seconds. Base-macro does not have any camera-control hot-keys, just controlling the scene switching. Base-macro is made to recognize all scenes that have a word "trigger" in them. When trigger-scene is activated -> Base-roll macro starts (again). Base-macro's last line also activates a trigger-macro, so it basically loops itself as long as stream is running.

The base-roll macro has a lot of different rules that prevent it from running is some "special scenes" are active - but the actual macro is also very long. When I click on the macro on the macro list, it takes something like 20-30 seconds to load it and show the content (this is quite irritating btw).

At the same time I am running a dozen of other macros which, for example:
- Send global hotkeys based on the current scene that the base-macro activates ( = assigns camera, activates a pan/tilt preset, and activates a possible zoom-position)
- Activates event add-scenes (e.g. every 80 minutes or so)
- Activates my social media page infos (every 90 minutes or so)
- Activates streaming-info's (every 180 minutes or so)
- Multiple macros that recognize any of those "interruption scenes" and after 90 seconds -> activate a scene named "Trigger.Something".

Now, even though the base-macro runs and scenes are switched -> those other macros do not send the global hotkeys to ObsBot software and camera angles and stuff do not change.

Any ideas why it does not work as should, why hotkeys are not send. Should I try to make it more simpler? What would be the best method for simplyfying it?

(I can have a teams/zoom/discord call to showcase this, if it helps)
 

Warmuptill

Active Member
First of all, I think Advanced Scene Switcher is awesome, but for some reason I started to have critical issues with it not executing the content of macros. I can point at least some of the symptoms:
  1. If scene is switched -> Sending global hotkeys to camera takes about 20-40 seconds (although everything should happen in about 5 seconds)
  2. If scene is switched -> Global hotkeys are not sent at all
  3. Although macro is active and running (rules are blinking green) -> macro content is not executed
    1. Macro is executed after I manually click on the button "run macro"
Let's start from the beginning:

I am running a dj-based stream with multiple cameras. The whole thing is based on an automated "base-roll"-macro that launches scenes after another. Each scene is active for some minutes.

I am using ObsBot cameras (Tiny 2's, and one Meet 2). ObsBot software allows me to use hotkeys for activating a specific camera, launching PTZ-presets-slots (three can be stored per camera), and also to execute "zoom preset" separately. I have assigned them as follows:
  • Numpad 1-4: Camera 1-4
  • Numpad 5-6: Wide & Narrow Zoom-position
  • Numpad 7-9: PTZ-preset 1-3
(Note: I am using Numpad-hotkeys because those are not used by any program that I have - and I don't have to use keyboard modifiers with the hotkey).

Example: Activating an overview-camera (#2) pointing to my home bar (preset 3) for a close-up (NarrowZoom) - my macro goes like this:
When Scene "MyBar", then ->
  • send Numpad2 for 1.3 seconds
  • delay 1.3 seconds
  • send Numpad9 for 1.3 seconds
  • delay 1.3 seconds
  • send numpad6 for 1.3 seconds
One of the odd parts is, that I need to send the same key for over a second for it to be recognized within the ObsBot software (and corresponding action to happen) - although, If I press the same key from keyboard -> ObsBot reacts immediately. I have found out, that if there is no-delay between hotkeys sent -> those might not get recognized at all. To have all hotkeys "go through", I need to have a delay in between. Although this has worked before, why is it like this?

As stated, the stream is based in one "base-macro" which runs through the whole 6-12+ hour stream. It launches scenes between 60-240 seconds. Base-macro does not have any camera-control hot-keys, just controlling the scene switching. Base-macro is made to recognize all scenes that have a word "trigger" in them. When trigger-scene is activated -> Base-roll macro starts (again). Base-macro's last line also activates a trigger-macro, so it basically loops itself as long as stream is running.

The base-roll macro has a lot of different rules that prevent it from running is some "special scenes" are active - but the actual macro is also very long. When I click on the macro on the macro list, it takes something like 20-30 seconds to load it and show the content (this is quite irritating btw).

At the same time I am running a dozen of other macros which, for example:
- Send global hotkeys based on the current scene that the base-macro activates ( = assigns camera, activates a pan/tilt preset, and activates a possible zoom-position)
- Activates event add-scenes (e.g. every 80 minutes or so)
- Activates my social media page infos (every 90 minutes or so)
- Activates streaming-info's (every 180 minutes or so)
- Multiple macros that recognize any of those "interruption scenes" and after 90 seconds -> activate a scene named "Trigger.Something".

Now, even though the base-macro runs and scenes are switched -> those other macros do not send the global hotkeys to ObsBot software and camera angles and stuff do not change.

Any ideas why it does not work as should, why hotkeys are not send. Should I try to make it more simpler? What would be the best method for simplyfying it?

(I can have a teams/zoom/discord call to showcase this, if it helps)
Without more information it is difficult to say what the problem might be.
Would you mind replicating the issue with verbose logging enabled and export your current settings to a file?
As you seem to have a rather complex macro setup it would also be good if you could point at at which timestamp the problem occurred.

Just guessing:
Could it be that another macro is currently executing its actions and thus the subsequent macros have to wait for it to complete?
If that should be the problem, you might want to consider running those "blocking" macros in parallel to other macros.

Another reason for macro actions not being executed, even though the conditions are all met, could be that the macro is configured to only execute its actions on condition change.

The base-roll macro has a lot of different rules that prevent it from running is some "special scenes" are active - but the actual macro is also very long. When I click on the macro on the macro list, it takes something like 20-30 seconds to load it and show the content (this is quite irritating btw).
This should have been improved with the 1.30 releases.
Which version of the plugin are you using?
 
Top