Duration Modifier No Longer Working

Wikibobapedia

New Member
Hello,
I'm setting up the Advanced Scene Switcher for a four mic/camera podcast. In the recent past, I was tweaking the duration modifier to find an appropriate duration setting for participant camera triggers. I was experimenting with between .2 seconds and 2 seconds and also experimenting with a "wait" macro to see how that affected the way the system behaved when multiple people were talking. I also added a macro for multiple conditions so if multiple participants were talking then it would switch to the wide/table cam. After I enabled the multiple macro condition state, the duration modifier feature for the individual camera triggers no longer works. If I set it to a zero value, then the triggers work. If I set it for any other value (fraction of second, one, two, three etc.) it doesn't work. It's no duration modifier at all or nothing. I've deleted all the macros, started from scratch and still have the same issue. I've restarted multiple times and still have the same issue. I've set up the macros from scratch with no multiple conditions setting and have the same issue. At this point, I may just have to uninstall and reinstall the program. But, these two questions remain..."why did it happen?" and "will it happen again?" I don't want to invite guests over and then have to apologize for the scene switcher not working and then have to uninstall/reinstall and set the entire podcast up again from scratch while they're waiting. What's likely going on?
 
Unfortunately it is very difficult to say what is going on without known what exactly has been configured.
Can you export your settings to a file and share it?

Additionally it might help if you enable verbose logging and share a log file of a time when the problem was reproduced.

If you want, you can also send me a direct message and we can set up a short call to figure out what the problem, which will probably be much quicker than sending messages back and forth.

If you prefer to investigate the issue on your own it might help to enable the visual indicators showing which macro / condition / action is active.
 
Thank you Warmuptill. I enabled verbose logging and ran the mics through some paces. Here are some log file URLs with the triggers set at .2 second duration modifier (not switching): https://obsproject.com/logs/z6h4cPO2XoHSBAhf and https://obsproject.com/logs/kQD3gwkOh9Vi1L9S. Here is a log file with the duration modifier set to no duration and the mics run through some paces (tapping to simulate talking and clapping to simulate multiple people talking) https://obsproject.com/logs/S8KjnDjI8YSEuHs0.

Visual indicators were already checked but thank you for that suggestion.
 
Thanks for sharing the logs!

Can you please also share the settings you are using by exporting them to a file?
Without them it is very difficult / impossible to say what the issue might be.
(E.g. I cannot know which duration modifier type you have selected and with which "logic" the conditions are connected in each macro)
 
Thanks for sharing the settings file!

After having a look what you have configured I assume what you were trying to setup with your "wait" actions and duration modifiers is that you want to swap scenes to whomever is talking, but don't want to switch scenes too often.

There are however a few problems with your approach.
In particular the addition of the "wait" actions in the "Participant X" macros do not mean "stay on scene X and disregard any other condition results".

To give an example scenario where this is causing issues:
Let's assume Participant 1 and Participant 2 are currently speaking.
This results in the conditions of their corresponding macros to be true, as well as the Table macro's condition.
Now when the macros are being executed (from top to bottom in the macro list) first the "Participant 1" macro's actions will be executed, resulting in the plugin first waiting for one second and then performing a scene switch to the "Participant 1" scene.
Right after the actions of the "Participant 2" macro will be executed, because its condition was true as well, resulting in another wait of one second being followed up by a scene switch to the "Participant 2" scene.
This scene switch to "Participant 2" is then immediately followed up by a scene switch to "Table" as the condition of the "Table" macro was true as well.

What you wanted to happen in this scenario was likely only a switch to the "Table" scene with out the "wait for one second, switch to "Participant 1" scene, wait one second, switch to "Participant 2" scene" part.

In that case I would suggest to rework your macros as described in this example given in the wiki:

You can also import the example from the wiki using this code:
JSON:
{"macros":[{"name":"Participant 1","pause":false,"parallel":false,"onChange":false,"skipExecOnStart":false,"group":false,"dockSettings":{"register":false,"hasRunButton":true,"hasPauseButton":true,"hasStatusLabel":false,"highlightIfConditionsTrue":false,"runButtonText":"Run","pauseButtonText":"Pause","unpauseButtonText":"Unpause","conditionsTrueStatusText":"Conditions are true.","conditionsFalseStatusText":"Conditions are false."},"macroActionConditionSplitterPosition":[{"pos":203},{"pos":180}],"macroElseActionSplitterPosition":[{"pos":142},{"pos":0}],"registerHotkeys":false,"pauseHotkey":[],"unpauseHotkey":[],"togglePauseHotkey":[],"conditions":[{"collapsed":false,"id":"audio","logic":0,"durationModifier":{"time_constraint":1,"seconds":{"value":{"value":0.20000000000000001,"type":0},"unit":0,"version":1}},"audioSource":{"type":0,"name":"Mic 1"},"monitor":0,"volume":{"value":20,"type":0},"syncOffset":{"value":0,"type":0},"balance":{"value":0.5,"type":0},"checkType":0,"outputCondition":0,"volumeCondition":0,"version":1}],"actions":[{"collapsed":false,"id":"variable","enabled":true,"variableName":"Next Scene","variable2Name":"Invalid varialbe selection","strValue":"Participant 1","numValue":0.0,"condition":0,"segmentIdx":-1,"subStringStart":0,"subStringSize":0,"regexPattern":".*","regexMatchIdx":0,"findStr":"Text to find","replaceStr":"Text to replace with","regexConfig":{"enable":false,"partial":true,"options":0},"mathExpression":"( 1 + 2 * 3 ) / 4","useCustomPrompt":false,"inputPrompt":"Assign value to variable:","useInputPlaceholder":false,"inputPlaceholder":"--enter text--","environmentVariableName":"USERPROFILE","sceneSelection":{"type":0,"name":""}}],"elseActions":[]},{"name":"Participant 2","pause":false,"parallel":false,"onChange":false,"skipExecOnStart":false,"group":false,"dockSettings":{"register":false,"hasRunButton":true,"hasPauseButton":true,"hasStatusLabel":false,"highlightIfConditionsTrue":false,"runButtonText":"Run","pauseButtonText":"Pause","unpauseButtonText":"Unpause","conditionsTrueStatusText":"Conditions are true.","conditionsFalseStatusText":"Conditions are false."},"macroActionConditionSplitterPosition":[{"pos":192},{"pos":191}],"macroElseActionSplitterPosition":[{"pos":153},{"pos":0}],"registerHotkeys":false,"pauseHotkey":[],"unpauseHotkey":[],"togglePauseHotkey":[],"conditions":[{"collapsed":false,"id":"audio","logic":0,"durationModifier":{"time_constraint":1,"seconds":{"value":{"value":0.20000000000000001,"type":0},"unit":0,"version":1}},"audioSource":{"type":0,"name":"Mic 2"},"monitor":0,"volume":{"value":20,"type":0},"syncOffset":{"value":0,"type":0},"balance":{"value":0.5,"type":0},"checkType":0,"outputCondition":0,"volumeCondition":0,"version":1}],"actions":[{"collapsed":false,"id":"variable","enabled":true,"variableName":"Next Scene","variable2Name":"Invalid varialbe selection","strValue":"Participant 2","numValue":0.0,"condition":0,"segmentIdx":-1,"subStringStart":0,"subStringSize":0,"regexPattern":".*","regexMatchIdx":0,"findStr":"Text to find","replaceStr":"Text to replace with","regexConfig":{"enable":false,"partial":true,"options":0},"mathExpression":"( 1 + 2 * 3 ) / 4","useCustomPrompt":false,"inputPrompt":"Assign value to variable:","useInputPlaceholder":false,"inputPlaceholder":"--enter text--","environmentVariableName":"USERPROFILE","sceneSelection":{"type":0,"name":""}}],"elseActions":[]},{"name":"Participant 3","pause":false,"parallel":false,"onChange":false,"skipExecOnStart":false,"group":false,"dockSettings":{"register":false,"hasRunButton":true,"hasPauseButton":true,"hasStatusLabel":false,"highlightIfConditionsTrue":false,"runButtonText":"Run","pauseButtonText":"Pause","unpauseButtonText":"Unpause","conditionsTrueStatusText":"Conditions are true.","conditionsFalseStatusText":"Conditions are false."},"macroActionConditionSplitterPosition":[{"pos":192},{"pos":191}],"macroElseActionSplitterPosition":[{"pos":153},{"pos":0}],"registerHotkeys":false,"pauseHotkey":[],"unpauseHotkey":[],"togglePauseHotkey":[],"conditions":[{"collapsed":false,"id":"audio","logic":0,"durationModifier":{"time_constraint":1,"seconds":{"value":{"value":0.20000000000000001,"type":0},"unit":0,"version":1}},"audioSource":{"type":0,"name":"Mic 3"},"monitor":0,"volume":{"value":20,"type":0},"syncOffset":{"value":0,"type":0},"balance":{"value":0.5,"type":0},"checkType":0,"outputCondition":0,"volumeCondition":0,"version":1}],"actions":[{"collapsed":false,"id":"variable","enabled":true,"variableName":"Next Scene","variable2Name":"Invalid varialbe selection","strValue":"Participant 3","numValue":0.0,"condition":0,"segmentIdx":-1,"subStringStart":0,"subStringSize":0,"regexPattern":".*","regexMatchIdx":0,"findStr":"Text to find","replaceStr":"Text to replace with","regexConfig":{"enable":false,"partial":true,"options":0},"mathExpression":"( 1 + 2 * 3 ) / 4","useCustomPrompt":false,"inputPrompt":"Assign value to variable:","useInputPlaceholder":false,"inputPlaceholder":"--enter text--","environmentVariableName":"USERPROFILE","sceneSelection":{"type":0,"name":""}}],"elseActions":[]},{"name":"Participant 4","pause":false,"parallel":false,"onChange":false,"skipExecOnStart":false,"group":false,"dockSettings":{"register":false,"hasRunButton":true,"hasPauseButton":true,"hasStatusLabel":false,"highlightIfConditionsTrue":false,"runButtonText":"Run","pauseButtonText":"Pause","unpauseButtonText":"Unpause","conditionsTrueStatusText":"Conditions are true.","conditionsFalseStatusText":"Conditions are false."},"macroActionConditionSplitterPosition":[{"pos":192},{"pos":191}],"macroElseActionSplitterPosition":[{"pos":153},{"pos":0}],"registerHotkeys":false,"pauseHotkey":[],"unpauseHotkey":[],"togglePauseHotkey":[],"conditions":[{"collapsed":false,"id":"audio","logic":0,"durationModifier":{"time_constraint":1,"seconds":{"value":{"value":0.20000000000000001,"type":0},"unit":0,"version":1}},"audioSource":{"type":0,"name":"Mic 4"},"monitor":0,"volume":{"value":20,"type":0},"syncOffset":{"value":0,"type":0},"balance":{"value":0.5,"type":0},"checkType":0,"outputCondition":0,"volumeCondition":0,"version":1}],"actions":[{"collapsed":false,"id":"variable","enabled":true,"variableName":"Next Scene","variable2Name":"Invalid varialbe selection","strValue":"Participant 4","numValue":0.0,"condition":0,"segmentIdx":-1,"subStringStart":0,"subStringSize":0,"regexPattern":".*","regexMatchIdx":0,"findStr":"Text to find","replaceStr":"Text to replace with","regexConfig":{"enable":false,"partial":true,"options":0},"mathExpression":"( 1 + 2 * 3 ) / 4","useCustomPrompt":false,"inputPrompt":"Assign value to variable:","useInputPlaceholder":false,"inputPlaceholder":"--enter text--","environmentVariableName":"USERPROFILE","sceneSelection":{"type":0,"name":""}}],"elseActions":[]},{"name":"Table","pause":false,"parallel":false,"onChange":false,"skipExecOnStart":false,"group":false,"dockSettings":{"register":false,"hasRunButton":true,"hasPauseButton":true,"hasStatusLabel":false,"highlightIfConditionsTrue":false,"runButtonText":"Run","pauseButtonText":"Pause","unpauseButtonText":"Unpause","conditionsTrueStatusText":"Conditions are true.","conditionsFalseStatusText":"Conditions are false."},"macroActionConditionSplitterPosition":[{"pos":192},{"pos":191}],"macroElseActionSplitterPosition":[{"pos":153},{"pos":0}],"registerHotkeys":false,"pauseHotkey":[],"unpauseHotkey":[],"togglePauseHotkey":[],"conditions":[{"collapsed":false,"id":"macro","logic":0,"durationModifier":{"time_constraint":0,"seconds":{"value":{"value":0.0,"type":0},"unit":0,"version":1}},"macros":[{"macro":"Participant 1"},{"macro":"Participant 2"},{"macro":"Participant 3"},{"macro":"Participant 4"}],"type":2,"condition":0,"count":{"value":0,"type":0},"multiStateCount":{"value":1,"type":0},"multiStateCondition":2,"actionIndex":{"value":1,"type":0},"version":1}],"actions":[{"collapsed":false,"id":"variable","enabled":true,"variableName":"Next Scene","variable2Name":"Invalid varialbe selection","strValue":"Table","numValue":0.0,"condition":0,"segmentIdx":-1,"subStringStart":0,"subStringSize":0,"regexPattern":".*","regexMatchIdx":0,"findStr":"Text to find","replaceStr":"Text to replace with","regexConfig":{"enable":false,"partial":true,"options":0},"mathExpression":"( 1 + 2 * 3 ) / 4","useCustomPrompt":false,"inputPrompt":"Assign value to variable:","useInputPlaceholder":false,"inputPlaceholder":"--enter text--","environmentVariableName":"USERPROFILE","sceneSelection":{"type":0,"name":""}}],"elseActions":[]},{"name":"Switch Scene","pause":false,"parallel":false,"onChange":true,"skipExecOnStart":false,"group":false,"dockSettings":{"register":false,"hasRunButton":true,"hasPauseButton":true,"hasStatusLabel":false,"highlightIfConditionsTrue":false,"runButtonText":"Run","pauseButtonText":"Pause","unpauseButtonText":"Unpause","conditionsTrueStatusText":"Conditions are true.","conditionsFalseStatusText":"Conditions are false."},"macroActionConditionSplitterPosition":[{"pos":169},{"pos":214}],"macroElseActionSplitterPosition":[{"pos":176},{"pos":0}],"registerHotkeys":false,"pauseHotkey":[],"unpauseHotkey":[],"togglePauseHotkey":[],"conditions":[{"collapsed":false,"id":"variable","logic":0,"durationModifier":{"time_constraint":0,"seconds":{"value":{"value":0.0,"type":0},"unit":0,"version":1}},"variableName":"Next Scene","variable2Name":"Invalid varialbe selection","strValue":"","numValue":0.0,"condition":5,"regexConfig":{"enable":false,"partial":false,"options":0}}],"actions":[{"collapsed":false,"id":"scene_switch","enabled":true,"sceneSelection":{"type":5,"name":"Next Scene"},"transitionType":1,"duration":{"value":{"value":0.0,"type":0},"unit":0,"version":1},"blockUntilTransitionDone":true,"sceneType":0}],"elseActions":[]}],"version":"eaba3d3"}
But note that if you do so you will still have to create the variable and set its value used for switching to the next scene and select in each of the macros.

I hope that cleared things up and solves your issues! :)
 
Thank you for your suggestion on the wait macro and the additional information on a better way to fine tune the way the switcher behaves with multiple speakers. On the chance that was the issue, I removed the wait macro and the problem persists. I also removed the table scene macros and the issue persists. The issue I had stated (Duration Modifier No Longer Working) was that any duration modifier value other than zero renders the audio trigger useless. The only duration value that triggers a switch is zero. However, it WAS working in the recent past with any value including, .2, .5, 1, 2, 3 etc. Also, the scene macros (with the exception of the wait macro) were all set up according to Advanced Scene Switcher help files for setting up a podcast. Those files suggested a 3 second duration modifier for a multi-cam podcast and stacked the scenes in the same manner I did. They also advised to use the "macro" macro to account for multiple speakers.
 
Update: Uninstalled and reinstalled Advanced Scene Switcher, set macros back up as before, and now it's working fine.
Question: I seem to be missing something on the variable settings. My drop down looks different and nothing I select gives me the options in the Podcast Example.
 

Attachments

  • Untitled drawing.png
    Untitled drawing.png
    191.5 KB · Views: 20
 
I seem to be missing something on the variable settings. My drop down looks different and nothing I select gives me the options in the Podcast Example.
The first option "Set to fixed value" is what you are looking for.

But as hinted by the previous comment, if you are looking for general support regarding the plugin, it would be better to continue the discussion in the plugin's forum thread so other can find the information more easily / support you. :)
 
Back
Top