Commit Graph
91 Commits
Author SHA1 Message Date
Cheerpipe 3100f72601 Fix frames skip when using external effects engine 2021-07-07 16:56:02 -05:00
Adam Honse cbee33706f Fix some issues with mode constructor 2021-07-05 04:04:27 -05:00
Adam Honse eade8fea1a Add save to device support to RGBController 2021-07-04 21:17:45 -05:00
Chris a46eccef3c Added brightness to profile loading and saving
* Bumped profile version to 3
* Loading a v1/v2 profile onto a device with brightness will work
* Loading a v3 profile onto a device without brightness also works
* Add profile version parameter to Get/SetModeDescription

Commit amended for code style and to update versioning by Adam Honse <calcprogrammer1@gmail.com>
2021-07-04 21:16:56 -05:00
Chris b76265cf7d Convert mode from struct to class, add automatic initialization
* To avoid filtering in the profile manager and to ensure that color_mode is set to MODE_COLORS_RANDOM correctly
for HW that has the mode flags

MODE_FLAG_HAS_RANDOM_COLOR | MODE_FLAG_HAS_PER_LED_COLOR

The values for speed_min, speed_max, colors_min and colors_max NEED to be initialised to allow for a saved
profile to load correctly in `ProfileManager::LoadDeviceFromListWithOptions`

Commit amended for code style by Adam Honse <calcprogrammer1@gmail.com>
2021-06-26 00:29:51 -05:00
Adam Honse be1fbc27ca Add device type string for virtual device 2021-04-22 16:24:48 -05:00
morg 2a6b457324 Add UnregisterRGBController method to ResourceManager
Commit amended by Adam Honse <calcprogrammer1@gmail.com>
2021-04-20 09:21:24 -05:00
Cheerpipe e9f3a1b3b9 Logitech G560 initial support
Logitech G560 Speaker working with Direct Mode using same bits as the Logitech Ambilight and Audioviz. Other modes are not working (get) as expected.

Note: G560 Direct mode is slow because Logitech hardware implementation but it is working.

Changing volume at the same time colors are changing can reduce FPS because G560 uses the same channel for led and audio modes commands.

Commits squashed and amended for code style by Adam Honse <calcprogrammer1@gmail.com>
2021-02-15 08:45:57 -06:00
morg dba814215d Fixing memory leaks in controllers 2021-02-05 16:25:46 +01:00
Adam Honse 72da8f362c SDK protocol versioning implemented. Protocol updated to version 1 which adds vendor string to controller request. 2020-12-01 21:02:32 -06:00
Adam Honse 1e4eacd337 Add a Light device type with a bulb icon 2020-11-04 09:23:17 -06:00
Pol Rius 791df64f81 Add support for Sony DualShock 4 (manual merge of !160)
Files pulled in manually and code style changes, Gamepad type addition by Adam Honse <calcprogrammer1@gmail.com>
2020-10-08 17:15:18 -05:00
Adam Honse 8ead2f9c73 Call the callbacks when redetection starts, move matrix map deletion to individual controllers to avoid attempting to delete const pointers 2020-09-28 23:22:01 -05:00
Adam Honse 0345eb582b More warning fixes 2020-09-02 19:03:43 -05:00
k1-801 8b8451017e Non-important warnings removed
Commit amended by Adam Honse <calcprogrammer1@gmail.com> due to merging from a different branch.
2020-09-01 23:29:00 -05:00
Adam Honse 342d90b82a Add function to unregister update callback when device page is deleted 2020-08-24 00:40:44 -05:00
Adam Honse d3993547c3 Device view resizes width to fit window size, UI updates on SDKcontroller update 2020-08-24 00:40:43 -05:00
Térence Clastres 53379c5482 Fixes for memory issues detected by valgrind 2020-08-12 23:48:03 -05:00
B Horn bb743c6b62 Validating user provided indexes in RGBController
When using the SDK Server, it was possible to provide indexes that would
later be used inside the various SetXDescription functions in
RGBController. This would result in possible out of bounds reads /
writes.

This is patched by checking the various indexes remain in bounds.
2020-07-19 13:19:59 -05:00
Adam Honse 0ccf2d0c33 Remove some debugging printouts in Network Client and Server code 2020-07-17 22:10:53 -05:00
Adam Honse 97e1c3e913 Update mode asynchronously 2020-07-17 18:29:37 -05:00
Adam Honse f108515a6e Fix Set All Devices being slow and crashing on certain setups. It was sending the update multiple times 2020-07-03 02:59:54 -05:00
Térence Clastres b79ff124e6 Replace Sleep() by std::thread::sleep_for() 2020-06-24 09:28:11 -05:00
Adam Honse 5fdea9d34f Delete zone matrix maps when destroying RGBController 2020-05-31 19:36:01 -05:00
Adam Honse baa04913c3 Add headset stand type string 2020-05-25 16:45:58 -05:00
Adam Honse 105f5642ef Add matrix map support 2020-05-09 15:48:13 -05:00
Adam Honse e3e6c0347e Add a thread to RGBController to asynchronously perform device updates. Only implemented for UpdateLEDs for now 2020-05-09 15:48:13 -05:00
Adam Honse 39c5aff864 Send color data over the network when calling color update functions 2020-05-09 15:48:13 -05:00
Adam Honse 450f438538 Send mode data block when updating mode 2020-05-09 15:48:13 -05:00
Adam Honse aa182936ba Clean up warnings, except in hidapi and cli files 2020-03-20 12:10:18 -05:00
Adam Honse a7ed250c4e Don't initialize pointers on zones with no LEDs 2020-03-09 16:39:38 -05:00
Adam Honse 62c06202e0 Re-enable and update RGBController data block get/set functions for new API parameters. This gets profile savig and loading working again 2020-03-09 12:28:50 -05:00
Adam Honse 23ad5ca244 Fix setting individual LEDs when a specific zone is selected 2020-03-08 20:51:30 -05:00
Adam Honse 3237c8842a Update NZXT Hue+ and Hue 2 controllers to new RGBController API. Fix direct mode not working on Hue 2. 2020-03-07 15:56:07 -06:00
Adam Honse 62518b5163 Update RGBController API and GUI to handle resizable zones. All controllers except for CorsairNodePro have been disabled pending rework 2020-03-04 19:29:58 -06:00
Adam Honse 51c3568f7a Profile save and load test 2020-02-26 19:36:00 -06:00
Adam Honse 4f8db7d63f Add cstring include to fix build on Linux 2020-02-25 21:07:06 -06:00
Adam Honse f844c2fb07 Add functions to get/set RGBController parameters to/from a binary data buffer. Add a dummy RGBController object to load data into. 2020-02-25 18:09:14 -06:00
Stefan Reiter 3c6ac31eab Introduce device_type_to_str 2020-02-23 23:40:26 -06:00
Adam Honse d7740c2d28 Move Get/Set mode functions to generic RGBController.cpp functions and add device-specific UpdateMode function to use active_mode value 2020-01-25 17:37:32 -06:00
Adam Honse c7030ad47d Rework the RGBController API to handle the colors vector outside of device specific implementations 2020-01-06 21:23:26 -06:00