Rockbox Technical Forums

Support and General Use => Theming and Appearance Customization => Topic started by: JdGordon on May 27, 2010, 06:43:02 AM

Title: WARNING: skin format changing on the weekend!
Post by: JdGordon on May 27, 2010, 06:43:02 AM
After 3.6 is release I will be changing the skin syntax a bit which will make every single skin out there break!

I have updated checkwps to be able to update current skins to the new format (code in my git repo... http://github.com/jdgordon/rockbox skinbreak branch) but other than that there has been no work to update skins.

If someone would like to volunteer to make a web frontend for checkwps to go on the theme site that would be very much appreciated.

http://www.rockbox.org/wiki/SkinBreakingChange outlines the changed tags, the major thing is ()'s are being used for parameterised tags now with comma being the seperator and | only seperating conditional options. (also not that the colours are being taken off the viewport tags and put into new tags).
Title: Re: WARNING: skin format changing on the weekend!
Post by: Yotto on May 27, 2010, 03:48:55 PM
2 things:

1) I think I know enough php to write the code to handle the files, run the program on them, and modify as needed (unless the program outputs modified WPS code) but I don't know the front-end part. I'm not a developer but I do file manipulation as my job and do a fair bit of scripting in both dos batch and korn shell, and bash for my personal computer. Plus I maintain my own website which uses php. I've just never written a submit form wrapper around it. Also, I've never done anything with javascirpt, ruby, or any other web development tools.

So, with all those warnings :) I'm offering my help.

2) Would the site still offer the 3.6-compatible themes? I don't have plans on upgrading past 3.6 when it comes out.
Title: Re: WARNING: skin format changing on the weekend!
Post by: JdGordon on May 28, 2010, 02:41:05 AM
(I deleted a bunch on off topic posts, I didnt think splitting was really appropriate, I can undelete them if asked)...

I've written a better update program and put it in svn (although it doesnt work 100% yet)... its in utils/skinupdater if anyone wants to try it (there is also a boiler plater perl script to update a full theme zip file).

I need someone who knows perl to fix that script though. My goal for it is to run it on every theme zip on the site and have that diff file emailed to the theme author.

Yotto: re 2), One thing we might do is clone the current site and make the clone read only which will work for the pre-break builds which includes 3.6
Title: Re: WARNING: skin format changing on the weekend!
Post by: audio-i on June 01, 2010, 11:01:00 AM
One thing we might do is clone the current site and make the clone read only which will work for the pre-break builds which includes 3.6
Meaning the 3.6 compatible versions couldn't then be corrected/updated/etc?

Which theme versions would the Rockbox Utility be able to download?
Title: Re: WARNING: skin format changing on the weekend!
Post by: JdGordon on June 01, 2010, 11:04:03 AM
it gets tricky... there is talk that a quick fix in rbutil to grab from the 3.6/cloned theme site if it is installing the 3.6 or earlier build. We need to wait for the weekend to see if that happens or not though (Both main rbutil guys are going to be at devcon iirc so it is possible.)
Title: Re: WARNING: skin format changing on the weekend!
Post by: atsakir on June 02, 2010, 12:27:58 PM
Should we post 2 different versions of our themes to the themes site to support both 3.5.1 and svn builds that used the old syntax and current builds with the new syntax until the 3.6 release is out?
Title: Re: WARNING: skin format changing on the weekend!
Post by: csavery on June 06, 2010, 05:52:24 AM
These skin files aren't very big. Why not just add a conditional tag into the format that allows loading either a new or old section according to loader version? Similar to an #ifdef directive. Then the converter could convert all skins in place and they would work for any version. This would make changes to the web site minimal and no need to manage duplicate skins.

Or maybe it's too late for this...

(To clarify - it could just be a comment line that the reader uses as a trigger for what to ignore in the file. eg. Older loaders ignore after #version X, new loaders ignore before #version X)
Title: Re: WARNING: skin format changing on the weekend!
Post by: JdGordon on June 06, 2010, 05:58:45 AM
because the rockbox build can only load one format, leaving the parser for the old format would add a massive amount of dead code which we don't want.

The current scheme is going to be a copy of the current theme site for some time until rbutil and the themesite work nicely together to ask for thmes which worked before some revision.

Plan is still to do the changeover today.. waiting for the themesite to happen
Title: Re: WARNING: skin format changing on the weekend!
Post by: csavery on June 06, 2010, 06:04:53 AM
There wouldn't be a need to leave the old parser in the code. The new parser would simply ignore code it doesn't read. Eventually the .wps files could all be trimmed to drop the old format codes.

Anyway, I guess there's no point in me commenting on this as it's already in progress. It just seems a little more planning into the new format could have aided a simpler transition with no sites changes or skin author interventions.
Title: Re: WARNING: skin format changing on the weekend!
Post by: JdGordon on June 06, 2010, 06:10:41 AM
maybe I misunderstood...

Oh you want both formats in the one file? na that would be crazy :p
Title: Re: WARNING: skin format changing on the weekend!
Post by: Llorean on June 06, 2010, 06:20:13 AM
Having both copies of the theme in the same file would be useless - the old parser would always reject them (since it rejects anything it doesn't know as an "invalid" tag). The only way this could work is if the old theme versions were updated to be forward compatible with ignoring the new theme version first, which would of course still break all prior builds anyway.

There's basically always going to be a point of time after which the new files won't work on older builds.
Title: Re: WARNING: skin format changing on the weekend!
Post by: csavery on June 06, 2010, 01:29:34 PM
Only useless because not well designed to start with. Introducing a version tag (like "#>3") now would make transitions easy in the future. Comments can be used to make code backward compatible but any new parser would have to understand when it should read a comment as code. As a transition device it would work until the 99% of users are on the new version. Then comments could be removed automatically.

eg.

# this is old code only read by old parser
#<3 this special comment tells the new parser not to read this block
%Vl|blah blah|

#now some new code skipped by old parser but understood as a transition block by new parser
#>3
#%Vl(blah, blah)
# and so on
## double comments still really a comment
#>4 version greater than current parser so not read
# someday a batch process removes old code and cuts first # between #>3 and #>4

It just seems like adding an escape sequence understood by the new parser would bypass website issues and make the transition pretty transparent to most users. Adding version tags now would be useful for future updates and the comment escape hack wouldn't be needed once versions tags were standard.
Title: Re: WARNING: skin format changing on the weekend!
Post by: audio-i on June 06, 2010, 02:02:02 PM
Since I don't see the reason for not adapting the simplest solution (from a user standpoint), I feel I'm looking at this in a very naive way, but anyway... why not just leave the current theme site as it is, modifying this:
The "normal" download would work for 3.6 compatible themes (i.e. the current versions). The current parser puts a "Works with current build", that would be changed for "Doesn't work with current build" and a link for downloading the converted version. If a theme is uploaded with the new syntax, it would work as it works currently (i.e "Works with current build" and no "Works with realease 3.6)

I don't know the statistics, but my guess is, the majority of users use the stable version when available for the target, so IMHO, things should be oriented accordingly. When the new syntax is in the stable version (3.7?), the current themesite scheme could be used again having only the new syntax compatible theme versions.
Title: Re: WARNING: skin format changing on the weekend!
Post by: csavery on June 06, 2010, 02:26:46 PM
Here's a refinement on my suggestion above to make code changes simpler...

Old parser skips comments anyway - no change.
New parser understands two new comment escapes:

#>N
means skip if N > parser version - for future updates to avoid comment hacks
(could be generalized for < >= <= etc if desired)

#>-
means remove first # from following code
as a transition mode comment hack since we don't have a version tag now

Adding these two comment escapes would allow for old version compatibility and future version tags.
Then the converter app just converts old version code updated into a comment block in the new version file.

The beauty of this is nothing needs to be changed on the website at all.
Just run the converter on all .wps files and it's done.

If a user edits old version code then the converter can re-save it with comment added.
These files are typically only a few hundred bytes long so it's not like size is a concern and once an old version is finally deprecated the #>- block can be copied back in as normal code. In future only the version tag is needed to transition to new versions.
Title: Re: WARNING: skin format changing on the weekend!
Post by: Llorean on June 06, 2010, 04:12:53 PM
Yes, but saying "it wasn't well designed in the first place" doesn't solve anything, it's still the case. Your solution won't solve this transition.

And to be honest, we generally like themes breaking when someone's using an outdated version of Rockbox - it's a good reminder that you should update from time to time. Major rewrites of the whole theme syntax are few and far between, but there doesn't really need to be a system in place for authors to ensure that their themes remain compatible with drastically outdated versions of Rockbox.
Title: Re: WARNING: skin format changing on the weekend!
Post by: JdGordon on June 07, 2010, 01:32:42 AM
the change has now been commited so its a moot point.
The plan is to use the themesite to control theme versioning through rbutil
Title: Re: WARNING: skin format changing on the weekend!
Post by: atsakir on June 07, 2010, 06:23:22 AM
Upwards which revision is the theme break commited in? The simulator for r26611 (6/6/2010) stiil uses the old syntax as I can see.
Title: Re: WARNING: skin format changing on the weekend!
Post by: perrikwp on June 07, 2010, 06:29:19 AM
As far as I can see, r26641 is the skin breaking change.
Title: Re: WARNING: skin format changing on the weekend!
Post by: wintermute23 on June 07, 2010, 09:45:10 AM
OK, So I used the sims (r26651) to convert and test my themes, and they seemed to work fine. Uploaded them to the theme site, and downloaded the latest build for my player (r26660), and installed the updated version of the themes, and they completely fail.
For example:
Code: [Select]
#Theme:     Fold
#Author:    Ross Thompson
#           wintermute115@gmail.com
#Version:   2.0
#Licence:   CC-SA-BY 3.0
#Created:   2010-06-07
#Target:    iPod Photo
#           320x240x24

#Statusbar icons
%xl(a,batt_strip.bmp,296,0,18)
%xl(c,batt_charge_strip.bmp,296,0,18)
%xl(d,hd_light.bmp,254,-1,2)
%xl(h,Hold.bmp,276,2,2)

#Turn off standard statusbar
%wd

#Statusbar
%V(2,1,316,15,1) %Vf(FFFFFF) %Vb(000000)
#Text
%?cf<%cH:%cM:%cS|%cl:%cM%cP>%ac%?mh<Battery: %bl%% (%?bc<Charging|%?bp<On Mains|%bt>>)|%?cu<Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday> %cd %?cm<January|February|March|April|May|June|July|August|September|October|November|December> %cY>
#Hard drive indicator
%?lh<%xd(db)|%xd(da)>
#Hold switch
%?mh<%xd(ha)|%xd(hb)>
#Battery
%?bp<%?bl<%xd(ca)|%xd(ca)|%xd(cb)|%xd(cc)|%xd(cd)|%xd(ce)|%xd(cf)|%xd(cg)|%xd(ch)|%xd(ci)|%xd(cj)|%xd(ck)|%xd(cl)|%xd(cm)|%xd(cn)|%xd(co)|%xd(cp)|%xd(cq)|%xd(cr)>|%?bl<%xd(aa)|%xd(aa)|%xd(ab)|%xd(ac)|%xd(ad)|%xd(ae)|%xd(af)|%xd(ag)|%xd(ah)|%xd(ai)|%xd(aj)|%xd(ak)|%xd(al)|%xd(am)|%xd(an)|%xd(ao)|%xd(ap)|%xd(aq)|%xd(ar)>>

#Main Viewport
%Vi(z,0,17,320,189,1) %Vf(FFFFFF) %Vb(00007E)
%VI(z)

#Song data on main screen; Next data on WPS
%V(2,216,316,15,1) %Vf(FFFFFF) %Vb(00007E)
%s%?it<%ia - %it|%?fn<%fn|No current track>>

#Playlist data
%V(2,232,316,-,0) %Vf(FFFFFF) %Vb(00007E)
%s%?fm<%al%pc/%pt %ar%?pn<%pn|%d(1)> %?pp<(%pp of %pe)|>|>

This looks like this on the sim:
(http://themes.rockbox.org/themes/320x240/fold-4/menu-sbs.png)
But on my player, only the icons in the top bar, and the text in the main viewport are visible. No text in the topbar, or the footer is appearing. In each case, the text and background colors are the same as defined in the CFG.

It looked like r26657 (which changed how %Vf/%Vb) are handled might be the problem, but getting rid of the spacing just made it the SBS fail completely.

For the WPS,
Code: [Select]
#Theme:     Fold
#Author:    Ross Thompson
#           wintermute115@gmail.com
#Version:   2.0
#Licence:   CC-SA-BY 3.0
#Created:   2010-06-07
#Target:    iPod Photo
#           320x240x24
#Album Art: 120x120

#Load images
%Cl(20,45,120,120)
%X(background.bmp)
%xl(r,repeat_strip.bmp,0,7,4)
%xl(s,status_strip.bmp,0,0,4)
%xl(v,vol_strip.bmp,0,3,21)
%xl(S,shuffle.bmp,0,0)
%xl(R,rating_strip.bmp,0,0,10)

#Statusbar icons
%xl(a,batt_strip.bmp,296,0,18)
%xl(c,batt_charge_strip.bmp,296,0,18)
%xl(d,hd_light.bmp,254,-1,2)
%xl(h,Hold.bmp,276,2,2)

#Load font
%Fl(2,helvB14.fnt)

#Turn off standard statusbar
%wd

#Progressbar
%pb(progressbar.bmp,0,182,320,5)

#Load in viewports, based on album art
%?C<%C%Vd(a)|%Vd(b)>

#Statusbar
%V(2,1,316,15,1) %Vf(FFFFFF) %VB(000000)
#Text
%?cf<%cH:%cM:%cS|%cl:%cM%cP>%ac%?mh<Battery: %bl%% (%?bc<Charging|%?bp<On Mains|%bt>>)|%?cu<Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday> %cd %?cm<January|February|March|April|May|June|July|August|September|October|November|December> %cY>
#Hard drive indicator
%?lh<%xd(db)|%xd(da)>
#Hold switch
%?mh<%xd(ha)|%xd(hb)>
#Battery
%?bp<%?bl<%xd(ca)|%xd(ca)|%xd(cb)|%xd(cc)|%xd(cd)|%xd(ce)|%xd(cf)|%xd(cg)|%xd(ch)|%xd(ci)|%xd(cj)|%xd(ck)|%xd(cl)|%xd(cm)|%xd(cn)|%xd(co)|%xd(cp)|%xd(cq)|%xd(cr)>|%?bl<%xd(aa)|%xd(aa)|%xd(ab)|%xd(ac)|%xd(ad)|%xd(ae)|%xd(af)|%xd(ag)|%xd(ah)|%xd(ai)|%xd(aj)|%xd(ak)|%xd(al)|%xd(am)|%xd(an)|%xd(ao)|%xd(ap)|%xd(aq)|%xd(ar)>>

#Track name - 14pt bold
%V(10,22,300,17,2) %Vf(FFFFFF) %Vb(00007E)
%s%ac%?it<%it|%fm>

####Artist and album
# With Album Art
%Vl(a,160,60,150,30,1) %Vf(FFFFFF) %Vb(00007E)
%s%ac%?ia<%ia|%?d(2)<%d(2)|Artist Unknown>>
%s%ac%?id<%id|%?d(1)<%d(1)|Album Unknown>>
# Without Album Art
%Vl(b,10,60,300,30,1) %Vf(FFFFFF) %Vb(00007E)
%s%ac%?ia<%ia|%?d(2)<%d(2)|Artist Unknown>>
%s%ac%?id<%id|%?d(1)<%d(1)|Album Unknown>>

####Technical
# With Album Art
%Vl(a,160,100,150,30,0) %Vf(C8BFB5) %Vb(00007E)
%s%ac%?ig<%ig|No genre>%?iy< (%iy)|>
%s%ac%fc - %fb kbps%?fv< VBR|>
%s%ac%fs Kb
# Without Album Art
%Vl(b,10,100,300,30,0) %Vf(C8BFB5) %Vb(00007E)
%s%ac%?ig<%ig|No genre>%?iy< (%iy)|>
%s%ac%fc - %fb kbps%?fv< VBR|>
%s%ac%fs Kb

####Rating
# With Album Art
%Vl(a,160,140,150,20,0) %Vf(FFFFFF) %Vb(00007E)
%?rr<|%xd(Ra)|%xd(Rb)|%xd(Rc)|%xd(Rd)|%xd(Re)|%xd(Rf)|%xd(Rg)|%xd(Rh)|%xd(Ri)|%xd(Rj)>
# Without Album Art
%Vl(b,85,140,150,20,0) %Vf(FFFFFF) %Vb(00007E)
%?rr<|%xd(Ra)|%xd(Rb)|%xd(Rc)|%xd(Rd)|%xd(Re)|%xd(Rf)|%xd(Rg)|%xd(Rh)|%xd(Ri)|%xd(Rj)>

#Track times
%V(10,172,300,8,0) %Vf(FFFFFF) %Vb(00007E)
%ac%px%%
%V(10,190,300,8,0) %Vf(FFFFFF) %Vb(00007E)
%al%pc%ac-%pr%ar%pt

#Volume - First line left intentionally blank
%V(247,199,63,16,0) %Vf(FFFFFF) %Vb(00007E)

%?pv<%xd(va)|%xd(vb)|%xd(vc)|%xd(vd)|%xd(ve)|%xd(vf)|%xd(vg)|%xd(vh)|%xd(vi)|%xd(vj)|%xd(vk)|%xd(vl)|%xd(vm)|%xd(vn)|%xd(vo)|%xd(vp)|%xd(vq)|%xd(vr)|%xd(vs)|%xd(vt)|%xd(vu)>%ar%pv dB

#Shuffle / repeat
%V(128,202,25,14,0) %Vf(FFFFFF) %Vb(00007E)
%?ps<%xd(S)|>
%?mm<|%xd(ra)|%xd(rb)|%xd(rc)|%xd(rd)>

#Status icon
%V(154,200,15,15,0) %Vf(FFFFFF) %Vb(00007E)
%?mp<|%xd(sa)|%xd(sb)|%xd(sc)|%xd(sd)>

#Song data on main screen; Next data on WPS
%V(2,216,316,15,1) %Vf(FFFFFF) %Vb(00007E)
%s%?It<%Ia - %It|%?Fn<%Fn|Finding next track...>>

#Playlist data
%V(2,232,316,-,0) %Vf(FFFFFF) %Vb(00007E)
%s%ar%?pn<%pn |%d(1) >%?pp<(%pp of %pe)|>
Looks like this in the sim:
(http://themes.rockbox.org/themes/320x240/fold-4/1-wps2.png)
but on my player, it fails without explanation.

Can anyone tell me what I'm doing wrong, and how to fix it? Thanks.

EDIT:

I figured out that was going wrong! The new line at the end of the %V line was forcing the text down a line, so it was disappearing off the bottom of the viewport. Putting the text on the same line as the %V directive fixed it.

I suspect this is a bug?
Title: Re: WARNING: skin format changing on the weekend!
Post by: bluebrother on June 07, 2010, 11:13:54 AM
OK, So I used the sims (r26651) to convert and test my themes, and they seemed to work fine. Uploaded them to the theme site, and downloaded the latest build for my player (r26660), and installed the updated version of the themes, and they completely fail.

The theme site currently doesn't handle the new format. Please refrain from using it and especially from uploading themes until that's fixed.
Title: Re: WARNING: skin format changing on the weekend!
Post by: wintermute23 on June 07, 2010, 03:07:48 PM
Noted. But the theme site <i>seems</i> to handle the new format fine, reporting "Works with current build".

Perhaps a note should be placed on the theme site explaining this?
Title: Re: WARNING: skin format changing on the weekend!
Post by: TexasRockbox on June 07, 2010, 03:30:29 PM
And also an indication that the theme works (or doesn't) with Version 3.6.

About 20 iPod Video/D2 themes are missing.
Title: Re: WARNING: skin format changing on the weekend!
Post by: Domonoky on June 07, 2010, 04:50:55 PM

I just update the themesite so it knows the 3.6 release.
There is now also a copy of the themesite available which will hold the not-converted themes for older builds.

The main themesite will get its themes converted to the new format somewhere in the near future.. 
Title: Re: WARNING: skin format changing on the weekend!
Post by: Domonoky on June 09, 2010, 01:29:44 PM

I have now run the conversion on the themesite.
If there are themes missing/ not-converted/ broken, please report here.
Title: Re: WARNING: skin format changing on the weekend!
Post by: AsusFreak on June 09, 2010, 04:23:58 PM
Hi Domonoky,

I just sent you a PM, too:

I just converted my theme AF_Black yesterday, just to be compatible with the SkinBreak and today I changed it again to correct the changed album art tag %Cd. SoI miss my Version V8.1 of AF_Black.
Could you please check this?
Thanks.
AsusFreak
Title: Re: WARNING: skin format changing on the weekend!
Post by: Domonoky on June 09, 2010, 04:30:32 PM
AF_Black is misssing because it was already converted to the newer format. And the skinupdater didnt work correctly on that.
You can either upload it again, or i could restore version 7 because that converted finely :-)
Title: Re: WARNING: skin format changing on the weekend!
Post by: AsusFreak on June 09, 2010, 04:33:15 PM
Thanks for this proposal - then I try to reup it tomorrow.
Thanks for this quick reply.
Title: Re: WARNING: skin format changing on the weekend!
Post by: epithetless on June 09, 2010, 05:15:36 PM
Is there a ready-made tool (for Windows, in my case) available -- or planned to be available -- which facilitates the conversion of previously-working themes to the new syntax, or is maintaining compatibility with current builds a matter of making manual adjustments to all of our text files?

(I was hoping the converted themesite would properly update my previously-uploaded themes and give me a good place to start from with other themes I've been working on, but CheckWPS for the updated themesite evidently encountered an "invalid parameter list for token x" in all of those themes (XL Fuzed, Clipline, and ReMediaFlo), so it kept them all in a 3.6-compatible state without making any changes to them. :()
Title: Re: WARNING: skin format changing on the weekend!
Post by: JdGordon on June 09, 2010, 08:27:41 PM
in the svn sources under utils/skinupdater there is a program to convert old skins. it needs a c compiler so if you have one setup you shold easily be able to make that.
Title: Re: WARNING: skin format changing on the weekend!
Post by: JdGordon on June 09, 2010, 08:40:04 PM
Domonoky, I'm looking at random themes that are still faililng and it looks like they wern't update at all? (or run through the update .pl file).. did the search miss some maybe?
Title: Re: WARNING: skin format changing on the weekend!
Post by: Domonoky on June 10, 2010, 04:40:48 PM
As far as i noticed, the unconverted themes are themes which have a space in their filenames.
And the updatetheme.pl seems to have failed on those and skipped them.

As our skinupdater also fails on already converted themes, i cant run a fixed updatetheme.pl script on the site again.
So if possible the theme authors should try to convert them themself and reupload, or if not possible, tell some theme admin todo it manually.
Title: Re: WARNING: skin format changing on the weekend!
Post by: JdGordon on June 10, 2010, 07:41:37 PM
any way to get a listing of the themes which wern't done?
maybe just assume all the ones which are still failing?
Title: Re: WARNING: skin format changing on the weekend!
Post by: rosco_pc on June 12, 2010, 02:24:09 AM
I've just uploaded the Pen&Paper theme for the Gigabeat F/X again.
There was an invert cursor setting which meant it did not pass the checkwps stage.
 I also removed the & in the theme name itself, thinking it might have interfered with the update script.
Title: Re: WARNING: skin format changing on the weekend!
Post by: MajiKool Dragonâ„¢ on June 12, 2010, 05:05:52 PM
my code no worky...  :(
can some one help me figure out why?
sbs:
Code: [Select]
%Fl(2,11-Sazanami-Mincho.fnt)
%Fl(3,08-Namil.fnt)

%Vi(z,0,10,132,-4,2) %Vf(000000)
%VI(z)

%X(bg.bmp)
%xl(B,battery.bmp,-1,-1,10)
%xl(V,vol.bmp,2,0,10)

%V(0,0,19,8,3)
%?pv<%xd(Va)|%xd(Vb)|%xd(Vc)|%xd(Vd)|%xd(Ve)|%xd(Vf)|%xd(Vg)|%xd(Vh)|%xd(Vi)|%xd(Vj)>
%V(113,0,19,8,0)
%?bl<%xd(Ba)|%xd(Bb)|%xd(Bc)|%xd(Bd)|%xd(Be)|%xd(Bf)|%xd(Bg)|%xd(Bh)|%xd(Bi)|%xd(Bj)>

%V(20,0,92,8,3) %Vf(000000)
%s%ac%Lt

%V(0,78,132,2,0)
%pb(pb.bmp,0,0,132,2)


wps:
Code: [Select]
%wd

%Fl(3,08-Namil.fnt)

%X(bg.bmp)
%xl(A,NoArt.bmp,0,-8)
%xl(B,battery.bmp,-1,-1,10)
%xl(V,vol.bmp,0,0,10)
%Cl(0,-8,80,80,c,c)

%V(2,0,17,8,3)
%?pv<%xd(Va)|%xd(Vb)|%xd(Vc)|%xd(Vd)|%xd(Ve)|%xd(Vf)|%xd(Vg)|%xd(Vh)|%xd(Vi)|%xd(Vj)>
%V(113,0,19,8,0)
%?bl<%xd(Ba)|%xd(Bb)|%xd(Bc)|%xd(Bd)|%xd(Be)|%xd(Bf)|%xd(Bg)|%xd(Bh)|%xd(Bi)|%xd(Bj)>

%V(2,8,80,-2,0)
%?C<%C|%xd(A)>

%V(84,25,48,8,3) %Vf(000000)
%s%ac%?id<%id|>
%V(84,39,48,8,3) %Vf(000000)
%s%ac%?ia<%ia|>

%V(84,67,48,8,0) %Vf(888888)
%pm

%V(20,0,92,8,3) %Vf(000000)
%s%ac%?it<%it|%fn>

%V(0,78,132,2,0)
%pb(pb.bmp,0,0,132,2)


fms:
Code: [Select]
%wd

%Fl(3,08-Namil.fnt)

%X(bg.bmp)
%xl(B,battery.bmp,-1,-1,10)
%xl(V,vol.bmp,2,0,10)

%V(0,0,19,8,3)
%?pv<%xd(Va)|%xd(Vb)|%xd(Vc)|%xd(Vd)|%xd(Ve)|%xd(Vf)|%xd(Vg)|%xd(Vh)|%xd(Vi)|%xd(Vj)>
%V(113,0,19,8,0)
%?bl<%xd(Ba)|%xd(Bb)|%xd(Bc)|%xd(Bd)|%xd(Be)|%xd(Bf)|%xd(Bg)|%xd(Bh)|%xd(Bi)|%xd(Bj)>

%V(2,25,128,8,3) %Vf(000000)
%s%ac%?Tn<%Tn|%?tm<Scan|Preset>
%V(2,39,128,8,3) %Vf(000000)
%s%ac%?Tf<%Tf|%tf>mHz

%V(84,67,48,8,3) %Vf(888888)
%s%ac%?ts<%Sx(Stereo)|%Sx(Mono)>

%V(20,0,92,8,3) %Vf(000000)
%s%ac%Sx(FM Radio)

%V(0,78,132,2,0)
%pb(pb.bmp,0,0,132,2)



Edit: i'm testing it on the my device running r26820
Title: Re: WARNING: skin format changing on the weekend!
Post by: JdGordon on June 12, 2010, 08:40:51 PM
%pb changed so the filename is the last param
Title: Re: WARNING: skin format changing on the weekend!
Post by: MajiKool Dragonâ„¢ on June 13, 2010, 12:04:47 AM
oh  ;D
thanks
Title: Re: WARNING: skin format changing on the weekend!
Post by: RowaN on June 15, 2010, 03:40:24 PM
Please help, cant get my WPS converted to work.

OLD WPS:
Code: [Select]
%wd
%X|rowan.bmp|0|0|
%V|11|17|153|-|1|fffa00|-|
%ac%s%?it<%?in<%in. |>%it|%fn>
%V|11|44|153|-|-|fffa00|-|
%ac%s%?ia<%ia|%?d2<%d2|%?d1<??????|>>>
%V|76|62|50|-|-|eebeee|-|
%?iy<%iy|YEAR?>
%V|10|62|50|-|-|be9abe|-|
%pt/%pc
%V|117|62|50|-|-|be9abe|-|
%ar%bt
%V|0|73|176|-|-|-|-|
%pb|progressbar.bmp|0|0|176|17|
%V|0|90|176|-|-|-|-|
%ac VOL: %pv
%ac%fc : %fbkbps %?fv<VBR|CBR> : %ffHz
%ac%iC
%t0.1%ac%?mp< | |(( paused ))|%>%> fASt fORWARDiNG %>%>|   REWiND sELeKtA !   >;%t0.1%ac%?mp< | |   paused   |   fASt fORWARDiNG   |%<%< REWiND sELeKtA ! %<%<>
%ac%?It<%t5Next: %s%It|Next: %s%Fn>;%?Fm<%?Ia<%t5%ac Next: %s%Ia|%?D2<%t5Next: %D2|>>>
%V|0|198|176|-|-|ccc816|-|
%ac%cl:%cM%cp :: %?cu<Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday> :: %ce %?cm<Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec> %cY
vs NEW WPS:
Code: [Select]
%wd
%X(rowan.bmp)
%V(11,17,153,100,0) %Vf(fffa00)
%ac%s%?it<%?in<%in. |>%it|%fn>
%V(11,44,153,100,0) %Vf(fffa00)
%ac%s%?ia<%ia|%?d2<%d2|%?d1<??????|>>>
%V(76,62,50,100,0) %Vf(eebeee)
%?iy<%iy|YEAR?>
%V(10,62,50,100,0) %Vf(be9abe)
%pt/%pc
%V(117,62,50,100,0) %Vf(be9abe)
%ar%bt
%V(0,73,176,100,0)
%pb(0,0,176,17,progressbar.bmp)
%V(0,90,176,100,0)
%ac VOL: %pv
%ac%fc : %fbkbps %?fv<VBR|CBR> : %ffHz
%ac%iC
%t0.1%ac%?mp< | |(( paused ))|%>%> fASt fORWARDiNG %>%>|   REWiND sELeKtA !   >;%t0.1%ac%?mp< | |   paused   |   fASt fORWARDiNG   |%<%< REWiND sELeKtA ! %<%<>
%ac%?It<%t5Next: %s%It|Next: %s%Fn>;%?Fm<%?Ia<%t5%ac Next: %s%Ia|%?D2<%t5Next: %D2|>>>
%V(0,198,176,1,0) %Vf(ccc816)
%ac%cl:%cM%cp :: %?cu<Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday> :: %ce %?cm<Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec> %cY

Sim was giving error:
"Invalid parameter list for token 2: "backdrop image". Thanks in advance guys.
Title: Re: WARNING: skin format changing on the weekend!
Post by: AlexP on June 15, 2010, 03:44:54 PM
%X shouldn't have position parameters (nor should the old version have had).
Title: Re: WARNING: skin format changing on the weekend!
Post by: JdGordon on June 15, 2010, 04:32:05 PM
also your %V()'s still have the colour params which were rmeoved
Title: Re: WARNING: skin format changing on the weekend!
Post by: RowaN on June 15, 2010, 05:02:02 PM
I've updated the code as per your suggestions, thanks guys, (edited my comment above) but still getting the exact same error.
Title: Re: WARNING: skin format changing on the weekend!
Post by: JdGordon on June 15, 2010, 05:57:35 PM
put the font param back in the %V()'s
Title: Re: WARNING: skin format changing on the weekend!
Post by: RowaN on June 15, 2010, 06:53:12 PM
Thanks, getting better.

It is now getting stuck on this line:

Code: [Select]
%ac%s%?ia<%ia|%?d2<%d2|%?d1<??????|>>>
I tried a few variations but no success:
Code: [Select]
%ac%s%?ia<%ia|%?d2(<%d2|%?d1(<??????|>)>)>
%ac%s%?ia(<%ia|%?d2(<%d2|%?d1(<??????|>)>)>)

Please help. : )
Title: Re: WARNING: skin format changing on the weekend!
Post by: jtrodriguez on June 15, 2010, 08:21:55 PM

It is now getting stuck on this line:

Code: [Select]
%ac%s%?ia<%ia|%?d2<%d2|%?d1<??????|>>>

Try

Code: [Select]
%ac%s%?ia<%ia|%?d(2)<%d(2)|%?d(1)<??????|>>>
Title: Re: WARNING: skin format changing on the weekend!
Post by: bobbydriver on June 16, 2010, 05:15:05 AM
Apologies for this but I'm a bit confused as to why the Theme formats have changed. I'm assuming that there is a reason?

I ended up tailoring one of the existing published Themes to suit my needs (and it took me ages as I'm not enormously technical) and then when I upgraded to 3.6 it stopped working

Is there an automatic way of porting themes to the new format or do I have to understand the changes and then unpick it all manually?

Title: Re: WARNING: skin format changing on the weekend!
Post by: torne on June 16, 2010, 06:04:27 AM
3.6 does not use the new format. There are always minor format changes over time, I suspect your theme is broken because of one of those (and thus should be trivial to fix).
Title: Re: WARNING: skin format changing on the weekend!
Post by: bobbydriver on June 16, 2010, 10:01:07 AM
Sorry I misread that the skinbreaking changes were from 3.6 - but I see that it's a post 3.6 change that brought them in.

I've installed back to 3.6 stable build and it works fine again.

I had a go at hand editing my custom theme files according to the new guidelines but it still doesn't work so I've clearly missed something

Still wondering what the point of changing the code to break all custom skins was, so unless someone can point me in the direction of an automated tool to port old skins then my Rockbox will remain at 3.6 forever and my love affair with Rockbox is over as I just don't understand why the developers would do something so vandalistic
Title: Re: WARNING: skin format changing on the weekend!
Post by: funman on June 16, 2010, 12:32:04 PM
Here (http://svn.rockbox.org/viewvc.cgi/trunk/utils/skinupdater/) is the automated tool.

You are egoist when thinking the intention was to break custom skins only.
The intention was to break all skins, including the default rockbox ones.
Title: Re: WARNING: skin format changing on the weekend!
Post by: mc2739 on June 16, 2010, 03:11:28 PM
Still wondering what the point of changing the code to break all custom skins was...

Sometimes, to move forward with new ideas or features, there comes a point where it is best to ditch the old and embrace the new, for example, analog vs. digital/HD TV.  This is one of those cases.

The developers involved with the change made every effort to make this as painless as possible.  The change was announced well ahead of when it happened.  It was timed to happen after a new release so that those people that use the release versions would not be immediately impacted.  The changes in syntax were documented prior to the change so that the theme developers could get an idea of what was coming.  A conversion tool was created to convert existing themes on the theme site to the new syntax.  The existing theme site was duplicated so that users could still get working themes for releases or daily builds prior to the change.

Quote
...my Rockbox will remain at 3.6 forever and my love affair with Rockbox is over...

While it is your prerogative to do so, you will be missing out on any bug fixes, code improvements and new features that may come along in the future.

The tool funman linked does a very good job of converting the themes from the old syntax to the new syntax, but you need to have a build environment set up in order to compile the code into an executable program.  If that is not an option for you, then ask here in the forum or in the #rockbox irc channel for help.  There are usually plenty of people willing to help, if you are willing to ask for the help.
Title: Re: WARNING: skin format changing on the weekend!
Post by: epithetless on June 16, 2010, 07:43:02 PM
The tool funman linked does a very good job of converting the themes from the old syntax to the new syntax, but you need to have a build environment set up in order to compile the code into an executable program.  If that is not an option for you, then ask here in the forum or in the #rockbox irc channel for help.

In that case, would someone with a build environment already set up mind compiling and sharing an executable for Windows? ;)
Title: Re: WARNING: skin format changing on the weekend!
Post by: JdGordon on June 16, 2010, 10:24:49 PM
Still wondering what the point of changing the code to break all custom skins was, so unless someone can point me in the direction of an automated tool to port old skins then my Rockbox will remain at 3.6 forever and my love affair with Rockbox is over as I just don't understand why the developers would do something so vandalistic

DAMN! I almost had everyone convinced it was to make things better, but you saw right through that! BUGGER, oh well, I still got to have my fun.
Title: Re: WARNING: skin format changing on the weekend!
Post by: bobbydriver on June 17, 2010, 05:23:14 AM
Thanks for the link to the c script - can you recommend a windows C compiler that will create an executable from it?

I downloaded lcc-win32 but it won't compile - throws lots of errors.

bear in mind it's been 20 years since I last compiled any C code...


EDIT

Don't worry - I'd not added the other two files into the project - I now have a compiled exe file. Will report back if it works


SECOND EDIT

It seemed like it ran OK but the new wps and sbs files are just full of this?!

Quote
ÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZ
ZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZ
ZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZ
ZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZ
ZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZ
ZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZ
ZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZ
ZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZ
ZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZ
ZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZ
ZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZ
ZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZ
ZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZ
ZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZ
ZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZ
ZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZ
ZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZZúÿZ

Did I do something obviously wrong?

Title: Re: WARNING: skin format changing on the weekend!
Post by: bluebrother on June 17, 2010, 06:45:06 AM
Thanks for the link to the c script - can you recommend a windows C compiler that will create an executable from it?

C is not a scripting language.

Quote
I downloaded lcc-win32 but it won't compile - throws lots of errors.

Use gcc.
Title: Re: WARNING: skin format changing on the weekend!
Post by: bobbydriver on June 17, 2010, 06:56:44 AM
OK - I can't make any sense of the GCC stuff

I'm not a developer, so unless anyone knows why the skinupdater executable I compiled is filling the "new" wps files with ÿZZúÿZZú then my rather straight forward question is this:

How does a non-technical person (ie someone who is not in a position to start setting up C dev environments) who has a custom skin easily convert his custom skin to run with the new versions of Rockbox?

Title: Re: WARNING: skin format changing on the weekend!
Post by: mc2739 on June 17, 2010, 10:54:08 AM
In that case, would someone with a build environment already set up mind compiling and sharing an executable for Windows? ;)

Here you go: skinupdater executable and source (r26887) (http://www.datafilehost.com/download-7bcbc8e3.html)

The syntax is: skinupdater wps_name.wps wps_new_name.wps

Each of your .wps, .sbs and .fms files need to be updated.
Title: Re: WARNING: skin format changing on the weekend!
Post by: bobbydriver on June 17, 2010, 11:36:05 AM
Many thanks for this MC2739

That works a treat in so far as it outputs the sbs and wps files in the new format

Doing a file diff on the skinupdated files and the ones that I manually updated according to the new spec showed up a couple of lines that I missed, so I was hopeful that this was the answer

However - when I load the new theme it still doesn't work (just displays the standard rockbox non-cover art mono theme instead)

Hmm- what can be wrong with my theme?

EDIT
Sorted it - I had renamed everything in the theme as v2 but not created a v2 sub-directory with the images in the WPS directory

d'oh! as they say

Many thanks to everyone who helped me out
Title: Re: WARNING: skin format changing on the weekend!
Post by: MajiKool Dragonâ„¢ on June 17, 2010, 09:48:37 PM
i noticed in converting my theme that %C has changed to %Cd.
Title: Re: WARNING: skin format changing on the weekend!
Post by: AsusFreak on June 18, 2010, 03:58:12 AM
i noticed in converting my theme that %C has changed to %Cd.


Take a look at this:
http://www.rockbox.org/wiki/SkinBreakingChange
Title: Re: WARNING: skin format changing on the weekend!
Post by: lazybum on June 24, 2010, 09:28:30 AM
In that case, would someone with a build environment already set up mind compiling and sharing an executable for Windows? ;)

Here you go: skinupdater executable and source (r26887) (http://www.datafilehost.com/download-7bcbc8e3.html)

The syntax is: skinupdater wps_name.wps wps_new_name.wps

Each of your .wps, .sbs and .fms files need to be updated.

Hi if i want to use an old wps i just have to convert it using that tool right?
But it doesn't seem to be working 0.0. Ive renamed the images folder. Heres what the new wps looks like. Anyone knows what is the problem with it?
Quote
%wd
# Progress bar etc.
%V(0,1,-,8,1)%Vf(
%%pb)%Vb(pb.bmp)0%|0%|128%|6%|
%x(a,pbbackground.bmp,0,0)
%V(0,8,-,-,1)%Vf(
%%al%%pc%%ac%%?mp%<Stopped)%Vb(Playing)Paused%|FF%|Rewind>%ar%pt

# Track info
%V(0,17,-,-,1)%Vf(
%%s%%ac%%?it%<%%it)%Vb(Unknown Track%>
%%V)0|27|-|-|1|
%s%ac%?id<%id%|Unknown Album> %?iy<%(%iy%)%|>
%V(0,37,-,-,1)%Vf(
%%s%%ac%%?ia%<%%ia)%Vb(Unknown Artist%>

%# Playlist and codec info
%%V)0|47|-|-|1|
%alPL:%pp/%pe%?ps< %(S%)%|>%?mm<%| %(R%)%| %(R1%)%| %(R%)%| %(R%)> %arC:%fc %fb

# Battery and Volume
%V(0,56,-,-,1)%Vf(
%%alB:%%bl%%%% %%acV:%%pvdB%%arRG:%%?rg%<Off)%Vb(Track)Album|TShuffle|AShuffle|No tag>
Its for the clip+ btw, if it matters
Title: Re: WARNING: skin format changing on the weekend!
Post by: JdGordon on June 24, 2010, 09:53:52 AM
run it again with the -m option... the clip is technically a mono display
Title: Re: WARNING: skin format changing on the weekend!
Post by: lazybum on June 24, 2010, 10:40:02 AM
Sorry but may i know how do you do that?

EDIT: ok nvm got it. Thanks for the help! And for the tool! :)
Title: Re: WARNING: skin format changing on the weekend!
Post by: paologab on August 04, 2010, 05:19:34 AM
Still wondering what the point of changing the code to break all custom skins was, so unless someone can point me in the direction of an automated tool to port old skins then my Rockbox will remain at 3.6 forever and my love affair with Rockbox is over as I just don't understand why the developers would do something so vandalistic

DAMN! I almost had everyone convinced it was to make things better, but you saw right through that! BUGGER, oh well, I still got to have my fun.

 :o  :P

i think that you all have spent too much words for a very stupid assertion!

I didn't follow your wonderful works for some months, due to a death, and in a couple of minutes I've converted my personalized skins... (with the exe posted only some hours later the provocation) leaving time in the future to learn the new syntiax

perfetc as usual ... on my Ipod nano 2nd!
Title: Re: WARNING: skin format changing on the weekend!
Post by: Sokudo Ningyou on September 14, 2010, 07:06:24 PM
In that case, would someone with a build environment already set up mind compiling and sharing an executable for Windows? ;)

Here you go: skinupdater executable and source (r26887) (http://www.datafilehost.com/download-7bcbc8e3.html)

The syntax is: skinupdater wps_name.wps wps_new_name.wps

Each of your .wps, .sbs and .fms files need to be updated.

I apologize for updating a slightly old discussion, but I'm trying to update my X5 themes, since none of them work with 3.6.  (Or at least none I downloaded have.)  I downloaded the skinupdater.exe, but how does it work?

Possibly I am dense.  However, double clicking on it makes it open and close immediately.  Dropping a .wps file onto it makes it scroll the entire contents, then shut down again.   What exactly do I have to do?
Title: Re: WARNING: skin format changing on the weekend!
Post by: audio-i on September 14, 2010, 07:27:05 PM
I'm trying to update my X5 themes, since none of them work with 3.6.  (Or at least none I downloaded have.) 
Where did you download them from? The themes working with r3.6 are here: http://themes.rockbox.org/oldsite/www/index.php

I downloaded the skinupdater.exe, but how does it work?

Possibly I am dense.  However, double clicking on it makes it open and close immediately.  Dropping a .wps file onto it makes it scroll the entire contents, then shut down again.   What exactly do I have to do?
The skinupdater AFAIK converts old syntax (the one compatible with r3.6) to the new syntax (current builds), and not the other way.
If you still have to use it, in Windows it has to be run using cmd (a quick google: http://en.wikipedia.org/wiki/Command_Prompt)
Title: Re: WARNING: skin format changing on the weekend!
Post by: Sokudo Ningyou on September 15, 2010, 10:44:28 PM
I'm trying to update my X5 themes, since none of them work with 3.6.  (Or at least none I downloaded have.) 
Where did you download them from? The themes working with r3.6 are here: [http://themes.rockbox.org/oldsite/www/index.php

Yeah, I downloaded from http://themes.rockbox.org/.  However, looking at the one you listed, one in particular I wanted isn't there.  :( 

I downloaded the skinupdater.exe, but how does it work?

Possibly I am dense.  However, double clicking on it makes it open and close immediately.  Dropping a .wps file onto it makes it scroll the entire contents, then shut down again.   What exactly do I have to do?
The skinupdater AFAIK converts old syntax (the one compatible with r3.6) to the new syntax (current builds), and not the other way.
If you still have to use it, in Windows it has to be run using cmd (a quick google: http://en.wikipedia.org/wiki/Command_Prompt)
[/quote]

Thank you!  I thought that might have been it, but I didn't want to eff something up.