use openrgb2::{Color, OpenRgbClient, OpenRgbResult};
const RAINBOW_COLORS: [Color; 7] = [
Color::new(255, 0, 0), Color::new(255, 127, 0), Color::new(255, 255, 0), Color::new(0, 255, 0), Color::new(0, 0, 255), Color::new(85, 0, 180), Color::new(148, 0, 211), ];
#[tokio::main]
async fn main() -> OpenRgbResult<()> {
let client = OpenRgbClient::connect().await?;
let group = client.get_all_controllers().await?;
group.init().await?;
let mut cmd = group.cmd();
for (idx, c) in group.iter().enumerate() {
let color = RAINBOW_COLORS[idx % RAINBOW_COLORS.len()];
cmd.set_controller_leds(c, vec![color; c.num_leds()])?;
}
cmd.execute().await?;
Ok(())
}