View Single Post
Old 05-30-2019, 10:04 AM
Profezzional Profezzional is offline
Registered User
Profezzional's PC Specs
Join Date: Dec 2018
Location: Columbus, OH
Posts: 7
POST ID # = 1006264
Profezzional Reputation: 14

Originally Posted by Mussels View Post
Edit: Too complex for me to use, but still amazing work dude.
True, there is a lot going on, but once you have it set up, it's actually pretty simple to use, with just the one voice command to the Google Assistant and waiting 5-10 seconds. It's really convenient for me since I have the Google Home hub, but if you have a phone with the assistant that can pick up your voice decently, it'd of course work with that too.

I made a little AutoHotKey script to run the Node server, which I'll put in the Github repo when I get around to it sometime today probably. Then for further convenience, it's just a matter of putting shortcuts to the AHK script and wallpaperengine32.exe (in your Steam library folder) in the startup menu (by doing "shell:startup" in the Run menu) so everything runs on startup.

So if you already have iCUE and Wallpaper Engine, you only have to install NodeJS, AutoHotKey, and possibly OneDrive if you don't already have it. Then installing IFTTT on your phone and creating the one applet, since I haven't taken the time yet to try to publish the one I made. Suuuper simple, right? xDDD

I think other cloud services would work, but OneDrive was the most convenient one that IFTTT lets you use to append to a text file. You could use Google Drive or Dropbox and have IFTTT create a text file, if you tweaked the server slightly, having it read the text file then delete it, and have it give the last read color value to the client instead of the now-nonexistent file's contents.

In addition, you could make a second IFTTT applet that's "turn the PC lights off", which would just append "black" to the text file.

Further testing/development is put on hold temporarily while I deal with Windows deactivating itself after I swapped motherboards, so Wallpaper Engine isn't actually working because that.

Originally Posted by Macca_Cool View Post
So with what I did, you DO have to create and export each profile, so no procedural profiles. That said, I can think of 2 ways to have them in a really hacky way. With the program, you can actually have lighting controllers (the programs/scripts) that use the other SDK or otherwise not use CgSDK, so you're stuff should be able to work with it fine as well.
I guess I'm not understanding what your program does. It allows you to programmatically switch between already-created iCUE profiles, right? So you're using the CgSDK dll from FC5 to change the profile? I know you're planning to release your project over the next month or so, but would you mind sharing it with me ahead of time? Partly because I'm impatient, but mostly because I think our forces combined can make this a pretty seamless setup and user experience.

Using the normal SDK to have the pseudo-dynamic profiles (basically mimicking the instant lighting feature in iCUE, but with any color) is definitely an option; it's actually basically what the Wallpaper Engine part is doing, but just using the SDK they ported to ********** as a middleman, because I was too lazy to deal with the C++ stuff directly haha.

You had mentioned you were working on making a C# wrapper; was that for the CgSDK or the normal SDK? While I could follow your walkthrough to get myself setup to use the C++, I'd be much more interested in using C#.

All that being said, you're right, however the text file gets read and the colors get applied don't really matter, the only thing you really need is something that continually checks the file and can use any of the SDKs, whether it's the normal one in either JS or C++ to change the LEDs manually, or whether it's using CgSDK to change a preset profile.

Thinking about it more, using a single exe that just directly uses the SDK would be a lot simpler than the Node/WE process that I'm using; you could even throw a little GUI on it to add color-name-to-RGB-value mappings.

(Side note: you can technically say RGB values to the assistant, but you have to say them in just the right way for it to interpret the numbers correctly, to avoid having to do a TON of parsing work on the back end, which is why I went with hardcoded name-to-value mappings)
Reply With Quote