-Wunterminates-string-initialization will complain if we try to shove
a "string" into a fixed array that is too small. Sometimes this is
intentional; when you are merely using "string" as a standin for
"non-terminated sequence of bytes". In these cases we need to mark
the "string" as "not actually a string" with an attribute. Applies to
GCC >=8, but this warning isn't pulled in by -Wextra until GCC >= 15.
Change-Id: Ib94410a22f4587940b16cf03d539fbadc3373686
Even though ARMv7-M has a hardware divider, 64-bit division is
handled in software and needs a div0 handler. The libgcc routines
call __aeabi_{i,l}div0 so we alias those to __div0.
Change-Id: I5152c43d39e25e03f31404753f13978a614aca06
ARMv7-M has hardware division, so it doesn't require __div0
or any support functions for 32-bit division.
Change-Id: I840683a1a77d737f378899ca4bcf858216b81014
Temporarily enable icons for required lists. Probably not a proper fix but a simple workaround.
Fixes FS#13574
Change-Id: I011a80e2a9f03019927b32e92cd5a35275c051e1
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
Present user with a prompt, so that they don't
have to manually execute "Update cache" from
the settings menu after a database update
Change-Id: Ie2157f04329e8ffc10afbeb047486fe4b0b70bcf
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
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
You were asked to restart the plugin, before
PictureFlow would rebuild the cache after
selecting the menu option for it. This patch
eliminates the need for leaving the plugin, and
PictureFlow will rebuild its cache immediately.
Change-Id: I47ec78339fdc91efd42cd7850829256417682eae
- Skip superfluous "Wait" splash before displaying
index progress
- Display current step that the progress bar pertains to
- Exiting the "Confirm Quit" screen in order to continue
indexing was *extremely* fiddly because of picked-up
button events that would often immediately return you
to the same screen instead of getting you out of it.
This should behave more sanely now. Plus, you should
only see the Quit confirmation screen as a result of
pressing Menu or Cancel now (instead of touching the
scroll wheel for example).
- PictureFlow was unresponsive while removing duplicates
- A Cancel action initiated by the user isn't treated
as an error anymore, nor is a message displayed after
user has already confirmed their intention to quit.
- The plugin doesn't return errors anymore if the user
has already been presented with an error message, to
eliminate redundant splashes, delays, and an unwanted
return to the main menu
Change-Id: I255b8f760ccb0acdfddcacbc7d8a1b17b063e53e
moves shutoff and disk safe to end of file
add warning
comment out shutoff and disksafe level as further protection
Change-Id: I1723b2ae6b2bd7fd359dc7dfcc8f1958d97673fc
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
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
We've been limited to level 7 since approximately forever, so
there's no point in wasting translation strings on anything higher.
Change-Id: Idee0f1f0aa1b99d9efdcaa34d0d3130a54e1628e
Also adds the ability to supply a directory without the final slash
you then are take to the directory but have the ability to travel
up one level above before exiting
when you hit cancel
Change-Id: I1091fbe496e2c7c34ecb2113ab1cd31b0c678d9d
remove nvram and use the existing settings framework for it
add a crc check to the user_settings data to see if we need to save
the user setting file or if we can just save the status file (resume.cfg)
move volume to the system_status struct so we don't write the whole settings file
over volume changes
allow user to still export volume with save sound settings
allow the user to also export pitch and speed
name the file .resume.cfg
Rename all the SYSTEM_STATUS save file variables to TLAs to save space and
discourage tinkering
Cleanup DEBUG_AVAIL_SETTINGS output
when saving user_settings it calls status_save as well this cause the resume
file to be written twice. instead remove the callback for status_save
when setting_save is called
remove header text when saving .resume.cfg
convert status_save() to status_save(bool force)
add SYSTEM_STATUS_UPDATE_TICKS
for ATA device set this to 5 minutes
since we arlready wait for the disk to be up before saving
we don't want to miss our window
for all other every 15 minutes
that way if the battery is too low by the time shutdown comes around you
don't lose much progress
Change-Id: I27214ffd6e5d5494ee5ca83b14f04a41ba426ad7
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
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
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
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
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
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
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
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
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
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
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
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
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