BlinkStick AmbiLight - A real AmbiLight for Flex and Pro

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.

Yea, feel free to do so!

1 Like

Does it support multiple BlinkStick? Say if I want to use like two Flex for one screen?

Not atm. I´ve thought about this but it is not implemented yet. Should be possible to build of course.

1 Like

There seems to be a major memory leak. After a minute or so it uses more than 2GB and GetImage throws an OOM exception. @p0ke again are you sure that’s the latest source code on GitHub? Is anyone using this successfully for more than a minute? Are there other AmbiLight solution for BlinkStick Flex on Windows? I really don’t mind improving that solution but if someone already did the work I really don’t feel like I need to reinvent the wheel.
@arvydas is the current BlinkStick client now supporting proper AmbiLight or still just full screen colour.

OK, there where some changes especially in the DirecX.cs
I’ve pushed it to github, compiled it again and can´t see any memory leak here. If you still have the problems you can give me ur settings file, stored in C:\Users<username>\AppData\Roaming\BlinkStickAmbiLight

1 Like

Just took a look at your changes and I’m pretty sure they won’t fix the memory leak. Though they do catch the exception but you still get other uncaught null pointer exception further down the line. Looks like we are leaking the whole screen on every frame.

settings.zip (305 Bytes)

@p0ke I fixed the memory leak issues and created a pull request.

I’m not sure how anyone would be able to run it as it was for any length of time without getting OOM exceptions.
Yourself must have been running into that issue since you implemented those try catch blocks.
Maybe it could be that C# garbage collector is working differently in release builds.
I have only been running it in debug and the issue was pretty obvious.
Are you still using that application yourself? If you monitor its memory usage the leakage should be pretty obvious.

Now that it runs stable I’m gonna try gaming some. I’ve earned it tonight :wink:

Good work, thanks.
I’m not running into this issue, sorry but it is good to have this fix now!
Merged it on github.

That I don’t understand… Thanks for merging, though I later realised it breaks the preview rendering if preview mode is disabled. I’ll push a fix for that and possibly a bunch of other region related changes later.

Hi p0ke,

I’m trying out this software on a blinkstick pro with two identical monitors (Dell s2715H) and am experiencing the same issues as arno. Any ideas?

-Ocean

Hi,
is there a newer Version? 1.0.3 crashes immediately on startup. I’m using Windows 10 (64bit) and Blinkstick Flex