Resource icon

Advanced Scene Switcher 1.25.3

AaronD

Active Member
Ahhh. Very helpful. Now to think about scripting. Would be even better to pull from a cloud platform. Hmmm.
There's also the Run action, which takes a single command as if you typed it in a terminal. Maybe that could be used to trigger something that pulls from the cloud to a local file, and then you read that file?
 

AaronD

Active Member
I am trying to use Media state Ended before a scene changes but i'm trying to get it to happen after 3 videos, not just 1.
Any macros I've set up just end up simultaneously triggering at once.
Are you trying to do something like this?:
  • Play video 1
  • Wait for video 1 finished
  • Play video 2
  • Wait for video 2 finished
  • Play video 3
  • Wait for video 3 finished
  • Switch scenes
If so, then I'd put each video in its own scene, and do this:
  • Switch to video 1 scene, (could be manual, or a macro, or whatever)
  • If video 1 Playing and 0.5 sec left
    • Switch to video 2 scene with 0.5 sec transition
  • If video 2 Playing and 0.5 sec left
    • Switch to video 3 scene with 0.5 sec transition
  • If video 3 Playing and 0.5 sec left
    • Switch to last scene with 0.5 sec transition
The 0.5 sec early with 0.5 sec transition makes it look really nice, almost professional. Of course, you could make that time anything you want, independently for each one.
 

huuich

New Member
What is the difference Source Active and Showing like this picture?

Active-Showing.jpg


I want to automatically stop streaming by a condition, not fixed time. Can I use source change or anything else?
 

alexanderrk

New Member
@Warmuptill

What i'm trying to do is keep a shuffled playlist going with a break after a couple plays (like a logo bumper). @AaronD has a pretty close to what i'm trying to do. I'll have to try that. Maybe with a reference video player since they need to be on the same scene.

I think the "Automated scene change was triggered in this interval" option might be what i'm looking for but i'll play around with both your suggestions and let you guys know what works.

Thanks to both of you for taking the time to answer, appreciate it!
 

Nucktrooper

New Member
Since the old tabs are deprecated, is there a way to switch a scene according to a file content with the macro ?
I've only found a way to switch to a specific scene.
 

Nucktrooper

New Member
I see we can also use this plugin to trigger other actions than switching scene.
Is there a way to change the monitor type of audio sources ?

I would like to be able to switch my playlist between "monitor and output" and "monitor off" when I have to focus.
 

Warmuptill

Active Member
What is the difference Source Active and Showing like this picture?

View attachment 90240

I want to automatically stop streaming by a condition, not fixed time. Can I use source change or anything else?
Can you elaborate on what the condition is supposed to do / what the circumstances are in which you want to stop streaming?

As far as I understand a source can be active, but not visible.
A source that is showing is always active.

Depending on what you have in mind with your condition you might also want to have a look at "Scene item visibility".

Since the old tabs are deprecated, is there a way to switch a scene according to a file content with the macro ?
I've only found a way to switch to a specific scene.
The file tab is still available but hidden by default.
Uncheck the following option on the General tab to show it again.

200110831-02c6dce9-4f20-4c91-be41-e8d9fdebcb55.PNG


I see we can also use this plugin to trigger other actions than switching scene.
Is there a way to change the monitor type of audio sources ?

I would like to be able to switch my playlist between "monitor and output" and "monitor off" when I have to focus.
That is not available in the current release.

If you don't mind using a pre-release version however the option to do so is available in this build:

Here the "Audio" action (and condition) support setting monitoring options of audio sources.
Audio.png


Note that you have to be logged into GitHub to be able to download this build.
If that should be a problem let me know.
 
Last edited:

rades

New Member
Hello friends, I am about to start a podcast with my partner and I want to automate the scene changes every time it detects that the microphone input is coming from her or mine.

The problem I have is that sometimes the image flickers, apparently it doesn't detect which scene it should be showing and the change it makes is immediate and the screen is flickering.

I also want every once in a while to ignore that and show a third scene that would have a general camera only for a certain amount of time. But I can't do it.

How could I solve this?
 
Next question/issue. Wondering where the macro settings are located in the config files? I am seeing an issue where my settings from the old version seem to still be present and need to figure out how to remove them. Thanks.
 

AaronD

Active Member
Next question/issue. Wondering where the macro settings are located in the config files? I am seeing an issue where my settings from the old version seem to still be present and need to figure out how to remove them. Thanks.
You mean the old tabs? There's a checkbox to show them. (scroll up a couple of posts) Then you can work through them manually and delete everything.

The macros should always show, if they're still there. If not, I'd call that a bug, but a workaround might be to:
  1. Back up what you want to keep, probably manually, as the Export/Import buttons cover everything
  2. Uninstall the plugin
  3. Start and close OBS, so that it doesn't load the (uninstalled) plugin and then overwrites the file without it
  4. Reinstall the plugin
  5. Put your settings back in it
To (somewhat) answer your question, it's part of the Scene Collection. (so you'll have to expand steps 1, 3, and 5 if you have multiple) Where that is in the file system, I don't know.
 
You mean the old tabs? There's a checkbox to show them. (scroll up a couple of posts) Then you can work through them manually and delete everything.

The macros should always show, if they're still there. If not, I'd call that a bug, but a workaround might be to:
  1. Back up what you want to keep, probably manually, as the Export/Import buttons cover everything
  2. Uninstall the plugin
  3. Start and close OBS, so that it doesn't load the (uninstalled) plugin and then overwrites the file without it
  4. Reinstall the plugin
  5. Put your settings back in it
To (somewhat) answer your question, it's part of the Scene Collection. (so you'll have to expand steps 1, 3, and 5 if you have multiple) Where that is in the file system, I don't know.
Thanks for that! Much appreciated.
 

Warmuptill

Active Member
Hello friends, I am about to start a podcast with my partner and I want to automate the scene changes every time it detects that the microphone input is coming from her or mine.

The problem I have is that sometimes the image flickers, apparently it doesn't detect which scene it should be showing and the change it makes is immediate and the screen is flickering.

I also want every once in a while to ignore that and show a third scene that would have a general camera only for a certain amount of time. But I can't do it.

How could I solve this?
What is probably happening here, when the image is flickering, is that multiple macros, which both contain scene switches, are active in the same interval.
Thus the first macro is switching to "Scene A" and the the second one is switching to "Scene B" immideatly after that.

I would recommend to set up your macros similar to this example:

To achieve the switch to the third scene something like this might do the trick:

Example.PNG


This will switch to the "General Camera Scene" every 1 to 5 minutes and remain there for 10 to 30 seconds.
The exact duration values are of course only examples.

And sorry about the delayed response.
 
Hello,

Thanks for that useful plugin!

Is there an opportunity to make an easy schedule by importing a text file that says when to show which scene?

And how can I consider time zones? For example, when a time repeats at the end of daylight saving time, how can I say: show this on 2.30 DST and show that on 2.20 Standard time (2.20 standard comes after 2.30 daylight saving time). All in UTC would be easier. :)

Thanks!
 

Warmuptill

Active Member
Can ASS be used to restart a VLC YouTube source that has stopped?
Unfortunately I am not sure.
Sorry if this question has an obvious answer, but how exactly can I set up a VLC YouTube source?

Hello,

Thanks for that useful plugin!

Is there an opportunity to make an easy schedule by importing a text file that says when to show which scene?

And how can I consider time zones? For example, when a time repeats at the end of daylight saving time, how can I say: show this on 2.30 DST and show that on 2.20 Standard time (2.20 standard comes after 2.30 daylight saving time). All in UTC would be easier. :)

Thanks!
I am afraid I don't think what you have in mind is possible at the moment.
Can you give an example of what you imagine this file to look like?

Just in case you didn't stumble upon the "Date" condition type here it is described in a bit more detail:
 

AaronD

Active Member
Hello,

Thanks for that useful plugin!

Is there an opportunity to make an easy schedule by importing a text file that says when to show which scene?

And how can I consider time zones? For example, when a time repeats at the end of daylight saving time, how can I say: show this on 2.30 DST and show that on 2.20 Standard time (2.20 standard comes after 2.30 daylight saving time). All in UTC would be easier. :)

Thanks!
Try the Date condition first. If it's not enough, I suppose you could use your operating system's task scheduler (all of them have one), or a script of some kind, to create some sort of trigger that AdvSS can pick up. Maybe hotkeys, or write to a file, or whatever.
 

Lawrence_SoCal

Active Member
And how can I consider time zones? For example, when a time repeats at the end of daylight saving time, how can I say: show this on 2.30 DST and show that on 2.20 Standard time (2.20 standard comes after 2.30 daylight saving time). All in UTC would be easier. :)
I don't think you have to. A Time based trigger, let's say 2:30am, would simply happen twice, 1 hour apart.
But is that doesn't work you (For keeping track of a specific sequence, ignoring daylight savings time)...uh... why not simply turn off DST at OS level? problem solved

As for mass import of time settings ... @Warmuptill - I'm curious if latest AdvSS (sorry I'm on older version of OBS, so not on recent AdvSS), is the settings export still a text file? if yes, and there isn't a CRC or similar check on import, I'm wondering if a user could write a TEXT manipulation script to grab a AdvSS Settings Export and edit with revised time for Scene change (or whatever) and then User import those settings? [ie, a simple case would be simply replacing all Time triggers (or in Macros if using that) with new times?] just wondering aloud, so to speak
 

Warmuptill

Active Member
As for mass import of time settings ... @Warmuptill - I'm curious if latest AdvSS (sorry I'm on older version of OBS, so not on recent AdvSS), is the settings export still a text file? if yes, and there isn't a CRC or similar check on import, I'm wondering if a user could write a TEXT manipulation script to grab a AdvSS Settings Export and edit with revised time for Scene change (or whatever) and then User import those settings? [ie, a simple case would be simply replacing all Time triggers (or in Macros if using that) with new times?] just wondering aloud, so to speak
Yes, it is still a text file and you could in theory manually edit it. (Although there will be a lot of "magic numbers" for most fields)
There is no checksum or anything of that sort.
It only needs to be a valid json file.

For example macro only containing a single date condition and nothing else would look something like this:

Code:
        {
            "actions": [],
            "conditions": [
                {
                    "collapsed": false,
                    "condition": 0,
                    "dateTime": "Sat Jan 14 03:48:41 2023",
                    "dateTime2": "Sat Jan 14 03:48:41 2023",
                    "dayOfWeek": 0,
                    "dayOfWeekCheck": true,
                    "displayUnit": 0,
                    "durationModifier": {
                        "displayUnit": 0,
                        "seconds": 0.0,
                        "time_constraint": 0
                    },
                    "id": "date",
                    "ignoreDate": false,
                    "ignoreTime": false,
                    "logic": 0,
                    "pattern": ".... .. .. .. .. ..",
                    "repeat": false,
                    "seconds": 0.0,
                    "updateOnRepeat": true
                }
            ],
            "group": false,
            "name": "Macro 4",
            "onChange": false,
            "parallel": false,
            "pause": false,
            "pauseHotkey": [],
            "registerHotkeys": false,
            "togglePauseHotkey": [],
            "unpauseHotkey": []
        }
 

AaronD

Active Member
I'm wondering if a user could write a TEXT manipulation script to grab a AdvSS Settings Export and edit with revised time for Scene change (or whatever) and then User import those settings?
It doesn't have to be a User action. There's a macro action now (don't know how long it's been there, but it's there now), to Import settings. Combine that with the Run action, and you can have what practically amounts to a self-modifying program. Good luck debugging that!

Also, @Warmuptill , since the possibility exists to Import settings automatically, is it possible to only have a partial Import? Or does it always overwrite everything? If it's always everything, then there really needs to be an Export action as well, so that an external modification script can preserve everything else.

I kinda like the way that the Behringer X32 and X-Air series of digital mixing consoles do it: an incomplete settings file only replaces what's present in the file and leaves everything else unchanged. Translating that to AdvSS, I think if a Macro name is already present, it should replace that macro, otherwise add it. A separate action would be required to delete a macro, or to delete everything and Import All from the file.
 
Top