cabbiev2: 400x240 FM screen, sharing the WPS backdrop

CabbieV2 had an FM screen only for the 160x128 and 128x128 greyscale
targets. Add one for 400x240, laid out like its WPS: station art and
names where the album art and track info are, the frequency in the
progress bar, Scan/Preset, MHz and Stereo/Mono below it, and hold,
battery, volume and signal strength along the bottom.

Both screens share one backdrop, its header bar empty: each draws its
label, NOW PLAYING or FM RADIO, in Helvetica Bold rather than having it
painted into a backdrop of its own. The shuffle and repeat
placeholders, painted into the old WPS backdrop, are images drawn
while those are off.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Change-Id: I0331184479589cd4953bd78f4ead336f5d9b6fea
This commit is contained in:
Marcin Bukat 2026-10-05 09:58:26 +02:00
parent b0ad97add8
commit 4c78e98461
6 changed files with 111 additions and 4 deletions

View file

@ -110,6 +110,7 @@ wps.112x64x1: cabbiev2.112x64x1.wps
wps.96x96x(16|24|32): cabbiev2.96x96x16.wps
# override implicit .fms filename
fms.400x240x(16|24|32): cabbiev2-400x240x16.fms
fms.160x128x2: cabbiev2-160x128x2.fms
fms.128x128x2: cabbiev2-128x128x2.fms

View file

@ -0,0 +1,94 @@
# Cabbie v2.0
# (C) 2010-2026 The Authors (see /rockbox/wps/AUTHORS)
# Derived from "Cabbie v2.0" (C) 2010-2012 The Authors
#
# One backdrop for the WPS and the FM screen: the header label is drawn,
# rather than painted into it.
#
# Disable Status Bar
%wd
#
# Load Backdrop
%X(backdrop-400x240x16.bmp)
#
# Header font
%Fl(2,12-Adobe-Helvetica-Bold.fnt)
#
# Preload Images
%xl(lock,lock-320x240x16.bmp,0,0,2)
%xl(battery,battery-320x240x16.bmp,0,0,10)
%xl(volume,volume-320x240x16.bmp,0,0,10)
#
# Station Art/Info Viewport Conditional
# Preset present conditional
# RDS present conditional
%?C<%Vd(art)>
%?Ti<%?C<%Vd(art_preset)|%Vd(noart_preset)>>
%?tx<%?Ti<%?C<%Vd(art_preset_rds)|%Vd(noart_preset_rds)>|%?C<%Vd(art_nopreset_rds)|%Vd(noart_nopreset_rds)>>|>
#
# Header
%V(10,11,380,12,2)%Vf(0F0B00)
%acFM RADIO
#
# Frequency Bar
%V(10,162,380,15,-)
%pb(0,0,380,15,pb-400x240x16.bmp)
#
# Hold
%V(144,207,30,23,-)
%xd(lock,%mh)
#
# Battery
%V(182,207,44,23,-)
%?bp<%?bc<%xd(battery,1)|%xd(battery,2)>|%xd(battery,%bl,2)>
#
# Volume
%V(233,207,34,23,-)
%xd(volume,%pv)
#
# Signal strength
%V(277,207,113,23,1)
%ar%tr dBuV
#
# Below frequency bar Scan/Preset frequency MHz Force Mono/Mono/Stereo
%V(32,180,336,20,1)
%al%?tm<%Sx(Scan)|%Sx(Preset)> %ac%tf MHz %ar%?St(force fm mono)<%Sx(Force Mono)|%?ts<%Sx(Stereo)|%Sx(Mono)>>
#
# Station Art
%ax%Vl(art,16,32,120,120,-)
%Cl(0,0,120,120,c,c)
%Cd
#
# Station Art
# Preset present
%ax%Vl(art_preset,153,40,-,20,1)
%Vp(0,%s%al%?Ti<Station: |>%?Tn<%Tn|%Tf>)
%ax%Vl(art_preset,153,62,-,20,1)
%Vp(1,%s%al%?Ti<Next station: |>%?Tn<%Tn|%Tf>)
#
%ax%Vl(art_preset_rds,153,94,-,40,1)
%s%al%ty
%s%al%tz
#
# Station Art
# Preset absent
%ax%Vl(art_nopreset_rds,153,62,-,40,1)
%s%al%ty
%s%al%tz
#
# No station art
# Preset present
%Vl(noart_preset,10,40,380,20,1)
%Vp(0,%s%ac%?Ti<Station: |>%?Tn<%Tn|%Tf>)
%Vl(noart_preset,10,62,380,20,1)
%Vp(1,%s%ac%?Ti<Next station: |>%?Tn<%Tn|%Tf>)
#
%Vl(noart_preset_rds,10,94,380,40,1)
%s%ac%ty
%s%ac%tz
#
# No station art
# Preset absent
%Vl(noart_nopreset_rds,10,62,380,40,1)
%s%ac%ty
%s%ac%tz

View file

@ -1,12 +1,18 @@
# Cabbie v2.0
# (C) 2007-2012 The Authors (see /rockbox/wps/AUTHORS)
# (C) 2007-2026 The Authors (see /rockbox/wps/AUTHORS)
# Derived from "cabbie" (C) Yohann Misquitta
#
# One backdrop for the WPS and the FM screen: the header label is drawn,
# rather than painted into it.
#
# Disable Status Bar
%wd
#
# Load Backdrop
%X(wpsbackdrop-400x240x16.bmp)
%X(backdrop-400x240x16.bmp)
#
# Header font
%Fl(2,12-Adobe-Helvetica-Bold.fnt)
#
# Preload Images
%xl(A,lock-320x240x16.bmp,0,0,2)
@ -15,10 +21,16 @@
%xl(D,shuffle-320x240x16.bmp,0,0)
%xl(E,repeat-320x240x16.bmp,0,0,4)
%xl(F,playmode-320x240x16.bmp,0,0,5)
%xl(G,shuffleoff-400x240x16.bmp,0,0)
%xl(H,repeatoff-400x240x16.bmp,0,0)
#
# Album Art/Info Viewport Conditional
%?C<%Vd(a)|%Vd(b)>
#
# Header
%V(10,11,380,12,2)%Vf(0F0B00)
%acNOW PLAYING
#
# Progress Bar
%V(10,162,380,15,-)
%pb(0,0,380,15,pb-400x240x16.bmp)
@ -37,11 +49,11 @@
#
# Shuffle
%V(277,211,37,16,-)
%?ps<%xd(D)>
%?ps<%xd(D)|%xd(G)>
#
# Repeat
%V(320,207,18,23,-)
%?mm<|%xd(Ea)|%xd(Eb)|%xd(Ec)|%xd(Ed)>
%?mm<%xd(H)|%xd(Ea)|%xd(Eb)|%xd(Ec)|%xd(Ed)>
#
# Playmode
%V(346,207,24,23,-)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 281 KiB

After

Width:  |  Height:  |  Size: 281 KiB

Before After
Before After

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB