Commit graph

5116 commits

Author SHA1 Message Date
William Wilgus
c7dfb9f916 [Fix Yellow] pitch_screen and configfile
place int32 in the conf file array it only supports upto 32 bit anyway..

Change-Id: I16bb6f3a924bab91739f09a4151df4e6be5bec69
2025-01-17 23:09:18 -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
4f5c9d9759 fix regression: playlist name suggestion for db and pictureflow items
In 2c4c1b9, I missed the fact that we still need these,
so that slashes in names aren't interpreted as a path
separator.

Change-Id: I2df0745669c4673497a506a99e754c63dcba045e
2025-01-16 18:17:41 +01:00
Christian Soffke
ad4113a7e9 plugins: image viewer: respect album art setting
Displaying large embedded album art in the
image viewer requires playback to be stopped,
which is pretty disruptive, so respecting the
system setting here may make sense

Change-Id: I479466bf26d85c3305d6c81e2c1818b2c2b2cbdb
2025-01-15 14:09:26 -05:00
Christian Soffke
2c4c1b9199 FS#12702: Fix illegal characters in suggested playlist filename
Issue had only been partially fixed in
3f3b738 by showing an error message

Change-Id: I91665ac826e0025fb80eadac31abffa03667cf62
2025-01-15 13:32:46 -05:00
William Wilgus
a5663ab3c0 [Feature] Add parameters when viewer is selected for open plugin
ask th user if they want to add a parameter when a viewer is set to an
open plugin entry (wps hotkey, start screen, etc)

Change-Id: I403ac79af15162aeecabb3607923113e27496e4f
2025-01-15 11:43:47 -05:00
William Wilgus
0493ee19c3 lastfm_scrobbler speed up track culling, better duplicate logic
rather than going through the whole file each time we can just walk
through the remainder speeds up duplicate removal by quite a bit

check timestamp of tracks to not remove multiple plays of the same song
at different times, unless back to back (then its probably a resume after
shutdown)

devices without RTC use current_tick but thats in centiseconds
convert to milliseconds so we can use the timestamp in the above calculations

my fix to the scrobbler_viewer makes the include menus disappear as
soon as you hide columns so explicitly mark if we are
dealing with a scrobbler log at load

Change-Id: I11bbebe9af45945a7e1326a5e419290086b05aaa
2025-01-13 18:08:40 -05:00
William Wilgus
ab9b687607 [BugFix] lastfm_scrobbler_viewer block search for non scrobbler logs
the scrobbler viewer will view any .log file but search and include
column only works with defined headers

it ends up showing a blank result so block this menu for non scrobbler logs

Change-Id: Ifc04dcab52d4416271388bee7d0cb10a144636a4
2025-01-13 02:36:20 -05:00
William Wilgus
c8ba67fa7d [Bugfix] plugins printcell_helper crash on NULL pointer
printcell_set_columns() can take a NULL pointer for the *pcs
it then uses default settings but those were contained within
the scope of the if(NULL) check.

Change-Id: I3147d1f4e3954fdcdb3adb74713f4c8a9a2c08ec
2025-01-13 00:45:09 -05: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
Solomon Peachy
8b01f939d8 hitiet ma8/ma9: add in keymaps for all plugins
Largely guesswork.

Change-Id: I8ab8d36de4bbdcf25dcf7d3442266bfb0a370b6f
2025-01-07 14:22:53 -05:00
Solomon Peachy
af7ed73f31 FS#13539: Resync mikmod plugin with upstream
Brings it up to libmikmod 3.3.12, relased 2024-12-31

Also fix a segfault that only happened on simulators when using
non-default samplerates.

Change-Id: I2ade2d72a00edab5395328fe76a88a88516aac72
2025-01-03 11:34:24 -05:00
Franklin Wei
07036061fc puzzles: update README.
Change-Id: I4e3306bdaa391f7aa698c67f00285975e398ee02
2025-01-01 19:13:04 -05:00
Franklin Wei
334c725a45 puzzles: clean up resync.sh script.
This script has grown into a bit of a maintenance nightmare over the years.
I've cleaned up and better documented some of the nastier bits.

Change-Id: I2bb95a89b1edc9a294d9e1112f5be1b877567356
2025-01-01 19:12:49 -05:00
Christian Soffke
bfef0a2d6c PictureFlow: fix colors for keyboard and full screen tags
Change-Id: I2dfaf1ff982c6b1c7b7387d673818de7428f85a5
2024-12-27 19:15:09 +01:00
William Wilgus
0a88b818e9 lua make memcheck script eat all available ram (incld audiobuf)
Change-Id: Ia202c9097324985a3a9a9c96be8422c38e79cb3e
2024-12-26 01:49:01 -05:00
William Wilgus
962e1b2e69 [Bugfix, ASAN] test_mem plugin fix OOB read in read_test()
asan correctly identified an out of bound read in the test_mem plugin
This shouldn't cause any issue in normal use since the data isn't used

Change-Id: I52acabc4649397f9dd2ba7979f9210529ced2071
2024-12-26 01:49:01 -05:00
Christian Soffke
727c800c0d Don't force gcc as host compiler + fix clang warnings
On MacOS, gcc is a symlink for clang.

Patch gets rid of the warnings produced by clang,
when it is set as HOSTCC, and fixes voicetools
compilation on MacOS when calling make voicetools
from the simulator directory.

lua rb_defines_helper:
format specifies type 'int' but the argument has
type 'long'

codecs: opus / speex (LOGF):
format '%ld' expects argument of type 'long int',
but argument 7 has type 'off_t'

gigabeat:
variable 'size' set but not used

rdf2binary:
a function declaration without a prototype is
deprecated in all versions of C

rbspeexdec:
passing 'unsigned char *' to parameter of type
'char *' converts between pointers to integer
types where one is of the unique plain 'char'
type and the other is not

hmac-sha1.c
defining a type within 'offsetof' is a Clang
extension

Change-Id: I90539906698868f9589650585d865aee9f7e8539
2024-12-20 05:29:18 +01:00
Christian Soffke
15b18e478c plugins: properties: make file info displayable in fullscreen
Extend functionality for displaying info in fullscreen
to folders or files that aren't audio tracks (e.g., to
display the full length of a file name)

Change-Id: I73617e2fd7c291a3c49ddd1b108e418cf069d179
2024-12-16 01:44:53 -05:00
Vencislav Atanasov
1468649258 Convert non-ASCII characters to UTF-8 or C-string literals
Comments are converted to UTF-8.

Strings which are part of executable code are converted using C-string hex literals. A comment with the intended UTF-8 character is appended to such lines.

The "c"-looking character in mpa.c was actually a small cyrillic "s" (i.e. "с").

Change-Id: If3a889080ef60b8bf756ad9ada38baede93ce35b
2024-12-15 21:16:12 -05:00
Vencislav Atanasov
5d7c8a0df1 Convert non-ASCII characters to UTF-8
Comments and notes are converted to UTF-8. Already broken multibyte characters are fixed using common sense.

This patch contains no code changes.

Change-Id: Ia511ab84936cb2495ac17309493a9b98727a7902
2024-12-15 21:16:12 -05:00
Christian Soffke
8f5128da16 Show Track Info: Support fs tags in Playlist Viewer, Properties, and PictureFlow
Playlist Viewer falls back to splashf if there is not
enough plugin buffer space left for running the
view_text plugin .

Change-Id: I418731018b03f396270b68e5e2d2e69635df1af0
2024-12-16 00:20:10 +01:00
Roman Artiukhin
4062a6aefc WIP Show Track Info: Select on tag opens it in full screen
Mostly useful for reading comments

WIP as it currently works only from WPS. Doesn't work from file browser(see https://gerrit.rockbox.org/r/c/rockbox/+/5999). Also breaks playlist viewer if called from there. Not sure how to handle it properly in all cases and not currently planning to work on it

Change-Id: I441eb9c6b3fe50f58436111d83bc98a25841d656
2024-12-16 00:13:19 +01:00
Christian Soffke
5e66f0e762 plugins: Remove id3 lib
only remaining user is PictureFlow, and
function is arguably not lib-worthy at
this point

Change-Id: If5cff56fc4aed7c8029782a7087ba4cfef3ec4ea
2024-12-15 23:50:24 +01:00
William Wilgus
789aa0a695 Scrobbler plugin remove logf size warnings
using chris_s' trick to caste to 64 bit int

Change-Id: I28cac7e301d272351d44527531b46f1e211141fc
2024-12-11 19:35:02 -05:00
Solomon Peachy
a61c146e36 COV352716: Inproperly concatenated help text (very minor issue)
Change-Id: Id8393bd456e93215208c314ab72e0f3b710b3610
2024-12-10 23:11:48 -05:00
Solomon Peachy
1328464c86 puzzles: Update resync script to work around WIN32 issues
Change-Id: I30a6c674724f683d0a0953f042749001f625f7b2
2024-12-09 21:24:10 -05:00
Solomon Peachy
da8bde0860 puzzles: Disable "unfinished" puzzles for Windows builds
They rely on weak symbols which the windows linker doesn't like.

Change-Id: Id24ed5553e393f9140b4e7cd256cafe64d3656e3
2024-12-09 19:28:21 -05:00
William Wilgus
ebd1021fe4 [Bugfix] Pt doesn't return length of the next track
fix yellow in mp3_encoder

Change-Id: I1658250141d3ea00b56da0258e111ca76aa56b53
2024-12-08 00:28:16 -05:00
William Wilgus
9eb9e4ab22 [Bugfix/Red] fix red in checkwps , fix mp3_encoder plugin div by 0, warnings
checkwps doesn't have current_tick

mp3_encoder had a divide by zero if the file wasn't encoded correctly or wrong file was passed

fix gcc warning in huffman encoder

move text for small screens

Change-Id: I9d09353e184e760ae31d1a1cd434d2790eacb7ca
2024-12-07 23:56:52 -05:00
Christian Soffke
87452d775e fix warnings on some systems / format specifier mismatch
Instead of %ld or %lx, use %jd or %jx
for off_t (after casting to intmax_t)

Change-Id: I4cd1831816820d2862b383ff8782e548b2fca294
2024-12-07 11:07:44 -05:00
Christian Soffke
1745b74576 Make simulator compile on MacOS
Tested on MacOS Sequoia (Apple Silicon) with the
latest Xcode command line tools, gcc 14
(Homebrew GCC 14.2.0_1) and sdl2 (Homebrew 2.30.9)

Make sure 'gcc' (and 'gcc-ar') is in your PATH
ahead of the Xcode-provided "gcc"(clang). E.g.
by setting up symlinks in /usr/local/bin that
point to gcc-14 and gcc-ar-14.

Notes:
- The appropriate bmp from uisimulator/bitmaps
  has to be manually copied to your build folder
  and renamed to UI256.bmp, if you want the sim
  background to be displayed

Change-Id: I559f33d2165065f913f30c016b85906af380fb81
2024-11-30 22:19:02 -05:00
William Wilgus
c6fb789b3b test_fps add log buffering
most of the data gets wiped out by the next (or current) text

add some sleep and buffer the log text so we can display it after each test

needs tested:
	remote displays
	greyscale

Change-Id: I14e53aca71e925ff9f547a77c6805a75d2d37e67
2024-11-29 11:06:53 -05:00
William Wilgus
c2bc7aa516 [BugFix] lib/printcell_helper.c vp buffer ovfl #2
found another place where vp width could exceed the buffer

Change-Id: I85d806cc58955b44327bd47c6a08dc7e556722c0
2024-11-29 00:23:51 -05:00
William Wilgus
da9d67a0fe Button queue handling is split from main button driver
First half of
https://gerrit.rockbox.org/r/c/rockbox/+/570

Change-Id: Icc64dfd8194c18f69564ed5f8bf7dd70a4330eb9
2024-11-27 20:16:53 -05:00
Solomon Peachy
6b348d7f75 Fix nano2g build from 88a1d902
Change-Id: I7f760ce84a2b8e8f5b118b7fe3b57c64d0f4af05
2024-11-26 20:12:59 -05:00
Vencislav Atanasov
88a1d90236 s5l87xx: Add S5L8720 registers
This adds some confirmed and some to-be-confirmed (TBC) registers for Samsung S5L8720, which is used in iPod Nano 4G, iPod Touch 2G and the 920-0614-03 development/prototype board.

All credit goes to Cástor Muñoz <cmvidal@gmail.com>

Change-Id: I9fe5052fe9f05cd33f34de4e228cdb291944aa11
2024-11-26 19:04:12 -05:00
Solomon Peachy
303fc090a7 logf: Fix warnings that only happen with simulator builds.
Change-Id: I51d960877201534f5683ba2ecbb829913f6a8afa
2024-11-25 09:34:03 -05:00
Solomon Peachy
03555cc7b5 logf: Correct two format string problems in plugins
Change-Id: I67ab14b2079de8fb660aaa5c1391db053aad2cc5
2024-11-25 09:08:32 -05:00
Christian Soffke
18fdb41b2c plugins: simple viewer: prevent audio dropouts when scrolling
Change-Id: Idf3ee45585985beaccb991f4f66cd895aa3f7a4c
2024-11-24 23:55:40 +01:00
Solomon Peachy
bdf1690cb2 build: Allow LTO to work globally, not just codecs/plugins
IMPORTANT: There is no guarantee this will compile cleanly much less
_work_ on any given target.  This is purely to enable future hackery.

Change-Id: Ib58f21b717719fd4325622b446a60779406ae035
2024-11-24 08:23:38 -05:00
Vencislav Atanasov
d7b57e33d9 Add support for S5L8720 in various places
Due to its similarity with S5L8702, clickwheel support and sleep can be used as-is on S5L8720. DRAM and IRAM are also configured.

Change-Id: I52f8a3417e6a25c7360b1cae2fb5eed621e2e0db
2024-11-22 16:45:29 -05:00
William Wilgus
d1a4903afb [BugFix] lib/printcell_helper.c vp buffer ovfl
vp->width may exceed the actual available screen area which
prevents the sim from clipping properly
'

Change-Id: I487761b3e656d4a066960fb8dc7477cceb30aa57
2024-11-21 19:50:57 -05:00
Vencislav Atanasov
f040c4c9ec Rename CPU_S5L870X to CPU_S5L87XX
This is a preparation to introduce support for the following SoC models: S5L8720 (iPod Nano 4G, iPod Touch 2G), S5L8730 (iPod Nano 5G), S5L8723 (iPod Nano 6G) and S5L8740 (iPod Nano 7G)

The whole family consists of SoCs which are similar, running ARMv6 and Thumb2 instructions, but some peripherals are located at a different address.

No functional change is to be expected so far.

Change-Id: If1f7669c49cf110ccc52c5234cc42ffd6f2b4e80
2024-11-20 10:58:32 -05:00
Solomon Peachy
461704f803 misc: Fix some compile warnings when logf is enabled
Change-Id: I67b611cbbbe33113853f36da5047ba799f1dda5d
2024-11-12 08:11:18 -05:00
Christian Soffke
8e2b11cd3c pugins: PictureFlow: Fix album not found
Each artist name is only stored once, regardless of case,
so we have to perform a case-insensitive comparison with
the current artist.

Change-Id: I571c0e49c032a6d5c64f6e3289513ba7fe279cb8
2024-11-12 01:57:42 -05:00
Christian Soffke
9b20f59ac6 plugins: Simple Viewer: Exit when pressing Select, or (on iPods) Menu/Left
Change-Id: I63d9c90f30783115f9fad70dae1818ad90ba79dd
2024-11-12 07:55:48 +01:00
William Wilgus
7288d9e5d2 Move cfg_vals from settings_list, expand settings_dumper
cfg_vals aren't needed for most settings

F_TABLE_SETTING, F_CHOICE_SETTING, F_BOOL_SETTING

can use cfg_vals but only a few custom settings use it otherwise
for these settings we define F_HAS_CFGVALS and use the setting union instead (as these all use UNUSED)

noticed that settings_dumper missed most cfg values so didn't show text setting values

saves ~300 bytes

Change-Id: Ie504c8cfe2a6cf471117c3afe5cf9a770a7f1784
2024-11-10 21:53:22 -05:00
Christian Soffke
0386469794 Fix incorrect UI font id in some plugins
see commit f19f3ef

Change-Id: I417929eaa9303d439725fb4f0c20d104de54f8b0
2024-11-07 17:45:09 +01:00
Solomon Peachy
c3d06d21df mikmod: Properly render with fonts larger than 6x8 pixels.
Change-Id: Ib3f8c2cf84e7b6565bb8a00b74e8a662b9980824
2024-11-06 20:18:45 -05:00