fabsenet / adrilight Goto Github PK
View Code? Open in Web Editor NEWAn Ambilight clone for Windows based sources - HTPC or just a normal PC
License: MIT License
An Ambilight clone for Windows based sources - HTPC or just a normal PC
License: MIT License
The demo effect (rainbow) works until the adrilight program is started. When this happens, the rainbow stops spinning and nothing happens next. The preview looks fine and I just copied my settings from adrilight 0.1.4 so there shouldn't be anything wrong with my LED count.
Btw I kinda became dependent to your awesome product so please help :)
Anyway to remove the lag? It's really noticeable and I don't like it. Also the program uses like 20% of my cpu's power. Is this normal?
I saw that you have been doing some work on this. Is there a new build coming soon?
I really love your work btw! Thanks!
Would be nice to see this system work in games.
Have tried running the game fullscreen and borderless fullscreen, nothing works. (Diablo 3)
Do you provide a compiled .EXE or do I need to compile myself? (Get it compiled in my case)
I could not locate the executable for Windows.
Regards,
If Adrilight is automatically started, and the Arduino is disconnected or unresponsive, the logfiles are starting to clog up. The filesize increases endlessly and can quickly take up more than 2GB of Diskspace.
This can be prevented with disable logging, or increasing the Time between checks if the selected Port is available.
This is the problematic log-entry:
2017-11-01 15:02:51.8904 DEBUG adrilight.SerialStream Exception catched. System.IO.IOException: Der Anschluss COM8 ist nicht vorhanden.
bei System.IO.Ports.InternalResources.WinIOError(Int32 errorCode, String str)
bei System.IO.Ports.SerialStream..ctor(String portName, Int32 baudRate, Parity parity, Int32 dataBits, StopBits stopBits, Int32 readTimeout, Int32 writeTimeout, Handshake handshake, Boolean dtrEnable, Boolean rtsEnable, Boolean discardNull, Byte parityReplace)
bei System.IO.Ports.SerialPort.Open()
bei adrilight.SerialStream.mBackgroundWorker_DoWork(Object tokenObject)
This check is performed nearly 250-500 Times per second, and everytime a new Logentry is created
Hi Fabian, nice work!
Unfortunately it is being a frustrating pain for me right now. Please help... Also, bear in mind I am no wizard at all, but I am stubborn! ;-)
First of all, I guess the problem is very similar to this... #9
MY RIG.
So, the prototype is as you see in the pic. Basically, WIN10, GTX970 in 4K, Arduino UNO (tried a NANO as well, same results), 5V external power supply, controller on D3.
There are 56 LEDs (2x18+2x10 strips) of WS2811 (or WS2812B, I have tried both in the FastLED.addLeds).
or picture here: https://ibb.co/kpfC2G
THE PROBLEM
LEDs do enter in a rainbow cycle, but when I use the TEST OVERLAY all squares are black and nothing changes in the LEDs (they keep... rainbowing)
If I use LED OUTPUT, the LEDs freeze to their last color and the Arduino LED starts blinking like crazy. (FYI, using Bambilight in a similar fashion turns off all LEDs and then I get no other response until I hard-reset all).
By the way, what is LED OUTPUT supposed to do???
THE QUESTION?
Whyyyyyyyy? I feel I am so close to a beautiful undertaking... Please help out. In sum, it seems that Adrilight.exe does not capture the screen's color. It does talk to the Arduino somehow, but it's not sending the good stuff, right? Maybe has to do with Resolution? (going to try a few tests), or DirectX? Thanks a lot for the help.
THE CODE
The code is as follows (standard, just changed the number of LEDs).
#include "FastLED.h"
#define NUM_LEDS (2*18+2*10)
#define LED_DATA_PIN 3
#define NUM_BYTES (NUM_LEDS*3) // 3 colors
#define BRIGHTNESS 255
#define UPDATES_PER_SECOND 60
///snipped
you said the White Balance should be exposed to the GUI but I can't find anything in the code either, can you give me a hint about where to edit stuff? I got a cheap led strip and the white balancing is awful
mehr eine Anfrage als Problem - Soundaktivität - hier kam ich heute mit einem Kollegen auf die Idee durch die Lautstärke die "Helligkeit" der LEDs zu beeinflussen .. und als Overkill evtl. mit links und rechts - gerade im Gaming Bereich wohl der absolute wahnsinn :) Grüße
Hello,
as you know i use your software quite a bit and i like it, but one thing that bothers me is that most movies have a black bar on top and bottom, caused by my 16:9 TV. I saw a feature called black bar detection, this seems to fix the issue:
After playing with the Y distance, i noticed that in some cases it does look good (2:1 aspect ratio), but in other cases it does feel a bit weird (like in the gif). So a "soft" implementation would be best in my opinion.
I also played with the border distance, but the problem is, just making the Border Distance Y wider, makes the whole ambilight less "sharp" in 16:9 movies and also darker in 2:1 movies.
Hyperion does have addresed this issue, so maybe it easy to add: Hyperion github
Hallöchen,
bei mir wird die Config nicht gespeichert, da der Installationspfad bei mir abweicht:
C:\Users<username>\AppData\Local\adrilightApp
In deinem Code erwartest du: C:\Users<username>\AppData\Local\adrilight
Sobald ich den Ordner "adrilight" angelegt hatte, tauchte auch die Config auf. Bin auf Windows 10.
Relevante Zeile: https://github.com/fabsenet/adrilight/blob/master/adrilight/Settings/UserSettingsManager.cs#L17
Offtopic: Cooles Projekt! Vielen Dank für deine investierte Zeit!
Gruß
HopefullyICanChangeThatNameLaterOn
Hi,
I use adrilight on windows 10 for 1 month now. I have note that my hard drive was completely full recently and I found that was cause by adrilight.
If I run adrilight without the USB connected to the Arduino the app start to make a loop with a message writed in the logs files.
Here is the message :
2017-08-10 19:46:27.7252 DEBUG adrilight.SerialStream Exception catched. System.IO.IOException: Le port 'COM3' n'existe pas.
a System.IO.Ports.InternalResources.WinIOError(Int32 errorCode, String str)
a System.IO.Ports.SerialStream..ctor(String portName, Int32 baudRate, Parity parity, Int32 dataBits, StopBits stopBits, Int32 readTimeout, Int32 writeTimeout, Handshake handshake, Boolean dtrEnable, Boolean rtsEnable, Boolean discardNull, Byte parityReplace)
a System.IO.Ports.SerialPort.Open()
a adrilight.SerialStream.mBackgroundWorker_DoWork(Object tokenObject)
I have about 300 go of files in the log folder... can you add an option to remove the log activity ?
Hello,
I really appreciate your work and love the outcome.
I'm currently trying to hack a HC-05 Bluetooth to tether the serial connection from remote PC. Unfortunately it only works in a small subset of baud rates and 1000000 is not one of them. It's easy to change on arduino, but the PC side seems hardcoded and I don't have tools to recompile it. If you could add a baud selector to PC frontend (or use more standard baud rates like 921600 or 1382400) that would be great.
Thank you!
LEDs are properly working, enough power
I get floating rainbow effect when I turn on Arduino, using Arduino Uno
Baud rate is set to 1000000
Code here https://pastebin.com/gX1KkYVD
After turning on LED-output in adrilight, they turn off.
Any idea what I`m doing wrong ?
When I go to verify the arduino code, it works fine if I have an arduino nano as the target to upload to. If however, I have a teensy LC as the target, I receive the following error during compilation:
invalid conversion from 'byte* {aka unsigned char*}' to 'char*' [-fpermissive]
on line 64.
Is there any reason for this?
Hi,
I use adrilight with ws2812b led strip behind my laptop screen. It works great !
I have leds on the top (24), on the left (14) and on the right (14) of my screen. But no leds on the bottom.
Is it possible to had an option to adrilight.exe to indicate there is no leds on the bottom of the screen ?
Thanks,
Best regards,
Jino
Mistake
Hey I can provide translation to French.
In the past I managed to make WS2811 work flawlessly with your app.
It is still working like a charm !
I will try to make the V2 work with WS2811 again and report here my results.
Hi i have ws2811 led strip which was used by bambilight ... but it seem not working with adrilight. is there any way how to fix that ? thanks
Hello, since I have upgraded the OS to the creators update.
It seems adrilight does not 'talk' to the arduino. It still sees it in the com port.
But I can't have control over the LED strip.
Did the desktop duplication API changed ?
It work flawlessly before.
How can I help as an advanced user ?
Hey Fabian,
erstmal vielen Dank dafür, dass du deinen Code regelmäßig updatest, das letzte Update hat mir sehr gefallen!
Ich habe mit der neuen Version doch noch ein Problem und zwar den seit ein paar Jahren angehenden Trend alles auf die GPU auszulagern. Nach und nach wechseln alle Programme auf die GPU, es hat damals 2012 mit Chrome angefangen und nach und nach ziehen alle mit. Damals hatten die CPUs nicht so viele Kerne wie die GPU und es machte Sinn die CPU zu entlasten, doch heute sieht es anders aus.
Kommen wir nun zu meinem Problem, ich nutze Adrilight auf meinem HTPC mit einem Ryzen 5 2400g dieser hat 8 Threads und eine integrierte GPU. Wenn ich nun die neue Version von Adrilight benutze ruckeln meine Videos und ich habe ~30% weniger Frames beim zocken. Das war mit der früheren Version nicht der Fall. Ein Blick auf dem Task-Manager gibt Aufschluss, die GPU ist durch alle ausgelagerten Prozesse komplett ausgelastet und die CPU chillt ihr Leben mit 18%:
Kannst du uns die Möglichkeit der CPU Berechnung zurück geben?
Viele Grüße!
tl;dr: Please enable CPU rendering again.
Dear fabsenet,
First of all, thank you for making this amazing software!
I have a problem however. I have everything setup. My Arduino is running your code successfully. The rainbow works and in ambilight mode it is also able to turn on some LEDs. However, the leds are not changing at all. I checked my logs and see all lot of the following errors.
2017-06-11 17:50:38.9717 DEBUG adrilight.SerialStream Exception catched.
2017-06-11 17:50:38.9717 DEBUG adrilight.SerialStream Exception catched.
2017-06-11 17:50:38.9717 DEBUG adrilight.SerialStream Exception catched.
and
2017-06-11 17:50:39.1047 ERROR adrilight.DesktopDuplicatorReader GetNextFrame() failed.
2017-06-11 17:50:39.1047 ERROR adrilight.DesktopDuplicatorReader GetNextFrame() failed.
2017-06-11 17:50:39.1527 ERROR adrilight.DesktopDuplicatorReader GetNextFrame() failed.
So it seems that the screen content is not sent successfully to my arduino. Do you maybe know what might cause this?
Thanks!
~Robin
The software has a limit of 100 LEDs horizontally.
Is it possible to change it ton a higher count?
Thanks in advance.
Hi, I noticed some issues, maybe you can do something 😃
Sorry if I'm boring you 😄
I made my own software to control the LED, and it use your adrilight, can I share it ? Of course you will be in the credits. You can take a look at it here
If you disagree I will keep it for myself only.
Thanks
sdimitri31
Irrelevant with new wpf ui
Hi,
First i really want to thank you for your ameliorate vesion of Bambilight who doesn't work on my Windows 10 Laptop.
I used to play with Ambibox and prismatik and i replace both with Adrilight.
I really appreciate the simpliest configuration way and many others thing present but i have a problem, not a problem but an inconsistency.
I made an installation for my laptop with 62 WS2812B LEDs and the corners are free.
I have Horizontal 19 and Vertical 12
When i set this values on your software, the amount of leds stay at 58. But you know like me that :
19 * 2 + 12 * 2 = 62 not 58.
In the beginning i thought that the software take off the 4 LEDS in the corner so i decided to put the value horizontal to 20 and vertical to 13.
When i play the RGB test vidéo, the Colors are synchronous with my disposition not offeset, nothing , even with 4 coulours + shape and x shape, despite the fact that i don't have led in the corners.
What do you think about this issue ? ( question already asked on bambilight github but still without answer )
I have 2 anothers request. I really appreciate the mouse click On/Off function present on Ambibox and prismatik Software and it will be really fantastic if you can put it on your Software.
For the second request, i don't know if you can do it, is about the interaction with Kodi.
I would like to know if Ambilight can be activated when i launch the Kodi program and stop when i close it, like Ambibox Kodi Plugin do.
If you want take a look on my Ambilight blog, in french sorry. http://ambimod.jimdo.com
Here the tutorial on your software that i made for readers. https://ambimod.jimdo.com/2017/05/02/tuto-adrilight-nouveau-logiciel-léger-de-gestion-ambilight-sous-windows//
Thank you
Regards
Sender: Name:adrilight.exe
Keine Kontextrichtlinien vorhanden.
Sender Type: System.AppDomain
exception type: System.Exception
exception message: _mDeskDupl is null
exception stacktrace: bei adrilight.DesktopDuplication.DesktopDuplicator.RetrieveFrame()
bei adrilight.DesktopDuplication.DesktopDuplicator.GetLatestFrame()
bei adrilight.DesktopDuplicatorReader.GetNextFrame()
bei Polly.Policy.<>c__DisplayClass8_0`1.b__0() in C:\projects\polly\src\Polly.Shared\Policy.cs:Zeile 107.
bei Polly.RetrySyntax.<>c__DisplayClass10_0.b__1() in C:\projects\polly\src\Polly.Shared\RetrySyntax.cs:Zeile 211.
bei Polly.Retry.RetryEngine.Implementation[TResult](Func1 action, IEnumerable
1 shouldRetryExceptionPredicates, IEnumerable1 shouldRetryResultPredicates, Func
1 policyStateFactory) in C:\projects\polly\src\Polly.Shared\Retry\RetryEngine.cs:Zeile 42.
bei Polly.RetrySyntax.<>c__DisplayClass10_1.b__0(Action action, Context context) in C:\projects\polly\src\Polly.Shared\RetrySyntax.cs:Zeile 210.
bei Polly.Policy.Execute[TResult](Func`1 action, Context context) in C:\projects\polly\src\Polly.Shared\Policy.cs:Zeile 107.
bei adrilight.DesktopDuplicatorReader.Run(CancellationToken token)
bei adrilight.MainForm.b__39_0()
bei System.Threading.ThreadHelper.ThreadStart_Context(Object state)
bei System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
bei System.Threading.ThreadHelper.ThreadStart()
Sender: Name:adrilight.exe
Keine Kontextrichtlinien vorhanden.
Sender Type: System.AppDomain
exception type: adrilight.DesktopDuplication.DesktopDuplicationException
exception message: Failed to acquire next frame.
exception stacktrace: bei adrilight.DesktopDuplication.DesktopDuplicator.RetrieveFrame()
bei adrilight.DesktopDuplication.DesktopDuplicator.GetLatestFrame()
bei adrilight.DesktopDuplicatorReader.GetNextFrame()
bei Polly.Policy.<>c__DisplayClass8_0`1.b__0() in C:\projects\polly\src\Polly.Shared\Policy.cs:Zeile 107.
bei Polly.RetrySyntax.<>c__DisplayClass10_0.b__1() in C:\projects\polly\src\Polly.Shared\RetrySyntax.cs:Zeile 211.
bei Polly.Retry.RetryEngine.Implementation[TResult](Func1 action, IEnumerable
1 shouldRetryExceptionPredicates, IEnumerable1 shouldRetryResultPredicates, Func
1 policyStateFactory) in C:\projects\polly\src\Polly.Shared\Retry\RetryEngine.cs:Zeile 42.
bei Polly.RetrySyntax.<>c__DisplayClass10_1.b__0(Action action, Context context) in C:\projects\polly\src\Polly.Shared\RetrySyntax.cs:Zeile 210.
bei Polly.Policy.Execute[TResult](Func`1 action, Context context) in C:\projects\polly\src\Polly.Shared\Policy.cs:Zeile 107.
bei adrilight.DesktopDuplicatorReader.Run(CancellationToken token)
bei adrilight.MainForm.b__39_0()
bei System.Threading.ThreadHelper.ThreadStart_Context(Object state)
bei System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
bei System.Threading.ThreadHelper.ThreadStart()
exception type: SharpDX.SharpDXException
exception message: HRESULT: [0x887A0026], Module: [SharpDX.DXGI], ApiCode: [DXGI_ERROR_ACCESS_LOST/AccessLost], Message: Der Schlüsselmutex wurde abgebrochen.
exception stacktrace: bei SharpDX.Result.CheckError()
bei SharpDX.DXGI.OutputDuplication.AcquireNextFrame(Int32 timeoutInMilliseconds, OutputDuplicateFrameInformation& frameInfoRef, Resource& desktopResourceOut)
bei adrilight.DesktopDuplication.DesktopDuplicator.RetrieveFrame()
Make sure rebooting does not fix your issue!
Not working after reboot
can you see the demo effect?
Yes
can you see the preview?
Yes
I just updated to the new Version 2.0.3 and now adrilight is not working anymore.
Steps i took:
Is the new version not compatible with the arduino nano anymore? Is a UNO mandatory?
Hi @fabsenet, i'm a developer looking for side projects, i'm currently working on my Arduino/LED application, i've built some WPF UI's in the past and i'm using your app on my TV setup, but i can help with a better UI for it, what do you need and aim for with your UI? What style do you like? Would you want a more basic WPF look or a more customized one (I personally love Material XAML)?
Hi,
I can help you with the translation to Dutch... I´m a native Dutch person, and I know programming in C#/Visual Studio. I master SVN, but I don't have experience with contributing to a GitHub project however.
Please let me know how I can help.
i have a setup with 282 LED´s and the Nano´s Ram was not enough. So a Pro Micro do the job 33% free ram!
But i am not able find out the right setting for offset and x/y mirror.
My led strip starts Top Midle position and counting up anti clockwise like you do in your first video a year ago.
i realy tryed everything several times but it is not working. it look like only one side of the screen is reacting to the color. I can see the preview and it looks reasonable. Demo mode works fine.
Hello!
First of all, i would like to thank you for this amazing job! For me, it's the best app for ambilight projects!
But i'm having some problems. I think the leds are too low bright. Brightness is set to 255 in .ino and still getting low light =/.
Saturation is 0 too.
On full color (red 255 or blue 255 or green 255) its ok. The problem is with mixed colors.
What should i do to improve this?
Thank you for your time and effort!
Hugs from Brazil!
Can you please set the x Spot limitation to 200 Spots? I am running a 60LED/M WS2812B Strip with a 65" TV and hitting the limit.
Hello,
First of all thank you for the work ! I use it everyday and it is great !
Would it be possible to change adrilight settings on the fly and having multiple profiles depending on the app used ?
Sometimes movies have black bar on top and bottom, I can trick the video and display it as full but the image is distorted and therefore the top and bottom are pretty much useless, the bottom bar do work when subtitles are present of course.
The effect is simply on the left and right sides.
Do you plan on translating your software ?
When do you think you'll have time to release a new version (besides compiling it) with the new features ?
Regards,
Hi, thanks for your great job.
btw, I have a question.
I used ws2811 led strip, and it looks working good, but the designated color is not matching.
You can look over my result on the following link.
http://cafe.naver.com/msxboxone/765
Could you please give me a hint to solve the problem?
Thank you in advance.
Hi Fabian,
The 'rainbow' output works fine after I upload the code to Arduino but the LED's just turn off when I check 'LED-Output' in the PC software.
The Test-Overlay squares remain black regardless of the screen background. I'm not sure what the problem is but I feel like the background is not being captured.
I'm running Windows 10 and using Arduino UNO. A solution would be very appreciated.
Thanks!
Regards,
Mohit Goyal
Hello, thank you for this software.
When we minimize the window, there is no notification icon, if we want to show up the window we have to use ALT + TAB.
My leds are on monitor and i connect my laptop to monitor with HDMI cable.
Arduino is connected to my laptop.
When i select my second screen only using windows+P from keyboard the leds stop working.
How can I setup your pc tool to run for second screen?
Hello Fabian,
which kind of hardware can i compare adrilight?
Atmoli/sedu/boblight?
I want to configure it with my enigma receiver and it won´t work
BR
Frank
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.