Trysdyn
New Member
I use OBS to stream gaming/speedruns, and have several apps I've written in Python that I use as part of my overlay. When I stream I have a button input visualizer and a chat overlay, both of which I wrote using the PyGame (SDL) lib.
This works fine, except since both apps are launched from c:\Python27\pythonw.exe, OBS will confuse them from time to time. Most notably seems to be if one of the apps fails (or I forget to launch it), OBS will panic and fall back to displaying the other in its place. It'll remain stuck this way until I either stop and restart the stream, or remove or re-add the application. In cases where things really go wrong, OBS will grab my Twitter client (which I also wrote myself, using the same libs), and start displaying my private Twitter account to the stream; very bad.
I presume this is because OBS logic searches for Window ID, then Title, then if a window matching those is not found, it falls back to executable name. Is this correct? Is there something I can manipulate either in my code, or OBS settings, to make OBS more able to identify which application is which? Failing that, what is OBS's logic for matching up which window is which? I'll try to find a workaround with that info in-hand.
The other option for me is to compile these apps into EXEs so they have completely different pathnames and OBS won't think they're the same, I guess, but that would ruin some of the flexibility my overlay system has.
This works fine, except since both apps are launched from c:\Python27\pythonw.exe, OBS will confuse them from time to time. Most notably seems to be if one of the apps fails (or I forget to launch it), OBS will panic and fall back to displaying the other in its place. It'll remain stuck this way until I either stop and restart the stream, or remove or re-add the application. In cases where things really go wrong, OBS will grab my Twitter client (which I also wrote myself, using the same libs), and start displaying my private Twitter account to the stream; very bad.
I presume this is because OBS logic searches for Window ID, then Title, then if a window matching those is not found, it falls back to executable name. Is this correct? Is there something I can manipulate either in my code, or OBS settings, to make OBS more able to identify which application is which? Failing that, what is OBS's logic for matching up which window is which? I'll try to find a workaround with that info in-hand.
The other option for me is to compile these apps into EXEs so they have completely different pathnames and OBS won't think they're the same, I guess, but that would ruin some of the flexibility my overlay system has.