Advanced Scene Switcher

Advanced Scene Switcher 1.28.1

AaronD

Active Member
I started three separate instances of OBS, each using a different profile, the "default" scene collection and the appropriate scene for each location.
I think you need a different scene collection for each one as well.

A setting, or a way to have YouTube waiting on three streams perpetually?
I think the way I did it, is to go to YT's streaming dashboard, grab the stream key from there, and stick it into OBS. No scheduling at all. But I think that's limited to one per account. It's all foggy though, as it's "just been working" for a couple of years now. See what you come up with.

Am I better off moving this to a different forum? Will the crowd checking on ASS be the best to help me out, or should I copy/paste this information to another page/board/forum in order to get maximum eyes and brains on the issue?
If you've got the Adv. SS part pretty well solved, then it's probably better to start a new thread in the general forum.
 

Universe YF

New Member
現在、Mac mini M2 Pro macOS Sonoma バージョン14.0を使用中で、
最新バージョンのAdvanced Scene Switcherをインストールしたいのですが、
(書類“advanced-scene-switcher 2.plugin”を開くデフォルトのアプリケーションが設定されていません。)と表示された後、
Apple Storeで検索しても(
このアプリは現在、この国または地域では入手できません。)と表示され、インストールすることができず、大変困っている状況です。何か方法はありますか?
 

KozmykTunes

New Member
Hello,

Another newbie here.

1 - I'm trying to create a macro that will start streaming on Wednesdays at 6:45 pm. Today it's Tuesday. I'm trying both the Simple and Advanced settings for the Date event - screen shots below - but when I click Run macro, instead of the macro waiting until it's a Wed 6:45 pm, it immediately starts Streaming. Same thing with Recording and same thing if I change the Date to today, Tuesday, but at a later time. Running the macro starts the action immediately.

2 - If I'm successful with the start of streaming or recording, I would have to have different macros running "in parallel" to control ending the streaming/recording, correct?

Simple date settings:

obs64_dlZmy743uc.png

Advanced date settings:
obs64_V677JtXNQD.png



I'm probably missing something basic.

Thank you for your help.
 

AaronD

Active Member
...when I click Run macro, instead of the macro waiting until it's a Wed 6:45 pm, it immediately starts Streaming.
Yes. That's what that button is for. You don't activate it. It's *always* activated. So if you're still messing with it and an intermediate condition just happens to be true, on the way to setting it right, it'll run.

You (de)activate it with the checkbox in the list of macros. The term that we have for that is (un)pause. Checked is unpaused, and allows it to run. Unchecked is paused, and prevents it from running, even if the condition is true. Even paused though, the Run button still runs it immediately.

2 - If I'm successful with the start of streaming or recording, I would have to have different macros running "in parallel" to control ending the streaming/recording, correct?
That'd be the way I'd do it. You could also have a single macro with 3 actions: Start, Wait, End. I generally don't like that method, because it doesn't allow an easy escape. The Wait action keeps running, and eventually the stuff after it will run, regardless of how you might have changed your mind in the meantime.
 

Bairespm

Member
@Warmuptill

Thanks for showing me the possibilities but it's not what I'm looking for.

I explain with an example

believe in a macro that says that if it is in scene 1 or scene 2, show dsk1.

but it turns out that I want to do a giveaway so I have to activate dsk2

If I do it, dsk2 remains above dsk1

then I need to be able to create a macro that if DSK2 is shown then DSK1 will be hidden

In other words I want to have the possibility that if one dsk is shown, another can be hidden.

The only way I see to achieve this is as an IF condition.

but currently it is only shown to create a hotkey, there is no possibility to choose. IF OBS SOURCE activate DSK2

so
disable DSK1

I attach an image so you can understand me better

View attachment 98515
hi @Warmuptill , can you see that? can you help me?
thanks
 

KozmykTunes

New Member
Yes. That's what that button is for. You don't activate it. It's *always* activated. So if you're still messing with it and an intermediate condition just happens to be true, on the way to setting it right, it'll run.

Great! So, as long as the Switcher is active and the macro is checked, it will start the action at the time indicated. Thank you for pointing this out. I can definitely try this out to test it now.

That'd be the way I'd do it. You could also have a single macro with 3 actions: Start, Wait, End. I generally don't like that method, because it doesn't allow an easy escape. The Wait action keeps running, and eventually the stuff after it will run, regardless of how you might have changed your mind in the meantime.
So, for two macros that start and end a specific action after some time, both of them have to have the "run in parallel", correct?

Thank you!
 

Warmuptill

Active Member
現在、Mac mini M2 Pro macOS Sonoma バージョン14.0を使用中で、
最新バージョンのAdvanced Scene Switcherをインストールしたいのですが、
(書類“advanced-scene-switcher 2.plugin”を開くデフォルトのアプリケーションが設定されていません。)と表示された後、
Apple Storeで検索しても(
このアプリは現在、この国または地域では入手できません。)と表示され、インストールすることができず、大変困っている状況です。何か方法はありますか?
It would be best if you download the "universal" installer.
The installers end in ".pkg".

1697651946486.png


hi @Warmuptill , can you see that? can you help me?
thanks
Unfortunately I don't know if there is any easy way to interact with the DSK plugin in such a way to detect if a DSK is active or not.
 

KozmykTunes

New Member
Fantastic plugin! :)

Now that I know how to auto-start streaming or recording, is there a way to control a source's audio from either this or any other plugin?

For example I streaming either of two windows, each of them showing a live video stream. I start with the first for 2 hours and with this Switch plugin I can switch to the second for the 3rd hour. But how do I mute the audio from the 1st window and unmute the audio from the 2nd window? Can this or any other plugin you know control how other applications behave? Or is there a trick with the Windows audio mixer I can use to achieve this?

Any ideas or suggestions very welcome.
 

AaronD

Active Member
So, for two macros that start and end a specific action after some time, both of them have to have the "run in parallel", correct?
"Run in parallel" is like multithreading in a computer program. It allows multiple macros to literally run at the same time. Otherwise, each macro that doesn't "run in parallel" waits for the other non-parallel macros to finish, before checking their conditions again.
  • If they don't interact, and you don't have any Wait actions, you probably won't notice any difference.
  • If you have a Wait action in a non-parallel macro, then the other non-parallel macros might be delayed by up to that much but they'll still run. If you have multiple Waits, then the others might be delayed by up to the total Wait time, not just one.
  • If two or more parallel macros interact, like setting the same variable for a common example from Computer Science, then you get a "race condition", where the end result depends on the exact order that each one gets to certain steps. It often has some randomness to it too, as the execution speed may vary independently for each one, and may not be what you expect from *any* straight-forward execution. That sort of problem can be hard to debug.
Very few of my macros "run in parallel". Some do, but they're short, and I consider their timing to be more important than the others. I rarely use Waits too, and if I do, they're short, so non-parallel works out just fine. Those Waits are long-finished by the time the next trigger happens.

If I need a timed sequence, I greatly prefer to use the condition timers, in a separate macro for each step. Each of those sets the condition that the next one is looking for - usually a particular scene being active - with its own condition timer. While all of those conditions are false, which includes the timer not expired yet, the others are still being checked, all non-parallel.
 

AaronD

Active Member
Now that I know how to auto-start streaming or recording, is there a way to control a source's audio from either this or any other plugin?

For example I streaming either of two windows, each of them showing a live video stream. I start with the first for 2 hours and with this Switch plugin I can switch to the second for the 3rd hour. But how do I mute the audio from the 1st window and unmute the audio from the 2nd window? Can this or any other plugin you know control how other applications behave? Or is there a trick with the Windows audio mixer I can use to achieve this?
Use the Audio action to Mute or Unmute sources, or fade their Volumes to a given percentage over a given time.

Since I do all of my audio work outside of OBS, those fades are always to 0% or 100% for me - essentially a slow mute or unmute of what is effectively the master - or an OSC message that my DAW or physical console picks up (depending on the rig) while OBS makes no change to its own audio.
 

Universe YF

New Member
It would be best if you download the "universal" installer.
The installers end in ".pkg".

View attachment 98617


Unfortunately I don't know if there is any easy way to interact with the DSK plugin in such a way to detect if a DSK is active or not.
ありがとうございます!
オススメしてくださった通りに実行すれば、インストールすることができました。
凄く嬉しいです。
丁寧にありがとうございました!
 

KozmykTunes

New Member
Use the Audio action to Mute or Unmute sources, or fade their Volumes to a given percentage over a given time.

I added the Audio action but when I choose mute or unmute, the --select source-- drop down only shows Desktop Audio. It doesn't show the two browser windows that are playing the live videos. I can switch between them now but I don't see a way to mute the one that is not streaming in OBS.

Thank you very much for all your help. :)
 

AaronD

Active Member
This may do the trick! Nested Audio Sources!
https://gamingcareers.com/guides/separate-audio-in-obs/

Off to try it out! :)
It took me a while to figure out how that's better than the global audio that he has you disable or ignore, but I think I finally got it. Global audio only uses sound cards, physical or virtual, and scene-specific audio has a lot more variety. He's using the Application Audio Capture, so he has to use the scene-specific one, and then make it into an approximately-global source, which is what that guide is really about.

There are several threads on here about the Application Audio Capture either not working at all, or getting horribly out of sync, or scratchy, etc. If yours works, that's great, but the more bulletproof solution is to use a loopback audio device that gives you a virtual speaker and a virtual mic. The virtual mic goes in OBS's (for real) global audio, and you send the app(s) that you want to capture to the virtual speaker.

The loopback device does not send it to your real speakers, so you'll have to Monitor it in OBS, or use a more complicated loopback to get a virtual mixer in there too. Not necessarily a full DAW, but headed in that direction.

Of course, once you have it *somehow*, then you can automate it as mentioned previously.
 

KozmykTunes

New Member
There are several threads on here about the Application Audio Capture either not working at all, or getting horribly out of sync, or scratchy, etc. If yours works, that's great, but the more bulletproof solution is to use a loopback audio device that gives you a virtual speaker and a virtual mic. The virtual mic goes in OBS's (for real) global audio, and you send the app(s) that you want to capture to the virtual speaker.

I've used virtual MIDI ports before but not virtual audio... I hope it's similar.

I've been testing this Nesting Audio trick for the past hour and it's working like a charm! There is one more complication that I needed to create more than one Nested scenes, each one that has the Desktop audio muted and each Application (browser window) having its own audio active. I haven't done an actual stream yet with this setup, but hopefully it will go as smoothly as the tests :)

Thank you for your suggestions!
 

Bairespm

Member
Hi @Warmuptill , could you do something like auto layout with ADVSS?

It would be fabulous, for example I add a webcam and in each scene I have to configure the size. What if I could do this automatically?
if scene is 1 change size maintaining aspect ratio

thanks
 

Warmuptill

Active Member
Hi @Warmuptill , could you do something like auto layout with ADVSS?

It would be fabulous, for example I add a webcam and in each scene I have to configure the size. What if I could do this automatically?
if scene is 1 change size maintaining aspect ratio

thanks
Hm .. I think what you might be looking for is the "scene item transform" action type.
1698237757098.png


Although what probably better fits your use case is the Move plugin:
 

Tintifax_78

New Member
Hi!
I just downloaded the Advanced Scene Switcher for this Usecase:

I have 2 Sources:
First Source (in Scene 1) is my ATEM Mini who delivers via the webcam out a Videoloop all day long.
Second Source (Scene 2) is a Media File - in my Case a Pull Link Stream from Restream, but in the future this should be a second Video Capture Device, because only selected streams should be sent over, not all, as is done using pullLinks)
And I want the Advanced Scene Switcher to switch to scene 2 (the LiveStream) if a Stream is going on and pulled to OBS.
If the Stream is over, OBS should switch back to Scene 1 (the Video Loop)

I don't get it to work properly. Can anyone help ?

Thanks!
Best regards!
Gery
 

AaronD

Active Member
Hi!
I just downloaded the Advanced Scene Switcher for this Usecase:

I have 2 Sources:
First Source (in Scene 1) is my ATEM Mini who delivers via the webcam out a Videoloop all day long.
Second Source (Scene 2) is a Media File - in my Case a Pull Link Stream from Restream, but in the future this should be a second Video Capture Device, because only selected streams should be sent over, not all, as is done using pullLinks)
And I want the Advanced Scene Switcher to switch to scene 2 (the LiveStream) if a Stream is going on and pulled to OBS.
If the Stream is over, OBS should switch back to Scene 1 (the Video Loop)

I don't get it to work properly. Can anyone help ?

Thanks!
Best regards!
Gery
So, you want it to stay on Scene 1 by default, and have it switch to Scene 2 when you start throwing data at it to show in that scene? And switch back when the data stops? And repeat forever with no more reset than that?

I don't think you have direct access to the data itself, to know that that's running or not, but you might use the Video condition to see if the picture is changing from that source. You could fool that by sending it a static image (video with all frames identical), but for everything else, I think it should work.
 
Top