Hello
I want to show You epiLight project which is a MoMoLight controller software _base_d on BobLight that comes from Bob van Loosen.
MoMoLight module:

Eagle files are here:
http://qnapclub.pl/qnas/epiLightDX/eagle/Firmware is MoMoLight+MoodLight v2.6 from The Boss (
http://www.the-boss.dk/ )
http://qnapclub.pl/qnas/epiLightDX/firmware/Unfortunately I don't have source of this firmware. And there is something that should be fixed in it. It doesn't work properly on many USB-RS232 adapters (tested on adapters _base_d on Prolific PL-2303 chip). Many times it _b_link__s because of not synchronized data transmission.
And here is some old screen of my application:

It is designed to work with Windows Vista (i didn't tested it with XP - but probably will not work because it is disabling Aero). So my main concept was to use DirectX 9 to screen capture through FrontBufferData which isn't super fast but works much faster than GDI32 screen capture or even CopyFromScreen function (on Vista). There is also Auto enable function which detects process name and than it is Disabling Aero and starting to work AmbiLight.
Why I decided to do this like that.
So... If You have disabled Aero all the time, program will work fine. But when Aero is enabled it works slower. So I decided to add auto disable Aero composition when some process will be detected (like mp_layer_c - which is MediaP_layer_ Classic - one of the best and simple movie p_layer_).
There is also another reason of auto disabling composition. When You have selected in MediaP_layer_ Classic option like: Direct3D Fullscreen (remove tearing) which really helps while displaying HD movies, the movie will be displayed using DirectX and software will not capture it while there is Aero enabled. So this is another reason why I've implemented auto disabling Aero composition.
In the software there are also some displaying optimalization which will reduced flickering and will make AmbiLight effect more smooth.
You can download app here:
http://qnapclub.pl/qnas/epiLightDX/epiLightDX.zipSource of this app is here:
http://qnapclub.pl/qnas/epiLightDX/epiLightDX_src.zipUnfortunately it doesn't work properly under Windows 7 while using it on a SECOND MONITOR. I don't know if it's a bug of Windows 7, DirectX11 or even my ATI drivers. So exactly what is going on.
This only happens when Aero is disabled and You are using software to grab pixels from second monitor (Display 1).
My first display resolution is : 1680x1050
My second display resolution is : 1920x1080
Problem happens after a while (few seconds later) or when any new Windows window will be opened and showed on a screen - eg. my computer, trash, control pannel - anything...
The picture on grabbed device will be moved to the right or left (depends on Windows monitor settings) by exactly horizontal resolution size of 1st display - in my case, picture will be moved by 1680 pixels.
Take a look here:

I know that You could not understand what I'm saying (because of my poor english), but anyway don't use this epiLightDX on a Windows 7 while it will work on second monitor.
But You can also use AuroraLight application which is writted in Borland Delphi and probably it's using GDI32 functions to screen capture:
http://members.tele2.nl/m.m.j.kronenburg/auroraProbably it works faster with GDI32 screen capture because it's writted with FastMM.
(FastMM is a lightning fast replacement memory manager for Borland Delphi Win32 applications that scales well in multi-threaded applications, is not prone to memory fragmentation, and supports shared memory without the use of external .DLL files.)
But when I read some article
http://bobcravens.com/dasblogce/2009/04/26/FastestScreenCaptureUsingCVISTAVsWIN7.aspxI've decided to write application using .NET function (CopyFromScreen). Looks like it works fast on Windows 7. But don't use it on Windows Vista!
So here it is:
http://qnapclub.pl/qnas/epiLightDX/epiLight.NET.zipAnd source:
http://qnapclub.pl/qnas/epiLightDX/epiLight.NET_src.zipIf You have any idea how to fix DirectX version to make it working on Windows 7, please help with it.
And feel free to contact me with any ideas You have.
silas @[-_-]@ itlite.pl
Mariusz Grzybacz
Best regards
---------
DOWNLOADS
---------
for people who are looking for a soft only here is a short download de_script_ion:
a) under Windows 7
- max. 1 monitor - you can use epiLightDX or epiLight.NET
- if you have more than 1 monitor - than use only epiLight.NET
b) under Windows Vista
- use only epiLightDX
epiLightDX
http://qnapclub.pl/qnas/epiLightDX/epiLightDX.zipSource of epiLightDX
http://qnapclub.pl/qnas/epiLightDX/epiLightDX_src.zipepiLight.NET
http://qnapclub.pl/qnas/epiLightDX/epiLight.NET.zipSource of epiLight.NET
http://qnapclub.pl/qnas/epiLightDX/epiLight.NET_src.zip