Resource icon

Advanced Scene Switcher 1.25.4

Warmuptill

Active Member
Hey @Warmuptill

The representation was very simple. Same identical name; but they're placed in the same order as you see it in your scene items. So 1 in the list, is 1 in the 'scene.item' list.

Now how they did it technically, I can't say. Here's the Stream Deck repo: https://github.com/elgatosf/streamdeck-obs-plugin

View attachment 78499
Here's a visual representation of it.

Oh OK, I would have expected this to be solved more elegantly.

I implemented the following approach:
The scene item selection will still only ever show each source once.
However if there are multiple sources with the same name on the selected scene additional options will appear.
For example in this particular case there are two instances of the "Game Capture" source are available in the scene "testScene":
SceneItemSelectionMultiple.PNG

(As you can see the "old" behaviour of affecting all / any scene item is also available still)
If only a single instance of "Game Capture" exists the additional options are not shown.
SceneItemSelectionSingle.PNG


I applied these changes to conditions and actions which affect the order, transformation, and visibility of scene items.

A build with this change will be available here in a few minutes:
I would appreciate if you could give this a try and let me know if everything works as expected. :)
 

AaronD

Active Member
Oh OK, I would have expected this to be solved more elegantly.

I can see the desire to make it "pretty", as in "pleasant to look at" or "easy to use in complete isolation". But when there's a connection to something else, and that something else is the controlling one and yours is just a reflection of it, then I think it's better to just copy it verbatim and leave it at that. Even if it's ugly. That would make @lindenkron 's screenshot the standard to match.
 

Warmuptill

Active Member
I can see the desire to make it "pretty", as in "pleasant to look at" or "easy to use in complete isolation". But when there's a connection to something else, and that something else is the controlling one and yours is just a reflection of it, then I think it's better to just copy it verbatim and leave it at that. Even if it's ugly. That would make @lindenkron 's screenshot the standard to match.
Thanks for the suggestion!
First of all I apologize if my previous statement came across as rude / dismissive of the way it was handled by stream deck.

Unfortunately I am not sure that this approach would be the best way to go for this plugin however.
Using the current approach makes it easier to add the "any" / "all" selection and is (probably?) easier to use if there are a lot of scene items on a particular scene.

But that is just my opinion and it probably comes to down to personal preference.
(And I don't want to invest too much time in such a minor area of the plugin :D)
 

AaronD

Active Member
Unfortunately I am not sure that this approach would be the best way to go for this plugin however.
Using the current approach makes it easier to add the "any" / "all" selection and is (probably?) easier to use if there are a lot of scene items on a particular scene.

You can still add things outside of the "verbatim block" - All, Any, etc. - to create your block, but the set that you copy from remains unchanged.

Don't know if the data structure lends itself to this or not, but some pseudocode might look like this:
add("All");
add("Any");
foreach(item in OBS_list)
{
add(item);
}
and not much else.
 

lindenkron

Member
@Warmuptill
It appears to be working as intended! Thanks.

Regarding the back and forth above; I agree with AaronD on things from a UX perspective. It's easier when both lists show the same thing - to simply scroll to where the source is in your OBS - it makes working between OBS and Streamdeck for selecting sources very intuitive and easy.

Things listed in alphabetical order might seem from a logical standpoint as the go-to move, but it makes it harder (at least personally) to find things when you know it's at the bottom of your scene, but you forgot what you named it.

A comparison:
1641218990692.png


1641219030572.png


But I'm not out here trying to make your life harder than it need be. I appreciate a quick and functional solution! It's definitely going to get it's fair uses with the amount of repurposed sources I use :)

It all seems to work, I've had no issues with it. So if you wish to merge it to masters; I see no reason why not.

Thanks again, and happy new year!
 

VesNL

New Member
I'm having an issue with the settings. Despite having set to not start when opening OBS it keeps activating.
Cleared my plugins folder, reinstalled OBS and cleared everything and it still happens. Tried it with default settings and the only plugin installed but it remained.

On OBS 27.1.3 and plug version 1.16.5 on Windows 10.
 

Warmuptill

Active Member
I'm having an issue with the settings. Despite having set to not start when opening OBS it keeps activating.
Cleared my plugins folder, reinstalled OBS and cleared everything and it still happens. Tried it with default settings and the only plugin installed but it remained.

On OBS 27.1.3 and plug version 1.16.5 on Windows 10.
Sorry about that - that is a bug that was introduced with 1.16.5.
You can find a build with a fix here:
You need to be logged into GitHub to be able to download it - let me know if that is an issue for you!

(I plan on making a new release soon which contains a few other fixes and changes as well)
 
Last edited:

AlixSkye

New Member
Hey yall! I'm having an issue and I'd love some help as I can't find a tutorial for this.

I'm trying to get all of my scenes in OBS to have different audio inputs enabled. I think I put the conditions in correctly, but when I switch scenes in OBS, I still have to fix my audio as things that should be muted are active and things that should be active are muted. I'm not sure if I'm using the wrong tab in the scene switcher or if I'm potentally just doing this all wrong. Any help yall could provide would be greatly appreciated!
 

Warmuptill

Active Member
Hey yall! I'm having an issue and I'd love some help as I can't find a tutorial for this.

I'm trying to get all of my scenes in OBS to have different audio inputs enabled. I think I put the conditions in correctly, but when I switch scenes in OBS, I still have to fix my audio as things that should be muted are active and things that should be active are muted. I'm not sure if I'm using the wrong tab in the scene switcher or if I'm potentally just doing this all wrong. Any help yall could provide would be greatly appreciated!
What exactly have you configured?
If you don't mind you can export your current settings to a file on the General tab and attach it here.
 

VesNL

New Member
Sorry about that - that is a bug that was introduced with 1.16.5.
You can find a build with a fix here:
You need to be logged into GitHub to be able to download it - let me know if that is an issue for you!

(I plan on making a new release soon which contains a few other fixes and changes as well)

Thanks, I thought I was going crazy.
 

lindenkron

Member
Thanks, I thought I was going crazy.
The only thing crazy here is the speed at which Warmuptill supplies fixes, improvements & updates.

(I plan on making a new release soon which contains a few other fixes and changes as well)
That's comforting. Whenever you make one of these builds - I always worry that previous fixes from other builds might not be included >.< (Not sure how it works).
 

lindenkron

Member
Does anyone have any suggestions for how to improve this?
Trigger only if coming from 'Intro' going to 'Casters'. I just spent 10 mins going back in old projects trying to figure out what this was meant to do because how it looks is so utterly confusing. I was expecting the first condition having to be 'Previous scene'.

1641331939493.png

I'm sorry to be a nagging nanny but I feel like there has to be a better way to convey "If scene you're coming from = Intro" instead of saying "current scene is" on both of them, which completely threw me for a loop.

I can't immediately figure out what an ideal fix would be. I'm not even exactly sure what 'Previous scene' currently does, only that Warm helped me figure this out last time :D
 

Warmuptill

Active Member
Trigger only if coming from 'Intro' going to 'Casters'.
I would do something like this:
IntroToCasters.PNG

You can also make it work with the current / previous scene check if you prefer that:
IntroToCasters2.PNG

But note that the latter solution will continuously be true while the caster scene is active while the former will only be true during the transition.
If you want the conditions to just be true in the exact moment the transition from Intro to Caster completes you can use something like this.
IntroToCasters3.PNG

So the best approach depends on what exactly you need.

I'm not even exactly sure what 'Previous scene' currently does
Assuming you switch scenes from A -> B.
Then A is the "previous scene" and B the "current scene".
If you should then switch to scene C, B will take over the "previous scene" spot and C will be the "current scene".
 
Last edited:

lindenkron

Member
I would do something like this:
View attachment 78739
You can also make it work with the current / previous scene check if you prefer that:
View attachment 78740
But note that the latter solution will continuously be true while the caster scene is active while the former will only be true during the transition.
If you want the conditions to just be true in the exact moment the transition from Intro to Caster completes you can use something like this.
View attachment 78741
So the best approach depends on what exactly you need.


Assuming you switch scenes from A -> B.
Then A is the "previous scene" and B the "current scene".
If you should then switch to scene C, B will take over the "previous scene" spot and C will be the "current scene".

I was going to add https://obsproject.com/forum/threads/advanced-scene-switcher.48264/post-550057 as a reference since I've had the issues with not being able to get 'Previous Scene' to work how I wanted it to.

Wondering if your second example would work if adding a time restraint to the 'current scene is' of 0.20 (assuming 200ms check) so that it can only trigger once.

Might give it a try in the morning. I didn't see the "Transition > Transitioning From > Scene" till now, might also be handy! I wasn't expecting the 'transition' category to have 'scene' elements - so that might end up being the solution.

Thanks again!
 

lindenkron

Member
@Warmuptill Just installed 1.17, tried changing one of my If statements from "Scene" to "Transition" and my audio went nuts and OBS shut itself down haha.

Not exactly sure what happened; no crash reports (just killed the app) and nothing in the logs.

I went back to the last build you made me; and that works without crash.
 

Warmuptill

Active Member
@Warmuptill Just installed 1.17, tried changing one of my If statements from "Scene" to "Transition" and my audio went nuts and OBS shut itself down haha.

Not exactly sure what happened; no crash reports (just killed the app) and nothing in the logs.

I went back to the last build you made me; and that works without crash.
Hm, that seems very strange - I am not sure how changing a transition type would affect audio.
Is the issue reproducible?
If so can you share the settings that are causing the problem?
 

lindenkron

Member
Hm, that seems very strange - I am not sure how changing a transition type would affect audio.
Is the issue reproducible?
If so can you share the settings that are causing the problem?
The audio was probably because there was music playing and CPU hit 100% (then audio distorts). I'm guessing something infinite looped or something, it seemed really strange at least.

I re-installed 1.17, but I changed the thing that crashed it since (with your old version) and I don't seem to be able to get it to do it again. It does have me a little worried now though lol.

I'll try and continue using 1.17 and let you know if it does it again.
 

Warmuptill

Active Member
@Warmuptill Found what I suspect to be a glitch:

Edit:
Shows check field:
"waitForTransition": false

Hides check field:
"waitForTransition": true
Thanks for pointing that out, but that is actually intended behavior!
The option to set "waitForTransition" was removed already in the last version as it did not really fit into this condition type. (Unticking this checkbox is basically equivalent to a "Transitioning to ..." check)
Existing conditions were not affected for compatibility reasons, but if you choose to set the "waitForTransition" field the option will be hidden.
Add the option to check for the source and the target scene of an ongoing transition.
Transition
At the same time the option "wait for transition to complete" was removed from the "current scene is" check as it did not really fit into that category and its description was not really formulated clearly to begin with.
Note that the behaviour has not change for any already existing macros.

But thanks again for having a look out for potential issues! :)
 
Top