Simple scene switcher

BeauWest

Member
Re: Very simple scene switcher

Zekta, not to speak for Chris, but I believe that's the plan. Check out my modified .dll (32 bit only) http://twitch.west.gs/scenesw.dll

Instead of looking at the window handle, it looks at the window name. So set your "main scene" to be your in-game window, and your alt-scene is your out of game/launcher view and let us know how it works. ^_^
 

ThoNohT

Developer
Re: Very simple scene switcher

I have been submitting some modified code to Chris. He'll be looking at it soon. The functionality is not complete, although the basis is there. That's why I'm not compiling and distributing it here.
In the updated code I implemented multiple window definitions. And I'm just about to submit a patch to implement the "don't switch when no window matches" option. I have some other plans for the future, but we'll see how that goes

At the moment we're not using any version control system yet, so it's just exchanging zip files. As such, the exchange is not quite as smooth yet as it could be. But hopefully we'll get an updated version up soon.
 

kokarn

New Member
May I propose you move it to GitHub so more people can help out with it?

OBS already has a fairly active community around it on there and moving the plugins there would be great for everybody.

Either way, thanks for a great plugin!

Gaming, OBS and Open Source <3
 

byFd

New Member
Hi!
with the newest version, everytime i start the plugin and then close the plugin configure window, OBS crashes.
I'm using Windows 7 64 Bit and it occured both with OBS 32 bit and 64 bit.
Here is the crashlog:

OBS has encountered an unhandled exception and has terminated. If you are able to
reproduce this crash, please submit this crash report on the forums at
http://www.obsproject.com/ - include the contents of this crash log and the
minidump .dmp file (if available) as well as your regular OBS log files and
a description of what you were doing at the time of the crash.

This crash appears to have occured in the 'c:\program files (x86)\obs\obsapi.dll' module.

**** UNHANDLED EXCEPTION: c0000005
Fault address: 64511A69 (c:\program files (x86)\obs\obsapi.dll)
OBS version: Open Broadcaster Software v0.472b
Windows version: 6.1 (Build 7601) Service Pack 1

Crashing thread stack trace:
Stack EIP Arg0 Arg1 Arg2 Arg3 Address
036AFA78 64511A69 00000000 00173080 036AFAC8 036AFB00 obsapi.dll!slen+0x9
036AFA7C 64511F4A 00000000 002F2000 C09317F5 00000000 obsapi.dll!sstr+0x2a
036AFA9C 64CB2973 00000000 00000000 00000000 00000000 scenesw.dll!0x64cb2973

A minidump was saved to C:\Users\user\AppData\Roaming\OBS\crashDumps\OBSCrashDump2013-02-28_6.dmp.
Please include this file when posting a crash report.

List of loaded modules:
Base Address Module
001B0000-002D8000 C:\Program Files (x86)\OBS\OBS.exe
775B0000-77730000 C:\Windows\SysWOW64\ntdll.dll
75200000-75310000 C:\Windows\syswow64\kernel32.dll
76580000-765C7000 C:\Windows\syswow64\KERNELBASE.dll
6E850000-6E857000 C:\Windows\system32\AVRT.dll
76920000-76939000 C:\Windows\SysWOW64\sechost.dll
76F90000-7703C000 C:\Windows\syswow64\msvcrt.dll
770C0000-771B0000 C:\Windows\syswow64\RPCRT4.dll
75110000-75170000 C:\Windows\syswow64\SspiCli.dll
75100000-7510C000 C:\Windows\syswow64\CRYPTBASE.dll
73DE0000-73DF3000 C:\Windows\system32\dwmapi.dll
76870000-76900000 C:\Windows\syswow64\GDI32.dll
765D0000-766D0000 C:\Windows\syswow64\USER32.dll
754D0000-75570000 C:\Windows\syswow64\ADVAPI32.dll
77580000-7758A000 C:\Windows\syswow64\LPK.dll
76E60000-76EFD000 C:\Windows\syswow64\USP10.dll
73FC0000-7400C000 C:\Windows\system32\dxgi.dll
74F40000-74F49000 C:\Windows\system32\VERSION.dll
741C0000-741EC000 C:\Windows\system32\d3d10_1.dll
74010000-74051000 C:\Windows\system32\d3d10_1core.dll
73E40000-73FB5000 C:\Windows\system32\d3d11.dll
646E0000-64754000 C:\Windows\system32\d3dx10_43.dll
75370000-754CC000 C:\Windows\syswow64\ole32.dll
76B00000-76B35000 C:\Windows\syswow64\WS2_32.dll
75730000-75736000 C:\Windows\syswow64\NSI.dll
74720000-7473C000 C:\Windows\system32\IPHLPAPI.DLL
74710000-74717000 C:\Windows\system32\WINNSI.DLL
644F0000-646DC000 C:\Program Files (x86)\OBS\OBSApi.dll
6FA70000-6FAA2000 C:\Windows\system32\WINMM.dll
751A0000-751A5000 C:\Windows\syswow64\PSAPI.DLL
757D0000-7641A000 C:\Windows\syswow64\SHELL32.dll
75310000-75367000 C:\Windows\syswow64\SHLWAPI.dll
65470000-65600000 C:\Windows\WinSxS\x86_microsoft.windows.gdiplus_6595b64144ccf1df_1.1.7601.17825_none_72d273598668a06b\gdiplus.dll
6CF30000-6CF88000 C:\Windows\system32\WINHTTP.dll
6CEE0000-6CF2F000 C:\Windows\system32\webio.dll
6D640000-6D828000 C:\Program Files (x86)\OBS\libx264-129.dll
72950000-729D0000 C:\Windows\system32\UxTheme.dll
76A90000-76AF0000 C:\Windows\system32\IMM32.DLL
764B0000-7657C000 C:\Windows\syswow64\MSCTF.dll
72760000-728FE000 C:\Windows\WinSxS\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.7601.17514_none_41e6975e2bd6f2b2\Comctl32.dll
64C20000-64C48000 C:\Program Files (x86)\OBS\plugins\DShowPlugin.dll
75740000-757CF000 C:\Windows\syswow64\OLEAUT32.dll
64CD0000-64CF0000 C:\Program Files (x86)\OBS\plugins\GraphicsCapture.dll
64CB0000-64CC2000 C:\Program Files (x86)\OBS\plugins\scenesw.dll
756A0000-75723000 C:\Windows\syswow64\CLBCatQ.DLL
6F050000-6F089000 C:\Windows\System32\MMDevApi.dll
70450000-70545000 C:\Windows\System32\PROPSYS.dll
766D0000-7686D000 C:\Windows\syswow64\SETUPAPI.dll
75570000-75597000 C:\Windows\syswow64\CFGMGR32.dll
76900000-76912000 C:\Windows\syswow64\DEVOBJ.dll
74F50000-7503B000 C:\Windows\system32\DBGHELP.DLL

and my settings for the plugin
XDJrqJg.png
 

ThoNohT

Developer
Hi kokarn, People can still help out on assembla, but perhaps github might be a bit more accessable indeed. I'm going to leave that decision up to Chris though. If you want to help, an account at assembla is free, and people can still upload patches.

byFd, thanks for the crash report. I will be looking into it. I have tried this combination, and did not get it to crash myself. But the log does show where the error occurs, so I'll see if I can find a way to reproduce, and then hopefully fix it.

Edit: as a workaround, you can enable the checkbox: "match exact window name". That should fix it for now. I hope I can create a patch soon though.
 

ThoNohT

Developer
I created a possible fix. I only managed to recreate the problem occasionally, and therefore am not entirely sure of the cause. However, my bet is that this should fix it. I can't update the original post to release it proper. But both 32 bit and 64 bit versions can be found in this zip:

https://www.assembla.com/spaces/scenesw ... 4SacwqEsg8

Please try this out (disable match exact window name to test this!) and tell me if the problem is solved, and if the windows actually match.
 

BeauWest

Member
ThoNohT, I was getting the crash as well and the updated version fixed it.

On a side note to any users, partial window matching is tricky! Be as specific as possible, for example, I had "Battlefield 3" as my window name, but that also matches the Battlelog browser window title. So whenever I was focused on that tab in Chrome it switched as well.
 

ThoNohT

Developer
Thanks BeauWest, for confirming the fix.

Another note on partial matching:

Let's use your situation as an example. If you want to define another scene for a window called "Battlefield 3 Battlelog browser", make sure to put that one on top.

  • "Battlefield 3" matches both "Battlefield 3", and "Battlefield 3 Battlelog browser" (and "Battlefield 3 cookie monster" for that matter).
  • "Battlefield 3 Battlelog browser" only matches "Battlefield 3 Battlelog browser".
Because the plugin looks through the list from top to bottom, and picks the first window that matches, if you put "Battlefield 3" on top, it will match on both, and always select this one. If you put "Battlefield 3 Battlelog browser" on top, this one will match for the battlelog browser, and the actual game will not match, but only to the "Battlefield 3" window name.

In your situation, BeauWest, the solution would be to put Chrome above Battlefield 3, so Chrome is matched first. Then just use the same scene as alternate for that window.

So in conclusion (tl;dr): more specific window names on top, more general window names in the bottom.
 

byFd

New Member
will test later today, but no worries that it will work for me too :)
thanks!

edit: works like a charm, awesome!
 

Dajova

Member
Tried it when it first was released, was fine and all, but didn't suit my needs at the time.
Tried out the new version and loving it :) Just excellent.

I do have a feature request tho, if i may?
If it would be possible to change stream profile depending on the active window.
Like i have several scenes depending on what game i play, but also several profiles depending what game.
If it would be possible, ofc :) If it's not possible, then i can understand.
 

Dajova

Member
Warchamp7 said:
The top of the OBS window has a profiles dropdown list, it's literally two clicks to switch.
Yes i know about that. I wouldn't ask if i already knew it.

Like i said, it's not a major thing, just something i had in mind.
 

SgtPepper

New Member
I don't know if I'm using this right.
I already do it so that the plugin detects LoL and changes to the right Scene once the game starts.
But when the game ends, I wanted it to go to the Scene with the Patcher, but if I do that, and then i navigate the internet, I wanted it to change to a Full Screen Scene. And I can't do it, because I can't select Mozilla Firefox in general on the Plugin. Only the specific page I'm on. So the scene don't always change when I want them to.
 

ThoNohT

Developer
You can edit the text for the window to match. Just remove everything but "Mozilla Firefox", and disable the "match exact window title" checkbox.
 

zyraxon

New Member
Love this plugin however i am having some problems with it. I have it setup so when i enter a game of LoL it switches to my in-game scene but as soon as the game is over or i exit the game it wont change back to the LoL Patcher/client. To fix this i need to remove it from the plugin and add it again and it works again. Any idea how i can fix this so i dont need to readd it everytime?
 
Top