project-owner / Peppy

Peppy Player Repository
GNU General Public License v3.0
72 stars 14 forks source link

Scrollable file list / menus #17

Closed githubtobi closed 2 years ago

githubtobi commented 2 years ago

Hi there,

I am trying to implement a small UI change.

I want to make the file list in the file browser scrollable, instead of the left/right buttons in the navigator bar at the bottom. And I want only to display 2 items at the home menu and make them scrollable.

The Navigator bar would then be accessible by scrolling down the file list / the home menu items of course.

Do you have a quick idea in mind, where I could start? Or is a scrollable menu not that easy in pyGame?

project-owner commented 2 years ago

Hi,

The scrollable menu/screen can be implemented in Pygame. Though that's not so trivial task. You should also consider the fact that the most SPI displays are very slow. So the lag during updating the large screen area can be significant. For example check the VU Meter screensaver on SPI display. It's usually very sluggish.

If you are familiar with Python development you can try to implement scrolling of large screen by making movable images in the Image Viewer as a starting point: https://github.com/project-owner/Peppy.doc/wiki/Image-Viewer That should give you the idea how easy or complicated is that task. Also you can check the speed on the SPI touchscreen. You can use movable Volume Slider as a reference implementation. So try to replace those arrow buttons in the Image Viewer Navigator by on-screen scrolling. You need to get the first touch event and then move screen in case of the follow up 'mouse move' events.

Best regards

project-owner commented 2 years ago

You can enable/disable the items in the Home Menu: https://github.com/project-owner/Peppy/blob/9a52e0ebb0f6cdfdcce65806ac18c89faafdbd52/config.txt#L76

githubtobi commented 2 years ago

ok, great. Thanks for the tips. will have a try.