Rockbox

This is the bug/patch tracker for Rockbox. Click here for more information.

Quick links: Bugs · Patches · Rockbox frontpage

Tasklist

FS#10853 - radio screen skin support

Attached to Project: Rockbox
Opened by Jonathan Gordon (jdgordon) - Monday, 14 December 2009, 08:51 GMT+2
Last edited by Jonathan Gordon (jdgordon) - Wednesday, 12 May 2010, 12:38 GMT+2
Task Type Patches
Category Themes
Status Closed
Assigned To No-one
Player Type All players
Severity Low
Priority Normal
Reported Version Release 3.4
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Private No

Details

Full skin support for thr radio screen!

new tokens: (token letters can be changed if someone comes up with a better idea)
tuner present: %tp
tuner "tuned": %tt
scan mode: %tm<scan|preset>
minimum frequency: %ta
maximum frequency: %tb
current frequency: %tf
preset number: %TiX (where X is a number, 0 is current, -1 is previous preset, 1 is next... numbers have no limits but must be there!)
preset name %TnX
preset freq: %TfX
preset count: %Tc (i.e number of presets)
target has RDS support: %tx
RDS name: %ty
RDS text: %tz

and new recording tags for HWCODEC which records from inside the fm screen
%Rr - is actually recording? (play status will be showing fm always so this is needed)
%Rs - seconds recorded
%Rn - minutes recorded
%Rh - hours recorded.


To load a skin add the usual skin line to your .cfg "fms: /.rockbox/wps/name.fms"
   radio_skin.patch (20.8 KiB)
 apps/recorder/radio.c              |  204 +++++++++++++++----------------------
 apps/recorder/radio.h              |    8 +
 apps/lang/english.lang             |    4 
 apps/settings.c                    |   27 ++++
 apps/gui/skin_engine/wps_debug.c   |    1 
 apps/gui/skin_engine/skin_parser.c |   35 ++++++
 apps/gui/skin_engine/skin_tokens.c |   77 +++++++++++++
 apps/gui/skin_engine/skin_tokens.h |   24 ++++
 apps/settings.h                    |    4 
 apps/settings_list.c               |    7 +
 10 files changed, 270 insertions(+), 121 deletions(-)

This task depends upon

Closed by  Jonathan Gordon (jdgordon)
Wednesday, 12 May 2010, 12:38 GMT+2
Reason for closing:  Accepted
Additional comments about closing:  finally in svn! r25964
Comment by Tomer Shalev (tomers) - Monday, 14 December 2009, 09:00 GMT+2
Good work!
Can we used some frequency scale for the radio? Even a progress bar that ranges from minimum to maximum frequency will do.
Comment by Jonathan Gordon (jdgordon) - Monday, 14 December 2009, 09:06 GMT+2
funny you should mention that :p
%pb (progressbar) is now working.
   radio_skin.patch (22.6 KiB)
 apps/recorder/radio.c               |  205 +++++++++++++++---------------------
 apps/recorder/radio.h               |    8 +
 apps/lang/english.lang              |    4 
 apps/settings.c                     |   27 ++++
 apps/gui/skin_engine/wps_debug.c    |    1 
 apps/gui/skin_engine/skin_parser.c  |   35 ++++++
 apps/gui/skin_engine/skin_tokens.c  |   77 +++++++++++++
 apps/gui/skin_engine/skin_display.c |   18 ++-
 apps/gui/skin_engine/skin_tokens.h  |   24 ++++
 apps/settings.h                     |    4 
 apps/settings_list.c                |    7 +
 11 files changed, 286 insertions(+), 124 deletions(-)

Comment by Jonathan Gordon (jdgordon) - Sunday, 31 January 2010, 07:03 GMT+2
sync and update. I apparently didnt update the last time I played with this.
   radio_skin.patch (24.8 KiB)
 apps/recorder/radio.c               |  223 ++++++++++++++++--------------------
 apps/recorder/radio.h               |   13 ++
 apps/lang/english.lang              |    4 
 apps/settings.c                     |   27 ++++
 apps/gui/skin_engine/skin_engine.h  |    2 
 apps/gui/skin_engine/wps_debug.c    |    1 
 apps/gui/skin_engine/skin_parser.c  |   43 ++++++
 apps/gui/skin_engine/skin_tokens.c  |   77 ++++++++++++
 apps/gui/skin_engine/skin_display.c |   31 ++++-
 apps/gui/skin_engine/skin_tokens.h  |   24 +++
 apps/gui/wps.c                      |    9 -
 apps/settings.h                     |    4 
 apps/settings_list.c                |    7 +
 13 files changed, 334 insertions(+), 131 deletions(-)

Comment by Jonathan Gordon (jdgordon) - Sunday, 31 January 2010, 09:26 GMT+2
and add the last of the missing tags.. namely RDS and fm recording support.

someone with a archos recorderFM needs to test this patch. This is I tihnk ready for commit
   radio_skin.patch (31.6 KiB)
 tools/checkwps/checkwps.c           |    7 
 apps/recorder/radio.c               |  260 ++++++++++++++----------------------
 apps/recorder/radio.h               |   13 +
 apps/lang/english.lang              |    4 
 apps/settings.c                     |   27 +++
 apps/gui/skin_engine/skin_engine.h  |    5 
 apps/gui/skin_engine/wps_debug.c    |    1 
 apps/gui/skin_engine/skin_parser.c  |   53 +++++++
 apps/gui/skin_engine/skin_tokens.c  |  115 +++++++++++++++
 apps/gui/skin_engine/skin_display.c |   57 +++++++
 apps/gui/skin_engine/skin_tokens.h  |   28 +++
 apps/gui/wps.c                      |    9 -
 apps/settings.h                     |    4 
 apps/settings_list.c                |    7 
 14 files changed, 423 insertions(+), 167 deletions(-)

Comment by Alex Parker (BigBambi) - Sunday, 31 January 2010, 23:19 GMT+2
Excellent stuff! I think I've found a couple of bugs however:

a) In preset mode if you skip through presets using left/right then the preset name %TnX doesn't update - but if you select the preset from the list then it works fine
b) In scan mode, the frequency doesn't show properly. If the current frequency is the same as a preset it shows that, but if not it shows 106.6
c) When you switch between preset and scan mode then whilst the mode switches, %tm doesn't update until you leave the screen and come back e.g. go to the menu and back

The fms/sbs I'm using is attached.
Comment by Alex Parker (BigBambi) - Sunday, 31 January 2010, 23:45 GMT+2
OK, ignore b), that was an error and c) might be - I need to check more :)

a) is real however
Comment by Jonathan Gordon (jdgordon) - Monday, 01 February 2010, 08:53 GMT+2
this should fix a and c
   radio_skin.patch (32.8 KiB)
 tools/checkwps/checkwps.c           |    7 
 apps/recorder/radio.c               |  263 +++++++++++++++---------------------
 apps/recorder/radio.h               |   13 +
 apps/settings.c                     |   27 +++
 apps/lang/english.lang              |    4 
 apps/gui/skin_engine/skin_engine.h  |    5 
 apps/gui/skin_engine/wps_debug.c    |    1 
 apps/gui/skin_engine/skin_parser.c  |   53 +++++++
 apps/gui/skin_engine/skin_tokens.c  |  115 +++++++++++++++
 apps/gui/skin_engine/skin_display.c |   62 +++++++-
 apps/gui/skin_engine/skin_tokens.h  |   28 +++
 apps/gui/wps.c                      |    9 -
 apps/settings.h                     |    4 
 apps/settings_list.c                |    7 
 14 files changed, 431 insertions(+), 167 deletions(-)

Comment by Mark Arigo (lowlight) - Wednesday, 03 February 2010, 17:59 GMT+2
jdgordon:
Would it be possible to display the current frequency using custom bitmap numbers? Perhaps tokenizing each digit of the current frequency and using a bitmap strip with the digits 0-9 and a decimal point. That would allow for a prominent frequency display (similar to most OF radio screens) without using multi-font to get larger digits. It would look good on large displays where the FM screen is mostly empty.
Comment by Jonathan Gordon (jdgordon) - Wednesday, 03 February 2010, 18:13 GMT+2
it is possible, but its not going to happen. There is a patch on the tracker to do this but its been rejected.
Comment by Mark Arigo (lowlight) - Wednesday, 03 February 2010, 20:15 GMT+2
Rejected? That hasn't stopped you before ;) Think of it as album art for the FM screen...some will use it, others won't.

I thought that with the skin engine this would be easy (although I don't really know how the skin engine works). Wouldn't it just be 6 extra tokens (xxx.xx). I assume the bitmap loading and display is already in the engine. The bitmap strip would need digits 0-9, a decimal, and a black space (for the leading digit for frequency < 100). If it uses the skin buffer, there's no real additional cost.

Maybe I'm just misunderstanding how the skin engine & tokens work.
Comment by Jonathan Gordon (jdgordon) - Saturday, 06 February 2010, 00:49 GMT+2
oh its a dead simple patch.  FS#9710 . I don't really remember why it was rejected, if you're game we can try bringing it back. especially now that the buffer usage is 0 if you dont use the tokens.
Comment by Jonathan Gordon (jdgordon) - Sunday, 07 February 2010, 18:57 GMT+2
fixed hwcodec compile
   radio_skin.patch (33.4 KiB)
 tools/checkwps/checkwps.c           |    7 
 apps/recorder/radio.c               |  271 ++++++++++++++----------------------
 apps/recorder/radio.h               |   13 +
 apps/lang/english.lang              |    4 
 apps/settings.c                     |   27 +++
 apps/gui/skin_engine/skin_engine.h  |    5 
 apps/gui/skin_engine/wps_debug.c    |    1 
 apps/gui/skin_engine/skin_parser.c  |   53 +++++++
 apps/gui/skin_engine/skin_tokens.c  |  115 +++++++++++++++
 apps/gui/skin_engine/skin_display.c |   62 +++++++-
 apps/gui/skin_engine/skin_tokens.h  |   28 +++
 apps/gui/wps.c                      |    9 -
 apps/settings.h                     |    4 
 apps/settings_list.c                |    7 
 14 files changed, 432 insertions(+), 174 deletions(-)

Comment by Jonathan Gordon (jdgordon) - Monday, 08 February 2010, 06:45 GMT+2
fix the warnings and the WPS not hiding the statusbar correctly. This is just about ready me thinks.
I want to nail down the tokens we want to support first though. is the current set good? or should they be fixed?

also, we need to deprecate LANG_FM_STATION and come up with a new label for it. Changing the source string is BAD! especially when its fed directly to printf
   radio_skin.patch (34.9 KiB)
 tools/checkwps/checkwps.c            |    7 
 apps/recorder/radio.c                |  281 +++++++++++++----------------------
 apps/recorder/radio.h                |   13 +
 apps/lang/english.lang               |    4 
 apps/settings.c                      |   27 +++
 apps/gui/skin_engine/skin_engine.h   |    5 
 apps/gui/skin_engine/wps_debug.c     |    1 
 apps/gui/skin_engine/skin_parser.c   |   53 ++++++
 apps/gui/skin_engine/skin_tokens.c   |  115 ++++++++++++++
 apps/gui/skin_engine/skin_display.c  |   63 +++++++
 apps/gui/skin_engine/skin_tokens.h   |   28 +++
 apps/gui/skin_engine/wps_internals.h |    5 
 apps/gui/wps.c                       |   20 --
 apps/settings.h                      |    4 
 apps/settings_list.c                 |    7 
 15 files changed, 437 insertions(+), 196 deletions(-)

Comment by Jonathan Gordon (jdgordon) - Monday, 08 February 2010, 18:27 GMT+2
sync to svn
   radio_skin.patch (35.5 KiB)
 tools/checkwps/checkwps.c            |    7 
 apps/recorder/radio.c                |  288 ++++++++++++++---------------------
 apps/recorder/radio.h                |   13 +
 apps/lang/english.lang               |    4 
 apps/settings.c                      |   27 +++
 apps/gui/skin_engine/skin_engine.h   |    5 
 apps/gui/skin_engine/wps_debug.c     |    1 
 apps/gui/skin_engine/skin_parser.c   |   53 ++++++
 apps/gui/skin_engine/skin_tokens.c   |  115 +++++++++++++
 apps/gui/skin_engine/skin_display.c  |   63 +++++++
 apps/gui/skin_engine/skin_tokens.h   |   28 +++
 apps/gui/skin_engine/wps_internals.h |    5 
 apps/gui/wps.c                       |   19 --
 apps/settings.h                      |    4 
 apps/settings_list.c                 |    7 
 15 files changed, 444 insertions(+), 195 deletions(-)

Comment by Jonathan Gordon (jdgordon) - Tuesday, 09 February 2010, 05:49 GMT+2
minor change, dont update the screen unless we need to (the whole fm screen is pretty damn static), but do a full update when it does change.

I want to commit this already, so testers neded
   radio_skin.patch (35.6 KiB)
 tools/checkwps/checkwps.c            |    7 
 apps/recorder/radio.c                |  289 ++++++++++++++---------------------
 apps/recorder/radio.h                |   13 +
 apps/settings.c                      |   27 +++
 apps/lang/english.lang               |    4 
 apps/gui/skin_engine/skin_engine.h   |    5 
 apps/gui/skin_engine/wps_debug.c     |    1 
 apps/gui/skin_engine/skin_parser.c   |   53 ++++++
 apps/gui/skin_engine/skin_tokens.c   |  115 +++++++++++++
 apps/gui/skin_engine/skin_display.c  |   63 +++++++
 apps/gui/skin_engine/skin_tokens.h   |   28 +++
 apps/gui/skin_engine/wps_internals.h |    5 
 apps/gui/wps.c                       |   19 --
 apps/settings.h                      |    4 
 apps/settings_list.c                 |    7 
 15 files changed, 444 insertions(+), 196 deletions(-)

Comment by Alex Parker (BigBambi) - Tuesday, 09 February 2010, 21:30 GMT+2
Looks great, with two minor provisos:

The backdrop only gets drawn in viewports - the same issue as was fixed for the WPS in r24571

If the fms contains %C it breaks on target (but not on sim). I know %C isn't supported yet for fms, but JdGordon requested I pop it here :)
Comment by Jonathan Gordon (jdgordon) - Thursday, 11 February 2010, 08:29 GMT+2
how did %C break it on target? it looks like it is safe (although, I'm ok with the workaround of dont use that tag)
attached should fix the backdrop isssue. I'm commiting this tomorow night!
   radio_skin.patch (35.9 KiB)
 tools/checkwps/checkwps.c            |    7 
 apps/recorder/radio.c                |  289 ++++++++++++++---------------------
 apps/recorder/radio.h                |   13 +
 apps/lang/english.lang               |    4 
 apps/settings.c                      |   27 +++
 apps/gui/skin_engine/skin_engine.h   |    5 
 apps/gui/skin_engine/wps_debug.c     |    1 
 apps/gui/skin_engine/skin_parser.c   |   53 ++++++
 apps/gui/skin_engine/skin_tokens.c   |  115 +++++++++++++
 apps/gui/skin_engine/skin_display.c  |   63 +++++++
 apps/gui/skin_engine/skin_tokens.h   |   28 +++
 apps/gui/skin_engine/wps_internals.h |    5 
 apps/gui/wps.c                       |   19 --
 apps/settings.h                      |    4 
 apps/settings_list.c                 |    7 
 apps/playback.c                      |    2 
 16 files changed, 445 insertions(+), 197 deletions(-)

Comment by Jonathan Gordon (jdgordon) - Sunday, 14 February 2010, 23:24 GMT+2
resync
   radio_skin.diff (36 KiB)
 tools/checkwps/checkwps.c            |    7 
 apps/recorder/radio.c                |  289 ++++++++++++++---------------------
 apps/recorder/radio.h                |   13 +
 apps/settings.c                      |   27 +++
 apps/lang/english.lang               |    4 
 apps/gui/skin_engine/skin_engine.h   |    5 
 apps/gui/skin_engine/wps_debug.c     |    1 
 apps/gui/skin_engine/skin_parser.c   |   53 ++++++
 apps/gui/skin_engine/skin_tokens.c   |  115 +++++++++++++
 apps/gui/skin_engine/skin_display.c  |   63 +++++++
 apps/gui/skin_engine/skin_tokens.h   |   28 +++
 apps/gui/skin_engine/wps_internals.h |    5 
 apps/gui/wps.c                       |   19 --
 apps/settings.h                      |    4 
 apps/settings_list.c                 |    7 
 apps/playback.c                      |    2 
 16 files changed, 445 insertions(+), 197 deletions(-)

Comment by Jonathan Gordon (jdgordon) - Tuesday, 16 February 2010, 07:15 GMT+2
remove the %Tf/n/iX buisness and just use %tf/n/i for the "current" preset. "current" being the current one, or the one in the playlist viewer.
I don't think we need to add special handling for the next one because the playlist viewer is a better way to do this?

no other changes in this version.
Comment by Jonathan Gordon (jdgordon) - Tuesday, 16 February 2010, 21:22 GMT+2
bah
   radio_skin.diff (36.6 KiB)
 tools/checkwps/checkwps.c            |    7 
 apps/recorder/radio.c                |  289 ++++++++++++++---------------------
 apps/recorder/radio.h                |   13 +
 apps/settings.c                      |   27 +++
 apps/lang/english.lang               |    4 
 apps/gui/skin_engine/skin_engine.h   |    5 
 apps/gui/skin_engine/wps_debug.c     |    1 
 apps/gui/skin_engine/skin_parser.c   |   33 +++
 apps/gui/skin_engine/skin_tokens.c   |  115 +++++++++++++
 apps/gui/skin_engine/skin_display.c  |   90 +++++++++-
 apps/gui/skin_engine/skin_tokens.h   |   28 +++
 apps/gui/skin_engine/wps_internals.h |    5 
 apps/gui/wps.c                       |   19 --
 apps/settings.h                      |    4 
 apps/settings_list.c                 |    7 
 apps/playback.c                      |    2 
 16 files changed, 446 insertions(+), 203 deletions(-)

Comment by Jonathan Gordon (jdgordon) - Wednesday, 17 February 2010, 07:11 GMT+2
fixed backdrop, scrolling, added the file handling (i.e menu items)
   radio_skin.diff (42.7 KiB)
 tools/checkwps/checkwps.c            |    7 
 apps/recorder/radio.c                |  289 ++++++++++++++---------------------
 apps/recorder/radio.h                |   13 +
 apps/settings.c                      |   27 +++
 apps/lang/english.lang               |   55 ++++++
 apps/gui/skin_engine/skin_engine.h   |    5 
 apps/gui/skin_engine/wps_debug.c     |    1 
 apps/gui/skin_engine/skin_parser.c   |   33 +++
 apps/gui/skin_engine/skin_tokens.c   |  115 +++++++++++++
 apps/gui/skin_engine/skin_display.c  |   90 +++++++++-
 apps/gui/skin_engine/skin_tokens.h   |   28 +++
 apps/gui/skin_engine/wps_internals.h |    5 
 apps/gui/wps.c                       |   19 --
 apps/settings.h                      |    6 
 apps/menus/theme_menu.c              |   22 ++
 apps/settings_list.c                 |    7 
 apps/filetree.c                      |   18 ++
 apps/features.txt                    |    3 
 apps/playback.c                      |    2 
 apps/filetypes.c                     |    4 
 apps/filetypes.h                     |    2 
 21 files changed, 547 insertions(+), 204 deletions(-)

Comment by Alex Parker (BigBambi) - Wednesday, 17 February 2010, 20:54 GMT+2
A couple of little things: The menu backdrop shows through on scrolling lines, and when you exit the fms to the menu the menu backdrop isn't properly drawn again.

dump1 attached shows a scrolling line in the WPS, and dump2 shows the menu immediately after leaving the fms

There is also a small glitch at the top of the fms where the menu backdrop shows through the section of the UI viewport there. This also happens on the WPS, but SVN is fine.

I can attach the theme if needed.
Comment by Alex Parker (BigBambi) - Wednesday, 17 February 2010, 20:55 GMT+2
Attached is a patch to make the playlist viewer support alignment tags with scrolling (by JdGordon). It is on top of the latest fms patch.
   alignment+scroll.diff (2.4 KiB)
 b/apps/gui/skin_engine/skin_display.c |   39 ++++++++++++++++++++++++++++++----
 1 file changed, 35 insertions(+), 4 deletions(-)

Comment by Jonathan Gordon (jdgordon) - Thursday, 18 February 2010, 07:19 GMT+2
sync and fix the backdrop issue.
can you upload a theme with the scrolling issue?
   radio_skin.diff (43.3 KiB)
 tools/checkwps/checkwps.c            |    7 
 apps/recorder/radio.c                |  289 ++++++++++++++---------------------
 apps/recorder/radio.h                |   13 +
 apps/lang/english.lang               |   55 ++++++
 apps/settings.c                      |   27 +++
 apps/gui/skin_engine/skin_engine.h   |    5 
 apps/gui/skin_engine/wps_debug.c     |    1 
 apps/gui/skin_engine/skin_parser.c   |   33 +++
 apps/gui/skin_engine/skin_tokens.c   |  118 ++++++++++++++
 apps/gui/skin_engine/skin_display.c  |   90 +++++++++-
 apps/gui/skin_engine/skin_tokens.h   |   28 +++
 apps/gui/skin_engine/wps_internals.h |    5 
 apps/gui/wps.c                       |   19 --
 apps/settings.h                      |    6 
 apps/menus/theme_menu.c              |   22 ++
 apps/settings_list.c                 |    7 
 apps/filetree.c                      |   18 ++
 apps/features.txt                    |    3 
 apps/playback.c                      |    2 
 apps/filetypes.c                     |    4 
 apps/filetypes.h                     |    2 
 21 files changed, 550 insertions(+), 204 deletions(-)

Comment by Jonathan Gordon (jdgordon) - Thursday, 18 February 2010, 07:21 GMT+2
oh, hmm.. looks like a bad sync a while back... this one should fix the backdrop issue
   radio_skin.diff (43.2 KiB)
 tools/checkwps/checkwps.c            |    7 
 apps/recorder/radio.c                |  289 ++++++++++++++---------------------
 apps/recorder/radio.h                |   13 +
 apps/lang/english.lang               |   55 ++++++
 apps/settings.c                      |   27 +++
 apps/gui/skin_engine/skin_engine.h   |    5 
 apps/gui/skin_engine/wps_debug.c     |    1 
 apps/gui/skin_engine/skin_parser.c   |   33 +++
 apps/gui/skin_engine/skin_tokens.c   |  118 ++++++++++++++
 apps/gui/skin_engine/skin_display.c  |   87 +++++++++-
 apps/gui/skin_engine/skin_tokens.h   |   28 +++
 apps/gui/skin_engine/wps_internals.h |    5 
 apps/gui/wps.c                       |   19 --
 apps/settings.h                      |    6 
 apps/menus/theme_menu.c              |   22 ++
 apps/settings_list.c                 |    7 
 apps/filetree.c                      |   18 ++
 apps/features.txt                    |    3 
 apps/playback.c                      |    2 
 apps/filetypes.c                     |    4 
 apps/filetypes.h                     |    2 
 21 files changed, 546 insertions(+), 205 deletions(-)

Comment by Alex Parker (BigBambi) - Thursday, 18 February 2010, 18:13 GMT+2
All looking good - I can't see any remaining issues with the testing I've done :)

Thanks :)
Comment by Jonathan Gordon (jdgordon) - Friday, 19 February 2010, 07:13 GMT+2
still a bit of code duplication that can be cleaned up, but this is the first version that I tihnk is ready for commit.
   radio_skin.diff (48.2 KiB)
 tools/checkwps/checkwps.c            |    7 
 apps/recorder/radio.c                |  300 ++++++++++++++---------------------
 apps/recorder/radio.h                |   13 +
 apps/lang/english.lang               |   55 ++++++
 apps/settings.c                      |   27 +++
 apps/gui/skin_engine/skin_engine.h   |   12 +
 apps/gui/skin_engine/wps_debug.c     |    1 
 apps/gui/skin_engine/skin_parser.c   |   33 +++
 apps/gui/skin_engine/skin_tokens.c   |  118 +++++++++++++
 apps/gui/skin_engine/skin_display.c  |  142 +++++++++++++++-
 apps/gui/skin_engine/skin_tokens.h   |   28 +++
 apps/gui/skin_engine/wps_internals.h |    5 
 apps/gui/wps.c                       |   71 --------
 apps/settings.h                      |    6 
 apps/menus/theme_menu.c              |   22 ++
 apps/settings_list.c                 |    7 
 apps/filetree.c                      |   18 ++
 apps/features.txt                    |    3 
 apps/playback.c                      |    2 
 apps/filetypes.c                     |    4 
 apps/filetypes.h                     |    2 
 21 files changed, 612 insertions(+), 264 deletions(-)

Comment by Jonathan Gordon (jdgordon) - Monday, 22 February 2010, 08:35 GMT+2
sync...
   radio_skin.diff (48.3 KiB)
 tools/checkwps/checkwps.c            |    7 
 apps/recorder/radio.c                |  303 ++++++++++++++---------------------
 apps/recorder/radio.h                |   13 +
 apps/lang/english.lang               |   55 ++++++
 apps/settings.c                      |    9 +
 apps/gui/skin_engine/skin_engine.h   |   12 +
 apps/gui/skin_engine/wps_debug.c     |    1 
 apps/gui/skin_engine/skin_parser.c   |   33 +++
 apps/gui/skin_engine/skin_tokens.c   |  118 +++++++++++++
 apps/gui/skin_engine/skin_display.c  |  142 +++++++++++++++-
 apps/gui/skin_engine/skin_tokens.h   |   28 +++
 apps/gui/skin_engine/wps_internals.h |    5 
 apps/gui/wps.c                       |   71 --------
 apps/settings.h                      |    6 
 apps/menus/theme_menu.c              |   22 ++
 apps/settings_list.c                 |    7 
 apps/filetree.c                      |   18 ++
 apps/features.txt                    |    3 
 apps/playback.c                      |    2 
 apps/filetypes.c                     |    4 
 apps/filetypes.h                     |    2 
 21 files changed, 601 insertions(+), 260 deletions(-)

Comment by Jonathan Gordon (jdgordon) - Sunday, 28 February 2010, 22:43 GMT+2
sync
   radio_skin.diff (48.6 KiB)
 tools/checkwps/checkwps.c            |    7 
 apps/recorder/radio.c                |  303 ++++++++++++++---------------------
 apps/recorder/radio.h                |   13 +
 apps/settings.c                      |    3 
 apps/lang/english.lang               |   55 ++++++
 apps/gui/theme_settings.c            |    7 
 apps/gui/skin_engine/skin_engine.h   |   12 +
 apps/gui/skin_engine/wps_debug.c     |    1 
 apps/gui/skin_engine/skin_parser.c   |   33 +++
 apps/gui/skin_engine/skin_tokens.c   |  118 +++++++++++++
 apps/gui/skin_engine/skin_display.c  |  142 +++++++++++++++-
 apps/gui/skin_engine/skin_tokens.h   |   28 +++
 apps/gui/skin_engine/wps_internals.h |    5 
 apps/gui/wps.c                       |   71 --------
 apps/settings.h                      |    6 
 apps/menus/theme_menu.c              |   22 ++
 apps/settings_list.c                 |    7 
 apps/filetree.c                      |   18 ++
 apps/features.txt                    |    3 
 apps/playback.c                      |    2 
 apps/filetypes.c                     |    4 
 apps/filetypes.h                     |    2 
 22 files changed, 600 insertions(+), 262 deletions(-)

Comment by Jonathan Gordon (jdgordon) - Wednesday, 03 March 2010, 09:35 GMT+2
another sync...
There is a problem where there isnt enough room on the buffer for the fms on non colour targets, so if you test on mono/grey then modify line 58 of apps/gui/skin_engine/skin_buffer.c. change that 2 to some larger number (10 or 12 perhaps) and it should work.
   radio_skin.diff (49.1 KiB)
 tools/release/bins.pl                |    2 
 tools/checkwps/checkwps.c            |    7 
 apps/recorder/radio.c                |  303 ++++++++++++++---------------------
 apps/recorder/radio.h                |   13 +
 apps/lang/english.lang               |   55 ++++++
 apps/settings.c                      |    3 
 apps/gui/theme_settings.c            |   10 +
 apps/gui/skin_engine/skin_engine.h   |   12 +
 apps/gui/skin_engine/wps_debug.c     |    1 
 apps/gui/skin_engine/skin_parser.c   |   33 +++
 apps/gui/skin_engine/skin_tokens.c   |  118 +++++++++++++
 apps/gui/skin_engine/skin_display.c  |  142 +++++++++++++++-
 apps/gui/skin_engine/skin_tokens.h   |   28 +++
 apps/gui/skin_engine/wps_internals.h |    5 
 apps/gui/wps.c                       |   71 --------
 apps/settings.h                      |    6 
 apps/menus/theme_menu.c              |   22 ++
 apps/settings_list.c                 |    7 
 apps/filetree.c                      |   18 ++
 apps/features.txt                    |    3 
 apps/playback.c                      |    2 
 apps/filetypes.c                     |    4 
 apps/filetypes.h                     |    2 
 23 files changed, 604 insertions(+), 263 deletions(-)

Comment by Jonathan Gordon (jdgordon) - Friday, 12 March 2010, 02:34 GMT+2
sync
   radio_skin.patch (47.7 KiB)
 tools/release/bins.pl                |    2 
 tools/checkwps/checkwps.c            |    7 
 apps/recorder/radio.c                |  303 ++++++++++++++---------------------
 apps/recorder/radio.h                |   13 +
 apps/lang/english.lang               |   55 ++++++
 apps/gui/theme_settings.c            |   10 +
 apps/gui/skin_engine/skin_engine.h   |   12 +
 apps/gui/skin_engine/wps_debug.c     |    1 
 apps/gui/skin_engine/skin_parser.c   |   31 +++
 apps/gui/skin_engine/skin_tokens.c   |  118 +++++++++++++
 apps/gui/skin_engine/skin_display.c  |  135 ++++++++++++++-
 apps/gui/skin_engine/skin_tokens.h   |   28 +++
 apps/gui/skin_engine/wps_internals.h |    5 
 apps/gui/wps.c                       |   71 --------
 apps/settings.h                      |    6 
 apps/menus/theme_menu.c              |   22 ++
 apps/settings_list.c                 |    7 
 apps/filetree.c                      |   18 ++
 apps/features.txt                    |    3 
 apps/playback.c                      |    2 
 apps/filetypes.c                     |    4 
 apps/filetypes.h                     |    2 
 22 files changed, 597 insertions(+), 258 deletions(-)

Comment by Jonathan Gordon (jdgordon) - Sunday, 14 March 2010, 11:54 GMT+2
AlexP-proof the two preset tags (fixes the issue where it hangs if you dont have any presets loaded)
   radio_skin.diff (47.8 KiB)
 tools/release/bins.pl                |    2 
 tools/checkwps/checkwps.c            |    7 
 apps/recorder/radio.c                |  303 ++++++++++++++---------------------
 apps/recorder/radio.h                |   13 +
 apps/lang/english.lang               |   55 ++++++
 apps/gui/theme_settings.c            |   10 +
 apps/gui/skin_engine/skin_engine.h   |   12 +
 apps/gui/skin_engine/wps_debug.c     |    1 
 apps/gui/skin_engine/skin_parser.c   |   31 +++
 apps/gui/skin_engine/skin_tokens.c   |  120 +++++++++++++
 apps/gui/skin_engine/skin_display.c  |  135 ++++++++++++++-
 apps/gui/skin_engine/skin_tokens.h   |   28 +++
 apps/gui/skin_engine/wps_internals.h |    5 
 apps/gui/wps.c                       |   71 --------
 apps/settings.h                      |    6 
 apps/menus/theme_menu.c              |   22 ++
 apps/settings_list.c                 |    7 
 apps/filetree.c                      |   18 ++
 apps/features.txt                    |    3 
 apps/playback.c                      |    2 
 apps/filetypes.c                     |    4 
 apps/filetypes.h                     |    2 
 22 files changed, 599 insertions(+), 258 deletions(-)

Comment by Michael Chicoine (mc2739) - Thursday, 18 March 2010, 03:06 GMT+2
I have found a couple of issues while testing the latest patch.

1. In the main menu, while FM Radio is highlighted, if you bring up the context menu and load a preset file you are taken into the FM screen after the file is loaded. If there is a progress bar in the FMS (including the in-built default), the progress bar does not work. The progress bar will work properly if you exit the radio screen and reenter.

2. In scan mode, I use this %?Tn<%s%ac%Tn|%Tf> to display a presets name (or frequency if it is unnamed) when a presets frequency is tuned. When not on a preset frequency, the preset name of the highest preset is displayed. I am attaching a fix for this, although it may not be the best way to handle this issue.
   preset_name_fix.patch (1.4 KiB)
 apps/gui/skin_engine/skin_tokens.c |   25 +++++++++++++++----------
 1 file changed, 15 insertions(+), 10 deletions(-)

Comment by Jonathan Gordon (jdgordon) - Sunday, 09 May 2010, 14:21 GMT+2
straight sync from my previous patch.. starting numbers again.
Michael I dont quite understand your fix?
   radio_skin.1.patch (48.5 KiB)
 tools/release/bins.pl                |    2 
 tools/checkwps/checkwps.c            |    7 
 apps/recorder/radio.c                |  303 ++++++++++++++---------------------
 apps/recorder/radio.h                |   13 +
 apps/lang/english.lang               |   55 ++++++
 apps/gui/theme_settings.c            |   10 +
 apps/gui/skin_engine/skin_engine.h   |   12 +
 apps/gui/skin_engine/wps_debug.c     |    1 
 apps/gui/skin_engine/skin_parser.c   |   31 +++
 apps/gui/skin_engine/skin_tokens.c   |  120 +++++++++++++
 apps/gui/skin_engine/skin_display.c  |  161 +++++++++++++++---
 apps/gui/skin_engine/skin_tokens.h   |   28 +++
 apps/gui/skin_engine/wps_internals.h |    5 
 apps/gui/wps.c                       |   71 --------
 apps/settings.h                      |    6 
 apps/menus/theme_menu.c              |   22 ++
 apps/settings_list.c                 |    7 
 apps/filetree.c                      |   18 ++
 apps/features.txt                    |    3 
 apps/playback.c                      |    2 
 apps/filetypes.c                     |    4 
 apps/filetypes.h                     |    2 
 22 files changed, 609 insertions(+), 274 deletions(-)

Comment by Michael Chicoine (mc2739) - Sunday, 09 May 2010, 21:17 GMT+2
Here is a better fix:

change skin_tokens.c line 390 from "if (radio_preset_count() == 0)" to "if (radio_preset_count() == 0 || preset == -1)"
Comment by Jonathan Gordon (jdgordon) - Monday, 10 May 2010, 12:36 GMT+2
Thanks, that change is in this patch, also fixed the issue in your comment 2 up about the bar not working when loading a presets file.
   radio_skin.2.diff (48.5 KiB)
 tools/release/bins.pl                |    2 
 tools/checkwps/checkwps.c            |    7 
 apps/recorder/radio.c                |  303 ++++++++++++++---------------------
 apps/recorder/radio.h                |   13 +
 apps/lang/english.lang               |   55 ++++++
 apps/gui/theme_settings.c            |   10 +
 apps/gui/skin_engine/skin_engine.h   |   12 +
 apps/gui/skin_engine/wps_debug.c     |    1 
 apps/gui/skin_engine/skin_parser.c   |   31 +++
 apps/gui/skin_engine/skin_tokens.c   |  129 ++++++++++++++
 apps/gui/skin_engine/skin_display.c  |  161 +++++++++++++++---
 apps/gui/skin_engine/skin_tokens.h   |   28 +++
 apps/gui/skin_engine/wps_internals.h |    5 
 apps/gui/wps.c                       |   71 --------
 apps/settings.h                      |    6 
 apps/menus/theme_menu.c              |   22 ++
 apps/settings_list.c                 |    7 
 apps/filetree.c                      |   18 ++
 apps/features.txt                    |    3 
 apps/playback.c                      |    2 
 apps/filetypes.c                     |    4 
 apps/filetypes.h                     |    2 
 22 files changed, 618 insertions(+), 274 deletions(-)

Loading...