Ralim / IronOS-Meta

Storing meta information about devices that dont need to be in the main repo
54 stars 10 forks source link

final IronOS.gif & fixing frame enumeration #5

Closed discip closed 2 years ago

discip commented 2 years ago

IronOS_demo

Ralim commented 2 years ago

Wow, nicely done :) Expert fit into the available space too :D

discip commented 2 years ago

Thank you. 😊 Hopefully everyone else will also like it.

I was not sure, if the smoke part was not to slow.

discip commented 2 years ago

@Ralim

Wow, nicely done :)

Unfortunately on the iron some frames get cut away.

Is the duration coupled to a certain amount of frames, or is it totally independent? Maybe it should be dependent on the duration of the animation and only accept the input from the future duration menu if it is a static picture.

Expert fit into the available space too :D

The sum being calculated adds 2 extra bytes compared to summing up the individual sizes by hand. Do the individual sizes get rounded up? Could you please have a look on that? Maybe we in fact could put more in? 😊

Ralim commented 2 years ago

The interval should be based on frame 0 to frame 1 gap, so if file is constant fps it should display one to one. But it will be constrained to 1-255 milliseconds

The extra bytes are the header for marking this as (a) new format and (b) inter frame time.

discip commented 2 years ago

The extra bytes are the header for marking this as (a) new format and (b) inter frame time.

Aha! Thank you! 😃👍

But it will be constrained to 1-255 milliseconds

Do you consider adapting this as mentioned for animations, so it would last as long as the animation takes?

Ralim commented 2 years ago

Do you consider adapting this as mentioned for animations, so it would last as long as the animation takes?

This is for animations.

So for example, if you load in a 10 fps gif, it should read the gap as 100 and store that. Then when firmware plays back the gif, it will wait 100 ms between each redraw.

That inter-frame gap is capped at 255ms though, so you cant go slower than ~4 fps.

discip commented 2 years ago

@Ralim Ok I get that.

I don't know if you already had the chance to test it, if so did you see the last frame on your device? But as mentioned, the current IronOS.gif does not play to the end (TS80P & Pinecil).

To slow down the smoke I doubled certain sprites. Does that hack the system? 😵😅 I hope I made myself clear enough.

Ralim commented 2 years ago

I have not tried it on an iron, sounds a bit like a firmware bug so will need to test more tomorrow and let you know

Ralim commented 2 years ago

To slow down the smoke I doubled certain sprites. Does that hack the system? dizzy_facesweat_smile

Hmm, may cause an early exit. Ill have to check

discip commented 2 years ago

Ok I'll wait. One more thing since you are already on it:

Maybe it would be nice to add 2 x 'gap-time' at the end to get a still. 😃

Ralim commented 2 years ago

Maybe it would be nice to add 2 times the 'gap-time' at the end to get a still. smiley

Was sorta thinking menu for animation time would just hold the end out until that time elapsed?

discip commented 2 years ago

@Ralim

Was sorta thinking menu for animation time would just hold the end out until that time elapsed?

I don't know if this will work out for all cases. 🤔

Maybe treat .gif & .png separately, so that only stills will be displayed for the duration which will be set in the corresponding menu and animations will always play at full length + 2 x 'gap-time'.

Or do you plan to let the user decide if the animation should get cut off?

Hmm, may cause an early exit. Ill have to check

Did you have a chance to check that already? 😁