Rockbox mail archiveSubject: Re: menu/settings merging take 2!
Re: menu/settings merging take 2!
From: Jonathan Gordon <jdgordy_at_gmail.com>
Date: Thu, 7 Sep 2006 23:47:27 +1000
ok, I belive its now at a state where others can get their hands dirty
and help out (if you want to of course...)
attached is the current diff which compiles and works (with a few
warnings) on the h300 (sim and target) and fmrecroder.
quick summary of what has been done.
Both config blocks have been removed. All settings are now stored in a
very long list (settings_list.c).
Settings are loaded automatically from /.rockbox/config.cfg and
/.system.cfg (system.cfg is used for settings which are important but
the user does not configure them, random seed, etc.)
The cfg file has changed slightly... to save space each choice for a
setting is stored as its translation id, so, to allow people to share
confugs the english version of each setting is used. Because of this,
some options may have had their name and/or option values changed in
the cfg file.
(searching for the english verison seems very quick. saving the entire
file still takes ~1sec on my h300, loading is slightly slower, but
the menus have been completly redone, and hopefully you will agree
they are neater now, (even if i have only done 2 menus :p ) (bottom of
main_menu.c is the important bits)
Oh, almost forgot the most important bit...
I'd llike to think im more than 40% done, but i doubt it... but
anyway, the h300 bin is 18kb smaller than cvs, and the fmrecorder is
11kb (the .bin and .elf), so at the very worst I tihnk this would
break even and not blow out the size like I was fearing.
So, all that remains to be done is finish converting the hd config
block (about 200lines so ~150 settings) and do the menus...
would anyone like to help out?
Oh, last thing. So we dont thrash the hard disk saving to disk I will
incorporate a patch i did (its on the mailing list) which lets
functions get called back after a successful disk access, so it can
save the config next time the disk spins, instead of spinnig it up
when it doesnt really need to.
general comments on the patch?