Rebuild

I'm heading out of state shortly, but I plan to finish rebuilding the build again tonight. The partial viewport commit left some code duplicated, and multifont didn't seem to work properly. There'll be a few added patches, including LCD fade, and a patch that allows editing of ID3v1 (note: not ID3v2) tags. I'll also be working on preparing for personalized builds as well.

Personalized builds update

While having this computer BSOD'ing three times a day doesn't help (it's going to be wiped this weekend) I have made some progress on the personalized builds. I've started the form for requesting the builds, though I'm not going to release the link since a) the form isn't finished, so it'd basically just be a page b) I don't want to get flooded yet ;). Behind the scenes, I'm keeping a relatively fresh copy of the SVN code, which will simply be copied for each build (looking at it, it's 243MB, with an unbuilt copy of Rockbox) when needed. Simulators will also be available for compilation, but will be compiled separately. I think (and hope) that I'll be able to have it automatically compile the first copy of the build (which takes up to 10 minutes the first time, but usually less than 1 or two minutes after that) with all the requested patches. The only problem will be keeping an up to date list of links to each patch, and also having it include not only any other patches the requested patch(es) depend on, but also choosing the right version, as well as preventing nearly unsolvable conflicts (5900 and viewports in the same build, for example).

I'm also thinking of having some sort of page for updating the build, and adding/removing patches. This would seem like the best approach, but coding it might not be as easy. Worst case scenario, I need to have a basic form that emails me, and requires me to manually build it for the time being ;)

Another thing I want to mention - it seems quite a few people want ads on the site (most likely meaning you either have adblock installed, or really want to use personalized builds) and while it's possible for me to do that, I'd also have to suffer through them. I did however, find an email from paypal about a donation back on the 4th. I'm going to wait and get personalized builds running before installing ads, in hopes of further donations, which could possibly help keep the site ad free.

Gotta get up in 6 hours, off to bed.

(/me remembers how much he hates Wordpress 'helping' me by taking out line breaks..)

Uploads

Sorry for the ~1 of "downtime" that occurred - a typo I made in a file managed to take the whole site down for about 45 seconds - the time for me to notice it, find the file causing the problem, and restore it with a backup.

As for the upload script, it's close to being done, though I could use a few suggestions for it. All input is now secured (before any input was allowed, which could cause problems on the info page) and a few other changes were made to fix a few PHP notices. I should be able to finish most of the personalized build stuff tomorrow, so if anyone wants to test it, let me know in the comments.

Note about USB

Unfortunately it's late, so I don't have much time to test it much, but it seems that yesterday's build (and possibly todays) plugging in the USB cable causes the Sansa to freeze. While the computer does recognize the Sansa, the screen goes black, the scrollwheel turns on, and it freezes, in a way that looks as if it is in Manufacturing mode. Please note that this is not manufacturing mode, and e200tool doesn't need to be used. If this happens to your Sansa, simply hold down the power button for 15 seconds to force it off, and press it again to restart it. I will look into why it is doing this tomorrow, after I get some sleep.

Upload Suggestions

For those that don't know, the link to the upload page is http://chrisjs.com/upload where you can upload just about anything you want. However, I want to make sure this is working properly (I can design it later..) before I complete the personalized builds. Aside from the option of making uploads private, does anyone have any other suggestions for the upload script?

Also, for those that didn't notice from the screendump I posted yesterday, my own upload directory (http://chrisjs.com/upload/chrisjs) is able to display pictures etc. directly, versus forcing a download. While it would probably be on a limited scale, I'd probably be able to allow this for other directories as well.

Hide Menu Items

Except for Resume Playback, Playlists, and System, which needs to be done differently, all menu items (except Settings and FM Radio) can be hidden. To do so, go to Settings | General Settings | Main Menu, which will let you hide the others.

EDIT: These have all been fixed. View a screenshot of the menu at http://chrisjs.com/upload/chrisjs/dump%20080106-234749.bmp

Rebuild complete

The rebuild is complete, except for a few patches, which I can't add yet.

I still need to add
FS#5899 - Custom List/Menu - Can't until dependencies fixed (depends on scrolling margins)
FS#6733 - Shutdown option in System menu - Actually in the build, but the patch list didn't update. Will appear in the list shortly.
FS#6796 - ymargin in scrollinfo - I believe it just needs to be synced, but may have to be partially rewritten for viewports.
FS#6800 - LCD Fade - Hasn't been in the build for a while, since nobody can seem to sync it.
FS#7289 - Allow 512 images in WPS - I think this just needs to be added, and I'll look at it shortly.

You'll also notice quite a few patches have been removed from the build:
FS#2911 - (S)NES emulator - 2911?getfile=15205. Too slow for it to do much.
FS#2954 - Scrolling Margins - 2954?getfile=15345. Closed; Replaced by Viewports. NOTE: Themes requiring this patch will no longer work with this build unless ported.
FS#4988 - Optionally keep backlight on during plugins - 4988?getfile=13385. Closed; Same as using the other two backlight settings
FS#5898 - Custom Display Width - Soon to be replaced by Viewports. NOTE: Themes requiring this patch will no longer work with this build unless ported.
FS#5900 - Custom WPS Line - Soon to be replaced by Viewports. NOTE: Themes requiring this patch will no longer work with this build unless ported.
FS#7538 - Custom boot logo - To be replaced with personalized builds
FS#7539 - Move database files - Closed; Inconsistent with every other build
FS#7921 - Password Protected Screen Saver - Currently only proof of concept. If anyone wants it back in the build, let me know.

If anyone has valid reason for any of those patches to be re added, let me know.

Rebuild almost finished

I've just about finished the rebuild, though I need to add a few more things, and test it. Updates in a few minutes.

EDIT: Something in the build is causing Rockbox to not load. Do not update your copy yet.

EDIT: I'm just about done fixing it, but there are still quite a few patches that aren't in it now (due to the problem with Rockbox not loading). It's 2:30 AM here, so I'm going to get off, but will work on it tomorrow.

Viewports etc.

I've spent most of the day trying to rebuild the build, but am running into a problem. As I'm sure some have seen on ABi (mostly on page three of one thread: http://anythingbutipod.com/forum/showthread.php?t=23771&page=3) viewports are very close. The problem is, Viewports don't work with any/many of the themes that use the other WPS patches.

Once viewports are accepted, most WPS patches are going to be closed. In addition, because of the huge changes (viewports are one of the largest Rockbox changes in a long time) it's going to be really hard to have parallel features. While FS#2954 is closed, without the viewports patch, only a few hunks fail. With viewports, I end up staring at this when trying to add scrolling margins: http://pastebin.ca/843247

As you can see, almost every hunk in /firmware/drivers fails. This means I either have to not include the viewports patch (meaning, not include it until forced to) or drop the old WPS patches. I'm talking to kugel on IRC (we were originally talking about having a patch to hide menu items - he figured it out before I did) and he's planning to include the custom list patch, and drop the rest. He said he'll port the themes that are in his build, and may port additional ones on request.

I'm most likely going to be doing the same thing as kugel and digi - drop the old WPS patches and include viewports. Because of this, those using old themes will either need to use an older build, or have them ported to use Viewports.

Uploads

I'm still working on preparing the personalized builds, but the main thing I've been working on the past few days is a file upload script which will allow users to upload (and of course allow users to download) files. While it is mainly intended for Rockbox files, I'm be fine with hosting other (legal) files. The files will be available for direct download, so there's no ads/waiting pages/etc. This ties into the personalized builds in the sense that the downloads will be integrated into it. However, I need a few people to test it to make sure that there aren't any bugs in it. If you want to test it, comment below