ProffieOS 7.7 Beta (done)

ProffieOS doesn’t update the modification date when modifying a file though.
It’s kind of pointless since the board doesn’t know what time/date it is anyways.

It’s hard to know which file is most recent. In most cases, you have to read the iteration number (as described here: ProffieOS Documentation: Save File Format) but even that’s not always enough, because the iteration number isn’t valid unless the checksum is correct. The checksum should generally always be correct unless the saber crashed or lost power while saving though.

Maybe what I should do is to create an Emacs mode for editing these files. Emacs is programmable and cross-platform, so it would make it possible to edit these files directly.

At first, I was thinking that this would be a bad idea, since it would immediately stop the transition. However, with a slight modification, it could work: We only make done() return true after the blade is actually powered down. That way, any abrupt change would be guaranteed to not be visible.

That makes sense. Just not clear how the transition would “know”, is there a current function for this or we need to add?

I’ll have to look if there is an existing function on the blade or not.
If not, we might have to add one.

Whatever you can do to make it easier to determine would be great. If there was a way to make it more approachable a la OS6, that’d be ideal. Appreciate any or both.

Just “spitballing”, I haven’t looked into the new .ini and .tmp but if you just copied the same preset info into both you wouldn’t need to know which was most recent, right?

The question is which file has the most up-to-date information to start with before you make additional changes.


Is it hard to just have a timestamp line printed to the file somewhere?

Yes, ProffieOS doesn’t know what time it is.

Ah of course.
Well how about just an ever growing number then?
Write # 0000001
Write # 0000002…
Meh. I suppose that gets reset each boot.

There IS an ever-growing number in the file.
It’s read from the file, then increased.
It’s in binary though, not text.

It shouldn’t and didn’t in all testing. Especially since smoothswings are typically clean looping drones, you wouldn’t notice at all that they all started from the same point. But, for musical / fun fonts, it can serve a cool purpose.
The inspiration was MeatySmurf’s Domo font (Mr. Roboto by Styx.)
The hum is a straight four bars of a 2 chord instrumental beat, which lets you make smooth swings have the vocals, and they always stay in sync when you build the sounds the same duration :slight_smile:
A little hard to put in words, so I’ll make a video when I get a chance, or try for yourself…it’s all free lol


I wanna see that video when you do.

Can anyone put a small example of how to move a style to a function with arguments in OS7? I can then expand the CONFIG_STYLES section with the example.

See “Using Function” info here:

Instead of putting the using function at the top of the config you just move the using function to the bottom of the config inside CONFIG_STYLES.

Then you’d just add the arguments into the StylePtr<> within the preset itself.

I have a tool and demo in the works that will make it much clearer and easier, just need to finish debugging a few things.

StylePtr<usingFunction>("65535,0,0" //base color arg)

Definitely make a video. For that matter, let’s see some mash-up songs and even a lightsaber version of the classic twin turntable scratch. Just laying out ideas here. :wink:

1 Like

Is it possible to write which savefile was last used to another file? For example, writing “presets.ini” or “presets.tmp” to the curstate.ini upon edit? Any relation to reference or callout which file it is will be helpful here.

Thanks again.

Solved text editor issue. I found Hex Fiend, an open source hex editor (LINK).

Now, if only we can solve the most recent savefile conundrum…