[UPCOMING] Chromator - Keyboard Animations

Discussion in 'Razer Chroma' started by MajesticFudgie, Aug 20, 2017.

Thread Status:
Not open for further replies.
  1. Ever wanted to animate your Razer BlackWidow Chroma?
    Well, soon you can!

    I've been working on and off on a little desktop application that will allow you to animate every key of your keyboard frame by frame and share it with friends or just run it in the background animating your keyboard.

    You will be able to set the framerate (Up to 25fps) of the project, create each frame key by key and export/import Chromator animation projects to share with your friends.

    It's still in it's infancy right now but I will release the program when I'm happy with it.
    Right now it supports animating your keyboard and importing/exporting projects to share.

    Current Features:
    • Frame by Frame animations of every single key
    • Simple visual layout of your keyboard
    • Exporting and importing your projects
    • Importing an image as a frame of animation.
    • Each key highlights infront of you while you move your mouse around.
    Planned Features:
    • Accurate representation of your keyboard on screen.
    • Setting the FPS for the animation.
    • Support for other Chroma devices.
    Suggested/Possible Features:
    • Cloud saving your animation (Not using Razer's cloud saving)
    • Loading multiple animations that can trigger on events (key presses, notifications, etc)
    • Simple scripting for events
    Where can I get it?
    You can't currently, I'll be updating this post with download links in the near future.
    Currently it has been tested on multiple Windows 10 machines with both US and UK keyboards.
    However, it hasn't been tested on Linux or OSX but an OSX version IS planned.

    Leave a comment below and tell me your thoughts and any suggestions you have :)

    Because who doesn't like screenshot pron?


    Note to moderators:
    If this post violates a guideline I didnt see, please let me know :)
    XiNzeRy and njbmartin like this.
  2. PT.Singer

    PT.Singer Jedi Master

    When you say "animate your keyboard" do you mean you program an animated representation of your real keyboard, and it does stuff on the screen, or does the stuff you program on the screen show up on your real keyboard?

    I'm not sure I understand what is happening with these screenshots. Do you have a video of what is happening on-screen AND on your keyboard?
  3. You set the colour of each key on each frame and play it back then you'll see your keyboard animate infront of you. :)

    The screenshots are just the GUI, I'll be posting a video when I get chance and when my desk isn't a mess :stuck_out_tongue_winking_eye:
  4. njbmartin

    njbmartin Developer of Awesome

    Good to see so many people make use of the Electron framework! I'm also curious to see how this differs from Razer Paint and how you'll optimise the frames.
    Vaypron likes this.
  5. I thought I'd make a quick reply, but this actually turned into my explaining how the application works. If you've any suggestions on improving the application let me know. The application will be open source when I'm satisfied it :stuck_out_tongue_winking_eye:

    I had no idea Razer Paint existed :stuck_out_tongue_winking_eye:
    Although this is purely me testing my skills and honing them while giving to the community.

    Yes, It's using Electron it'd be my first serious application using Electron after writing a chat application with NodeWebkit (Great project but Electron has way more support for certain aspects). It uses the razer-chroma package currently but I may look into writing my own package to support different devices in future.

    In what sense do you mean to optimise the frames?

    Currently the app splits it into two parts. The main process is handling the keyboard and running the animation. The GUI simply tells the backend to update certain keys with a colour or focus a frame etc. Hopefully this reduces any possible lag and I can just close the GUI completely to save on RAM/CPU and run the animation silently in the background.

    In regards to the project files:
    They're going to be zlib compressed JSON with a 2D dimensional array of keys per frame.
    I may look into really improving the format at a later date. But it'd be easy to hack around with.

    I do want to edge toward people being able to integrate the project in with other projects.
    Would be really cool to see people being able to use it with games to trigger animations on in game events, not that I'd have a clue how to approach that.
  6. njbmartin

    njbmartin Developer of Awesome

    FPS is important when sending data to the Chroma SDK, send data too quickly and it either struggles to keep up or falls over. Razer has also provided a new REST API which is much more reliable to use.

    There's also a common goal among many applications to support a single animation file format for easy sharing between apps. There is a community effort to create a format called BCA (https://github.com/chroma-sdk/bca) and Razer have been defining a similar format (which we hope to combine into one).

    I certainly encourage putting your skills into practice and learning as much as you can, but I'd also to encourage contributing to existing open-source applications (in this case Razer Paint) once you're ready. The way I see it is to have two similar apps do slightly different things, or have one awesome app do many things.

    Come join us on Discord, makes it easier to chat: https://discord.gg/tgPqmT3
    Vaypron likes this.
  7. Surfndez

    Surfndez New Member

    Cool Idea Dude! Would Love To See Matrix LED Style Animations Moving Around My Keyboard!
  8. XiNzeRy

    XiNzeRy New Member

    maybe it can be done like this

  9. Most of those animations look doable with my current version of Chromator, all except the reactive portions due to Chromators lack of support for key events, but I may try and add that.
Thread Status:
Not open for further replies.
Sign In with Razer ID >

Don't have a Razer ID yet?
Get Razer ID >