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:

Thank You for your continued support and contributions!

+  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 7316 times)

Offline Frankenpod

  • Member
  • *
  • Posts: 804
Re: [320x240] Tile based main menu
« Reply #45 on: June 12, 2021, 06:57:42 PM »
@millim

Hey, I found a glitch with the theme - but to be honest, it's the exact same glitch I've been having with my own icon-using themes.  If you go into the files menu, and there are long file names that need to scroll, it causes a problem when you come back out again - see the screenshots.

Either there's something we both get wrong about the logic of viewports, or there's a bug to do with scrolling text that only comes up when one does things with custom %vi statements to use icons.  The fact that there's already a bug with scrolling text, relating to the backgrounds of the SBS and WPS, makes me think it's the latter.


* glitch1.png (40.69 kB, 444x342 - viewed 312 times.)

* glitch.png (23.79 kB, 385x320 - viewed 307 times.)
Logged

Offline Frankenpod

  • Member
  • *
  • Posts: 804
Re: [320x240] Tile based main menu
« Reply #46 on: June 13, 2021, 04:32:23 AM »
I do suspect there's a bug in rockbox with how scrolling is implemented.  As well as this, I get other strange things happening with scrolling lines if I define a text-based %vi viewport.  And at least at one point there was a known existing bug where scrolling text on the WPS gets the background from the SBS.
Logged

Offline millim

  • Member
  • *
  • Posts: 19
Re: [320x240] Tile based main menu
« Reply #47 on: June 13, 2021, 04:07:48 PM »
Hello Frankenpod,

oh, I was not aware of this either. But, ginkgo should have run into the same issue? He did not mention this. Maybe there is a missing link how to manage this? I think %Vi( ) uses the display buffers in a different way. After booting the ipod, the SBS backdrop gets loaded nicely, when the interpreter gets to the point %Vi(-,32,20,256,192,1), this portion of the screen defaults back to the rockbox bootscreen for 1 second, then the tiles get visible. This might connect the the scrolling? Maybe the line gets registered somewhere to scroll, when going back to the tile screen, it does not get automatically de-registered or obsolete to update, respectively.   

Maybe ginkgo or the development team can comment on this?

millim
Logged

Offline millim

  • Member
  • *
  • Posts: 19
Re: [320x240] Tile based main menu
« Reply #48 on: June 14, 2021, 11:36:58 AM »
Some update...

I was checking a bit the code and I think it is indeed a bug in rockbox. Maybe it is connected to the fact that the skinlist concept is not completed, it still needs the classical skin list engine:

in list.c
Code: [Select]
    FOR_NB_SCREENS(i)
    {
#ifdef HAVE_LCD_BITMAP
        if (!skinlist_draw(&screens[i], gui_list))
#endif
        list_draw(&screens[i], gui_list);
    }

it looks that the gui_list structure is not correctly liked when stepping out from the list_draw to the skinlist_draw viewports, by pressing MENU actually when a list item is highlighted and scrolling so:

Code: [Select]
struct viewport *parent = (list->parent[screen]);
display->scroll_stop_viewport(parent);

has no effect.

millim

Logged

Offline millim

  • Member
  • *
  • Posts: 19
Re: [320x240] Tile based main menu
« Reply #49 on: June 15, 2021, 05:06:27 AM »
Some update...

found a simple fix. Unfortunately, need to modify the code. You may test if this also works for you. In list-skinned.c: need to add:

Code: [Select]
    if (listcfg[screen]->tile == true)
      display->scroll_stop();

Showing the skinlist_draw() function and how to add the fix:

Code: [Select]
bool skinlist_draw(struct screen *display, struct gui_synclist *list)
{
    int cur_line, display_lines;
    const int screen = display->screen_type;
    struct viewport *parent = (list->parent[screen]);
    char* label = NULL;
    const int list_start_item = list->start_item[screen];
    struct gui_wps wps;
    if (!skinlist_is_configured(screen, list))
        return false;

    current_list = list;
    wps.display = display;
    wps.data = listcfg[screen]->data;
    display_lines = skinlist_get_line_count(screen, list);
    label = (char *)SKINOFFSETTOPTR(get_skin_buffer(wps.data), listcfg[screen]->label);
    display->set_viewport(parent);
    display->clear_viewport();

    // fix the scrolling glitch
    if (listcfg[screen]->tile == true)
      display->scroll_stop();

millim
 
Logged

Offline Bilgus

  • Developer
  • Member
  • *
  • Posts: 1194
Re: [320x240] Tile based main menu
« Reply #50 on: June 16, 2021, 08:38:39 AM »
I think last time I ran into this bug the order of displaying viewports made a difference but this was like 2016
Logged

Offline Bilgus

  • Developer
  • Member
  • *
  • Posts: 1194
Re: [320x240] Tile based main menu
« Reply #51 on: June 16, 2021, 08:43:01 AM »
BTW @millim nice sleuthing :)

if you remove the if statement and make it
unconditionally call scroll_stop does it
work properly for you?
« Last Edit: June 16, 2021, 08:48:46 AM by Bilgus »
Logged

Offline millim

  • Member
  • *
  • Posts: 19
Re: [320x240] Tile based main menu
« Reply #52 on: June 16, 2021, 04:50:09 PM »
.. well had to investigate a bit how things play together  :). Yes, making it un-conditional works also for me. Do you plan to add this fix for the next release?

BTW, I have also added pictureflow to the main menu. It was already partially there, only three lines of code are necessary to make it work. Would also be nice if you can consider this extension.

I have attached the code with these modifications.

millim


* Screenshot from 2021-06-16 22-36-01.png (11.33 kB, 325x244 - viewed 303 times.)
* root_menu.c (26.96 kB - downloaded 89 times.)
Logged

Offline Frankenpod

  • Member
  • *
  • Posts: 804
Re: [320x240] Tile based main menu
« Reply #53 on: June 16, 2021, 06:15:56 PM »
@millim

Sounds as if you have honed-in on the problem.  Dealing with the Rockbox code itself is, as the phrase has it "above my pay-grade", so I'd rather leave it to any devs who care to take an interest to sort out.  I wonder to what extent it's the same problem I've found with custom %vi statements that aren't tile-based?  Difficult to provide a screenshot as they don't seem to happen the same way in the simulator as on the ipod.  Either the text and background come out the same colour (regardless of what colours you tell it to use) for selected lines that are long enough to trigger scrolling, or, even more weirdly, the scrolling fails to work correctly and the text instead of scrolling just sort of smears itself like wet ink being smudged across a page.
Logged

Offline dconrad

  • Developer
  • Member
  • *
  • Posts: 294
Re: [320x240] Tile based main menu
« Reply #54 on: July 15, 2021, 09:36:01 PM »
I finally got a chance to try this theme, it's looking great! I love the vu meters on the wps  ;D

This might have been covered in the thread already (I confess not to have read it all), but is there any chance the main menu icons could support reordering and arbitrary hiding/showing? (this is done in the main menu config plugin). That's probably a fairly hard problem but figured I would ask.

I have the Recent Bookmarks enabled, my device doesn't have recording, and I've reordered the menu a bit (put "Now Playing" at the top), so half of the icons no longer match.
Logged

Offline RetiredTeacherGuy

  • Member
  • *
  • Posts: 43
  • Still trying to learn
    • Chroma theme for Rockbox
Re: [320x240] Tile based main menu
« Reply #55 on: January 13, 2025, 11:03:23 AM »
Quote from: Frankenpod on June 12, 2021, 06:57:42 PM
@millim

Hey, I found a glitch with the theme - but to be honest, it's the exact same glitch I've been having with my own icon-using themes.  If you go into the files menu, and there are long file names that need to scroll, it causes a problem when you come back out again - see the screenshots.

Either there's something we both get wrong about the logic of viewports, or there's a bug to do with scrolling text that only comes up when one does things with custom %vi statements to use icons.  The fact that there's already a bug with scrolling text, relating to the backgrounds of the SBS and WPS, makes me think it's the latter.

Hello all. I found this post after about a week of struggling with tiles. But that’s fine, as I read through the posts, I feel like I lived the experience with you haha.

My challenge was (and is) to get the Settings submenu to revert to the stock UI for the lists under Sound Settings etc. I tried many things, but at this point I took over the list for those items by laying a viewport over the Settings tiles. As you know, they all come under %cs 6 so I think that’s the issue. If anyone has solved, please let me know.

Glad to have found the forums.
Logged

Offline Bilgus

  • Developer
  • Member
  • *
  • Posts: 1194
Re: [320x240] Tile based main menu
« Reply #56 on: January 13, 2025, 07:41:08 PM »
RetiredTeacherGuy Welcome to the forums!

Thanks for reminding me

Quote
Hey, I found a glitch with the theme
this should be fixed as of today

https://gerrit.rockbox.org/r/c/rockbox/+/6330

« Last Edit: January 13, 2025, 07:44:19 PM by Bilgus »
Logged

Offline RetiredTeacherGuy

  • Member
  • *
  • Posts: 43
  • Still trying to learn
    • Chroma theme for Rockbox
Re: [320x240] Tile based main menu
« Reply #57 on: January 14, 2025, 07:27:52 AM »
wow really!!!!??? Thank you!!!!
Logged

Offline RetiredTeacherGuy

  • Member
  • *
  • Posts: 43
  • Still trying to learn
    • Chroma theme for Rockbox
Re: [320x240] Tile based main menu
« Reply #58 on: January 17, 2025, 11:02:15 AM »
Quote from: Bilgus on January 13, 2025, 07:41:08 PM
RetiredTeacherGuy Welcome to the forums!

Thanks for reminding me

Quote
Hey, I found a glitch with the theme
this should be fixed as of today

https://gerrit.rockbox.org/r/c/rockbox/+/6330

I thought this was related to the issue I’m experiencing, but alas it is not. If I use:

%?and(%if(%cs,=,6),%if(%Lt,=,Settings))

I can route the Settings screen to use tiles. But when you click into any of those menu items (such as Sound Settings, Playback Settings and so on) you will still be expected to use tiles, instead of seeing the text UI. If you click down from there, you can get text output. Is there any way around this?

Thanks
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.116 seconds with 22 queries.