ItsThatGuyJD
New Member
I'm trying to use the File macro to show tuna music info on song change in that file but when I make the action it doesn't work is there a specific way to do this?
Have you tried something similar to this?I'm trying to use the File macro to show tuna music info on song change in that file but when I make the action it doesn't work is there a specific way to do this?
Thinking off the top of my head.
Workaround might be to add 10 macros contained in the random selection ; 7 of which perform the function of Macro1 ( duplicate 6 times current macro ) ; 2 macros doing the function of Macro2 ( duplicate 1 time current macro ) and have 1 of Macro 3 ...
Thanks for the suggestion - I added it to the todo list.
The workaround suggested by @ottawafro should work in the meantime.
OBS 27 build is done, but I did not test it:
Let me know if you run into any issues.Build for OBS 27.2.4 · WarmUpTill/SceneSwitcher@b413082
An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.github.com
Love ultimate scene switcher. Wondering the best way to optimize macro execution to decrease time it takes to run thru macros? I have alot of macros that execute based on video source changes. For the most part it gets slower the more macros there are to execute/check logic but cpu usage never goes up. My pc has 12 cores and it sits at like 3%. Is there something in setup I am missing? Seams to not be using the computer resources like it should. Built this machine to do nothing but run OBS so nothing else is running and plenty of ram and cpu available based on windows performance. Any help would be appreciatedWarmuptill submitted a new resource:
Automatic Scene Switching - Switches to specified scenes depending on which window is in focus
Read more about this resource...
Can you describe what type of macros you are using in a bit more detail or export your settings to a file and share it?Love ultimate scene switcher. Wondering the best way to optimize macro execution to decrease time it takes to run thru macros? I have alot of macros that execute based on video source changes. For the most part it gets slower the more macros there are to execute/check logic but cpu usage never goes up. My pc has 12 cores and it sits at like 3%. Is there something in setup I am missing? Seams to not be using the computer resources like it should. Built this machine to do nothing but run OBS so nothing else is running and plenty of ram and cpu available based on windows performance. Any help would be appreciated
How long does it usually / in the worst case take for the plugin to run through all your macros?So I look at a video source in a specific area and compare it to an image. The images are say #1-#50. When it finds a match it displays the overlay corresponding to that number. The macros keep watch for a change in number/letter/etc. And when it finds a match Turns off the current overlay and switches to new overlay. So I guess what I want to know is there a way to decrease the time it takes to cycle thru the 100 or so macros I have set up. In this case I want it to be fast so using system resources does not matter to me, that's why I built a standalone computer with plenty of cpu and memory to run obs.
spent <number here> ms in <name here> condition check of macro <name here>
That sounds like a Dugan automixer, named for its inventor Dan Dugan. Except instead of controlling audio gain, you're using the internal control signals to switch cameras. Same logic to create those control signals.Hello,
I'm testing this plugin to trigger a camera change using it's audio on a multi camera setup on same room but since the cameras are close by, the audio going for one camera can still be heard on another camera, and if some one talks a bit lowder it will trigger more than one cameras at the same time.
Is there any way to make the switch according to higher audio level (compared to the other audio sources) instead of just a predefined trigger level?
Have you tried something similar to this?
View attachment 89960
If so, can you give more details what exactly is not working as you would expectT
This is what I have and when the title changes the asset is still visible if I click run it will perform the action once but never again until I press run againHave you tried something similar to this?
View attachment 89960
If so, can you give more details what exactly is not working as you would expect?
Right.. I thought software patents weren't an universal issue (specially when hardware was required before and it isn't anymore, software has so many dimensions that shouldn't be caped), anyway I just wanted to switch the video, maybe include main camera in big size and other cameras in a smaller size, not necessarily excluding all other audio but isn't this what videoconferencing software do? Zoom, Teams, Webex, Google Meet, all of them show the speaker in based on who is talking, this would be doing the same on a local room instead of distributed over the internet.That sounds like a Dugan automixer, named for its inventor Dan Dugan. Except instead of controlling audio gain, you're using the internal control signals to switch cameras. Same logic to create those control signals.
Problem is, the patent is still valid, and the inventor is still making a living on it. So you'll have to either buy something that satisfies his license and figure out how to use it, or license it from him yourself. Probably not going to happen for this plugin.
The original invention was entirely analog, as a standalone 19-inch rackmounted thing to plug into the channel insert jacks of an analog mixing console. In terms of "conventional" audio processors, it's a cross-coupled ducker/expander. Each signal has a level detector and a gain element (analog VCA, or voltage controlled amplifier), but they're all connected so that each channel's increase causes its own gain to increase (expander) and all the others to decrease (ducker). That "voting" happens simultaneously for all channels, and the results are summed to control each VCA. The result is that the loudest one stands out and the rest fall away, and the rates are designed so that the total of all gains running in parallel stays constant.
I think for the plugin to do all of that directly, would infringe on the patent. But it would probably be okay to compare arbitrary things - it doesn't do that yet either - and it only happens that audio level is one of many arbitrary things. Better still, to avoid a mess of cross-comparisons, would be to do some math, store the result in a variable, and then compare anything to that variable.
For example, sum a bunch of audio levels, divide by a constant (start with the number of inputs used, and adjust as needed), store that, then compare each level to that (modified) average. But again, it would require some functionality that (to my knowledge) doesn't exist yet.
A long time ago, when @Warmuptill was switching from the old single-function tabs to macros, I made the case for arbitrary programming, like Python or similar. So there'd be a General tab, a Macro tab, and a Python tab, or whatever capable language. Still have a menu for everything that the API offers, but each menu item simply inserts the code required to use that API hook. The user still needs to make the connection.
I think the "compare multiple to an average" function would be one of the stronger arguments for that, because the menu structure to do all of that directly would get to be a mess pretty quick...unless that's *all* it does, which is getting dangerously close to the patent IMO.
All the platforms you mentioned are paid in some form or another. Either directly, or through ads or other products that the same company sells. What's to say that they didn't license a ton of tools to make them work, none of which for free?Right.. I thought software patents weren't an universal issue (specially when hardware was required before and it isn't anymore, software has so many dimensions that shouldn't be caped), anyway I just wanted to switch the video, maybe include main camera in big size and other cameras in a smaller size, not necessarily excluding all other audio but isn't this what videoconferencing software do? Zoom, Teams, Webex, Google Meet, all of them show the speaker in based on who is talking, this would be doing the same on a local room instead of distributed over the internet.
You seem to be using an older version of the plugin.This is what I have and when the title changes the asset is still visible if I click run it will perform the action once but never again until I press run again
View attachment 90089
(.|\n)*
in the textbox above.That is not possible at the moment unfortunately - I will try to to think of something.Hello,
I'm testing this plugin to trigger a camera change using it's audio on a multi camera setup on same room but since the cameras are close by, the audio going for one camera can still be heard on another camera, and if some one talks a bit lowder it will trigger more than one cameras at the same time.
Is there any way to make the switch according to higher audio level (compared to the other audio sources) instead of just a predefined trigger level?
Nice, maybe just allowing to compare 2 audio levels would be enough (instead of just comparing to a reference) then we would need program something like this conditions depending on the number of audio sources, like:That is not possible at the moment unfortunately - I will try to to think of something.mikexilva said:
Hello,
I'm testing this plugin to trigger a camera change using it's audio on a multi camera setup on same room but since the cameras are close by, the audio going for one camera can still be heard on another camera, and if some one talks a bit lowder it will trigger more than one cameras at the same time.
Is there any way to make the switch according to higher audio level (compared to the other audio sources) instead of just a predefined trigger level?
Nice, maybe just allowing to compare 2 audio levels would be enough (instead of just comparing to a reference) then we would need program something like this conditions depending on the number of audio sources, like:
IF (optionally level of A> trigger reference) AND level of A>B AND level of A>C AND level of A>D THEN switch to scene A
IF (optionally level of B> trigger reference) AND level of B>A AND level of B>C AND level of B>D THEN switch to scene B
IF (optionally level of C> trigger reference) AND level of C>A AND level of C>B AND level of C>D THEN switch to scene C
IF (optionally level of D> trigger reference) AND level of D>A AND level of D>B AND level of D>C THEN switch to scene D
I don't know how CPU intensive this is but if it's too much it cold be done just every 500ms to reduce CPU load...
And it should allow to select a minimum period of time (like 1000ms) with the all conditions TRUE before triggering the scene switch to avoid quick confusing, unnecessary scene switching with momentary noises like coughing.. but this I think it's already implemented when comparing to a reference..
This was just a quick thought, maybe there are more elegant ways to do it, but just adding that possibility will allow for more freedom on user programming.
Thanks and happy new year ;)
Maybe it would be more efficient and elegant to set one variable per audio source and then just use them on the IF's comparisons... instead of "measuring" audio levels so many times repeatedly with all macros running at the same time, although I don't know if this adds too much complexity...That is not possible at the moment unfortunately - I will try to to think of something.mikexilva said:
Hello,
I'm testing this plugin to trigger a camera change using it's audio on a multi camera setup on same room but since the cameras are close by, the audio going for one camera can still be heard on another camera, and if some one talks a bit lowder it will trigger more than one cameras at the same time.
Is there any way to make the switch according to higher audio level (compared to the other audio sources) instead of just a predefined trigger level?
Glad to hear the plugin is of use to you! :)Love this plug-in. Cannot survive without it.
Using macros to auto-schedule streaming based on scene selection and day and time. Works perfect for multiple instances of OBS
Assuming the plugin is configured to run on OBS startup you achieve this using the "Import settings from" option of the "Plugin state" action.I also wonder if there might be a way too pull a schedule directly from a file on OBS launch?
Unfortunately I do no think there is a tool to create the settings file outside of OBS.Wondering if there's an easy way to create the text files outside of OBS? Forgive me, I haven't looked too hard for something. The problem is that the schedules can be quite complicated and long and it would be easier to build in a spreadsheet or something.
Hi Warmuptill,
I've tried to google and search through the thread but is there a way to repeat a condition before a macro triggers?
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.
Thanks and happy new year!
Ahhh. Very helpful. Now to think about scripting. Would be even better to pull from a cloud platform. Hmmm.Glad to hear the plugin is of use to you! :)
Assuming the plugin is configured to run on OBS startup you achieve this using the "Import settings from" option of the "Plugin state" action.
View attachment 90175
Unfortunately I do no think there is a tool to create the settings file outside of OBS.
The settings format is a simple json file, so I guess you could theoretically set up a script to generate the settings file from a spreadsheet.
But I don't think that would be a trivial task.