Skip to content

Releases: jath03/openrgb-python

v0.3.0 - SDK Plugins and Segments

01 Apr 10:58
Compare
Choose a tag to compare

The two major introductions in this release are SDK Plugins and Segments. SDK Plugins allow OpenRGB's plugins (like the Effects Plugin) to interact with SDK clients. Segments is a relatively new feature in OpenRGB that allows you to create custom "sub-zones" instead of being forced to use the pre-defined zones.

Changes:

  • SDK Plugins listed under client.plugins
  • Segments listed under zone.segments
  • Added new device types
  • Fixed issue with HA and argument types

v0.2.10 - New OpenRGB SDK features and under-the-hood improvements

27 Jul 05:38
Compare
Choose a tag to compare

This release adds support for the latest revision of OpenRGB's protocol. This revision includes some additions to modes, including brightness control and the ability to manually save modes to flash (making the setting persist between power cycles)*.

Additions:

  • Brightness controls via mode.brightness
  • Saving modes via device.save_mode or the new save argument to the device.set_mode function
  • Improvements to how the raw data from the SDK is parsed, improving readability and making it easier to support new SDK protocol versions

* - If the device supports it

v0.2.6 - New helper functions and profile system

20 Feb 01:01
Compare
Choose a tag to compare

This release includes

  • RGBColor.fromHEX - Ability to instantiate an RGBColor from a hex color string.
  • OpenRGBClient.get_devices_by_name - An alternative way of selecting devices.
  • Support for the new profile controls from the OpenRGB server
  • Various bug fixes

v0.2.4 - Lots of bugfixes + some new stuff

02 Dec 08:19
Compare
Choose a tag to compare

It's been a while since I've done a release, so this is a big one.

  • Various bugfixes (see commit history)
  • Recognized 2 new device types
  • Error handling so that unrecognized device types now are stored as UNKNOWN
  • Added support for OpenRGB SDK protocol versioning and the first version, v1
  • Added OpenRGBClient.ee_devices to make it easier for effects engines or custom effects to only control devices that have a direct mode.
  • Added documentation for working with profiles
  • Started a documentation page about writing custom effects

v0.2 - Documentation and More

29 Aug 18:01
Compare
Choose a tag to compare

The biggest parts of this release are the new documentation and a new (since v0.1.3) way to control your LEDs! Documentation can be found on readthedocs. The alternative control method is a new way to control your LEDs that will be familiar to users of FastLED or adafruit's NeoPixel libraries. More details in the docs

Other changes:

  • Added the ability to resize zones (since v0.1.6)
  • Added the ability to connect and disconnect from the SDK server. (since v0.1.4)
  • The naming scheme of the constants was also changed to remove redundancy.
    DeviceType.DEVICE_TYPE_MOTHERBOARD -> DeviceType.MOTHERBOARD
  • Calling update on an OpenRGBClient will now check whether new devices have been added.

v0.1.2 - Thread Safety

09 Jul 18:48
Compare
Choose a tag to compare
added thread safety

v0.1 Windows support

04 Jul 19:38
Compare
Choose a tag to compare
v0.1.0

Windows works

Fixed keyboard support + loading profiles without the SDK

23 Jun 21:45
Compare
Choose a tag to compare

Previously devices with zones with matrices (keyboards) would cause errors during initialization, but they now work! There is also an new example: keyboard-test.py. You are also now able to load and edit OpenRGB profiles without having the sdk connected.
For example:

from openrgb.utils import Profile
with open("/path/to/profile.orp", "rb") as f:
    p = Profile.unpack(f)
p.controllers[0].active_mode = 3
with open("/path/to/new/profile.orp", "wb") as f:
    f.write(p.pack())

Install with

pip3 install openrgb-python

or if you use Arch Linux, you can use the new AUR package created by @GabMus

yay -S python-openrgb-git

Bug Fixes and Stability

17 Jun 21:33
Compare
Choose a tag to compare
v0.0.5

Minor fixes

v0.0.4 - Profiles

09 Jun 23:13
Compare
Choose a tag to compare

This update allows you to save and load OpenRGB profiles. Saved profiles can be accessed by the OpenRGB gui application when placed in the ~/.config/OpenRGB directory. Also, now mode information will be more accurate because it now filters out garbage data by actually paying attention to the ModeFlags.

from openrgb import OpenRGBClient
cli = OpenRGBClient()

cli.load_profile("rainbow") # "rainbow" could be any profile created either from the GUI or this client
from openrgb import OpenRGBClient
cli = OpenRGBClient()

cli.clear()
cli.save_profile("off") # this profile can now be accessed from the GUI application once you restart it