Rockbox.org home
Downloads
Release release
Dev builds dev builds
Extras extras
themes themes
Documentation
Manual manual
Wiki wiki
Device Status device status
Support
Forums forums
Mailing lists mailing lists
IRC IRC
Development
Bugs bugs
Patches patches
Dev Guide dev guide
translations translations
Search



Donate

Rockbox Technical Forums


Login with username, password and session length
Home Help Search Staff List Login Register
News:

Welcome to the Rockbox Technical Forums!

+  Rockbox Technical Forums
|-+  Support and General Use
| |-+  Theming and Appearance Customization
| | |-+  [320x240] Tile based main menu
« previous next »
  • Print
Pages: 1 2 [3] 4

Author Topic: [320x240] Tile based main menu  (Read 7095 times)

Offline Frankenpod

  • Member
  • *
  • Posts: 786
Re: [320x240] Tile based main menu
« Reply #30 on: May 31, 2021, 02:43:13 PM »
Hmmm, noticed another bug I didn't catch - seems when the text menus are "hand-crafted" you have to explicitly tell them to scroll.  Hence long file names are not fully readable in the file view as it currently stands.  Will fix that for the next "release" (i.e. will have to reupload yet again).

Edit -this should now be fixed with the new version uploaded.  Also added icon/tiles for all the remaining menus (bar the recording one).

Edit 2 - drat, making the entries in the file view scroll seems to create a strange problem whereby the background and text colours become the same so you can't read it.  And furthermore, this only happens on the ipod itself, not in the simulator, so it's  really tricky to test/debug.  (I wonder if it's related to the long-standing bug where scrolling text on the SBS gets the background from the WPS?  I can't see any reason for it in the SBS script itself).
« Last Edit: June 01, 2021, 05:29:16 PM by Frankenpod »
Logged

Offline millim

  • Member
  • *
  • Posts: 19
Re: [320x240] Tile based main menu
« Reply #31 on: June 01, 2021, 11:35:41 AM »
... inspired by the Nucleo Theme, I have used on Winamp decades, I am about to develop a skin for the ipod classic (320x240)

Here a very early draft. It holds two L/R VU meters on the bottom still not finished.

At the moment, I do have issues to understand how to put the picture flow and some games into the tiling main menu? Hopefully somebody can help me further.

millim

edit:
IRetro : https://themes.rockbox.org/index.php?themeid=3186

* compare_tile_size.png (134.45 kB, 1427x480 - viewed 84 times.)

* wps_v001.png (22.65 kB, 320x240 - viewed 84 times.)
« Last Edit: January 13, 2025, 06:29:20 PM by Bilgus »
Logged

Offline Frankenpod

  • Member
  • *
  • Posts: 786
Re: [320x240] Tile based main menu
« Reply #32 on: June 01, 2021, 02:54:47 PM »
Looks promising (nice tasteful colour scheme).  Are you saying you want to have the picture flow plug-in moved up from the 'demos' plug in sub-menu to a higher-level menu?  Not sure if that's possible within the scope of the theme engine.  Or is your plan to make the games and demos menus tiled?  I guess that would work the same way as the other menus.

One potential problem that's just occurred to me is that any change to the core code that adds or removes entries from the menus will confuse themes that use icons (causing entries to get the wrong icons).  That already seems to be the case with one menu entry that isn't in the rockbox version used in the simulator but is in the later dev releases ("set wps context plug-in" on the general settings menu).  If you iconify the plug-in sub-menus that would get even worse, if any plug-ins are added or removed.
« Last Edit: June 01, 2021, 02:57:48 PM by Frankenpod »
Logged

Offline millim

  • Member
  • *
  • Posts: 19
Re: [320x240] Tile based main menu
« Reply #33 on: June 01, 2021, 03:16:26 PM »
I just want to tile the main menu, all other menus shall be common text lists (no tiling).
Right, I want to move some plugins to highest level (main menu) for faster access. It will not be much, the picture flow, some games and emulators.

I can imagine that the text list entries must be well aligned with the icon (tile) list. I think there is no tag that overcomes this issue, and it will break the general usage.

millim   
Logged

Offline Frankenpod

  • Member
  • *
  • Posts: 786
Re: [320x240] Tile based main menu
« Reply #34 on: June 02, 2021, 06:44:22 AM »
I hope you can get it to work - more "tiled" themes would be good.
But I don't know how you'd move those plug-ins up the menu tree - seems like that would need changes to the underlying code base, not something that could be done via the existing theme engine.
Logged

Offline millim

  • Member
  • *
  • Posts: 19
Re: [320x240] Tile based main menu
« Reply #35 on: June 02, 2021, 11:28:23 AM »
Hi,

thank you for the greetings! :D

Meanwhile the baseline is done - I will call the Theme "iRetro". Still a lot to learn for me. There are so many details to learn how to use the skin engine. It is really a massive tool with a lot of features I need to understand. Hopefully you can help me again when I am stuck in the details I cannot sort out myself.

millim

* menu_list.png (86.35 kB, 349x613 - viewed 122 times.)

* main_menu.png (89.29 kB, 346x610 - viewed 85 times.)
Logged

Offline dconrad

  • Developer
  • Member
  • *
  • Posts: 273
Re: [320x240] Tile based main menu
« Reply #36 on: June 03, 2021, 10:11:58 AM »
Quote from: millim on June 01, 2021, 11:35:41 AM
... inspired by the Nucleo Theme, I have used on Winamp decades, I am about to develop a skin for the ipod classic (320x240)

Here a very early draft. It holds two L/R VU meters on the bottom still not finished.

At the moment, I do have issues to understand how to put the picture flow and some games into the tiling main menu? Hopefully somebody can help me further.

millim

I don't have much to add but that wps looks way cool   8)
Hopefully I can try it out sometime on my Eros Q, I believe it has the same resolution.
Logged

Offline millim

  • Member
  • *
  • Posts: 19
Re: [320x240] Tile based main menu
« Reply #37 on: June 05, 2021, 04:43:15 AM »
@ dconrad

thank you, hopefully I will make it to the finish line..

@Frankenpod

I think, I need your help again. The SPS looks ok now (see attached). Now I am working on the WPS. The layout and backdrop is basically done. Working on the details now..

Actually I have a problem with multicolor fonts. I want to match exactly the track time, sampling rate and some other text style exactly to the backdrop embedded text, which is multicolor. Maybe there are two ways?

1.) I have checked the convttf.c, there is a depth of 4bit specified, that could hold multicolor? I don't know.
2.) simply draw every single character that is taken from a bitmap list. So bit mapped numbers/characters shown as bit mapped icons.

Do you know how this works in rockbox? 

millim

* SPS_iRetro.png (91.56 kB, 345x609 - viewed 68 times.)
Logged

Offline amachronic

  • Developer
  • Member
  • *
  • Posts: 304
Re: [320x240] Tile based main menu
« Reply #38 on: June 05, 2021, 06:42:02 AM »
Quote from: millim on June 05, 2021, 04:43:15 AM
1.) I have checked the convttf.c, there is a depth of 4bit specified, that could hold multicolor? I don't know.

Actually that is only an alpha channel to make TTF fonts blend properly, it appears the fonts are always monochrome.

Quote from: millim on June 05, 2021, 04:43:15 AM
2.) simply draw every single character that is taken from a bitmap list. So bit mapped numbers/characters shown as bit mapped icons.

I suppose you may already know this, but you can set the font color per-viewport so if all you need is to render each bit of text in a single color, it is already doable, you just need to create lots of little viewports.

If you genuinely need varying colors within the text itself it's possible you might be able to render a fixed-width string using bitmaps with %ss tag to pull out characters one at a time. Using it roughly like this, using %fb for sample rate as an example:
Code: [Select]
%xd(your_bitmap,%ss(0, 1, %fb))
%xd(your_bitmap,%ss(1, 1, %fb))
... etc...
Problems are (a) you'd have to repeat this as many times as desired and align everything manually, (b) I'm not sure this would work at all, and (c) even if it does, if the string happened to be shorter than the number of characters you decided to render, I am not sure what would happen, it depends on how %ss handles this case. Oh, and your bitmaps would need to be padded to match ASCII encoding, and Unicode is pretty much out of the question.

Sorry I can't give any good solutions. Your theme does look pretty cool by the way, awesome work! :D
Logged

Offline Frankenpod

  • Member
  • *
  • Posts: 786
Re: [320x240] Tile based main menu
« Reply #39 on: June 05, 2021, 02:54:54 PM »
Quote from: Frankenpod on May 31, 2021, 02:43:13 PM
Hmmm, noticed another bug I didn't catch - seems when the text menus are "hand-crafted" you have to explicitly tell them to scroll.  Hence long file names are not fully readable in the file view as it currently stands.  Will fix that for the next "release" (i.e. will have to reupload yet again).

Edit -this should now be fixed with the new version uploaded.  Also added icon/tiles for all the remaining menus (bar the recording one).

Edit 2 - drat, making the entries in the file view scroll seems to create a strange problem whereby the background and text colours become the same so you can't read it.  And furthermore, this only happens on the ipod itself, not in the simulator, so it's  really tricky to test/debug.  (I wonder if it's related to the long-standing bug where scrolling text on the SBS gets the background from the WPS?  I can't see any reason for it in the SBS script itself).

Quoting myself rather than editing, to make this a bit more obvious.  I really can't figure out what is going on with this.  If I make the text menu (e.g for listing files) scroll, using %s (so the line is %s%LT), the text and background colours just go all weird.  Either the text comes out the same colour as the background (so the lines are blank) or they do something really weird like "smear" across the line instead of scrolling.  And, furthermore, the behaviour is different in the simulator and on the actual device (with the latest dev version).  Seems to be no way I can find to make the purely-text menus scroll properly. So I've given up and left those menus non-scrolling.
« Last Edit: June 05, 2021, 02:59:21 PM by Frankenpod »
Logged

Offline millim

  • Member
  • *
  • Posts: 19
Re: [320x240] Tile based main menu
« Reply #40 on: June 06, 2021, 10:00:29 AM »
@amachronic

thank you for you comprehensive explanation. Sounds a bit too complicated, need to find other ways how to accomplish that. Maybe you can consider this in a new release, would be really helpful to draw raw bitmaps fonts.

@Frankenpod
well, hopefully this does not hit me on the main menu scrolling, at the moment it is ok, but when putting the code changes on top with more apps on the main window, will run in the same problem. I think this is also one topic the development team can look into.

I still struggle with much more basic things...

Maybe I do not catch the concept of SBS and WPS. My understanding is that SBS is for the menus and WPS for the playback screen, totally isolated, but it doesn't? I want to display text on the menu screen but it should not be there on the playback screen. This sipped of code I have in the SBS file, I does not show the effect:

Code: [Select]
%?if(%cs, =, 1)<%Vd(text)>
%Vl(text, 100,210,150,16,3)%s%acABCDEFGHIJKLM1234567890 

When I now load a song, the WPS background is shown, but with the 100,210,150,16 region from the SBS section. What do I wrong. A screenshot is attached.

The WPS is short (for testing)

Code: [Select]
%we

# Load Backdrop
%X(BackgndWPS_16.bmp)

%V(0,0,320,240,-)

%?mp<%Vd(p)|%?C<%Vd(z)%Vd(a)|%Vd(z)%Vd(n)>|%Vd(p)|%?C<%Vd(z)%Vd(a)|%Vd(z)%Vd(n)>|%?C<%Vd(z)%Vd(a)|%Vd(n)%Vd(z)>>

# pb moved to sbs

%Vl(p,35,18,250,20,1)%Vf(ffffff)%Vb(000000)
%s%ac%?it<%it|%fn>
%Vl(z,35,22,250,20,1)%Vf(ffffff)%Vb(000000)
%s%ac%?it<%it|%fn>
%Vl(z,35,45,250,20,1)%Vf(ffffff)%Vb(000000)
%s%ac%ia
%Vl(z,35,68,250,20,1)%Vf(ffffff)%Vb(000000)
%s%ac%id 

p.s. The font topic is really taken me a lot of time. You cannot imagine how difficult it is to find and get a proper 3x7 (4x8) font to work on Linux and Windows. Actually, I do the background graphics on Windows MS Paint (btw a very good tool for bitmap manipulation), the rest with bash scripting and inkscape on Linux. The font needs to be ttf and fnt for closing the loop, but still not there...

millim 

* test_shoot.png (99.35 kB, 346x608 - viewed 83 times.)
Logged

Offline amachronic

  • Developer
  • Member
  • *
  • Posts: 304
Re: [320x240] Tile based main menu
« Reply #41 on: June 06, 2021, 12:18:06 PM »
@millim am I right to think you just need a basic font like the brown "ABCEDF..." in your screenshot? It looks like simple foreground/background colors would serve your needs if you had a font... the problem is getting some ready-made font you can convert to the Rockbox format.

I think .bdf bitmapped fonts are what you need -- those can be converted to the Rockbox font format using convbdf. Some googling suggests FontForge can work with basic bitmap fonts, see this. If you're already drawing fonts by hand in paint then it seems not much different in fontforge, except it can probably save to a "proper" .bdf file you can convert to Rockbox's format. It seems there might be other .bdf font editors if you go looking, if FontForge is not your thing.

Quote
My understanding is that SBS is for the menus and WPS for the playback screen, totally isolated, but it doesn't?
Try putting %wd (disable status bar) in your WPS file instead of %we. When you use an SBS file in your theme I am pretty sure %we will make Rockbox draw the SBS over top of the WPS.
Logged

Offline cereal_killer

  • Member
  • *
  • Posts: 452
Re: [320x240] Tile based main menu
« Reply #42 on: June 06, 2021, 05:01:38 PM »
Quote from: millim on May 31, 2021, 10:27:13 AM
The Roboto font, I cannot find, also the downloaded font package for the classic does not include the font. Also the github repos pointing to Roboto font set are empty? How can I resolve this?

I found the anti aliased font pack and the roboto font pack from [Saint] and could upload them to a free file hoster, if there are no legal objections.
« Last Edit: June 06, 2021, 05:03:13 PM by cereal_killer »
Logged

Offline millim

  • Member
  • *
  • Posts: 19
Re: [320x240] Tile based main menu
« Reply #43 on: June 07, 2021, 09:54:32 AM »
@amachronic

yes, putting %wd solved the issue, thank you for that! I was also able to find a solution for the thin track information font mentioned recently. Half way done, I think, I have reached the point of no return  :).

* iRetro_half_way_done.png (103.71 kB, 343x608 - viewed 81 times.)
Logged

Offline Frankenpod

  • Member
  • *
  • Posts: 786
Re: [320x240] Tile based main menu
« Reply #44 on: June 10, 2021, 10:49:59 PM »
@millim

Great work.  I like the tasteful subdued icons.

Seems as if it might be impossible to do the whole thing with icons all the way down, because of this weird scrolling-related issue that seems to crop up with the text lists (of filenames, themes etc) if you use icons for any menu below the top level one.  Maybe I'm misunderstanding something but I can't find a way to make it work.
Logged

  • Print
Pages: 1 2 [3] 4
« previous next »
+  Rockbox Technical Forums
|-+  Support and General Use
| |-+  Theming and Appearance Customization
| | |-+  [320x240] Tile based main menu
 

  • SMF 2.0.19 | SMF © 2021, Simple Machines
  • Rockbox Privacy Policy
  • XHTML
  • RSS
  • WAP2

Page created in 0.114 seconds with 21 queries.