Cool, good stuff man. Glad you figured out the frontend API. I want to look at it and see how it works now.
The sad part is that I think I just now fully grasp why my mud was sometimes still crashing. Mutexes are a tricky thing to deal with in dynamically loaded DLLs....
So I've got good news and bad news after just trying out your new version. The good news is the memory leaks and the crashes I had before I started working on the code are gone when I use OBS in a 'normal' way. The bad news is I was able to make the new version freak out if I started and stopped a recording extremely quickly (basically as quick as I could, with hotkeys). The recording start and stop sounds were then reversed until I closed OBS Studio, or tried to close it, rather. The GUI closed when I hit Exit, but the program never closed and I had to kill it from Windows Task Manager. The last line in the log is "Freeing OBS context data", after which would normally be a bunch more lines as OBS Studio shut down. This behavior is repeatable. I haven't looked at the code yet so I have no clue what would be causing it, but I'm not even sure if you will even consider it a problem worth addressing, since it only really occurs when you use the program in a somewhat 'unrealistic' manner. Just thought I'd let you know, hope this isn't a downer on your otherwise great work!