1
0
Fork 0
forked from len0rd/rockbox
Commit graph

37016 commits

Author SHA1 Message Date
William Wilgus
d7c541742f Allow first level folders in plugin menu
add sorting directories as files
move picross files to a hidden folder

use directory for lua_scripts, sgt_puzzles

make plugin browser able to handle 1st level directories

Change-Id: I30852d71dc992c378d5790756e94f06f5a2e9bef
2024-05-05 14:01:43 -04:00
William Wilgus
efcea66280 Revert "readdir_r use in tagcache.check_dir, ft_load"
This reverts commit 0c737d3b2e.

Reason for revert: Not really a concern as open_stream returns an independent buffer since g#566

Change-Id: Idbd2f4a7cc2ea6362b7714629469eeb7b3d19b3b
2024-05-02 13:38:32 -04:00
William Wilgus
0c737d3b2e readdir_r use in tagcache.check_dir, ft_load
Change-Id: Ibcde39ed247e100dd47ae877fb2a3625bbb38d8b
2024-05-02 09:33:29 -04:00
Solomon Peachy
f2f5543856 Minor mechanical corrections to the Serbian translation
Just silencing some warnings that prevented 100% completion status.

Change-Id: I92ed17317b6397f71e65034f1ce7f66ecb92854f
2024-05-02 09:20:43 -04:00
Solomon Peachy
edb32a022d FS#13421: Update Serbian translation (Ivan Pesic)
Change-Id: Ic3d11c695803889be2036ba3aef97a07ec02819f
2024-05-02 08:52:00 -04:00
Solomon Peachy
8ad2512a02 FS#12549: Improve manual with respect to shortcut talkclips
Change-Id: I27adef824649071cc30142f7fad8d04cd810774b
2024-05-01 21:00:08 -04:00
Solomon Peachy
2ba12c1674 trnslation: Fix minor errors in the Dutch and Italian translations
Change-Id: Iaec389b0a6357320c2d9662a824dd1872410a7cd
2024-05-01 10:29:30 -04:00
Solomon Peachy
b32266b7db updatelang: Avoid some runtime warnings
...And add '"' to the suspicious character list

Change-Id: Ia8a790882085a6e82c89cae09164ddbccf36e47f
2024-05-01 09:11:58 -04:00
Solomon Peachy
67f61e1e13 Minor fix for the Turkish translation
...Quotes (") are not legal characters in a string

Change-Id: I445b145011577c64fd428bd2dbdf55080a156e1e
2024-05-01 08:59:22 -04:00
Solomon Peachy
69828c36a8 FS#13419: Updated Turkish translation (Eren Akpolat)
Change-Id: Ib49cc2f1566a0d446ea50ff270e0ecda2caf43ba
2024-05-01 08:08:12 -04:00
Solomon Peachy
0c0b1b1a6b updatelang: Sanity-check the translated LANG_VOICED_DATE_FORMAT
This must be *localized* not translated!

Change-Id: I961eac91356a4b3ba7bba9828df69a08ce273543
2024-04-30 21:26:59 -04:00
Solomon Peachy
6485a489cf FS#13418: Partial update of Turkish translation (Eren Akpolat)
Change-Id: Ibb89ade1e049f1b79d47a12b6a348beff61296fb
2024-04-30 18:48:02 -04:00
Solomon Peachy
34c6ee539f updatelang: Include the old/incorrect format specifier in the error message
Change-Id: Ic8ea9430e1412d98b518bcb2d8508ef459d1700a
2024-04-30 06:18:46 -04:00
Solomon Peachy
73a47a1b5e updatelang: Make sure translated string has the correct format
We do this by parsing out the format specifiers and making sure the
translation has the correct number, type, and order of specifiers.
Percent literals ('%%') are ignored.

Mis-matched formats can lead to much badness, so to be safe, use the
untranslated string instead and flag it as a problem on the translation
site.

Change-Id: Ib48c2e5c3502735b1c724dd3621549faa8b602b7
2024-04-29 22:03:12 -04:00
Solomon Peachy
9fd4782c6a updatelang: Complain about suspicious characters in voiced strings.
The main intent is to catch printf() format specifiers (ie '%')

Change-Id: I8ed54993431e5f4d35e98de8faa7690198d5947f
2024-04-29 17:14:15 -04:00
Solomon Peachy
bf325de48e FS#13417: Updated Dutch translation (Leander Lismond)
Change-Id: I3576b74aba0830fb0e277de01836f70ff376fbea
2024-04-29 13:44:24 -04:00
Solomon Peachy
65861c4d6f FS#13416: Updated Polish translation (Adam Rak)
Change-Id: Iaee3e5a6f1af1d10a34072d1f48d3490f8131c04
2024-04-29 08:32:31 -04:00
Solomon Peachy
7550ed3df7 FS#13415 Updated Italian translation (Alessio Lenzi)
Change-Id: I4b18832c5fd1186c0a977f7315c357f841829746
2024-04-28 20:36:54 -04:00
William Wilgus
6fccac3f44 lua extend stars demo plugin
extend the stars demo plugin with hit testing and more

draw_poly now returns the extent of the  figure it drew

the sim doesn't strip debug info now

unnamed upvals will display "" instead of just ending the debug line

[Bugfix] fix make file name conflict for picross

Change-Id: If342aaff314972c187fa1f299d956e3482366e57
2024-04-28 01:03:16 -04:00
Nathan Korth
2c7e47fc12 New plugin: Picross
Picross is a puzzle game also known as Picture Crossword, Nonograms, or
Paint By Numbers. See http://en.wikipedia.org/wiki/Nonogram for
information on how to play.

Update 1: nicer graphics with less images, fixed directory listing,
changed how the board works to make a lot of math more sane

Update 2: added missing rb.yield to viewPicture loop

Update 3: you can now save a game in progress

Update 4: fixed a file pointer leak, improved the numbers font

Update 5: no images, use vector num draw library add zoom, freedraw -- Bilgus

Change-Id: Idc476b46b6eaa10818400fa789701d5bac83467f
2024-04-28 00:21:16 -04:00
Christian Soffke
3ae48284c1 manual: update "Load to RAM" setting, Shortcuts
Change-Id: I5ba4b6207913375d35a68061422085255190b413
2024-04-27 11:57:46 +02:00
William Wilgus
0dd5df4060 [BugFix] tlsf get_new_area should return 0u or OOM
Change-Id: I24f67a3a28237b7c1035932f69b7f526471bb8ef
2024-04-27 03:23:43 -04:00
Solomon Peachy
26c612f6c0 FS#13348: Don't voice/spell out the file extension if it's not displayed
(This only applies if there is no talk clip for the file)

Change-Id: I0f071313f480052ecf4b912919155a8f0c2430d1
2024-04-26 10:01:30 -04:00
Solomon Peachy
aa7357861a ipod6g: Issue a FLUSH_CACHE[_EXT] command if device can't sleep.
Additionally, synchronize with the standard ATA driver's feature table

 * Acoustic management set to quietest
 * Set power mode to lowest w/o standby

Change-Id: I12e64354d4c946228e9a55fc8da2114127d08d28
2024-04-26 07:28:01 -04:00
Solomon Peachy
9a17185e63 ata: Enable volatile write cache (if device supports it)
Rejigger the options table a little for clarity

Change-Id: I02fdcc6521e42cc735d9b1da741b80db5b739858
2024-04-26 07:25:35 -04:00
Solomon Peachy
8fb2cedc8e coldfire: Fix bootloader builds on GCC8
(missing 'static' on an inline function definition)

Change-Id: I46318443d45dc6d3141fce5c8162c04eb242b4a2
2024-04-26 07:21:46 -04:00
Solomon Peachy
98971604c7 Correct one of the GCC14 warning workarounds
(Accidentally pushed an out-of-date commit)

Change-Id: I53a85420349d6fc12831a481becc2dd1617a8ed9
2024-04-25 20:49:56 -04:00
William Wilgus
ba4b41663c [Fix Red] Remove amaze plugin from lowmem targets
Change-Id: I43ed6adec2f07fe09d8d57b7e63d2edaf6c83ef9
2024-04-25 20:49:41 -04:00
Solomon Peachy
1922ac1aac Temporary fix for build warnings under GCC 14.0.1
...Both appear to be false positives, and will hopefully be resolved
in a later GCC point release.  I will periodically revisit this.

Change-Id: I7388932f5be052d39dd8c4195b438bf275dd72d9
2024-04-25 19:19:38 -04:00
Solomon Peachy
04181bb832 Fix sim build error with GCC14.
This is a (thankfully harmless) long-standing callback prototype
mismatch; I'm surprised this wasn't caught before!

Change-Id: Idb3ebc6d7d4fd64841d0a10981c4bf1b10d192c7
2024-04-25 13:32:47 -04:00
Solomon Peachy
c718724a70 Update english-us "translation"
Change-Id: Ia672dab9a1dcd1d57e52144fa43eacc7264803ed
2024-04-25 13:00:05 -04:00
Franklin Wei
6efd7f8f3e FS#8647: Amaze - 3D maze game plugin
- update to build against latest Git
- cleanup (whitespace, indentation)
- fixed old PLA handling
- update indentation/curly brace style
- improve load/save mechanism
- enable marking ground with "select" button
- add compass view
- improve display on 1-bit-targets (floor pattern)
- graphics update: add 3x3 and 5x5 tiles, rework 7x7 and 9x9 tiles,
  load tiles dependant of screen size
- fix: on some targets (Fuze+) division by 0 could occur.
  Fix by calculating the exact view depth on all targets.
- fix: duplicate error checks when saving prefs
- Fully translate it
- Add a simple manual entry (including screenshots for some platforms)

Change-Id: Ic84d98650c1152ab0ad268b51bd060f714ace288
2024-04-24 17:37:58 -04:00
Solomon Peachy
2dbf26f11a FS13414: Updated Polish translation (Adam Rak)
Change-Id: I0d3b208e6ca6f8dc982bcb0e600903674815f2cd
2024-04-24 09:19:05 -04:00
Christian Soffke
b501788629 manual: update browsing, playlists, bookmarking, ipod keymap
Change-Id: I7f3fd66fc973d3ed8d41cf24fba6aa4a44256354
2024-04-24 05:50:28 +02:00
Christian Soffke
e8816552f6 Offer choice of default browsers
The database or playlist catalogue can now be set
as the browser that is launched when pressing
ACTION_WPS_BROWSE on the WPS, unless another browser
has more recently been opened.

Previously you'd always have to exit the File Browser
first, after the player had been restarted, which is
annoying for users who prefer the database.

The playlist catalogue has become part of the MRU
browser list, so pressing ACTION_WPS_BROWSE after
selecting a track from a playlist in the playlist
catalogue will now take you back there.

Settings menus have been slightly restructured.

- Eliminated "Set WPS Context Plugin" and "Hotkey" menus
  from the General menu

- Added "What's Playing Screen" menu in Settings-General
  with option for setting default browser. The "WPS Hotkey"
  and "WPS Context Plugin" menu options have been moved to
  this menu.

- "File Browser Hotkey" is now part of the File View menu,
  which means it is accessible from the browser's context
  menu as well.

Overview of resulting menu structure in Settings->General:

What's Playing Screen
    Default Browser
    WPS Hotkey
    Set WPS Context Plugin

File View
    (...)
    File Browser Hotkey

Change-Id: Iaa3619a791c20ce3562a1efd2cf90c72933b729a
2024-04-24 05:05:42 +02:00
Christian Soffke
3ce3b102dd Provide "quick" option for loading database into RAM
The directory cache and the database's Load to RAM feature
each result in a much better user experience.

But, when both features are enabled at the same time, it
can take a very long time on older players - easily several
minutes for larger libraries - until all of the database's
dircache references have been updated.

Include a 'Quick' option that causes the database to ignore
dircache references which can *significantly* reduce disk
activity after booting.

Change-Id: I25ae779c97d03885b06d5a28d8be55c0d05692a5
2024-04-23 23:02:47 -04:00
Solomon Peachy
4a52147122 configure: strip '--voice' from the 'make reconf' option list to avoid dupes
Change-Id: I09ade245023d51a7553ca6149c9c3effd2b6b9d2
2024-04-23 22:12:25 -04:00
Solomon Peachy
0909c4fe3a FS#13413: Updated Polish translation (Adam Rak)
Change-Id: I64e55c5fff9cf253a0ed1a1c1b8e0934f3f14187
2024-04-23 12:22:21 -04:00
Igor B. Poretsky
a5d75a5743 Russian translations update
Change-Id: I97e92d38f391270f79380a3ec23e3232e91b1ffe
2024-04-23 11:10:57 -04:00
Solomon Peachy
1a60255633 Remove obsolute 'talkclips.py' script, voice.pl does it all and more
Change-Id: Ic6c63f77d2cee1ababd9b5356b48f115cf93e1b1
2024-04-23 11:09:31 -04:00
Christian Soffke
446496c221 Have Repeat Shuffle turn on Shuffle
When "Repeat Shuffle" is enabled, it may make sense
to visibly turn on the Shuffle setting once a playlist
ends and starts from the beginning again.

This seems to fix a few issues:

- After (an unmodified) playlist has been shuffled,
bookmarks now behave correctly in terms of restoring
the playlist's shuffled state and using the correct resume
index. This wasn't the case before. The alternative may be
to set the playlist as modified once it is shuffled, to
prevent creation of bookmarks from that point on.

- Lets you return to the un-shuffled state of the playlist at
any point

- Icon makes it easy to tell if the "unmodified" playlist has
been shuffled already, or not, which wasn't obvious before.

Change-Id: I41af04b041fdc7774c9d9267aaf983ec9d402e13
2024-04-23 05:24:48 +02:00
Solomon Peachy
2905ba2f72 ipod6g: ata: Don't power down devices that can't handle it
...by checking to see if the mandatory ATA PM feature flag is set

The common CF->SD adapters don't report this.

TODO:  When PM is not available, issue a CMD_FLUSH[_EXT] instead?

Change-Id: If9200bd3c03a984376203aeea4fbe11e230a9b4d
2024-04-22 15:47:10 -04:00
Solomon Peachy
4b423e21f6 pp5020: Use DMA Writes by default for SSDs
It is likely that these things accept data far faster than the spinning
rust drives ever would, and while there is a question about PIO timings,
DMA timings seem to be solid.

Change-Id: I70644e0ad85a6ed429c8704e66ca7af91d78765c
2024-04-22 15:46:50 -04:00
Solomon Peachy
886060475e ata: Heavily rework sleep and poweroff logic
* Use of ata_disk_can_poweroff() was inverted, resulting in SATA SSDs
   getting powered off but leaving _everything_ else on, including spinning
   rust!
 * Replace the can_poweroff() heuristic with a test for the mandatory
   ATA power mgmt feature flag. Notably, the CF->SD adapters don't claim
   to support this!
 * Eliminate duplicated tests in sleep code
 * Wrap all poweroff-related code with HAVE_ATA_POWER_OFF
 * Don't ever use SLEEP command, only STANDBY_IMMEDIATE
 * Gate call to STANDBY_IMMEDIATE behind a can_poweroff() test
 * Prefer FLUSH_CACHE_EXT to FLUSH_CACHE where available.
 * Improve SSD detection heuristics to any of these:
   * Explicltly identifies as SSD (covers newer CF and SATA)
   * TRIM support
   * CFA compliant AND (CF level 0 OR high speed support)
 * Report SSD detection in debug menu

Change-Id: I7fcb83b6d6eabddc11c64326a573b08ab85412b5
2024-04-22 15:46:30 -04:00
Aidan MacDonald
6cbcde13b9 skin engine: Fix bug with touch region labeling
Auto-created regions associated with a progress bar did not have
a label which could result in an out of bounds read when looking
up touch regions by label. Fix by initializing the label to NULL.

Change-Id: Ic12d697a6a5a45dad977f307471b91db9e607bd5
2024-04-21 20:38:25 -04:00
Aidan MacDonald
591a83a089 plugins: multiboot_select: Support touchscreen pointing mode
The plugin is menu based, so it should respect the global setting.

Change-Id: Ibfca63c919baa508d1253328c49c6b18f9e815f6
2024-04-21 20:38:11 -04:00
Aidan MacDonald
306caa2754 touchscreen: Fix menu callbacks in touchscreen pointing mode
Touchscreen events get translated into standard actions only after
the call to gui_synclist_do_button(). The menu callback doesn't get
a chance to see the real action if it is called before do_button.

Moving the do_button call up could potentially break callbacks that
want to intercept actions before they hit the list code. Therefore
we need to manually handle touch events first, and pass the action
to do_button afterward.

Fixes a bug where exiting a plugin in touchscreen point mode always
goes to the games list because the callback wasn't invoked properly.

Change-Id: I3b74a16d68a111935fba2157c15fa188f15446e9
2024-04-21 20:37:47 -04:00
Aidan MacDonald
fd4a10719d apps: Move action_cur_t and action_last_t to action.c
These types are not needed outside action.c.

Change-Id: I71d25edf30811022fba32a548906755cf46cd694
2024-04-21 20:37:26 -04:00
Solomon Peachy
7b1dd6b60a RFC: Extend skin engine to handle EQ settings
EQ settings are actually an array of 3 ints.  I added a skin parameter
token that allows specifying which array element to use.

So instead of this now-incorrect syntax:

   %St(0,0,-,-,image,eqbar.bmp,vertical,setting,eq band 1 gain)

You would use:

   %St(0,0,-,-,image,eqbar.bmp,vertical,soffset,2,setting,eq peak filter 1)

(the 'gain' is the third element in the eq setting array, thus soffset 2)

Change-Id: Ibda712ab87759efb45420566c967742bcefb513b
2024-04-21 18:27:11 -04:00
Solomon Peachy
e8a51569ad voice: Add support for the Piper TTS engine
https://github.com/rhasspy/piper

High quality, offline, neural-network-based, with good language coverage

Note that you have to manually download the piper voice models, and set
PIPER_MODEL_DIR appropriately.  The configure script will let you choose
from the available models and remember your choices.

Change-Id: I8eba9fcf78b51b01b89491539aac3e423cc42f16
2024-04-21 18:08:47 -04:00