diff --git a/Troubleshooting.md b/Troubleshooting.md new file mode 100644 index 0000000..cd282df --- /dev/null +++ b/Troubleshooting.md @@ -0,0 +1,51 @@ +There are multiple tools and ways which can help you diagnose issues with your setup, which will be described in the following sections. + +## Visual indicators of macro activity and status +You can enable additional visual indicators to highlight recently executed macros, true conditions, or executed actions by clicking on the small gear symbol in the upper right corner of the macro tab. + +![UIHelpers](https://user-images.githubusercontent.com/19472752/161399896-a7031b02-f51c-4c28-affb-8e3045f0488a.PNG) + +Recently executed macros will be highlighted in green: + +![HighlightMacro](https://user-images.githubusercontent.com/19472752/161400174-62b890d9-a7f0-4b43-a37e-723aa6175f39.png) + +Conditions which evaluate to true will be highlighted in green: +Note how the "and not" logic selection affects the value of the second timer condition compared to the first one, while both timers have not yet expired. + +![HighlightedCondition](https://user-images.githubusercontent.com/19472752/161400271-29538c74-d248-4174-86fa-f61144a62020.PNG) + + +## Pausing macros + +To track down issues you can consider [pausing macros](Pausing-macros) one by one, to narrow down the problematic macro. + +## Logging + +You can also enable a much more verbose log on the General tab. +Its output will be indicating the state of each condition and which actions are performed. + +![Verbose](https://user-images.githubusercontent.com/19472752/161399974-0f73cdbf-0f50-4e42-9335-d5adfb084b0f.PNG) + +But please keep in mind that these logs can grow pretty fast, so it is not recommended to leave the setting turned on all the time. +In some older versions of OBS the built in log viewer might not be able to handle the logging load. + +Example output: +``` +22:47:59.656: [adv-ss] condition timer returned 1 +22:47:59.656: [adv-ss] condition scene returned 1 +22:47:59.656: [adv-ss] condition audio returned 0 +22:47:59.656: [adv-ss] Macro Example macro returned 1 +22:47:59.656: [adv-ss] running macro: Example macro +22:47:59.656: [adv-ss] switch to previous scene 'test' +22:47:59.668: User switched to scene 'test' +22:47:59.668: [adv-ss] switched scene +22:47:59.967: [adv-ss] current scene: test +22:47:59.967: [adv-ss] previous scene: LIVE +22:48:00.169: [adv-ss] detected busy loop - refusing to sleep less than 1ms +22:48:00.169: [adv-ss] try to sleep for 50 +22:48:00.219: [adv-ss] condition timer returned 0 +22:48:00.219: [adv-ss] condition scene returned 0 +22:48:00.219: [adv-ss] condition audio returned 0 +22:48:00.219: [adv-ss] Macro Example macro returned 0 +22:48:00.221: [adv-ss] try to sleep for 298 +```