Frame by frame animation

Started by Icepick.com

Icepick.com

I have been putting quite a bit of energy lately in the aurora.. playing around with it, trying different patterns etc. With the API you can go a long way.. but what I really miss (and I think not so technical API users would benefit from this as well) is a way to make frame by frame animations.

So in the app you have the static display, you configure the colors you want, and that would be frame one. Then you design the 2nd frame, 3rd frame.. and so on.. and then you could make the aurora display the frames one by one (with some optional settings like speed etc).
I think for commercial purposes etc this would also be a welcome option.

Aliakbar Eski

Hi @"Icepick.com" .

If I understand your request correctly, then the Aurora does have a mode for that, its called the custom animation mode.
Its section 3.4.2 (Custom Effect Data Format) in the openAPI documentation. Have a go at it and hopefully that should be the solution to what you are looking for.

Let us know if you need any clarifications around it.

Regards
Eski

Icepick.com

Hi @"Aliakbar Eski"

Yeah I have been trying that one.. thats the only part of the api that didn't work for me.. but I will try it again tonight.
I just figured doing it via the app might be a little bit more user friendly.. doing an animation with 10 different frames will be quite a bit of work with the api.
Maybe it's something for a 3rd party app to come in..

Alex

foobarbecue

Has anyone gotten custom animation to work? I've got static working fine, but custom just doesn't animate. I'm using the python API wrapper from https://github.com/software-2/nanoleaf and my code to try and flash panel id 161 from red to blue looks like:

from nanoleaf import Aurora
lights = Aurora(ip, token)

effect_data = {
"command" : "add",
"animName": "Flash",
"animType": "custom",
"animData": '1 161 1 255 0 0 0 10 161 1 0 0 255 0 20',
"loop": True}

lights.effect_set_raw(effect_data)

foobarbecue

Ok, I got it working! Instead of:

'1 161 1 255 0 0 0 10 161 1 0 0 255 0 20',

I wanted

'1 161 2 255 0 0 0 10 0 0 255 0 20'.

Basically my issue was that the documentation section 3.4.2 is clear as mud. Pretends to be mathematical without describing its own notation – there's an i and a j in there, and an N and then stuff like 1n(0) and Nn(N) and it's just a complete mess. One problem is that it talks about "frames" which I assumed were frames like in an animation – I assumed that each frame would last the same amount of time but actually these are more like keyframes. And then of course I went looking for "frame" in the definitions (section 2) but it isn't there. I had assumed you re-specify the ID for each frame, but you don't – you start with a "header" before the "matrix". That should be made clear in the docs.

tobias33

Hi,
I also try to do animation, using postman though.
If I try your code for panelId (163) it just moves to the first color and stays there.

Could you help me figuring out how to do a loop between two colors (and maybe also targeting several panels)? I really don't understand the 3.4.2 section…

{
"write": {
"command": "display",
"animType": "static",
"animData": "1 163 5 0 255 0 10 0 0 255 0 20",
"loop": true
}
}