1
0
Fork 0
forked from len0rd/rockbox
Commit graph

2304 commits

Author SHA1 Message Date
Solomon Peachy
8d5fd1b20b manual: add 'manual-7zip' build target for 7zipped HTML manual.
7zip produces files nearly *half* the size of a zipped one.

Change-Id: Ic8bc4129dd4106a32060c98049061ea3848ebddc
2025-04-18 11:24:40 -04:00
William Wilgus
25c345feac Manual add theme list tags
these have been around since around 2010 add them to the manual

Change-Id: I4f28c4c8ef837f54e77f55c835355cde8991cdb2
2025-04-02 07:32:02 -04:00
Solomon Peachy
2d4def6fd9 manual: fix red in 7967c050df
The new announce_status plugin manual had some errors:

 * unescaped '_'
 * spurious trailing '}'

Also made the time/date stuff gated behind the 'rtc' option, as
they won't function otherwise.

Change-Id: Iddd49472d4961ed167678ec835e777320570024a
2025-03-29 07:58:56 -04:00
William Wilgus
7967c050df Manuals for Multiboot_Select, Open_plugins, Announce_Status
Change-Id: Ic9026bc574651a2297da79a22b9c76a8dbd8d6d3
2025-03-29 02:37:12 -04:00
William Wilgus
61ae5e691e Gogear Sa9200 add keymap definitions
Change-Id: I731844a532bc119c5499c53cd6b3d202459a2683
2025-03-27 14:34:12 -04:00
Solomon Peachy
68c3fbe263 erosq: Rework pluginlib mappings a little
prev/next -> PLA_LEFT/RIGHT
volup/dn  -> PLA_UP/DN
scrollwheel -> PLA_SCROLL_*

This will fix bubbles and any other plugin that is explicitly expecting
PLA_SCROLL_* events.

Change-Id: I9fd4c2e6bdd13e147b20e0f0f600e7e0b9a82842
2025-03-25 17:34:56 -04:00
Dana Conrad
19a636ddeb Add Eros Q OF V2.2 to known hw4 targets
Both rbutil and manual need to have entries for V2.2.

Change-Id: If1714456792820e119babe5176f405e273e764b5
2025-03-25 00:18:49 +00:00
Solomon Peachy
7f9bf6d7d0 manual: Update copyright year to 2025
Change-Id: I52057f5502c257c8652a2b226b2a7750e6d1843b
2025-03-21 13:57:19 -04:00
Christian Soffke
f49e941fe4 html-manual: fix "TeX capacity exceeded" with recent tex4ht
Change-Id: I6b63185190746fff24fa8dc56f6943a0ed355487
2025-03-19 20:39:04 -04:00
Solomon Peachy
1dc8a5a8ce Revert "mikmod: Invert scrolling on everything that's not an ipod"
It fixes scrolling but inverts the volume, which is worse.

This reverts commit 003da4d223.
2025-03-18 10:58:26 -04:00
Christian Soffke
df7d68a6e2 Have "Create Playlist" always create playlist from all tracks
Change-Id: Ic04724139d03417f7cac55f3cfa5aed5610c9747
2025-03-13 19:28:04 +01:00
Christian Soffke
a77cb9dc77 playlist save: ensure required file exists, proper filename used
Trying to save a current playlist associated with a
file that doesn't exist anymore, is likely to result
in a panic.

+return to keyboard picker after
complaining about missing dir.

Change-Id: I00ea0b08521d4a4503243d636af01252119939bc
2025-03-13 19:27:57 +01:00
Christian Soffke
ecc72c0df9 Manual updates
- Reverse order of prev/next buttons in html manual
- Rename "Playlist Catalogue" to "Playlists"
- Update order of menu items in "Playlists" context menu section
- Add "View Album Art" to "WPS Context Menu" section
- Adjust wording in "Playlists", "Basic Controls/Concepts" and
  "Database" section
- Fix: Playlists are saved to root directory (not cwd) if no path
  provided
- Fix: "Recursively Insert Directories" applies to all playlists,
  not just the current one
- Fix: Update description of "Create Playlist" option
- Generally refer to "current playlist" instead of
  "dynamic playlist" and remove reference to "on-the-fly playlist"

Change-Id: I200d19c5fb10f1f0ddb7d993827c90be4a7402b9
2025-03-11 08:41:40 -04:00
Solomon Peachy
003da4d223 mikmod: Invert scrolling on everything that's not an ipod
mikmod uses WPS_VOLUP and WPS_VOLDOWN to scroll down and up
respectively, which works for the ipod clickwheel, but results in
inverted scrolling for everyone else.  Correct this for all non-ipods
and correct the manul (which actually didn't report this either)

Change-Id: I5a84512dfbf068ca5c4206f4362185d4d7e5c9fc
2025-03-11 08:38:38 -04:00
William Wilgus
4f3bbeaffc Remove BATTERY_TYPES
Change-Id: I4fa03a10d0032fd6f92722bbe1d4b7eec0b95cb4
2025-03-11 02:26:38 -04:00
Christian Soffke
fbfdd8bb41 PictureFlow: Rejigger menu options
Put Sort command as first entry into main menu,
and immediately exit menu after sorting has changed,
to allow quicker adjustments than before.

Move commands to update or rebuild the cache from
Settings into main menu for improved discoverability,
and since they aren't really proper settings anyway.

Add 'Display' submenu to Settings which now houses the
following more 'esoteric' options that are likely to
need only infrequent adjustments:

- Backlight
- Display FPS
- Spacing
- Center Margin
- Number of Slides
- Zoom
- Resize Covers

Change-Id: I5bb3ee922cb870f9b6db9bd6ac9480d49f5decf3
2025-03-09 18:29:07 +01:00
William Wilgus
10f8312db4 FS#13538 export and import battery level tables
when battery_bench is run
exports a file in the rockbox directory called 'battery_levels.default'

if the user wants their own levels they can rename the file battery_levels.cfg
and it will be loaded at boot

some minimal error checking is performed prior to using the values

added manual entry

Change-Id: Ia0126faced0c7229fcf8385a1bcb584b5a9dc378
2025-03-06 11:54:21 -05:00
William Wilgus
dad8f163c3 lastfm_scrobbler fix formatting, progress messages, export mode
make the plugin context aware to allow user to one
click export from a shortcut, basically it checks if its running in the
file browser if elsewhere does auto export

use a buffer for the fixed portion of the scrobble data

add timed_yield to long running operations
add progress bars and messages as scanning for duplicates takes a while
speed up duplicate scanning 4x

1000 tracks processing took ~2 minutes with duplicate scanning down from ~5

previous patch makes playback logging create a new file after 512k
old files renamed playback_0001.log
make scrobbler able to parse these log files

add ability to skip tracks without metadata and count them

Remove duplicates only for resume or remove all duplicates

allow skipping tracks without metadata or save only filename

update manual

Change-Id: I115bcfd3381f5a978252aac1cdfcc080f0797dda
2025-03-01 19:16:46 -05:00
William Wilgus
731f3fd8be Playback logging add Start time and rename when log size exceeds 512k
renames to playback_nnnn.log

you won't get the message when first enabling logging since it
happens at start-up..

Change-Id: I58ca65a48deff7c5bb1f93c3d86d9ee9e19f3f2e
2025-03-01 19:16:46 -05:00
Solomon Peachy
78fa02aa39 FS#13559: manual: Correct URLs in ipod6g bootloader installation instructions
Change-Id: Ie97534e710d10b07d4bcfb5a323dca08b45bf343
2025-02-13 10:34:45 -05:00
William Wilgus
43068ef270 [Feature] Set values of settings from shortcuts
Adds 'Add Current to Shortcuts' for settings alowing you to save
the current value and restore it with a shortcut

Change-Id: I0d5c5da9553248a70fd46d5553486ebf7865a20a
2025-01-25 15:13:13 -05:00
William Wilgus
4e271642df [Feature] Persist pitch settings through reboots part deux
Revisit this after discussion with chris_s on IRC and forum

Pitch menu now changes icon when pitch has been changed

uses NVRAM to save the pitch settings unconditionally

Manual updated

Change-Id: Idcb4c2b7fe42f7a203dc4bfc46285657f370d0fd
2025-01-19 00:29:47 -05:00
William Wilgus
c4ceea40bf [BugFix] pitch screen load config fd wasn't closed
check file_exist(PITCH_CFG_FILE)
close fd when finished

If you already have a setting saved and you reenter the pitch plugin
with differing pitch settings you will be asked to restore your
default settings

update manual entry to be a clearer

Change-Id: Iaaaf08983a355f9848412d1c6b0bba25d6ea8f39
2025-01-18 11:47:12 -05:00
William Wilgus
a8f6ddc5ed [Feature] bookmark.ignore to selectively ignore or include directories
allows blacklist / whitelisting of bookmarks by directory

Change-Id: I4eb684bb5775d1bba1c97b416e7d25e4763be553
2025-01-18 00:21:42 -05:00
William Wilgus
13c3214d9c [Feature] Persist pitch settings through reboots
saves the pitch setting across reboots

adds option 'Reset Setting'

Change-Id: I75d88f9653883a256c6cca0f7adcdccb2dd51406
2025-01-17 22:42:15 -05:00
Christian Soffke
5ad29c50bb update manual for 7f4a889
Change-Id: Id2f6dfd461f40843dcd86c59cfd22bc7e38ae367
2025-01-16 19:04:58 +01:00
William Wilgus
c3fd32bdf2 [Feature] playback logging from core
people don't like having to remember to run the TSR plugin so
lets meet them halfway

all tracks are added with timestamp, elapsed, length, trackname

added buffering for ATA devices

still needed:
-Done -- a plugin that parses for duplicates and reads the track info
to create the actual scrobbler log
(log can be truncated once dumped)
this should allow you to run the plugin at leisure

later I'd like to expand this logging to allow
track culling based on skipped songs..

remove the TSR plugin as hard disk no longer need to use it

Change-Id: Ib0b74b4c868fecb3e4941a8f4b9de7bd8728fe3e
2025-01-13 00:45:09 -05:00
William Wilgus
dfd01709c5 [Bugfix] theme %ss will overflow buffer, update %ft manual entry
%ss did not check for the size of the resulting string before
copying it to the buffer

%ft has a search text mode

Change-Id: I1321681c249251aafe0e39bcc510b9e81f0cd0d3
2024-12-22 23:59:31 -05:00
William Wilgus
50515de940 [Fix Red] Manuals
Change-Id: Ie61e06b77d1e3ee2fcf06503bc6f487df67ebe64
2024-12-22 10:17:21 -05:00
William Wilgus
7c678f5e7a [Feature] %ft file text tags add prefix search
%ft(filename,search_text)
finds a line beginning with search_text strips search_text and returns
the remainder of the line

Change-Id: I06fe029b89aa60e4dbf34c039d180c75213519a4
2024-12-22 01:11:10 -05:00
William Wilgus
bcc8c608e5 Revert "FS#13429: Add a freeform "player name" configuration setting"
This reverts commit 2bb9323de8.

Reason for revert:superseded g#6154

Change-Id: I59250be7ecc6a08698be3429dc02a85272fcb9da
2024-12-07 23:02:22 -05:00
William Wilgus
44bfffd7c5 [Feature] skinengine subline timeout hide line for n seconds
builds on top of the file text patch to add hide timeouts to
subline text tags

this allows you to specify both a show time and hide time
for these elements

%t(show, hide)

also removes the 327 second limit for timeouts whne this form is used

Change-Id: If4598dcc24d0c7be4380e7595b7d91c7eba3a728
2024-12-07 23:02:22 -05:00
William Wilgus
eb3e5eb2bf [Feature] Skin engine Themes grab text from a file %ft(file, line)
allow the skin engine to read text files and return a particular line

you then can use ss on that string to allow display of strings from the file
(Playername comes to mind)

able to be used as conditional
%?ft(filename)<Found|Not Found>

if (selected) line of file is empty the tag is treated as #COMMENT

bugfix:
%t(n)%?x<text|text>
would ignore the specified timeout defaulting to 2 seconds

bugfix: cabbiev2.128x160x16.wps was missing %Sx()
for translation on 'Next Track:'

playername.txt generated at boot if it doesn't exist contents: 'Rockbox!'

Change-Id: I04ea4fd411f74c7c6e672657949aa520c2f86f95
2024-12-07 23:02:22 -05:00
Dana Conrad
5ed0db6e90 erosqnative: Repurpose stereosw_select setting for output select
Turns out they did not swap the stereo switch lines on us,
so this setting isn't really useful. Repurpose it to allow
the user to force the device into headphone or line output mode.

Note that settings other than "Automatic" will cause jack detection
to not work.

Default Automatic.

Change-Id: If94499fbb8f0d92111811fe51f6107ce213b66ad
2024-12-07 09:20:40 -05:00
Dana Conrad
77888b0f24 erosqnative: Add Hifiwalker H2 V2.0 to manual and rbutil labels
Change-Id: I8a830aa3c21965d0b7461a57ef7219abbf36002a
2024-12-03 15:50:10 -05:00
Dana Conrad
253eb79db3 erosqnative: hw4 support
Support hw4 units with AXP2101 PMU

Bootloader successfully compiles and loads onto device.
The LCD appears to be identical to hw3 units.
Scroll wheel and buttons work
Audio output works, including volume.
HP/LO detect works
Rockbox build is generic
GPIO gating logic seems to be working as intended now.

 - Added new GPIO definitions - some significant overlaps with pins
    from previous hardware revisions...
 - Added some GPIO definitions for older players we didn't know about
 - Add register definitions for AXP2101 from datasheet
    (these are very different from AXP192!)
 - Add AXP2101 regulator definitions, need to support multiple step
    sizes per regulator.
 - Verify AXP2101 voltage set multi-range logic
 - Verify AXP2101 voltage get multi-range logic
 - Make AXP2101 its own driver
 - AXP2101 driver should be "minimally viable", though I think
    there is some extra functionality that could be implemented.
 - Disabling the coulomb counter stuff - we could maybe make
   the E-Gauge work for the same purpose, but it only appears to
   be used on the debug screen at the moment so it doesn't seem
   like it's worth the effort.
 - Found new button GPIOs
 - Found error in my GPIO setting logic, blue light works now!
 - Set LDO/DCDC output voltages to OF's settings, as far as
   I can tell.
 - Determined we probably want TCS1421_CFG1:0 to be 0x00,
   for UFP behavior
 - Tested this rb build with both old and new bootloaders on hw1.5,
   hw2, hw4 in as many configurations as I can think of, works across
   the board.
 - Bootloader can install itself on hw4, so nand chip isn't novel
 - Uninstallation file can be made by patcher script, works on hw4
 - Installation file can be made by patcher script, works on hw4
 - Added HW4 to rbutil, manual

Change-Id: I5b75782273e81c2c6f2b9c79501c8b7cbf88391f
2024-11-22 17:01:39 -05:00
Solomon Peachy
e829ea9a5e ata: Rework how flushing, sleeping, and power off interacts
* FLUSH_EXT is used if featureflag is set and we are using LBA48
   (unconditionally used for CE-ATA on ipod6g)
 * FLUSH is used if featureflag is set (ATA6+) or if device claims to be ATA5+

 * Rename ata_disk_can_power_off() to ata_disk_can_sleep() as that is
   what it actually tests for.  Only use it to gate issuing the
   STANDBY IMMEDIATE command.
 * Restore behavior of ata_disk_is_active() to return 1 if drive is
   "spinning" or powered up.
 * Allow poweroff if drive claims PM support OR we are able to issue
   FLUSH/FLUSH_EXT commands.

 * Added ata_flush() to explicitly trigger a flush operation, and hook it
   up to storage_flush() in the device shutdown path. (Flushes were
   only previously used in the storage device power management path)

 * After issuing all settings, re-issue IDENTIFY_DEVICE to make sure
   it reflects everything we've enabled.

 * Update manual section on Flash/SSD mods.

Change-Id: I6770a54ef3a87f4c47120bcb96c944a6652f1bf4
2024-10-31 12:51:54 -04:00
Solomon Peachy
a232b1a98d manual: Correct typo in ipod6g-specific doumentation
Change-Id: I520a95a38dfc902c6694a4e9f3c8a641b675045d
2024-10-22 21:11:08 -04:00
Roman Artiukhin
b8238f7b20 imageviewer: Initial support for JPEG progressive images. Add decoder
Added jpeg decoder jpegp.c using RAINBOW lib. Currently enabled only for pictures not supported by old decoder (as old decoder more optimized for low mem targets)

Someone TODO:
 * Old decoder has optimized downscale logic which new decoder doesn't have (it gives big difference in required memory and time for decoding). This logic should be ported/adapted if possible.

 * Add smooth downscaling.

 * Grayscale support

Change-Id: Ie96bc62848b51cc6a3942f8e069ec6ab02dc1c56
2024-10-14 09:19:34 -04:00
Dana Conrad
5d2692375d rbutil: Add erosqnative
- Give each brand its own entry, and make ranges
  of OF versions correspond to hardware changes.
- Temporarily disabled target aigoerosq.
- Post-install hint enabled.
- Added pre-install hint function
- Added optional parameter themename, in case
  the target name does not match the themesite name.
- Made Port Status (statusAsString()) only care about platform
  string prior to first '.'
- Manual: Remove note that rbutil does not support this model

Issues:

 - Cannot uninstall the bootloader - manual instructions are available

Change-Id: I574aad7943ea3d1e543e9449f68240446fec0709
2024-09-24 10:48:58 -04:00
Solomon Peachy
e5d4e33403 manual: Additional notes about Flash/SSD mods
Change-Id: I2f54879cb2c0fe43179b59f5e5f3e8cf7dfc92e2
2024-09-22 09:20:57 -04:00
Solomon Peachy
1e7334a22c manual: Document the 128GB AppleOS limit of early ipod6g models.
(And do some minor massaging of the other storage limit language)

Change-Id: I73957b58cab9777dab0934215c743fd3d810db0f
2024-09-22 08:54:04 -04:00
Solomon Peachy
1be795c9b1 fix red thanks to tex4htm being a doody-head
Change-Id: Ic29916cb88c224f4bfb78075a399df0d320abfc3
2024-09-21 13:15:58 -04:00
Solomon Peachy
babc1e57e1 manual: Add a blurb about Windows format tool limitations
Change-Id: I8b51ad4d92910f5b143da02b0db90a851c68f41d
2024-09-21 13:01:45 -04:00
Solomon Peachy
5d6e498178 manual: Document storage/capacity limits and "SSD Mods"
Change-Id: Ida3e4bc2129bfa3481ddcc961f4156c3033189a1
2024-09-21 11:00:53 -04:00
Dana Conrad
bb1c2ea0b1 Fix manual build in 018c54ad1c
Change-Id: If0bce46e161b1f61543c73a4417eda1c179c34a7
2024-09-15 20:34:22 -04:00
Solomon Peachy
607adf00b5 manual: fix error in 018c54ad1c
Change-Id: I58bc8f726d2c82c0586e982753dda55c028aa3bd
2024-09-15 15:07:12 -04:00
Dana Conrad
018c54ad1c Manual: Update erosqnative
Update installation instructions, and add a couple things that
were missing.

Change-Id: I7313285338fe5c4bc05a944e3ba2ff941a796d5b
2024-09-15 14:53:49 -04:00
Paul Sauro
f7db73097a Playlist viewer: Add new options to allow formatting using tags
Offer new options to show elegantly your entries in any playlist/dynamic playlist viewer. This is especially important if you dual boot an iPod with Stock OS and want to sync with iTunes; with this very popular setup, file names are obfuscated which results in any Rockbox playlist viewer difficult to enjoy, and it was a long standing issue reported by several Rockbox users over the years. The only way to show the title was to open a contextual menu on each song to get infos about the selected song, which is a very long and anti-ergonomic process to understand what is on your current playlist/randomized playlist. The idea of this patch is to provide new alternatives that the user can select. I personally selected the Title & Album view which provides excellent readability.

This patch was built with performance in mind using lazy loading to load one by one the tags then cache a string and use the little cache as much as possible to make scrolling in the same area as smooth as possible. Performance remains very acceptable even on an iPod 4G with its original hard drive. Using a real compact flash with my iPod Mini 2G reduces the latency even more.

Those new options are disabled by default because they impact noticeably the scrolling performance and are less relevant if your files are decently properly named.

Unfortunately, the search feature in a playlist will need to continue to use the raw filename because reading the tags for a whole playlist is a performance disaster. This works decently while viewing just because I made a code that load those one by one as much as possible.

I focused also on testing that the opening of the playlist viewer UI remained fast, and loading one by one with lazy loading allows to get very little overhead in this regard.

Change-Id: I00d9c802e29f8372447813b035bbae207a016467
2024-09-09 18:21:38 -04:00
Paul Sauro
c16dbbfd1f Reworks to the shuffle system to improve performance and allow fast shuffling from a big library (but this work for all database views)
This improvement brings a huge performance improvement to start a random mix of your library. Previously, the only way to do this was to increase the size of a playlist with absurd sizes number. Now it will respect the limitation but will insert random songs from the current view.

Database: Add true random songs in playlist if it is gonna exceed its maximum capacity

More context is available here : https://www.reddit.com/r/rockbox/comments/1ez0mq4/i_developped_true_full_library_shuffle_for/

Also :
- Improved layout in the DB browser
- New default max playlists capacity is now 2000 on old PortalPlayer targets to give a better user experience and not having to wait dozens of seconds while creating a playlist
- "Show insert shuffled" option is now true by default
- Add a new shortcut to play all songs shuffled in the DB browser
- Now the feature is fully optional and enabled only on targets that have more than 2MB of RAM
- Add entries about this feature in the manual to explain it to the users
Change-Id: I1aebaf7ebcff2bf907080f1861027d530619097c

Change-Id: I3354923b148eeef1975171990e814a1a505d1df0
2024-08-31 10:44:20 -04:00