BlinkStick AmbiLight - A real AmbiLight for Flex and Pro

I’m using 2 monitors, a 1080p, 60hz monitor (secondary) and a 1440p, 60hz monitor as my main monitor.

OK, another try. I´ve extended the log by some info about the screens.
Please replace the BlinkStickAmbiLight.exe again and start the Tool.
https://dl.dropboxusercontent.com/u/19452479/BlinkStickAmbiLightDebug.zip
Post the log part with the informations about your screens.

I am really sorry for the long wait, I had quite the busy week.

I have done this and this is my current log:

2017-02-09 14:12:55,966 [1] INFO BlinkStickAmbiLight.MainForm [(null)] - Starting BlinkStick Ambilight v.1.0.3.0
2017-02-09 14:12:55,984 [1] DEBUG BlinkStickAmbiLight.MainForm [(null)] - Screen (\.\DISPLAY1) Resolution: 2560 / 1440
2017-02-09 14:12:55,985 [1] DEBUG BlinkStickAmbiLight.MainForm [(null)] - Screen (\.\DISPLAY2) Resolution: 1920 / 1080
2017-02-09 14:12:56,974 [1] DEBUG BlinkStickAmbiLight.MainForm [(null)] - GetFeature failed.
2017-02-09 14:12:57,075 [1] DEBUG BlinkStickAmbiLight.MainForm [(null)] - GetFeature failed.
2017-02-09 14:12:57,178 [1] DEBUG BlinkStickAmbiLight.MainForm [(null)] - [DirectX GetScreenImage] - D3DERR_INVALIDCALL: Invalid call (-2005530516)

Hope this helps.

Thanks for helping :smile: :+1:
Well, I think it could have to do with the resolution. Maybe the method I use does not work with “high” resolutions. Cannot test it at the moment.
I hope @arvydas has an idea on this… I think it will be the same problem in the BlinkStick Client.

Alright, if ever you have an idea about it let me know! Thanks anyways!

OK, I´ve now got the chance to test with a higher solution. My experience is that it works well.

So there must be another constellation leading to the problem you have. I really don´t know where to look yet…

Edit: Testen BlinkStick Client also, no problem there.

Hmm alright, well, I will test the BlinkStick Client later today, maybe a couple of software updates later it might work.

Thank you for the response it is good to know that it is not a resolution related issue.

I’m having the same issue. I have a laptop with a disabled built-in display, and two external monitors connected to it. Disabling monitors so that it is only outputting to one monitor did not work, however, unplugging the two external monitors and using the internal laptop display works just fine, I just have to physically unplug the monitors.

My system:

  • AMD Athlon 64-bit
  • AMD Ultimate Vision GPU w/ 1g DDR3
  • Windows 10 64bit
  • 4g Ram

Leads me to believe it is a problem related to dual monitors.

Thanks for your response.
Sadly it is not that easy. I´ve also tried it on 2 different systems with dual monitors. No problems there. It must be some mix out of screen resolution, multi monitor and DirectX…

Hey p0ke,

This looks fantastic, great job! Do you know if we can use this setup with prismatik for android? I can see they have api https://github.com/arvydas/blinkstick-android
Thanks!

Hey Andy and welcome to the forums,

it is a great idea to connect BlinkStick to Prismatik. I´m not sure if this could be possible, does Prismatik have some kind of PlugIn Engine for different devices than Lightpack?
So this question should also go to the BlinkStick founder @arvydas :smile:

I believe that it could work. Prismatik simply captures color information in a very similar way to how you are doing it and streams the RGB data on localhost:portnumber. I wrote a little python script a while back that read the information, flipped the values, converted to hex and from there was able to interact with my keyboard led driver for a fully functional ambilight effect. I wanted to skip Prismatik entirely but fell short on gui and averaging color. I could convert for blinkstick but don’t have one to test (yet!).

Hey Andy,
sounds nice, I will definitly give it a try.
I know that the Prismatik devs already have a lot of experiences in ambilight. So using the engine would avoid reinventing the wheel :wink:

Would you like to share your python script? We could start a new small project here in the forums.

Hey p0ke

I have something for you. I’ve dug out that code and created a repo for the project for you to see. It’s intended for clevo keyboard but virtual LED is the same. Take a little look at lfx.py in the Source folder, I’ve added some comments for increased readability. Happy for you to create a new thread and repo for this

Thanks, have taken a look in it. It should be easy to add BlinkStick support for python. But I have no experiences for android and stuff, also no device for testing it.
First of all I´m thinking about to build a connection to Prismatik for my BlinkStick Ambilight. Depends on the time I will have :wink:

Youre welcome, I hope it can be of some use. It should be pretty straight forward. I’ve got a custom version of Pris in the “P” folder, much faster build.

(Turn on directx hooking for games) I guess it would be nice to have a blinkstick plugin for Pris?

I haven’t had a look at blink stick api yet but I’m assuming its rgb which means that you wouldn’t need half the functions I used. If you use prismatik’s profile setup wizard, be sure to set to “Virtual LED Device”. You can define all of your leds in there too.

Regarding hardware. What’s the best flex strip approach for a tv? 32 led may be enough but depending on the spacing… Potential for power supply/powered hub and multiple strips?

It took me 18 months but I’m now trying this. Is the GitHub source code up to date? It looks like it is missing packages.config so it’s not building as it is. Any chance you could take a look at it @p0ke?

Wow, already 2 years ago I´ve added it to github.
Well I´ve just added the missing packages.config. Hope it helps.

1 Like

Thanks for the quick turn around. In the meantime I had already resolved the missing packages myself and got it working. It awesome by the way. Then and to avoid conflict issues with your fork I thought I’ll fetch your fix but it turns out it’s still missing half of the packages. I think I’ll just work on it for a while on my side as it seems you have not been developing it for a while.