Build Your Own Arcade Controls Forum

Main => Software Forum => Topic started by: jimmy2x2x on September 18, 2010, 02:10:06 am

Title: Looking for Volume OSD program that overlays fullscreen mame
Post by: jimmy2x2x on September 18, 2010, 02:10:06 am
Something like cabvol but with an on screen display

I found this, which is fantastic but doesnt display on top of mame

http://www.addictivetips.com/windows-tips/on-screen-volume-control-indicator-for-windows/ (http://www.addictivetips.com/windows-tips/on-screen-volume-control-indicator-for-windows/)

I linked the blog as it shows more than the homepage.

Title: Re: Looking for Volume OSD program that overlays fullscreen mame
Post by: WhereEaglesDare on September 18, 2010, 12:33:22 pm
doesnt mame have an osd for volume when you hit the ~ key?
Title: Re: Looking for Volume OSD program that overlays fullscreen mame
Post by: jimmy2x2x on September 18, 2010, 12:56:14 pm
Yes it does, but I want the on screen display to work at any time really, in or out of mame.

Exactly like the linked program, just with better overlay support.
Title: Re: Looking for Volume OSD program that overlays fullscreen mame
Post by: headkaze on September 18, 2010, 07:38:04 pm
Pretty much impossible to overlay when running Mame in Direct3D mode.

You could open up mame.ini and try

Code: [Select]
video                     ddraw
or

Code: [Select]
video                     gdi
instead of

Code: [Select]
video                     d3d
But rendering on newer cards will most likely be slower. Even though Mame is CPU bound it can make a difference.
Title: Re: Looking for Volume OSD program that overlays fullscreen mame
Post by: jimmy2x2x on September 18, 2010, 07:42:05 pm
Pretty much impossible to overlay when running Mame in Direct3D mode.

Fraps and Powerstrip manage to do it, maybe by some dirty coding, but they get the job done with reliable overlays in all graphics modes

Im sure that its possible to do this, and would be a real nice addition for have a reliable OSD
Title: Re: Looking for Volume OSD program that overlays fullscreen mame
Post by: headkaze on September 18, 2010, 08:09:39 pm
Pretty much impossible to overlay when running Mame in Direct3D mode.

Fraps and Powerstrip manage to do it, maybe by some dirty coding, but they get the job done with reliable overlays in all graphics modes

Im sure that its possible to do this, and would be a real nice addition for have a reliable OSD


Yes it is a hack. It's done by an API HiJack of the OpenGL and DirectX dll's. I've done this sort of stuff before. Anyway there may be software out there that can do it but I've never seen anything.
Title: Re: Looking for Volume OSD program that overlays fullscreen mame
Post by: SavannahLion on September 25, 2010, 01:14:55 pm
Pretty much impossible to overlay when running Mame in Direct3D mode.

Fraps and Powerstrip manage to do it, maybe by some dirty coding, but they get the job done with reliable overlays in all graphics modes

Im sure that its possible to do this, and would be a real nice addition for have a reliable OSD


Yes it is a hack. It's done by an API HiJack of the OpenGL and DirectX dll's. I've done this sort of stuff before. Anyway there may be software out there that can do it but I've never seen anything.

Are you referring to a hook?
Title: Re: Looking for Volume OSD program that overlays fullscreen mame
Post by: headkaze on September 26, 2010, 03:42:18 am
Are you referring to a hook?

Yes. As in the APIHiJack Library (http://www.codeproject.com/KB/DLL/apihijack.aspx?msg=19856).
Title: Re: Looking for Volume OSD program that overlays fullscreen mame
Post by: SavannahLion on September 26, 2010, 10:38:37 pm
Are you referring to a hook?

Yes. As in the APIHiJack Library (http://www.codeproject.com/KB/DLL/apihijack.aspx?msg=19856).

That's what I figured. Thanks for the link  :cheers:

thread hijack:

Right after my last post, I Googled around to try and figure out how this is done. I came across a few places that treated this technique as a scourge, used by hackers to hack running games. Others treated it as a legitimate method. But nothing with source code (though several people mentioned the information was on MSDN which I wasn't able to locate). :dunno I'll Google around for a bit with the API calls in the source and figure out the meat. Thanks again.

I did come across one interesting software project that claimed that it did not use any hijacking at all. Instead, it claimed it brought itself down to the level of the kernel and accessed the GPU directly. But reading the forums and the problems the software had with D10 seems to point to hooking.

Any idea what else could be "lower" than hooking? I'm guessing there's some sort of plug-in architecture on the more recent GPU cards they're tapping into.
Title: Re: Looking for Volume OSD program that overlays fullscreen mame
Post by: headkaze on September 27, 2010, 01:34:24 am
The only way I know to do it with Direct3D or OpenGL is through hooking. With GDI it's trivial and with DirectDraw there are things called "Direct Draw overlays" but I've found them to be problematic.

There may be new ways of doing overlaying in WPF but I have no experience with that.