when | what | where | who |
27th May 23:17 |
3ef49d9c5e: PictureFlow: Make Shuffle options available
The "Playing Next..." menu couldn't display any options for shuffling tracks of an album before
|
apps/onplay.c [diff]
apps/onplay.h [diff]
apps/playlist_viewer.c [diff]
apps/plugin.h [diff]
apps/plugins/pictureflow/pictureflow.c [diff]
apps/shortcuts.c [diff]
|
Christian Soffke |
26th May 17:13 |
028eafaeef: Onplay: Fix items from Queue submenu appearing at top level
If "Show Queue Options" was set to "in Submenu", the queue options would incorrectly appear at the top level after you had queued a track, at least until you entered and exited the submenu again without selecting an option.
|
apps/onplay.c [diff]
|
Christian Soffke |
26th May 17:08 |
31b8cd8f73: PictureFlow: Remove menu items for "Return" and "Clear Playlist"
On all players, it should be possible to return from the Main Menu by pressing the Back or Menu key. Unless I'm missing something...
"Clear Playlist" has hopefully become superfluous after the "Playing Next" context menu was added, which offers similar functionality.
|
apps/lang/english.lang [diff]
apps/plugins/pictureflow/pictureflow.c [diff]
manual/plugins/pictureflow.tex [diff]
|
Christian Soffke |
26th May 16:48 |
6e192dc28d: hiby: the second drive for these is "USB" not "HD1"
|
apps/lang/english.lang [diff]
|
Solomon Peachy |
26th May 16:29 |
49b877470d: PictureFlow: Add ability to go to last album
After launch, PictureFlow always goes to the currently playing album, or to a selected album, if applicable. Which is probably a useful default, but not always wanted. You can now get back to the album you were looking at when PictureFlow was last closed, or when the sorting was last changed.
|
apps/lang/english.lang [diff]
apps/plugins/pictureflow/pictureflow.c [diff]
manual/plugins/pictureflow.tex [diff]
|
Christian Soffke |
26th May 16:26 |
bbef598817: PictureFlow: Scroll through albums from track list
This lets players that can't spare any keys scroll through albums without leaving the track listing first, which was only possible on the M3K before.
Enter mode from Main Menu. While active, the gradient highlighting an album's selected track will not appear, and context menu options apply to the whole album instead of to a single track.
Exit mode by pressing buttons for Select/Back, or by quitting PictureFlow.
NB: Be sure to enable "Database in RAM" for a good experience, as the loading time for each album can become quite annoying otherwise.
|
apps/lang/english.lang [diff]
apps/plugins/pictureflow/pictureflow.c [diff]
manual/plugins/pictureflow.tex [diff]
|
Christian Soffke |
25th May 20:27 |
0f941488af: dbtool: Fix red.
Apparently _most_ targets have a dbtool built as a simulator variant, but _some_ are built as an application target. This commit fixes simulator-based targets, which weren't ever broken.
(Prior commits fixed things for _app_ targets, which haven't worked since at least 2020, maybe never..)
|
tools/database/database.c [diff]
|
Solomon Peachy |
25th May 20:05 |
8bc7ba5d22: dbtool: More fixes to dbtool operation
Now properly treats current directory as "/"
|
firmware/target/hosted/filesystem-app.c [diff]
tools/configure [diff]
tools/database/database.c [diff]
|
Solomon Peachy |
25th May 19:43 |
e803daae0a: dbtool: Fix it up so that it runs from the CURRENT working directory
This makes it far more useful, as before it insisted on scanning from the root directory and putting the generated db files in /.rockbox
|
tools/configure [diff]
tools/database/database.c [diff]
|
Solomon Peachy |
25th May 16:47 |
11e858b209: fix yellow introduced in previous commit
|
firmware/target/hosted/filesystem-app.c [diff]
|
Solomon Peachy |
25th May 16:13 |
220fb04250: hosted: Fix the disk storage display in the rockbox info page
This was introduced by adding multivolume support to the hibyplayer units, and might affect other things, if so a more general fix might be needed.
|
firmware/target/hosted/filesystem-app.c [diff]
|
Solomon Peachy |
24th May 17:23 |
f2a5b78b51: Sansa Clip keymap: Playlist on short Down press and Hotkey on long Down press in WPS
|
apps/keymaps/keymap-clip.c [diff]
manual/platform/keymap-sansaclip.tex [diff]
|
roman.artiukhin |
23rd May 19:57 |
3acd5f86e5: build: Fix problems compiling old glibc with gmake >= 4.4
Three separate problems:
1) Make 4.4 defaults to a named pipe for jobserver control, this was incompatible with how glibc did recursive makes 2) Make 4.4 passed long arguments ( --foo ) into MAKEFLAGS and this broke stuff that wasn't expecting it 3) Circular dependency in a header generation due do make 4.4 being stricter/more consistent in how it orders rules vs which makefiles they came from. This one was the real !@#!@ to deal with.
This patch set fixes the hosted arm (glibc 2.19) and mips (glibc 2.25) toolchains.
|
tools/rockboxdev.sh [diff]
tools/toolchain-patches/glibc-220-make44.patch [new]
tools/toolchain-patches/glibc-225-make44.patch [new]
|
Solomon Peachy |
22nd May 19:58 |
56fe1129da: configure: Deal with more variations of the 'ld' version output
eg, our current toolchian generates this:
GNU ld (GNU Binutils) 2.26.1
But the system toolchain on the buildserver generates this:
GNU ld version 2.37-37.fc36
|
tools/configure [diff]
|
Solomon Peachy |
22nd May 18:48 |
e7cc77e5b8: configure: Detect linker's NO_CROSSREFS_TO() support
NO_CROSSREFS_TO() was first introduced in binutils 2.27. It is used to have the linker report errors when symbols from a list of sections refer to a specified section, which is useful for verifying that normal code does not refer to INIT_ATTR code.
Note this doesn't actually start using NO_CROSSREFS_TO() for builds -- that will have to wait until the toolchain upgrade when we'll have a new enough binutils -- it just detects support for the feature so it can be conditionally enabled in linker scripts.
|
tools/configure [diff]
|
Aidan MacDonald |
22nd May 14:53 |
6e05fcf4d0: FS #13551: Correct the native name for the Slovak language (in rbutil)
|
utils/rbutilqt/rbutil.ini [diff]
|
Solomon Peachy |
22nd May 14:30 |
92b80bdba5: lang: Support languages that speak the units before a numerical value
Previously, it was hardcoded to the english convention of units-last, so
"100%" would be voiced as "one hundred percent". This adds a new language flag that makes the units be voiced first, ie "100%" will be voiced as "percent one hundred".
So far only the Chinese-traditional and Chinese-simplified languages utilize this feature (taken from an old ticket, FS #10340) but I'm sure others would want this feature too.
|
apps/lang/chinese-simp.lang [diff]
apps/lang/chinese-trad.lang [diff]
apps/language.c [diff]
apps/language.h [diff]
apps/talk.c [diff]
tools/genlang [diff]
|
Solomon Peachy |
22nd May 14:28 |
ab0ba139f5: pdbox: Gate the warning suppression to apply only to GCC 13 and newer.
|
apps/plugins/pdbox/PDa/src/m_obj.c [diff]
|
Solomon Peachy |
22nd May 00:58 |
3a8d5525ae: pdbox: Fix warning with GCC13
|
apps/plugins/pdbox/PDa/src/m_obj.c [diff]
|
Solomon Peachy |
22nd May 00:34 |
5dc0e4e0bc: disk: Support GUID Partition Tables (GPT)
Notes:
* Currently limited to 32-bit sector addresses due to internal Rockbox APIs. So this means a practical limit of 2TiB per drive.
* Only 'General Data' GPT partition type is recognised, as that's what SD cards seem to use for exFAT/FAT32.
Note that _booting_ off GPT-partitioned drive will require rebuilding the various rockbox bootloaders, and even then there may be platform limitations that preclude this.
|
firmware/common/disk.c [diff]
firmware/export/disk.h [diff]
|
Solomon Peachy |
21st May 02:41 |
8fbd44a3d3: [BugFix] Last Fm Scrobbler corrupted entries
I couldn't seem to reproduce the issue here: https://forums.rockbox.org/index.php/topic,54165.msg252081.html#msg252081
but I figure its probably a threading issue
so we now have a mutex on the cache
and to top it all off each cached entry has a crc and length that are checked before writing the entry to the file otherwise it is prepended with # FAILED - so hopefully scrobbler 'parsers?' don't barf on the log
Other changes: there is now a MRU table for tracks this should help prevent duplicates it is configurable..
the cache buffer now no longer uses fixed chunks allowing more tracks to be written between flushes
|
apps/plugins/lastfm_scrobbler.c [diff]
|
William Wilgus |
17th May 17:23 |
4554b90859: sdl: fix two bugs in ROCKBOXAUD_PlayAudio()
First was an off-by-one bug in the loop over buffers. The condition was
`i < this->hidden->n_buffers', but should have been <=, not <. This wasn't a critical issue, because the last iteration would check the currently playing buffer - an unlikely situation.
The second logic bug would make the code always think it had found an empty buffer, even when it had not, since `idx' was being unconditionally set every loop, rendering it unusable for a sentinel value. Fix that.
|
apps/plugins/sdl/src/audio/rockbox/SDL_rockboxaudio.c [diff]
|
Franklin Wei |
17th May 17:19 |
e232f69214: atjboottool: gzipped fw files, option for big-endian fw, clarify ECIES in fwu
Added fw modifications required to unpack real world player dumps.
Documented more fwu header fields, magic numbers and finite field arithmetics (extended Euclidean for inverse, long division for reducing modulo field_poly).
v3 encryption used is standard RC4 with the key additionally ciphered by the Elliptic Curve Integrated Encryption Scheme.
Either sect233k1 (NIST K-233) or sect163r2 (NIST B-163) curves can be used, with the former overwhelmingly prevailing, being hardwired in SDK's maker.exe. Using a private/public key scheme is superfluous because both are stored in the firmware, with the added level of complexity likely serving the purpose of obfuscation. The private key is generated at random with each invokation.
None of KDF or MAC from ECIES are used, RC4 key is directly xored with the shared secret. The random number r used to calculate rG isn't stored, but that's unimportant since only krG == rkG is actually used in the encryption.
|
utils/atj2137/atjboottool/Makefile [diff]
utils/atj2137/atjboottool/atj_tables.c [diff]
utils/atj2137/atjboottool/atj_tables.h [diff]
utils/atj2137/atjboottool/atjboottool.c [diff]
utils/atj2137/atjboottool/fw.c [diff]
utils/atj2137/atjboottool/fw.h [diff]
utils/atj2137/atjboottool/fwu.c [diff]
|
Nikita Burnashev |
17th May 15:55 |
72c0e49b41: scroll: Fix red from previous commit.
Targets with remote LCDs need to have the lcd scroll driver instantiated, even in the bootloader.
This is because lcd_remote_scroll_stop() is called, in addition to lcd_scroll_stop(). This could probably be excised.
|
firmware/drivers/lcd-scroll.c [diff]
firmware/scroll_engine.c [diff]
|
Solomon Peachy |
17th May 15:03 |
9134c688d9: scroll: Eliminate a warning when building a bootloader
Bootloaders don't support scrolling, so don't even try to compile the scroll_thread stuff
|
firmware/scroll_engine.c [diff]
|
Solomon Peachy |
9th May 20:37 |
fdf661606c: FS #13992: Update Serbian translation (Ivan Pesic)
|
apps/lang/srpski.lang [diff]
|
Solomon Peachy |
25th Apr 03:13 |
f4c95c70f9: [Bugfix] diacritic.c MRU discards an entry when slot available
a new slot gets added but it is set to 0 and an entry gets discarded instead set it to the last entry read
|
firmware/common/diacritic.c [diff]
|
William Wilgus |
22nd Apr 16:58 |
67b98292a3: Temp quick fix for broken bookmarks
Mark playlist as not modified in playlist_resume
|
apps/playlist.c [diff]
|
roman.artiukhin |
18th Apr 14:51 |
8ff0fb6075: toolchain: Globally use '-fno-strict-overflow'
This turns on -fwrapv and -fwrapv-pointers.
As per GCC docs:
"This option instructs the compiler to assume that signed arithmetic overflow of addition, subtraction and multiplication wraps around using twos-complement representation. This flag enables some optimizations and disables others."
All of our targets fall under this category.
For some time now we've been using -Wall which implies
-Wstrict-overflow=2, which only warns when the compiler actually implements a possibly questionable optimization, so I'd expect this to not affect our code size at all.
|
tools/configure [diff]
|
Solomon Peachy |
17th Apr 04:36 |
100e9ac137: Fix Red lastfm_scrobbler_viewer.c
plugins need rb-> for things like strlen
|
apps/plugins/lastfm_scrobbler_viewer.c [diff]
|
William Wilgus |
17th Apr 03:50 |
dfe12252bb: [Feature, Plugin] lastfm_scrobbler_viewer
a plugin to view lastfm scrobbler logs
uses print cell to give a spreadsheet view of scrobbler logs
buffers the whole file if possible otherwise it reads entries from disk
rudimentary text searching for columns include / exclude; all/any and case sensitive
|
apps/filetypes.c [diff]
apps/filetypes.h [diff]
apps/plugins/CATEGORIES [diff]
apps/plugins/SOURCES [diff]
apps/plugins/keyremap.c [diff]
apps/plugins/lastfm_scrobbler.c [diff]
apps/plugins/lastfm_scrobbler_viewer.c [new]
apps/plugins/lib/printcell_helper.c [diff]
apps/plugins/lib/printcell_helper.h [diff]
apps/plugins/rb_info.c [diff]
apps/plugins/viewers.config [diff]
|
William Wilgus |
13th Apr 01:55 |
43b0fba75d: Track Info: Show number of tracks being inspected
Applies to the database and PictureFlow
+ fix red 6ca57ec
|
apps/gui/wps.c [diff]
apps/onplay.c [diff]
apps/playlist_viewer.c [diff]
apps/plugin.h [diff]
apps/plugins/lib/mul_id3.c [diff]
apps/plugins/pictureflow/pictureflow.c [diff]
apps/plugins/properties.c [diff]
apps/screens.c [diff]
apps/screens.h [diff]
|
Christian Soffke |
13th Apr 00:31 |
6ca57ec389: Track Info: Display larger file size and length values
When displaying Track Info for multiple tracks, the value for combined file sizes or length was capped at 2 GiB / ~596h. Limit has been raised by a factor of 1000.
|
apps/gui/wps.c [diff]
apps/onplay.c [diff]
apps/playlist_viewer.c [diff]
apps/plugin.h [diff]
apps/plugins/lib/mul_id3.c [diff]
apps/plugins/lib/mul_id3.h [diff]
apps/plugins/pictureflow/pictureflow.c [diff]
apps/plugins/properties.c [diff]
apps/screens.c [diff]
apps/screens.h [diff]
|
Christian Soffke |
8th Apr 21:13 |
78c92c5ca8: [Feature] Supress voice during sleep timer shutdown
if show_shutdown_message == false and sleep timer is active talk will be disabled on shutdown
|
apps/misc.c [diff]
firmware/export/powermgmt.h [diff]
firmware/powermgmt.c [diff]
|
William Wilgus |
5th Apr 15:42 |
3554306617: PictureFlow: Minor fixes/refactoring
- get_albumart_for_index_from_db: slide_index not allowed to be -1
- Fix visual glitch changing scroll direction: An errant frame was displayed when switching from one scroll direction immediately to the other
- Rename/combine functions and replace magic numbers for zoom animation
- iPods: Fix inability to skip or reverse zoom animation using Back button
|
apps/plugins/pictureflow/pictureflow.c [diff]
|
Christian Soffke |
5th Apr 15:27 |
8b95f2e758: plugins lib: use existing mp3info function
|
apps/plugins/lib/id3.c [diff]
apps/plugins/lib/id3.h [diff]
apps/plugins/lib/mul_id3.h [diff]
apps/plugins/pictureflow/pictureflow.c [diff]
apps/plugins/properties.c [diff]
|
Christian Soffke |
5th Apr 13:06 |
1e678977f2: Hotkey: Add List Bookmarks action
|
apps/onplay.c [diff]
apps/onplay.h [diff]
apps/settings_list.c [diff]
|
roman.artiukhin |
5th Apr 11:16 |
31d56d4a59: Database: Disable delete hotkey unless audio file is selected
Fixes behavior where Rockbox would offer to delete nonexistent directories.
|
apps/onplay.c [diff]
|
Christian Soffke |
2nd Apr 15:34 |
b31127db7d: [bugfix] x1000: Wait for FIFO to be empty rather than flushing
When data is not in packed-16-bit mode, flushing the fifo may result in swapping left and right channels if there happens to be an odd number of entries in the FIFO. This is especially likely when switching sample frequencies for some reason.
When stopping PCM DMA, disable DMA and Underrun Interrupts and then wait for FIFO to be empty before stopping AIC's playback.
|
firmware/target/mips/ingenic_x1000/pcm-x1000.c [diff]
|
Dana Conrad |
1st Apr 12:19 |
287747591e: plugins: vbrfix: Fix fd leak & error handling
- mp3info returns true for error
- fd wasn't closed for non-vbr files
|
apps/plugins/vbrfix.c [diff]
|
Christian Soffke |
30th Mar 05:04 |
2456d28e21: [BugFix] open_plugin didn't recognize opx shortcuts
opx shortcuts allow an easy way to add parameters to plugins you should be able to set them as shortcuts now
the plugin hd a use after free bug on the dat file file descriptor
|
apps/open_plugin.c [diff]
apps/plugins/open_plugins.c [diff]
|
William Wilgus |
25th Mar 14:02 |
a2e5d9563f: [Feature] resume TSR plugins after interruption WIP
save tsr plugin path for later
resume tsr plugin when user stops the interrupting plugin
expand return of tsr_exit function to allow continue, suspend, terminate
tsr plugins check parameter at start to determine if the plugin is being resumed
|
apps/plugin.c [diff]
apps/plugin.h [diff]
apps/plugins/announce_status.c [diff]
apps/plugins/battery_bench.c [diff]
apps/plugins/lastfm_scrobbler.c [diff]
apps/plugins/test_usb.c [diff]
|
William Wilgus |
24th Mar 19:02 |
2e99e2175b: playlist: Remove control file cache
Control cache entries cost 24 bytes per command, but cacheable commands are always less than that when written out to the file. We can actually cache *more* data by writing commands directly to the fd (native Rockbox has a 512-byte cache per fd) and it's much simpler.
|
apps/playlist.c [diff]
apps/playlist.h [diff]
|
Aidan MacDonald |
24th Mar 19:02 |
a4cfa8ae6a: playlist: Unconditionally strip bogus dirs in playlist_peek()
The intent behind the check is to only do this if the filename comes from an on-disk file. With the RAM buffer is gone this is now "always" the case.
|
apps/playlist.c [diff]
|
Aidan MacDonald |
24th Mar 19:02 |
aab6a44fc5: filetree: Remove dead code in ft_build_playlist()
This checks for an out of memory condition when the filenames were buffered in RAM. The playlist no longer buffers anything in RAM so the code is unreachable.
|
apps/filetree.c [diff]
|
Aidan MacDonald |
24th Mar 11:10 |
1f1893f520: playlist: Remove in-ram filename storage
Use the playlist control file for directory playback instead of storing filenames in RAM. The implementation of that feature is very iffy and probably responsible for random crashes that may occur when skipping through directories rapidly.
|
apps/playlist.c [diff]
apps/playlist.h [diff]
|
Aidan MacDonald |
24th Mar 11:10 |
ac1cbd5dd0: playlist: Clean up close_playlist_control_file()
Move locking outside the function since most callers already hold the lock.
|
apps/playlist.c [diff]
|
Aidan MacDonald |
24th Mar 10:36 |
e6534b051e: playlist: Add helpers for opening/closing .m3u playlist
This helps maintainability and ensures the opening is done consistently.
|
apps/playlist.c [diff]
|
Aidan MacDonald |
24th Mar 10:12 |
5eb24a9582: playlist: Cleanup get_next_dir()
Pass the direction as a signed integer to avoid jumping through unnecessary hoops.
|
apps/playlist.c [diff]
|
Aidan MacDonald |
23rd Mar 18:16 |
58b2e45782: Fix unified syntax in ARM inline assembly
GCC 4.9 always emits assembly with divided syntax. Setting unified syntax in inline assembly causes the assembler to complain about GCC's generated code, because the directive extends past the scope of the inline asm. Fix this by setting divided mode at the end of the inline assembly block.
The assembler directives are hidden behind macros because later versions of GCC won't need this workaround: they can be told to use the unified syntax with -masm-syntax-unified.
|
apps/plugins/mpegplayer/mpeg_misc.h [diff]
firmware/asm/arm/corelock.c [diff]
firmware/asm/arm/thread.c [diff]
firmware/export/config.h [diff]
firmware/target/arm/pcm-telechips.c [diff]
firmware/target/arm/pp/pcm-pp.c [diff]
lib/rbcodec/codecs/demac/libdemac/vector_math16_armv6.h [diff]
|
Aidan MacDonald |
23rd Mar 17:28 |
86429dbf1e: Using ARM Unified Assembler Language
|
apps/plugins/mpegplayer/libmpeg2/idct_arm.S [diff]
apps/plugins/mpegplayer/libmpeg2/idct_armv6.S [diff]
apps/plugins/mpegplayer/mpeg_misc.h [diff]
apps/recorder/jpeg_idct_arm.S [diff]
firmware/asm/arm/corelock.c [diff]
firmware/asm/arm/lcd-as-memframe.S [diff]
firmware/asm/arm/memcpy.S [diff]
firmware/asm/arm/memmove.S [diff]
firmware/asm/arm/memset.S [diff]
firmware/asm/arm/memset16.S [diff]
firmware/asm/arm/thread.c [diff]
firmware/export/config.h [diff]
firmware/target/arm/ata-as-arm.S [diff]
firmware/target/arm/ipod/video/lcd-as-video.S [diff]
firmware/target/arm/pcm-telechips.c [diff]
firmware/target/arm/pp/pcm-pp.c [diff]
lib/arm_support/support-arm.S [diff]
lib/rbcodec/codecs/demac/libdemac/udiv32_arm.S [diff]
lib/rbcodec/codecs/demac/libdemac/vector_math16_armv6.h [diff]
lib/rbcodec/codecs/libtta/filter_arm.S [diff]
lib/rbcodec/dsp/dsp_arm.S [diff]
lib/rbcodec/dsp/dsp_arm_v6.S [diff]
lib/unwarminder/safe_read.S [diff]
|
Chris Chua |
23rd Mar 17:01 |
a64cad847e: playlist: Simplify playlist modified detection
Any modifications to the playlist (insert, delete, shuffle, etc) will cause the modified flag to be set. The flag is cleared when the playlist is saved. Code that generates playlists can manually clear the modified flag if appropriate; there is now a proper API for this so the tagcache and pictureflow don't need to resort to hacks.
|
apps/playlist.c [diff]
apps/playlist.h [diff]
apps/playlist_viewer.c [diff]
apps/plugin.c [diff]
apps/plugin.h [diff]
apps/plugins/pictureflow/pictureflow.c [diff]
apps/tagtree.c [diff]
|
Aidan MacDonald |
21st Mar 20:23 |
d40a598970: plugins: Simplify plugin/codec API versioning
Replace the minimum version bound with a check on the size of the API struct. The version only needs to be incremented for ABI breaking changes. Additions to the API won't need to touch the version number, resulting in fewer merge conflicts.
|
apps/codecs.c [diff]
apps/plugin.c [diff]
apps/plugin.h [diff]
apps/plugins/imageviewer/image_decoder.c [diff]
apps/plugins/imageviewer/imageviewer.h [diff]
apps/plugins/lib/overlay.c [diff]
lib/rbcodec/codecs/codecs.h [diff]
|
Aidan MacDonald |
21st Mar 09:31 |
2fb2364686: makefiles: Fix escaping issues under GNU make 4.2
Make 4.3 and newer doesn't interpret comments in a shell call, whereas Make 4.2 and older do. Escaping the comment directly works on old makes, but on new makes the backslash is passed as well -- which we want to avoid.
The safe way to pass a literal "#" character to the shell on both versions is by embedding it in a variable and expanding that. It's ugly, but it works...
|
tools/functions.make [diff]
|
Aidan MacDonald |
21st Mar 08:48 |
ed7ab52e27: makefiles: Suppress stray backslash warnings with grep 3.8
GNU grep 3.8 warns about "\#" when compiling. The "#" has to be escaped for Makefiles and shell, but it isn't special to grep so grep thinks it's an invalid escape sequence.
|
apps/apps.make [diff]
manual/Makefile [diff]
tools/functions.make [diff]
tools/makesrc.inc [diff]
utils/hwstub/stub/hwstub.make [diff]
|
Aidan MacDonald |
20th Mar 23:04 |
977bc698db: [Feature] lastfm_scrobbler add option to set beep volume level
|
apps/plugins/lastfm_scrobbler.c [diff]
|
William Wilgus |
18th Mar 17:47 |
a0a59ab610: Fix locked context fallthrough
Enabling locked actions for all softlock targets accidentally broke keylock on touchscreens because the generic touchscreen keymap was missed. Trying to lookup CONTEXT_WPS|CONTEXT_LOCKED returned the mapping for CONTEXT_STD because the locked version wasn't explicitly handled.
But on almost all cases, a context's keymap does not change when the screen is locked. It makes more sense to mask out the locked flag and only check for it where needed.
|
apps/keymaps/keymap-agptekrocker.c [diff]
apps/keymaps/keymap-clip.c [diff]
apps/keymaps/keymap-erosq.c [diff]
apps/keymaps/keymap-fiiom3k.c [diff]
apps/keymaps/keymap-fiiom3klinux.c [diff]
apps/keymaps/keymap-fuzeplus.c [diff]
apps/keymaps/keymap-ma.c [diff]
apps/keymaps/keymap-nwz.c [diff]
apps/keymaps/keymap-ondavx777.c [diff]
apps/keymaps/keymap-rk27xx-generic.c [diff]
apps/keymaps/keymap-shanlingq1.c [diff]
apps/keymaps/keymap-touchscreen.c [diff]
apps/keymaps/keymap-xduoox20.c [diff]
apps/keymaps/keymap-xduoox3ii.c [diff]
apps/keymaps/keymap-ypr0.c [diff]
apps/keymaps/keymap-ypr1.c [diff]
apps/keymaps/keymap-zenxfi2.c [diff]
|
Aidan MacDonald |
18th Mar 08:23 |
0c29d1788e: [Bugfix] open_plugin_browse() not showing plugins
rockbox_browse() overrides the desired dirfilter with global_settings.dirfilter if you aren't using one of the SHOW_ modes > NUM_FILTER_MODES (which come with their own sideeffects)
add flag BROWSE_DIRFILTER to override global_settings.dirfilter with browse_context.dirfilter
add ability to set tc->browse to NULL to exit dirbrowse immediately
|
apps/open_plugin.c [diff]
apps/tree.c [diff]
apps/tree.h [diff]
|
William Wilgus |
10th Mar 01:15 |
b6d04d1ac0: [BugFix] chunk_alloc pass NULL to buflib_shrink
old_chunk has already been unpinned therefore the address could be incorrect NULL will ensure buflib_shrink uses the same start address
|
firmware/chunk_alloc.c [diff]
|
William Wilgus |
3rd Mar 14:36 |
4faffe0a9c: Update english-us "translation"
|
apps/lang/english-us.lang [diff]
|
Solomon Peachy |
3rd Mar 14:35 |
f6db0c60e0: FS13390: Update Polish Translation (Adam Rak)
|
apps/lang/polski.lang [diff]
|
Solomon Peachy |
16th Feb 20:43 |
fcf24ae387: [BUGFIX] chunk_alloc pinned buffer
if there weren't previous chunks new buffer was pinned without being unpinned
|
firmware/chunk_alloc.c [diff]
|
William Wilgus |
16th Feb 04:02 |
a749a95840: font.c cleanup
find_font_index can use font_filename_matches_loaded_id()
font_path_to_glyph_path doesn't need strcat
|
firmware/export/font.h [diff]
firmware/font.c [diff]
|
William Wilgus |
16th Feb 03:43 |
e7a01ca4b2: usb screen: honor HAVE_LCD_SPLIT
Clip+ displays the logo with the LCD split inbetween. Calculate the y offset to be directly after the split if possible. Thanks go to William Wilgus for fixing a similar issue and pointing me to macros I was looking for.
|
apps/gui/usb_screen.c [diff]
|
Wolfram Sang |
15th Feb 06:27 |
ff98a54cd9: font.c return false if id is out of range instead of NULL
forgot to change this to match the bool return
|
firmware/font.c [diff]
|
William Wilgus |
15th Feb 06:15 |
91c8633e8c: [BugFix] font.c filename was movable
stupid bug on my part font_filename was pointing to a movable alloc therefore that data could be moved out from under the returned pointer
instead pin the internal calls to core_get_data and remove font_filename in favor of a function that checks if a filename matches the loaded font as this was all it was used for anyway
|
apps/settings.c [diff]
firmware/export/font.h [diff]
firmware/font.c [diff]
|
William Wilgus |
9th Feb 11:56 |
3bb75e0039: tagtree.c optimize get_tag()
store tag length to shortcut strcmp
this is nearly as fast as making a hash table using gperf
its not the hottest path but its even slightly faster to shortcut based on string length
if (tagstr_len > match->len) continue; else if (tagstr_len < match->len) break;
but I found no measurable difference I don't think its worth the extra constraint of keeping tags sorted
|
apps/tagtree.c [diff]
|
William Wilgus |
7th Feb 16:25 |
23cb6139bd: SID: Disable SID on 2MB targets, as cRSID needs a lot of RAM.
Also add a note that SID might not play in realtime on all targets
|
lib/rbcodec/codecs/SOURCES [diff]
lib/rbcodec/codecs/codecs.make [diff]
manual/appendix/file_formats.tex [diff]
|
Solomon Peachy |
7th Feb 14:19 |
88f4f1c8d0: metadata: sid: allow RSIDs as well
cRSID also allows to play RSIDs (hence the name of the library). So, allow them as well.
|
lib/rbcodec/metadata/sid.c [diff]
|
Wolfram Sang |
7th Feb 14:19 |
70ce734ece: codec: sid: use cRSID as a library for playing SID files
|
docs/CREDITS [diff]
lib/rbcodec/codecs/cRSID/README.rockbox [new]
lib/rbcodec/codecs/cRSID/SOURCES [new]
lib/rbcodec/codecs/cRSID/cRSID.make [new]
lib/rbcodec/codecs/codecs.make [diff]
lib/rbcodec/codecs/sid.c [diff]
|
Wolfram Sang |
7th Feb 14:19 |
15c0f0576e: codec: sid: split cRSID header into a public and a private header
Needed to compile cRSID as a proper library.
|
lib/rbcodec/codecs/cRSID/C64/C64.c [diff]
lib/rbcodec/codecs/cRSID/C64/libcRSIDc64.h [new]
lib/rbcodec/codecs/cRSID/host/audio.c [diff]
lib/rbcodec/codecs/cRSID/libcRSID.h [diff]
|
Wolfram Sang |
7th Feb 14:19 |
e8135fea5a: codec: sid: add cRSID-1.0 for 21st century SID playback
Plain import of the library parts first. Adaptions to Rockbox will follow. A *lot* of kudos go to Mihaly Horvath for creating this library from his already lightweight cSID-light, mainly for Rockbox. Besides a lot of other things, he made his algorithms integer-only and significantly improved the C64 emulation, so finally RSIDs could be played as well as PSIDs. TinySID was nice for what it is, but this is a quantum leap in SID playback quality for Rockbox. Check for example:
https://hvsc.csdb.dk/MUSICIANS/P/Page_Jason/Eighth.sid https://hvsc.csdb.dk/MUSICIANS/J/Jeff/Blowing.sid
|
lib/rbcodec/codecs/cRSID/C64/C64.c [new]
lib/rbcodec/codecs/cRSID/C64/CIA.c [new]
lib/rbcodec/codecs/cRSID/C64/CPU.c [new]
lib/rbcodec/codecs/cRSID/C64/MEM.c [new]
lib/rbcodec/codecs/cRSID/C64/SID.c [new]
lib/rbcodec/codecs/cRSID/C64/SID.h [new]
lib/rbcodec/codecs/cRSID/C64/VIC.c [new]
lib/rbcodec/codecs/cRSID/README.txt [new]
lib/rbcodec/codecs/cRSID/host/audio.c [new]
lib/rbcodec/codecs/cRSID/host/file.c [new]
lib/rbcodec/codecs/cRSID/libcRSID.c [new]
lib/rbcodec/codecs/cRSID/libcRSID.h [new]
|
Wolfram Sang |
7th Feb 13:44 |
1c26f565bf: tagnavi make track submenu
add some faster options to the track menu add a shortcut for basename formatting sort basename results
filename - by sorted filename title - just title no formatting untagged items are unsorted as well title mm:ss - title and duration
|
apps/plugins/pictureflow/pictureflow.c [diff]
apps/tagcache.c [diff]
apps/tagnavi.config [diff]
apps/tagtree.c [diff]
|
William Wilgus |
5th Feb 11:47 |
b5d93a6605: Revert "tagtree remove unneeded strlen"
This reverts commit 8379c6eb07e7daf26ca74aac7f46c4e331743d84.
Reason for revert: tcs.result_len is not the same as strlen(dptr->name) + 1 since it gets filled with filename
|
apps/tagtree.c [diff]
|
William Wilgus |
4th Feb 16:39 |
d5a84d42b0: [BugFix] tagcache.c fix off by one error in find_entry_disk()
the tagcache counts the null terminator strlen however, does not no matching entries makes for a terrible amount of disk searching and a hang on devices without dircache to save them
|
apps/tagcache.c [diff]
|
William Wilgus |
31th Jan 04:36 |
c955d93075: font.c dynamic path name
only alloc enough space for the path instead of a fixed buffer
round up the path buffer size to slightly more thna the longest common path length to reduce reallocations
|
firmware/font.c [diff]
|
William Wilgus |
29th Jan 13:24 |
78718aa7eb: playlist: Annotate locks as read/write
Distinguish read locks from write locks to aid converting the mutex to an MRSW lock at some point in the future. Everything is a write lock for now and a mutex is still used, so there's no change in behavior.
|
apps/playlist.c [diff]
|
Aidan MacDonald |
29th Jan 12:55 |
25bd3bc971: playlist: Optimize playlist_remove_all_tracks()
This was insanely slow for large playlists. Implement it as a constant-time operation to avoid the O(N!) blowup, and add a new "clear" command to the control file to avoid flooding it with individual delete commands.
|
apps/playlist.c [diff]
apps/playlist.h [diff]
|
Aidan MacDonald |
29th Jan 12:32 |
2c4546ba99: playlist: Remove unused PLAYLIST_DELETE_CURRENT
|
apps/playlist.c [diff]
apps/playlist.h [diff]
|
Aidan MacDonald |
29th Jan 12:15 |
d85f4b5e1c: pdbox: Move core thread off COP
This is all but guaranteed to be broken since pdbox doesn't use SHAREDBSS_ATTR or SHAREDDATA_ATTR, needed to share memory safely with COP threads.
Judging by the codec performance comparison on the wiki, if the iRiver H100 and H300 can run PDbox on one core, PP targets should have no problem doing it - they are 2-4x faster even on codecs that don't have multi-core optimizations.
|
apps/plugins/pdbox/pdbox.c [diff]
|
Aidan MacDonald |
27th Jan 06:12 |
4e5fcbe898: fix red #2 d6fb80d4
|
apps/tagcache.c [diff]
|
William Wilgus |
27th Jan 05:40 |
1d6ce5193f: fix red d6fb80d4
|
apps/tagcache.c [diff]
|
William Wilgus |
27th Jan 05:10 |
00e5c81ecb: debug_menu database delay redraw
only redraw every 100 entries
|
apps/debug_menu.c [diff]
|
William Wilgus |
27th Jan 05:03 |
d6fb80d4ff: Tagcache - Ramcache Move ref checks, speed up disk searches
move loading file reference to a separate function
some optimization of the disk search function check tag length before reading the actual entry & reduce number of lseek calls this affects startup resume as well before tagcache is done loading
|
apps/tagcache.c [diff]
apps/tagcache.h [diff]
apps/tagtree.c [diff]
|
William Wilgus |
23rd Jan 16:04 |
1025283042: usb: Fix iPod video connection issues
Apparently a response is coming out of nowhere and tripping this check. I can't be bothered to look into it; it would be better to just update the ARC USB driver to the new control request API...
|
firmware/usbstack/usb_core.c [diff]
|
Aidan MacDonald |
23rd Jan 14:46 |
c0c1a6e5f0: Fix yellow 65b3ff81c5
|
apps/playlist.c [diff]
|
Aidan MacDonald |
23rd Jan 12:24 |
65b3ff81c5: playlist: Fix dircache scan thread deadlocks
Fix deadlocks in the dircache scan thread caused by incorrect lock ordering. Mutating operations need to stop the thread to prevent it from accessing invalid data; this must always be done before taking the playlist lock to avoid deadlocking the scan thread.
|
apps/playlist.c [diff]
|
Aidan MacDonald |
23rd Jan 12:24 |
ce52d0c870: playlist: Fix mutex initialization
This is a one-time thing; make sure it doesn't happen more than once.
|
apps/playlist.c [diff]
apps/playlist_viewer.c [diff]
|
Aidan MacDonald |
23rd Jan 12:24 |
2a40d42012: playlist: Refactor control cache flush
Make background control file flushing work on non-dircache targets. It has nothing to do with dircache and doesn't belong in the dircache scan thread.
|
apps/playlist.c [diff]
|
Aidan MacDonald |
23rd Jan 12:24 |
551e6aac50: playlist: Remove volatile from indices
This is not necessary. Volatile doesn't create a memory barrier wrt. non-volatile accesses and there are no interrupts involved, so there's no reason to use it here.
|
apps/playlist.h [diff]
|
Aidan MacDonald |
23rd Jan 12:24 |
fcb6239aba: playlist: Remove current flag
Only current_playlist will have it set, so compare pointers instead.
|
apps/playlist.c [diff]
apps/playlist.h [diff]
|
Aidan MacDonald |
22nd Jan 22:10 |
dd2a0aeab0: Use perceptual volume scale for volume bars
Display volume bars using a perceptual scale instead of the linear dB scale. This makes adjusting volume with the bar a lot more usable on touchscreen targets.
|
apps/gui/skin_engine/skin_display.c [diff]
apps/gui/wps.c [diff]
|
Aidan MacDonald |
22nd Jan 22:10 |
82e26ff2e4: Fix manuals 5b27e2255a
Some targets don't have \ButtonVolUp and \ButtonVolDown so reword to avoid using them.
|
manual/configure_rockbox/system_options.tex [diff]
|
Aidan MacDonald |
22nd Jan 21:19 |
5b27e2255a: Add perceptual volume adjustment
The perceived loudness change of a change in volume depends on the listening volume: at high volumes a 1 dB increment is noticeable, but at low volumes a larger increment is needed to get a comparable change in loudness.
Perceptual volume adjustment accounts for this fact, and divides the hardware volume range into a number of steps. Each step changes the dB volume by a variable amount, with most of the steps concentrated at higher volumes. This makes it possible to sweep over the entire hardware volume range quickly, without losing the ability to finely adjust the volume at normal listening levels.
Use "Volume Adjustment Mode" in the system settings menu to select perceptual volume mode. The number of steps used is controlled by "Number of Volume Steps". (Number of steps has no effect in direct adjustment mode.)
It's still possible to set a specific dB volume level from the sound settings menu when perceptual volume is enabled, and perceptual volume does not affect the volume displayed by themes.
|
apps/features.txt [diff]
apps/gui/list.c [diff]
apps/gui/quickscreen.c [diff]
apps/gui/wps.c [diff]
apps/lang/english.lang [diff]
apps/menus/settings_menu.c [diff]
apps/misc.c [diff]
apps/misc.h [diff]
apps/plugin.c [diff]
apps/plugin.h [diff]
apps/plugins/lrcplayer.c [diff]
apps/plugins/mikmod/mikmod.c [diff]
apps/plugins/sdl/SDL_mixer/timidity/playmidi.c [diff]
apps/settings.h [diff]
apps/settings_list.c [diff]
firmware/export/config.h [diff]
manual/configure_rockbox/system_options.tex [diff]
|
Aidan MacDonald |
22nd Jan 21:19 |
15c4447b66: Fix red dc83963962
|
apps/misc.c [diff]
|
Aidan MacDonald |
22nd Jan 20:43 |
dc83963962: Add helpers for converting to/from normalized (perceptual) volume
These routines were taken from alsamixer and converted to fixed point for Rockbox.
|
apps/misc.c [diff]
apps/misc.h [diff]
docs/LICENSES [diff]
|
Aidan MacDonald |
22nd Jan 20:11 |
66519000f4: ErosQNative: Enable Line Out capabilities on new revision players
The newer players have some changed hardware, but most importantly the line out now appears to be routed through the stereo switch instead of being hardwired directly off the DAC.
Disable muting the headphone amp, enable switching the stereo switch, and rename some of the GPIOs to be more generic since the DAC, headphone amp, and stereo switch all appear to have changed.
|
firmware/drivers/audio/eros_qn_codec.c [diff]
firmware/export/eros_qn_codec.h [diff]
firmware/target/mips/ingenic_x1000/erosqnative/audiohw-erosqnative.c [diff]
firmware/target/mips/ingenic_x1000/erosqnative/button-erosqnative.c [diff]
firmware/target/mips/ingenic_x1000/erosqnative/gpio-target.h [diff]
|
Dana Conrad |
22nd Jan 13:47 |
c307d98e3f: playlist: pin dircache fileref buffer during background scanning
dircache_search() can yield, which would lead to memory corruption if the playlist dcfrefs buffer is moved at that point. Prevent this from happening by storing the buflib handle and pinning the buffer while scanning the dircache.
|
apps/playlist.c [diff]
apps/playlist.h [diff]
|
Aidan MacDonald |
19th Jan 20:56 |
32f365bf3c: database: make parent tables work with plugin
Enables the use of PictureFlow and the Properties plugin with parent tables of ALLSUBENTRIES, such as an album or album artist, instead of individual tracks.
|
apps/misc.h [diff]
apps/onplay.c [diff]
apps/plugin.c [diff]
apps/plugin.h [diff]
apps/plugins/properties.c [diff]
apps/tagtree.c [diff]
apps/tagtree.h [diff]
|
Christian Soffke |
19th Jan 20:36 |
4d53d1b52b: PictureFlow: fix_path_part checked too many chars
Shouldn't have any effect if album_name is null-terminated, but still....
|
apps/plugins/pictureflow/pictureflow.c [diff]
|
Christian Soffke |
19th Jan 20:34 |
f441d6bf05: plugins: lrcplayer: eliminate redundant function
|
apps/plugins/lrcplayer.c [diff]
|
Christian Soffke |
19th Jan 20:12 |
36cef88d47: PictureFlow: id3 functions refactoring
- Move multiple-id3 functionality into lib
- Extract retrieve_id3 function
In preparation for using these functions from the Properties plugin.
|
apps/plugins/lib/SOURCES [diff]
apps/plugins/lib/id3.c [new]
apps/plugins/lib/id3.h [new]
apps/plugins/lib/mul_id3.c [new]
apps/plugins/lib/mul_id3.h [new]
apps/plugins/pictureflow/pictureflow.c [diff]
|
Christian Soffke |
19th Jan 19:52 |
6129bfbb95: PictureFlow: Eliminate 'prompt' launch parameter
This was added in commit d553bb1 and doesn’t seem to be used anymore.
Return PLUGIN_OK since an error message is already produced.
|
apps/plugins/pictureflow/pictureflow.c [diff]
|
Christian Soffke |
19th Jan 05:04 |
1b383ef480: chunk alloc add buflib_get_pinned and chunk caching
|
apps/playlist.c [diff]
firmware/chunk_alloc.c [diff]
firmware/include/chunk_alloc.h [diff]
|
William Wilgus |
18th Jan 19:22 |
bd7b54a3c4: usb: Attempt to handle overlapped control requests in legacy drivers
It seems connecting an iPod Video to a Mac triggers the null request check, resulting in a panic. Ignoring the error with a bare return "fixes" it and allows the iPod to connect. This isn't ideal though, because it could silently introduce bugs on other targets.
The likely cause of this is the host sending control requests too fast, or a driver problem (the Video uses the ARC driver, which is still on the legacy interface), with multiple requests getting queued at once. Since the USB core expects to deal with only one request at a time, the second response trips the check.
Try to handle this situation a bit more gracefully by detecting overlapped requests and returning a STALL to the host when it occurs. At this point the USB stack is able to safely handle a new request.
Link: https://forums.rockbox.org/index.php/topic,54414.0.html
|
firmware/usbstack/usb_core.c [diff]
|
Aidan MacDonald |
18th Jan 17:52 |
969e1ef6cd: Bump codec API version, remove dummy configure loop in dsp_init()
It turns out removing DSP_INIT broke the codec ABI and caused old codecs to crash; the loop and mdelay() was a red herring.
This reverts commit 541960a11061213f682d67bb036f861b2605f9d3.
|
lib/rbcodec/codecs/codecs.h [diff]
lib/rbcodec/dsp/dsp_core.c [diff]
lib/rbcodec/dsp/dsp_core.h [diff]
|
Aidan MacDonald |
16th Jan 16:57 |
aae34b2e7f: playlist: enable queue send
Apparently queue_send() silently falls back to queue_post() if sending isn't enabled. Doesn't seem like a good idea, as post and send are definitely *not* interchangeable!
The playlist code relies on queue_send()'s blocking behavior to prevent the dircache thread from using potentially stale pointers.
|
apps/playlist.c [diff]
|
Aidan MacDonald |
16th Jan 16:57 |
a9b93bb4cd: buflib_malloc: fixed signed/unsigned comparison
|
firmware/buflib_malloc.c [diff]
|
Aidan MacDonald |
16th Jan 03:57 |
d521020d21: [Feature] Add total entries to database info
show total database entries in debug>Database Info
|
apps/debug_menu.c [diff]
apps/tagcache.c [diff]
apps/tagcache.h [diff]
|
William Wilgus |
16th Jan 01:32 |
d39fcf5c89: Update english-us "translation"
|
apps/lang/english-us.lang [diff]
|
Solomon Peachy |
16th Jan 01:32 |
0d8b3fe0b9: FS #13385: Updated Polish Translation (Adam Rak)
I applied the wrong diff, which missed a bunch of stuff.
|
apps/lang/polski.lang [diff]
|
Solomon Peachy |
15th Jan 21:41 |
2cb9c7ac29: FS #13385: Updated Polish Translation (Adam Rak)
|
apps/lang/polski.lang [diff]
|
Solomon Peachy |
15th Jan 21:11 |
56442f6b7f: rbcodec: Fix FLAC out of bounds read
Commit 6bcd830490 ported an optimization to decode_subframe_fixed() from FFmpeg (upstream commit 08965b22e2). This contains an out of bounds read, which doesn't affect the decoder output, but makes ASAN complain.
FFmpeg fixed the out of bounds read (upstream commit 0ec7b71de8) but that appears to increase code size a lot.
Inlining the initialization of a, b, c, d into the switch produces similar code as the non-bounds-checked version with only a handful of instructions of overhead (checked on MIPS & ARM).
|
lib/rbcodec/codecs/libffmpegFLAC/decoder.c [diff]
|
Aidan MacDonald |
15th Jan 13:57 |
67cb2e3cdc: Add core_get_data_pinned(), use it where possible
|
apps/core_keymap.c [diff]
apps/misc.c [diff]
firmware/include/core_alloc.h [diff]
|
Aidan MacDonald |
15th Jan 13:33 |
9e53d5541f: "Fix" warble build warnings 800bc000a0
Not really sure how best to deal with the warnings (redefinition of ARRAYLEN, etc.) short of splitting things out of system.h but this is good enough for now.
|
lib/rbcodec/test/rbcodecconfig.h [diff]
|
Aidan MacDonald |
15th Jan 11:06 |
800bc000a0: buflib: Add pinned get/put data functions
These are more efficient than separate pin/unpin calls because pin count increment and decrement can be done cheaply when the data pointer is known.
Secondly, pinned access can be made safe against preemption by hardware interrupts or other CPU cores; buflib_get_data() can't. This makes it more useful under different threading models and for SMP targets; both of which are not particularly relevant to Rockbox now, but might be in the future.
|
firmware/buflib_malloc.c [diff]
firmware/buflib_mempool.c [diff]
firmware/include/buflib.h [diff]
firmware/include/buflib_malloc.h [diff]
firmware/include/buflib_mempool.h [diff]
|
Aidan MacDonald |
15th Jan 10:04 |
92565e9246: buflib: Add malloc-backed buflib
This is intended for improving the effectiveness of tools like ASAN when debugging memory errors in the sim. It's not meant to be a serious allocator for hosted targets.
Enable it by changing the buflib backend in config.h.
|
firmware/SOURCES [diff]
firmware/buflib_malloc.c [new]
firmware/export/config.h [diff]
firmware/include/buflib.h [diff]
firmware/include/buflib_malloc.h [new]
|
Aidan MacDonald |
15th Jan 10:04 |
f2f198663e: buflib: Move the API back into buflib.h
To minimize code duplication between buflib backends move the public part of the API to buflib.h. Also rewrote documentation for the whole API.
|
firmware/include/buflib.h [diff]
firmware/include/buflib_mempool.h [diff]
|
Aidan MacDonald |
15th Jan 10:04 |
f995c26de9: buflib: Add CONFIG_BUFLIB_BACKEND for selecting a buflib backend
Defaults to the normal "mempool" backend, which is currently the only implementation.
|
apps/plugin.h [diff]
firmware/SOURCES [diff]
firmware/buflib_mempool.c [diff]
firmware/core_alloc.c [diff]
firmware/export/config.h [diff]
firmware/include/buflib.h [new]
firmware/include/buflib_mempool.h [diff]
firmware/include/chunk_alloc.h [diff]
firmware/include/core_alloc.h [diff]
|
Aidan MacDonald |
15th Jan 10:04 |
680261fbb7: buflib: Prep for multiple backend support, rename to buflib_mempool
Rename the current buflib implementation to buflib_mempool.
|
apps/plugin.h [diff]
firmware/SOURCES [diff]
firmware/buflib.c firmware/buflib_mempool.c [rename]
firmware/core_alloc.c [diff]
firmware/include/buflib.h firmware/include/buflib_mempool.h [rename]
firmware/include/chunk_alloc.h [diff]
firmware/include/core_alloc.h [diff]
lib/rbcodec/test/SOURCES [diff]
|
Aidan MacDonald |
14th Jan 20:17 |
e23c78522a: si4700: remove unneeded ';' directly after a 'case'
Signed-off-by: Wolfram Sang
|
firmware/drivers/tuner/si4700.c [diff]
|
Wolfram Sang |
14th Jan 18:44 |
e61a5c957c: PictureFlow: Add ability to insert into playlists
Songs or albums can now be added to new or existing playlists directly from PictureFlow.
|
apps/plugin.c [diff]
apps/plugin.h [diff]
apps/plugins/pictureflow/pictureflow.c [diff]
manual/plugins/pictureflow.tex [diff]
|
Christian Soffke |
14th Jan 18:40 |
1e4ee1917c: Fix red in 7f265ee
|
apps/plugin.c [diff]
apps/plugin.h [diff]
apps/plugins/lib/wrappers.h [diff]
|
Christian Soffke |
14th Jan 17:14 |
7f265ee8dd: Database: Add ability to insert multiple files into playlists
You could only add single files to playlists from the database browser before. This enables adding any database selection to a new or existing playlist.
|
apps/misc.c [diff]
apps/misc.h [diff]
apps/onplay.c [diff]
apps/onplay.h [diff]
apps/playlist_catalog.c [diff]
apps/playlist_catalog.h [diff]
apps/playlist_viewer.c [diff]
apps/recorder/albumart.c [diff]
apps/tagtree.c [diff]
apps/tagtree.h [diff]
apps/tree.c [diff]
|
Christian Soffke |
14th Jan 15:31 |
cc79f1b543: on_play.c clean up playing_time
move seconds and sizes to arrays indiexed by enums use a loop for the display and talk of each stop exiting on SYS_EVENTs
|
apps/onplay.c [diff]
|
William Wilgus |
14th Jan 05:46 |
6e08731835: [Feature] onplay.c Playlist Playing Time more fault tolerant
bad tracks now get skipped with a message at the end of scanning rather than an error killing the count
|
apps/onplay.c [diff]
|
William Wilgus |
14th Jan 04:56 |
202d8939c8: [Feature] xduoo X3 add pitchscreen hotkey to wps
Back(home) + option in that order will bring up the pitchscreen
|
apps/keymaps/keymap-xduoox3.c [diff]
|
William Wilgus |
14th Jan 04:12 |
958daa925e: [BUGFix] ClipPlus move picker below yellow screen split
Sansa Clip and Clip+ have a split monochrome screen some versions have a dead line of pixels having text split at this line makes it hard to read move text picker below this split on these devices
|
apps/recorder/keyboard.c [diff]
|
William Wilgus |
14th Jan 03:46 |
91c7e333d7: Revert "keyboard.c make editline respect current UI font"
This reverts commit ebebef556652bd271000727484b72e19970477e1.
Reason for revert: I don't want to get too deep into this till I come back to the keyboard rewrite (hopefully)
|
apps/recorder/keyboard.c [diff]
|
William Wilgus |
13th Jan 22:02 |
255a34c685: fix red from #641e91aa2f
|
firmware/export/jz4740.h [diff]
firmware/target/mips/ingenic_jz47xx/system-jz4760.c [diff]
|
Solomon Peachy |
13th Jan 21:14 |
641e91aa2f: jz47xx: Add support for INIT region
|
firmware/export/config.h [diff]
firmware/target/mips/ingenic_jz47xx/app.lds [diff]
firmware/target/mips/ingenic_jz47xx/crt0.S [diff]
firmware/target/mips/ingenic_jz47xx/system-jz4740.c [diff]
firmware/target/mips/ingenic_jz47xx/system-jz4760.c [diff]
|
Solomon Peachy |
13th Jan 21:04 |
fe16ab33dd: toolchain: Bump zlib to 1.2.13, for reals this time.
|
tools/rockboxdev.sh [diff]
|
Solomon Peachy |
13th Jan 20:29 |
dc0d05e220: toolchain: Bump zlib to 1.2.13 due to 1.2.12 being withdrawn
|
tools/rockboxdev.sh [diff]
|
Solomon Peachy |
13th Jan 14:50 |
40355caefd: buflib_shrink use NULL to signal start isn't changing
|
apps/filetypes.c [diff]
apps/tagtree.c [diff]
firmware/buflib.c [diff]
firmware/chunk_alloc.c [diff]
firmware/linuxboot.c [diff]
|
William Wilgus |
13th Jan 10:32 |
719d48afc4: buflib: Refactor various debugging features
Gate buflib_get_data() checking, debug printing, and buflib integrity checks behind individual defines in buflib.h, and turn them all off by default. If needed, they can be turned on manually when compiling.
The buflib debug menu is only available if debug printing is enabled, so after this commit it will no longer be included in normal builds -- it isn't very useful to end users.
|
apps/debug_menu.c [diff]
firmware/buflib.c [diff]
firmware/core_alloc.c [diff]
firmware/include/buflib.h [diff]
firmware/include/core_alloc.h [diff]
firmware/kernel/thread.c [diff]
firmware/target/hosted/sdl/thread-sdl.c [diff]
|
Aidan MacDonald |
13th Jan 10:32 |
e492b51d83: buflib: Remove block start / end distinction
Removing the variable-length name in the middle of buflib metadata makes it a lot easier to deal with.
|
firmware/buflib.c [diff]
|
Aidan MacDonald |
13th Jan 10:32 |
5a3ee83555: buflib: Remove CRC checks
The CRC is a fairly useless safety check because we already have specific checks to validate the metadata, and CRCs are only verified before calling the move callback. Removing the check should not significantly reduce buflib's robustness.
|
firmware/buflib.c [diff]
firmware/include/buflib.h [diff]
|
Aidan MacDonald |
13th Jan 10:32 |
31f03d9433: buflib: Optimize away the BSIZE metadata field
Now that allocations are unnamed, BSIZE is a constant.
|
firmware/buflib.c [diff]
|
Aidan MacDonald |
13th Jan 10:32 |
1e9ad3ca0d: Remove buflib allocation names, part two
Remove allocation names from the buflib API and fix up all callers.
|
apps/action.c [diff]
apps/core_keymap.c [diff]
apps/debug_menu.c [diff]
apps/filetypes.c [diff]
apps/gui/skin_engine/skin_backdrops.c [diff]
apps/gui/skin_engine/skin_parser.c [diff]
apps/iap/iap-core.c [diff]
apps/misc.c [diff]
apps/playback.c [diff]
apps/playlist.c [diff]
apps/plugin.c [diff]
apps/plugin.h [diff]
apps/radio/radioart.c [diff]
apps/rbcodec_helpers.c [diff]
apps/recorder/pcm_record.c [diff]
apps/shortcuts.c [diff]
apps/tagcache.c [diff]
apps/tagtree.c [diff]
apps/talk.c [diff]
apps/tree.c [diff]
apps/voice_thread.c [diff]
bootloader/x1000/boot.c [diff]
bootloader/x1000/utils.c [diff]
firmware/buflib.c [diff]
firmware/common/dircache.c [diff]
firmware/common/unicode.c [diff]
firmware/common/zip.c [diff]
firmware/core_alloc.c [diff]
firmware/font.c [diff]
firmware/include/buflib.h [diff]
...and 9 more files. |
Aidan MacDonald |
13th Jan 10:12 |
3301c5aa6d: Remove buflib allocation names, part one
Remove the name handling code, but leave the allocation structure otherwise untouched; it's as if all callers provided a NULL name. The public API still accepts names but names are no longer stored or returned.
|
firmware/buflib.c [diff]
|
Aidan MacDonald |
13th Jan 09:54 |
879888b158: Avoid using buflib names for storing font paths
Naming your allocations is more of a debugging feature; it's a bad idea to abuse this feature for storing some random string. The font code does exactly that to remember the path used to load a font, and it's the only code that uses buflib names in this way.
Store the path inside the font allocation instead as a regular char array. For simplicity it's MAX_PATH sized, so this'll use a bit more memory than the buflib name method, maybe 1-2 KiB if a few fonts are loaded.
|
firmware/font.c [diff]
|
Aidan MacDonald |
13th Jan 06:36 |
ebebef5566: keyboard.c make editline respect current UI font
|
apps/recorder/keyboard.c [diff]
|
William Wilgus |
13th Jan 00:36 |
2d9cb673e5: add chunk_alloc to playlist.c #2
dc_thread_playlist was asking for invalid indices since previously the name buffer would have been valid it just got whatever junk data was left over
add dc_discard_playlist_pointers for HAVE_DIRCACHE targets this allows the dc_playlist_thread to stop its current lookup loop
|
apps/playlist.c [diff]
apps/playlist.h [diff]
|
William Wilgus |
13th Jan 00:36 |
00c7817c9c: [BugFix] playlist.c DIRCACHE stop scanning when changing indices
dc_playlist_thread may continue loading pointers even while underlying indices are changing instead stop the loop by marking pointers as clean and rebuild later
|
apps/playlist.c [diff]
|
William Wilgus |
12th Jan 11:56 |
16a32c576c: Fix red in 7e5fc4076a
|
firmware/export/i2c.h [diff]
|
Aidan MacDonald |
12th Jan 11:33 |
7e5fc4076a: Add INIT_ATTR to i2c_init()
It's usually only called from init() in main.c, so this is safe.
There is one more call in system-dm320.c from system_init(), but that's also "safe". I don't know if it's okay to call i2c_init() twice, but presumably it works...
|
firmware/export/i2c-coldfire.h [diff]
firmware/export/i2c-rk27xx.h [diff]
firmware/export/i2c-s5l8700.h [diff]
firmware/export/i2c-s5l8702.h [diff]
firmware/export/i2c.h [diff]
firmware/target/arm/imx31/i2c-imx31.c [diff]
firmware/target/arm/imx31/i2c-imx31.h [diff]
firmware/target/arm/s3c2440/i2c-s3c2440.h [diff]
firmware/target/arm/tms320dm320/i2c-dm320.h [diff]
firmware/target/mips/ingenic_x1000/i2c-x1000.h [diff]
|
Aidan MacDonald |
12th Jan 11:05 |
39439f6909: Add INIT_ATTR to system_init()
On single-core targets, system_init() is only called from init() in main.c, which is also INIT_ATTR, so this is safe.
Multi-core targets additionally call system_init() from cop_main(), which isn't marked INIT_ATTR. I'm fairly certain that it would be safe to add INIT_ATTR to cop_main() with a bit of refactoring, but I don't have a way of testing it. So for now, leave INIT_ATTR off for multi-core targets.
|
firmware/export/system.h [diff]
firmware/target/arm/imx31/gigabeat-s/system-gigabeat-s.c [diff]
|
Aidan MacDonald |
12th Jan 09:56 |
541960a110: rbcodec/dsp: restore configure loop in dsp_init() (FS #13386)
It seems removing this causes a crash on the Clip+ when playing any file. Appears to be a timing-related issue as replacing the loop with an mdelay() also fixes it. Needs further investigation to identify the real cause of the problem, see FS #13386.
|
lib/rbcodec/dsp/dsp_core.c [diff]
lib/rbcodec/dsp/dsp_core.h [diff]
|
Aidan MacDonald |
11th Jan 06:14 |
746fd7f2db: Revert "add chunk_alloc to playlist.c"
This reverts commit 89c021fbfa6cfad58d272769a1e8762cf32be204.
Reason for revert: crash when playing on disk playlist then playing a directory as an in-ram playlist
|
apps/playlist.c [diff]
apps/playlist.h [diff]
|
William Wilgus |
11th Jan 04:59 |
89c021fbfa: add chunk_alloc to playlist.c
|
apps/playlist.c [diff]
apps/playlist.h [diff]
|
William Wilgus |
11th Jan 04:59 |
7faf6be35f: chunk_alloc
chunk_alloc allows arrays (or any data) to be allocated in smaller chunks
you have to save the indices.. variable data will have variable indices you need to store these as [chunk_alloc] doesn't keep track if you have a fixed size for each alloc you can do indice / sizeof(data) or index * sizeof(data) to convert
Lots of debug stuff still in and it needs optimization
User provides chunk_size and max_chunks max_chunks * struct chunk will be allocated at start with (1) chunk_size allocation initially
alloc_chunk() with size = 0 shrinks the last allocation to the size of the data used
add OOM checks on buflib_alloc -- oops
move bytes available to the header -- less memory per chunk & better alignment keep track of the current in use chunk index -- should speed things up a bit
Now allows: realloc chunk header larger allocations than chunk size
reallocs smaller than existing will shrink the current array rather than alloc a new and copy data
Comments welcome :)
|
firmware/SOURCES [diff]
firmware/chunk_alloc.c [new]
firmware/include/chunk_alloc.h [new]
firmware/include/core_alloc.h [diff]
|
William Wilgus |
10th Jan 17:50 |
a513cee822: PictureFlow: Add 'Track Info' for tracks or whole albums
Context menu gains new option to view metadata for individual tracks or albums.
Will display an album's length and total file size. Other fields are displayed only if they are identical across all tracks (except for the album year, which is determined by the highest value encountered).
|
apps/plugin.c [diff]
apps/plugin.h [diff]
apps/plugins/pictureflow/pictureflow.c [diff]
apps/screens.c [diff]
manual/plugins/pictureflow.tex [diff]
|
Christian Soffke |
10th Jan 16:05 |
d5e38062ea: Fix hotkey strings
missed in 7d13c0c
|
apps/onplay.c [diff]
|
Christian Soffke |
8th Jan 20:43 |
3694314058: [BugFix] voicefont.c buffer overflow
voicefont.c expected a max of 999 voice IDs we are at 1013 or so bad stuff happened TM new limit is 2048 and added an error message
(no file will be created if limit exceeded)
|
tools/voicefont.c [diff]
|
William Wilgus |
8th Jan 14:52 |
282a54b23c: [Feature] filetree fallback to loading a playlist from disk
give user option to load playlist from disk when namebuffer is too small -- max_playlist size still limits the total entries but filename length won't stop them from playing the directory
|
apps/filetree.c [diff]
apps/playlist.c [diff]
|
William Wilgus |
8th Jan 10:50 |
593103cd8b: lcd: Fix 4bpp optimized 16-bit alpha blit
Fixes a bug introduced by commit 5d0c382a59 that caused graphical corruption on anti-aliased fonts.
|
firmware/drivers/lcd-16bit-common.c [diff]
|
Aidan MacDonald |
7th Jan 18:48 |
528b6a9a15: manual: Update screenshots
|
manual/rockbox_interface/images/ss-context-menu-112x64x1.png [deleted]
manual/rockbox_interface/images/ss-context-menu-128x128x16.png [diff]
manual/rockbox_interface/images/ss-context-menu-128x128x2.png [diff]
manual/rockbox_interface/images/ss-context-menu-128x64x1-clip.png [diff]
manual/rockbox_interface/images/ss-context-menu-128x64x1-xduoox3.png [diff]
manual/rockbox_interface/images/ss-context-menu-128x96x16.png [diff]
manual/rockbox_interface/images/ss-context-menu-128x96x2.png [diff]
manual/rockbox_interface/images/ss-context-menu-132x80x16.png [diff]
manual/rockbox_interface/images/ss-context-menu-138x110x2.png [diff]
manual/rockbox_interface/images/ss-context-menu-160x128x1.png [diff]
manual/rockbox_interface/images/ss-context-menu-160x128x16.png [diff]
manual/rockbox_interface/images/ss-context-menu-160x128x2.png [diff]
manual/rockbox_interface/images/ss-context-menu-176x132x16.png [diff]
manual/rockbox_interface/images/ss-context-menu-176x220x16.png [diff]
manual/rockbox_interface/images/ss-context-menu-220x176x16.png [diff]
manual/rockbox_interface/images/ss-context-menu-240x320x16.png [diff]
manual/rockbox_interface/images/ss-context-menu-320x240x16.png [diff]
manual/rockbox_interface/images/ss-context-menu-96x96x16-sansaclipzip.png [diff]
manual/rockbox_interface/images/ss-playlist-menu-112x64x1.png [deleted]
manual/rockbox_interface/images/ss-playlist-menu-128x128x16.png [diff]
manual/rockbox_interface/images/ss-playlist-menu-128x128x2.png [diff]
manual/rockbox_interface/images/ss-playlist-menu-128x64x1-clip.png [diff]
manual/rockbox_interface/images/ss-playlist-menu-128x64x1-xduoox3.png [diff]
manual/rockbox_interface/images/ss-playlist-menu-128x96x16.png [diff]
manual/rockbox_interface/images/ss-playlist-menu-128x96x2.png [diff]
manual/rockbox_interface/images/ss-playlist-menu-132x80x16.png [diff]
manual/rockbox_interface/images/ss-playlist-menu-138x110x2.png [diff]
manual/rockbox_interface/images/ss-playlist-menu-160x128x1.png [diff]
manual/rockbox_interface/images/ss-playlist-menu-160x128x16.png [diff]
manual/rockbox_interface/images/ss-playlist-menu-160x128x2-h100.png [diff]
...and 7 more files. |
Christian Soffke |
7th Jan 15:32 |
7d13c0c4eb: Rename "Playing Next..." menu items & hide Queue/Shuffle
"Play Next" instead of "Insert Next"
"Add" instead of "Insert"
"Play Last" instead of "Insert Last"
"Add Shuffled" instead of "Insert Shuffled"
"Play Last Shuffled" instead of "Insert Last Shuffled"
-"Queue" items hidden by default
- Shuffled options hidden by default
(Both can be enabled in options)
Resulting default menu:
Playing Next... Play Next Add Play Last Play
|
apps/lang/english.lang [diff]
apps/onplay.c [diff]
apps/settings_list.c [diff]
manual/working_with_playlists/main.tex [diff]
|
Christian Soffke |
7th Jan 13:53 |
ed95892a1f: Rename “Current Playlist” and “Playlist Catalogue” context menus
Use action-oriented and more descriptive titles
"Add to Playlist..." instead of "Playlist Catalogue"
- "Add to Existing Playlist" instead of "Add to Playlist"
- "Add to New Playlist" (unchanged)
- "Playing Next..." instead of "Current Playlist"
In WPS context menu:
- "Current Playlist" instead of "Playlist"
|
apps/lang/english.lang [diff]
apps/onplay.c [diff]
apps/playlist_viewer.c [diff]
manual/configure_rockbox/playlist_options.tex [diff]
manual/main_menu/main.tex [diff]
manual/plugins/pictureflow.tex [diff]
manual/rockbox_interface/browsing_and_playing.tex [diff]
manual/rockbox_interface/wps.tex [diff]
manual/working_with_playlists/main.tex [diff]
|
Christian Soffke |
7th Jan 13:53 |
21ca64d7cd: File Browser: Add “Set As..." context menu
Moves options for configuring:
- Playlist Directory
- Recording Directory
- Start Directory
into a single menu.
Necessary prerequisite for giving the
"Playlist Catalogue" context menu item a title that's a little more action-oriented ("Add to Playlist…”).
|
apps/lang/english.lang [diff]
apps/onplay.c [diff]
manual/configure_rockbox/playback_options.tex [diff]
manual/rockbox_interface/browsing_and_playing.tex [diff]
|
Christian Soffke |
6th Jan 19:19 |
5bb062391f: playlist.c fix old out of bounds read
In case next_index == -1, this would read before the start of the playlist->indices buffer.
|
apps/playlist.c [diff]
|
Aidan MacDonald |
6th Jan 18:54 |
5d0c382a59: lcd: Rewrite 16bit alpha bitmap blit
Avoids a harmless out of bounds reads in ASAN that occurs with malloc buflib. Code size and performance is similar.
|
firmware/drivers/lcd-16bit-common.c [diff]
|
Aidan MacDonald |
6th Jan 18:00 |
b444ecfca2: plugins: Properties: Add 'Last Modified' for audio files
In commit f3358eb, the Properties plugin started using the Track Info screen for audio files, which didn't show when the file was last modified. This adds it back.
|
apps/gui/wps.c [diff]
apps/onplay.c [diff]
apps/playlist_viewer.c [diff]
apps/plugin.h [diff]
apps/plugins/properties.c [diff]
apps/screens.c [diff]
apps/screens.h [diff]
|
Christian Soffke |
6th Jan 17:50 |
5750eb3181: browse_id3: Only push activity when called from WPS
The Properties plugin and playlist viewer have each started using the existing Track Info screen.
In both cases, it may not be necessary to push a new activity. Which eliminates the need to perform an additional skin refresh.
I've also noticed at least one theme in the wild that assumes ACTIVITY_ID3SCREEN will only ever display info for the currently playing track (as it did previously) and adjusts the skin specifically for that purpose.
|
apps/screens.c [diff]
|
Christian Soffke |
6th Jan 05:38 |
8366b8511d: Fix red in 9bd5249
|
apps/plugins/bitmaps/remote_native/SOURCES [diff]
|
Christian Soffke |
6th Jan 04:45 |
9bd5249445: plugins: Credits: Fix logo sizes
Commit 1930ca8 repurposed the 'Logo' plugin's logos, whose dimensions are different from those used by show_logo, which was previously called to display the logo.
|
apps/plugins/bitmaps/native/SOURCES [diff]
apps/plugins/bitmaps/native/creditslogo.112x30x1.bmp [new]
apps/plugins/bitmaps/native/creditslogo.128x40x16.bmp [new]
apps/plugins/bitmaps/native/creditslogo.128x42x1.bmp [new]
apps/plugins/bitmaps/native/creditslogo.128x42x2.bmp [new]
apps/plugins/bitmaps/native/creditslogo.132x40x16.bmp [new]
apps/plugins/bitmaps/native/creditslogo.138x46x2.bmp [new]
apps/plugins/bitmaps/native/creditslogo.160x50x16.bmp [new]
apps/plugins/bitmaps/native/creditslogo.160x53x1.bmp [new]
apps/plugins/bitmaps/native/creditslogo.160x53x2.bmp [new]
apps/plugins/bitmaps/native/creditslogo.176x54x16.bmp [new]
apps/plugins/bitmaps/native/creditslogo.220x68x16.bmp [new]
apps/plugins/bitmaps/native/creditslogo.240x74x16.bmp [new]
apps/plugins/bitmaps/native/creditslogo.320x98x16.bmp [new]
apps/plugins/bitmaps/native/creditslogo.480x149x16.bmp [new]
apps/plugins/bitmaps/native/creditslogo.640x198x16.bmp [new]
apps/plugins/bitmaps/native/creditslogo.96x30x16.bmp [new]
apps/plugins/bitmaps/remote_native/SOURCES [diff]
apps/plugins/bitmaps/remote_native/remote_creditslogo.128x42x1.bmp [new]
apps/plugins/bitmaps/remote_native/remote_creditslogo.128x42x2.bmp [new]
apps/plugins/credits.c [diff]
|
Christian Soffke |
5th Jan 03:00 |
9367ef1ed6: [BugFix] Fix some Shif related UB -- ASAN
these are the low hanging fruit identified by ASAN
cast the byte values before shift
|
firmware/export/pcm_sampr.h [diff]
lib/rbcodec/codecs/libopus/ogg/framing.c [diff]
lib/rbcodec/metadata/metadata_common.c [diff]
|
William Wilgus |
5th Jan 01:20 |
ea33e66021: [BugFix] Buffering.c NULL src for memcpy is UB -- ASAN
No clue if our implementation would suffer the same fate but the C standard states: Where an argument declared as size_t n specifies the length of the array for a function, n can have the value zero […] pointer arguments on such a call shall still have valid values, as described in 7.1.4.
|
apps/buffering.c [diff]
|
William Wilgus |
2nd Jan 20:55 |
a23ae63a31: Increase maximum files in directory limit
Increase the default limit to 5000 files for targets with at least 8 MiB of RAM (the vast majority). The upper limit of the setting is now 40,000 or 100,000 if you have at least 8 MiB or 16 MiB of RAM, respectively.
Update the manual to mention that this setting can also impact the database browser. "Using the Database" already mentions it, but it's useful to say so in the setting's description.
|
apps/settings_list.c [diff]
manual/configure_rockbox/system_options.tex [diff]
|
Aidan MacDonald |
2nd Jan 20:55 |
9d6f9441ae: manuals: Update warning on max entries in file browser / playlist
These settings have a warning that increasing them will shorten the audio buffer. This is not very useful, because users might not know what "shortening the music buffer" implies.
Since the size of the audio buffer is probably irrelevant for flash based storage, display the warning only for HDD-based targets, and explain what the drawbacks may be if the settings are set too high.
|
manual/configure_rockbox/system_options.tex [diff]
|
Aidan MacDonald |
2nd Jan 18:38 |
e8e781b006: lua: rocklib_events fix
Do not spawn threads on COP as PP lacks cache coherency between cores, making it unsafe to access cacheable memory that might be accessed by the other core.
|
apps/plugins/lua/rocklib_events.c [diff]
|
Aidan MacDonald |
2nd Jan 18:19 |
84fe501f53: Add locked actions to all soft lock targets
fiio m3k native is currently the only player with defined buttons different from the standard mapping.
This allows the user to use the keyremap plugin to specify differing keymaps for their device in the locked state
|
apps/action.c [diff]
apps/keymaps/keymap-agptekrocker.c [diff]
apps/keymaps/keymap-erosq.c [diff]
apps/keymaps/keymap-fiiom3k.c [diff]
apps/keymaps/keymap-fiiom3klinux.c [diff]
apps/keymaps/keymap-fuzeplus.c [diff]
apps/keymaps/keymap-ma.c [diff]
apps/keymaps/keymap-nwz.c [diff]
apps/keymaps/keymap-ondavx777.c [diff]
apps/keymaps/keymap-rk27xx-generic.c [diff]
apps/keymaps/keymap-shanlingq1.c [diff]
apps/keymaps/keymap-xduoox20.c [diff]
apps/keymaps/keymap-xduoox3ii.c [diff]
apps/keymaps/keymap-ypr0.c [diff]
apps/keymaps/keymap-ypr1.c [diff]
apps/keymaps/keymap-zenxfi2.c [diff]
apps/plugins/keyremap.c [diff]
apps/plugins/pictureflow/pictureflow.c [diff]
firmware/export/config/fiiom3k.h [diff]
firmware/export/config/sansaclipplus.h [diff]
firmware/export/config/sansaclipzip.h [diff]
|
William Wilgus |
2nd Jan 16:04 |
a00bd421ac: clean up button.c optimize !filter_first_keypress
do a bit of cleanup in button_tick move filter_first_keypress to a function pointer
|
firmware/backlight.c [diff]
firmware/drivers/button.c [diff]
firmware/export/backlight.h [diff]
|
William Wilgus |
2nd Jan 15:09 |
6cbf2160e5: tlsf fix corruption checks
Turns out (~PTR_MASK) != (0xFFFFFFFF - PTR_MASK) in 64 bit land
tmp_b = (bhdr_t*) ( (intptr_t)b->prev_hdr & BLOCK_SIZE );
using ~STATE_MASK or even #define BLOCK_SIZE (~PTR_MASK) resolves the issue
switching BLOCK_SIZE TO ~STATE_MASK appears to fix it
Also define BLOCK_SIZE (~PTR_MASK)
Fix a few signed / unsigned errors
|
lib/tlsf/src/tlsf.c [diff]
|
William Wilgus |
31th Dec 22:12 |
3def8fee8c: [FixRed] ClipV2 has a hold button -- news to me
HAVE_LOCKED_ACTIIONS requires !defined(HAVE_HOLD_BUTTON)
|
apps/action.c [diff]
firmware/export/config/sansaclipv2.h [diff]
|
William Wilgus |
31th Dec 21:12 |
6ebec601f9: [Feature/Bugfix] keyremap add Context flags
Add context flags to keyremap CONTEXT_LOCKED CONTEXT_REMOTE CONTEXT_REMOTE_LOCKED
--CONTEXT_PLUGIN-- Removed -- Plugins need a custom action list supplied and a method of supplying them
|
apps/action.c [diff]
apps/action.h [diff]
apps/keymaps/keymap-clip.c [diff]
apps/plugins/keyremap.c [diff]
firmware/export/config/sansaclipplus.h [diff]
firmware/export/config/sansaclipv2.h [diff]
firmware/export/config/sansaclipzip.h [diff]
|
William Wilgus |
31th Dec 21:12 |
0330aa8eb2: [BugFix] printcell_helper selection out of bounds
on load printcell.selcol is -1 whioch is out of bounds as an index into an array
|
apps/plugins/lib/printcell_helper.c [diff]
|
William Wilgus |
31th Dec 20:21 |
485e96d6be: tlsf: Update to upstream 2.4.6 release
Seems to resolve FS #13383 and FS #13384
|
lib/tlsf/Changelog [diff]
lib/tlsf/README [diff]
lib/tlsf/libtlsf.make [diff]
lib/tlsf/src/tlsf.c [diff]
lib/tlsf/src/tlsf.h [diff]
|
Solomon Peachy |
31th Dec 16:01 |
85410589d1: Revert "keyremap allow remaps to work when player is locked"
This reverts commit ea7b80dab0ee9f087c1db76975d9490db8b189d1.
Reason for revert: Adding Context flags to the keyremap plugin
|
apps/action.c [diff]
|
William Wilgus |
31th Dec 13:10 |
484a79fcc0: x1000: Add INIT_ATTR to various target specific functions
Add INIT_ATTR to some low-hanging fruit in the X1000 code: GPIO init, GPIO initial state tables, clock init, and DMA init.
|
firmware/target/mips/ingenic_x1000/clk-x1000.h [diff]
firmware/target/mips/ingenic_x1000/dma-x1000.h [diff]
firmware/target/mips/ingenic_x1000/gpio-x1000.c [diff]
firmware/target/mips/ingenic_x1000/gpio-x1000.h [diff]
firmware/target/mips/ingenic_x1000/system-target.h [diff]
firmware/target/mips/ingenic_x1000/system-x1000.c [diff]
|
Aidan MacDonald |
31th Dec 13:10 |
a980d5f869: x1000: Enable support for INIT_ATTR
Enable INIT_ATTR support in config.h. Load init code to the codec buffer, following the convention used by other targets that support INIT_ATTR.
|
firmware/export/config.h [diff]
firmware/target/mips/ingenic_x1000/app.lds [diff]
firmware/target/mips/ingenic_x1000/crt0.S [diff]
firmware/target/mips/ingenic_x1000/spl.lds [diff]
|
Aidan MacDonald |
31th Dec 12:21 |
ea7b80dab0: keyremap allow remaps to work when player is locked
keyremap doesn't have a notion of locked contexts add CONTEXT_LOCKED after keyremap so users don't have to specify multiple context flags to get Advanced keylock working with keyremaps
|
apps/action.c [diff]
|
William Wilgus |
31th Dec 12:04 |
855540e1f5: [BugFix] keyremap browse missing root, entry count off by 1
browse_context was missing its root causing a NULL deref
Export User Keys was looking for at least 4 entries when it only needed 3
|
apps/plugins/keyremap.c [diff]
|
William Wilgus |
31th Dec 02:57 |
1773e56447: tagtree: Discard item history when selection changes in both directions
A changed selection only caused the item history for deeper levels to be discarded in tagtree_enter, when you were descending, but not in tagtree_exit when you were ascending the menu hierarchy again.
|
apps/tagtree.c [diff]
|
Christian Soffke |
31th Dec 00:56 |
178560f495: Treat cue file as folder for next/prev folder action
Do not get stuck if it's the only cue file in folder
|
apps/gui/wps.c [diff]
|
roman.artiukhin |
30th Dec 15:35 |
b321a719d3: option_select & time_menu : Fix unbalanced push/pop activity
|
apps/gui/option_select.c [diff]
apps/menus/time_menu.c [diff]
|
Christian Soffke |
30th Dec 12:23 |
e180e45e01: events.c clean-up
check for invalid userdata by assigning the address of 'invalid_userdata' this cleans up the functions a bit and removes some extra conditionals
|
firmware/events.c [diff]
|
William Wilgus |
29th Dec 10:26 |
d59e135b04: plugins: Xobox: Fix highscore table on 2bit grayscale displays
After finishing a game of Xobox, background and foreground were both the same color, making the high score table invisible..
|
apps/plugins/lib/highscore.c [diff]
|
Christian Soffke |
29th Dec 07:10 |
66bed14f17: plugins: SpaceRocks: iPod keymap, use Menu button for Menu
Missing from faa2cb9
- Thrust is now Right instead of Menu
- Teleport is Left instead of Play/Pause
- Pause is Play/Pause
|
apps/plugins/spacerocks.c [diff]
manual/plugins/spacerocks.tex [diff]
|
Christian Soffke |
29th Dec 03:39 |
faa2cb9942: plugins: Improve usability of iPod keymaps
- Reduce need to press multiple buttons at the same time to quit a plugin
- Have "Menu" be default way to quit plugins or to access plugin menu
- Fall back to (Long) "Select" or Long "Menu" in cases where Menu button isn't available
(e.g. in ImageViewer and many games)
out of scope: boomshine, lua_scripts, Rockpaint, Doom, Duke3D, Pacbox, Quake, Sgt-Puzzles, Wolf3D, XWorld, Minesweeper, Pixel Painter, Spacerocks
|
apps/plugins/2048.c [diff]
apps/plugins/alarmclock.c [diff]
apps/plugins/bounce.c [diff]
apps/plugins/bubbles.c [diff]
apps/plugins/calendar.c [diff]
apps/plugins/chessbox/chessbox_pgn.h [diff]
apps/plugins/clix.c [diff]
apps/plugins/clock/clock.c [diff]
apps/plugins/codebuster.c [diff]
apps/plugins/cube.c [diff]
apps/plugins/demystify.c [diff]
apps/plugins/dice.c [diff]
apps/plugins/fft/fft.c [diff]
apps/plugins/fire.c [diff]
apps/plugins/fireworks.c [diff]
apps/plugins/flipit.c [diff]
apps/plugins/fractals/fractal.h [diff]
apps/plugins/imageviewer/imageviewer.c [diff]
apps/plugins/imageviewer/imageviewer_button.h [diff]
apps/plugins/jackpot.c [diff]
apps/plugins/jewels.c [diff]
apps/plugins/lamp.c [diff]
apps/plugins/logo.c [diff]
apps/plugins/matrix.c [diff]
apps/plugins/maze.c [diff]
apps/plugins/mazezam.c [diff]
apps/plugins/metronome.c [diff]
apps/plugins/mosaique.c [diff]
apps/plugins/open_plugins.c [diff]
apps/plugins/oscilloscope.c [diff]
...and 64 more files. |
Christian Soffke |
27th Dec 14:43 |
52f59f637d: plugins: VU Meter: Ignore backlight timeout
|
apps/plugins/vu_meter.c [diff]
|
Christian Soffke |
23rd Dec 19:59 |
5f2ca6718d: Revert "buflib.c strip path from alloc name"
The font code expects the full path to be stored in the buflib alloc so this breaks eg. saving the glyph cache.
This reverts commit 2b4a4070c99439898e22c9c9da2c21877d18a367.
|
firmware/buflib.c [diff]
|
Aidan MacDonald |
23rd Dec 19:54 |
ba010851fa: Remove lib/x1000-installer
Carrying this library is somewhat of a maintenance burden because some Rockbox APIs are mocked or duplicated in the test suite and thus need to be fixed up when refactoring.
It's also unused & incomplete, so there's no good reason to keep it in tree any more.
|
lib/x1000-installer/.gitignore [deleted]
lib/x1000-installer/Makefile [deleted]
lib/x1000-installer/SOURCES [deleted]
lib/x1000-installer/include/xf_error.h [deleted]
lib/x1000-installer/include/xf_flashmap.h [deleted]
lib/x1000-installer/include/xf_nandio.h [deleted]
lib/x1000-installer/include/xf_package.h [deleted]
lib/x1000-installer/include/xf_stream.h [deleted]
lib/x1000-installer/include/xf_update.h [deleted]
lib/x1000-installer/src/xf_error.c [deleted]
lib/x1000-installer/src/xf_flashmap.c [deleted]
lib/x1000-installer/src/xf_nandio.c [deleted]
lib/x1000-installer/src/xf_package.c [deleted]
lib/x1000-installer/src/xf_stream.c [deleted]
lib/x1000-installer/src/xf_update.c [deleted]
lib/x1000-installer/test/data/lines_shuffled.txt [deleted]
lib/x1000-installer/test/data/lines_sorted.txt [deleted]
lib/x1000-installer/test/main.c [deleted]
lib/x1000-installer/test/test.h [deleted]
lib/x1000-installer/test/test_flashmap.c [deleted]
lib/x1000-installer/test/test_stream.c [deleted]
lib/x1000-installer/test_lib/core_alloc.c [deleted]
lib/x1000-installer/test_lib/core_alloc.h [deleted]
lib/x1000-installer/test_lib/fakenand.c [deleted]
lib/x1000-installer/test_lib/file.c [deleted]
lib/x1000-installer/test_lib/file.h [deleted]
lib/x1000-installer/test_lib/md5.c [deleted]
lib/x1000-installer/test_lib/md5.h [deleted]
lib/x1000-installer/test_lib/nand-x1000.h [deleted]
lib/x1000-installer/test_lib/pathfuncs.c [deleted]
...and 5 more files. |
Aidan MacDonald |
23rd Dec 17:47 |
6e794c9a2d: rbcodec dsp: Refactor DSP init routines, restore INIT_ATTR
Refactor DSP init routines so there is a dedicated init function for the stages that need it. Remove the DSP_INIT configure message. This allows the init code to be safely marked INIT_ATTR, saving a bit of code size, and allowing the linker to verify that there are no unsafe references to the init routines.
|
lib/rbcodec/dsp/dsp_core.c [diff]
lib/rbcodec/dsp/dsp_core.h [diff]
lib/rbcodec/dsp/dsp_misc.c [diff]
lib/rbcodec/dsp/dsp_proc_entry.h [diff]
lib/rbcodec/dsp/dsp_sample_io.c [diff]
lib/rbcodec/dsp/dsp_sample_io.h [diff]
lib/rbcodec/dsp/resample.c [diff]
lib/rbcodec/dsp/resample.h [new]
lib/rbcodec/dsp/tdspeed.c [diff]
lib/rbcodec/dsp/tdspeed.h [diff]
|
Aidan MacDonald |
22nd Dec 23:00 |
34a092a997: rbcodec dsp: Replace enum dsp_ids arguments with unsigned int
Because casting to and from "enum dsp_id" just adds noise, change everything to unsigned int.
|
apps/plugin.h [diff]
lib/rbcodec/dsp/dsp_core.c [diff]
lib/rbcodec/dsp/dsp_core.h [diff]
lib/rbcodec/dsp/dsp_misc.c [diff]
lib/rbcodec/dsp/dsp_sample_input.c [diff]
lib/rbcodec/dsp/dsp_sample_io.c [diff]
lib/rbcodec/dsp/dsp_sample_io.h [diff]
lib/rbcodec/dsp/resample.c [diff]
lib/rbcodec/dsp/tdspeed.c [diff]
|
Aidan MacDonald |
22nd Dec 22:20 |
b96b7640de: rbcodec dsp: Move dsp_sample_io_configure() to its own file
Makes dsp_sample_input.c a bit less messy, and dependencies are more explicit. There's possibly a minor loss of inlining but it isn't a big deal.
|
lib/rbcodec/SOURCES [diff]
lib/rbcodec/dsp/dsp_sample_input.c [diff]
lib/rbcodec/dsp/dsp_sample_io.c [new]
lib/rbcodec/dsp/dsp_sample_io.h [diff]
lib/rbcodec/platform.h [diff]
|
Aidan MacDonald |
21st Dec 01:38 |
646d5f92ef: ata: Prevent powering-off ATA hardwre if it reports as mSATA or m.2
As those form factors are typically not runtime removable and as such expect to always being powered up.
This is an experimental change, and we might revert it if it doens't help
|
firmware/drivers/ata.c [diff]
firmware/export/ata.h [diff]
|
Solomon Peachy |
21st Dec 00:32 |
1387d6480e: [Fix Red] consolidate bmp_read function between icons and skin_parser
|
apps/gui/skin_engine/skin_parser.c [diff]
|
William Wilgus |
21st Dec 00:07 |
88f6628423: consolidate bmp_read function between icons and skin_parser
uses fd now rather than opening file twice
|
apps/gui/icon.c [diff]
apps/gui/skin_engine/skin_parser.c [diff]
apps/misc.c [diff]
apps/misc.h [diff]
|
William Wilgus |
20th Dec 23:10 |
2b4a4070c9: buflib.c strip path from alloc name
|
firmware/buflib.c [diff]
|
William Wilgus |
20th Dec 07:40 |
18ec1a2aa6: [Bug Fix] Credits Plugin don't set the back/foreground on greyscale displays
|
apps/plugins/credits.c [diff]
|
William Wilgus |
20th Dec 04:09 |
83bb89d0b8: jx47xx: Rename crt0 'init' sections to 'startup'
Mirrors the change made to the x1000 target
|
firmware/target/mips/ingenic_jz47xx/app.lds [diff]
firmware/target/mips/ingenic_jz47xx/crt0.S [diff]
|
Solomon Peachy |
19th Dec 23:59 |
1930ca8d66: remove rockboxlogo after boot INIT_ATTR
nets about 5k on clipzip (less on mono, more on others) to move rockboxlogo to .initdata section
Remove show_logo completely and move to main.c remove plugin stub give credits plugin its own copy credit fallback is now show_info()
|
apps/main.c [diff]
apps/menus/main_menu.c [diff]
apps/misc.c [diff]
apps/misc.h [diff]
apps/plugin.c [diff]
apps/plugin.h [diff]
apps/plugins/credits.c [diff]
apps/plugins/lua/rocklib.c [diff]
tools/bmp2rb.c [diff]
|
William Wilgus |
19th Dec 04:32 |
f37ebe5ed2: [BugFix] root redirect failed to match the peoper drive when internal drive is missing
HAVE_MULTIVOLUME is a subset of HAVE_MULTIDRIVE in normal circumstances they are interchangable but when the internal drive is not found the assumption falls apart
at the moment most of the bootloader are less selective about what drives/volumes they will mount therefore the volume might not match between what the bootloader returns for multiboot and what the firmware sees
updating bootloaders will fix this but it should probably be made more robust at the same time
|
firmware/include/dircache_redirect.h [diff]
|
William Wilgus |
18th Dec 23:55 |
992455dc58: Fix red in 8165a6c245
|
lib/rbcodec/dsp/eq.c [diff]
|
Aidan MacDonald |
18th Dec 22:23 |
8165a6c245: rbcodec dsp: Remove INIT_ATTR from the DSP library
All of these are technically unsafe cross-section references but most aren't reported by the linker, probably due to inlining. In practice there was no problem because the affected code was only run at init time anyway.
For now, remove INIT_ATTR until the init code can be refactored to avoid the problematic references. This should also save code size by moving more code to the init section.
dsp_init() gets to keep its attribute because it's already OK.
|
lib/rbcodec/dsp/dsp_core.c [diff]
lib/rbcodec/dsp/dsp_core.h [diff]
lib/rbcodec/dsp/dsp_misc.c [diff]
lib/rbcodec/dsp/dsp_sample_input.c [diff]
lib/rbcodec/dsp/dsp_sample_output.c [diff]
lib/rbcodec/dsp/resample.c [diff]
lib/rbcodec/dsp/tdspeed.c [diff]
lib/rbcodec/platform.h [diff]
|
Aidan MacDonald |
18th Dec 22:23 |
b650e774a1: kernel: Fix unsafe cross-section reference in init_tick()
This is a small wrapper function which calls other init code and is only called from init code; mark it INIT_ATTR to fix the unsafe reference.
|
firmware/kernel/include/tick.h [diff]
|
Aidan MacDonald |
18th Dec 22:14 |
e8ad52be94: x1000: Rename crt0 .init sections to .startup
Avoid startup code clashing with the .init section, which is by convention used for INIT_ATTR code that can be discarded after app initialization.
|
firmware/target/mips/ingenic_x1000/app.lds [diff]
firmware/target/mips/ingenic_x1000/crt0.S [diff]
firmware/target/mips/ingenic_x1000/spl-start.S [diff]
firmware/target/mips/ingenic_x1000/spl.lds [diff]
|
Aidan MacDonald |
18th Dec 22:14 |
68af18a56f: x1000: Simplify app linker script
Get the linker to automatically assign load addresses for the .iram and .tcsm sections. Taken from the i.MX31 linker script.
|
firmware/target/mips/ingenic_x1000/app.lds [diff]
|
Aidan MacDonald |
18th Dec 21:01 |
d6744c92b1: x1000: Add missing LCD activation event on LCD enable
This event is needed to trigger a GUI redraw when the backlight turns on.
|
firmware/target/mips/ingenic_x1000/lcd-x1000.c [diff]
|
Aidan MacDonald |
17th Dec 13:36 |
6c52fa139c: Remove browse_context_init()
Prefer to use designated initializers to avoid having to specify unneeded parameters. Non-initialized members are zero-initialized by the compiler.
|
apps/menus/plugin_menu.c [diff]
apps/menus/theme_menu.c [diff]
apps/open_plugin.c [diff]
apps/playlist_catalog.c [diff]
apps/plugin.c [diff]
apps/plugin.h [diff]
apps/plugins/keyremap.c [diff]
apps/plugins/open_plugins.c [diff]
apps/plugins/otp.c [diff]
apps/plugins/rockpaint.c [diff]
apps/plugins/speedread.c [diff]
apps/plugins/text_viewer/tv_menu.c [diff]
apps/radio/presets.c [diff]
apps/root_menu.c [diff]
apps/shortcuts.c [diff]
apps/tree.c [diff]
apps/tree.h [diff]
|
Aidan MacDonald |
17th Dec 13:36 |
701e262d3d: settings: Remove setting ID return from find_setting()
Now that all users have replaced setting IDs with direct pointers, find_setting() and friends don't need to return an ID value.
|
apps/gui/skin_engine/skin_parser.c [diff]
apps/gui/skin_engine/skin_touchsupport.c [diff]
apps/menu.c [diff]
apps/menus/recording_menu.c [diff]
apps/plugin.c [diff]
apps/plugin.h [diff]
apps/plugins/lib/playback_control.c [diff]
apps/plugins/rockboy/menu.c [diff]
apps/plugins/xworld/sys.c [diff]
apps/settings.c [diff]
apps/settings.h [diff]
apps/settings_list.c [diff]
apps/shortcuts.c [diff]
apps/talk.c [diff]
docs/PLUGIN_API [diff]
|
Aidan MacDonald |
17th Dec 13:36 |
767ddef550: quickscreen: Settings ID to pointer conversion
Saves a good deal of code...
|
apps/gui/quickscreen.c [diff]
apps/gui/quickscreen.h [diff]
apps/menu.c [diff]
apps/settings.h [diff]
apps/settings_list.c [diff]
|
Aidan MacDonald |
17th Dec 09:24 |
c85a4f1fa4: menus remove reserved 'param' parameter
-- missed the plugin menu --
|
apps/enc_config.c [diff]
apps/menu.h [diff]
apps/menus/display_menu.c [diff]
apps/menus/eq_menu.c [diff]
apps/menus/main_menu.c [diff]
apps/menus/playlist_menu.c [diff]
apps/menus/plugin_menu.c [diff]
apps/menus/radio_menu.c [diff]
apps/menus/recording_menu.c [diff]
apps/menus/settings_menu.c [diff]
apps/menus/theme_menu.c [diff]
apps/menus/time_menu.c [diff]
apps/onplay.c [diff]
apps/plugins/imageviewer/imageviewer.c [diff]
apps/plugins/lib/playback_control.c [diff]
apps/plugins/text_viewer/tv_menu.c [diff]
apps/radio/presets.c [diff]
|
William Wilgus |
17th Dec 07:51 |
ccf1aaa5be: menus move functions with parameters to their own type
left the union with function(void) and function_w_param(param) as a few areas might still need to use both (onplay.c)
there might be a few I missed yet..
|
apps/enc_config.c [diff]
apps/menu.c [diff]
apps/menu.h [diff]
apps/menus/audiohw_eq_menu.c [diff]
apps/menus/eq_menu.c [diff]
apps/menus/main_menu.c [diff]
apps/menus/playlist_menu.c [diff]
apps/menus/radio_menu.c [diff]
apps/menus/recording_menu.c [diff]
apps/menus/settings_menu.c [diff]
apps/menus/theme_menu.c [diff]
apps/onplay.c [diff]
apps/onplay.h [diff]
|
William Wilgus |
16th Dec 14:05 |
6f54bb63fc: open_plugin.c access open_plugin_entry through a function
just a few updates to open_plugin save a bit of space by granting access through a getter function
|
apps/open_plugin.c [diff]
apps/open_plugin.h [diff]
apps/root_menu.c [diff]
|
William Wilgus |
16th Dec 13:30 |
626be18da0: [Bug Fix] haas surround use delay_ms instead of index surround_strength
this appears to be an old bug
rather than using an index use delay_ms directly
|
lib/rbcodec/dsp/surround.c [diff]
lib/rbcodec/dsp/surround.h [diff]
|
William Wilgus |
16th Dec 13:30 |
5903cd4bc8: [Bug Fix] setting.c fail to check F_TABLE_SETTING w/o arbitrary values
table settings have a list of valid values when they do not have F_ALLOW_ARBITRARY_VALS flag
they were not being treated as such
|
apps/settings.c [diff]
apps/settings_list.c [diff]
|
William Wilgus |
16th Dec 12:04 |
222ff0cb14: Plugin return: only skip SBS refresh if WPS was previous activity
1) the plugin return value isn't necessarily respected. 2) the screen will be updated regardless, before the WPS is displayed, which means the skin may appear in an "incorrect" state for a moment.
It is therefore better to simplify this to a single condition.
|
apps/plugin.c [diff]
|
Christian Soffke |
16th Dec 07:25 |
a6bafe51a6: WPS hotkeys: Don't enable SBS for pitch screen or bookmarking
|
apps/gui/wps.c [diff]
|
Christian Soffke |
16th Dec 07:05 |
79e6139f56: Playlist Viewer: Fix delayed appearance of backdrop on return from plugin
|
apps/plugin.c [diff]
|
Christian Soffke |
16th Dec 06:44 |
28f768cb84: onplay hotkey add flags
idea here as discussed with chris_s is to allow flags in the hotkey_assignment struct to change how items are displayed
|
apps/onplay.c [diff]
apps/onplay.h [diff]
apps/settings_list.c [diff]
|
William Wilgus |
15th Dec 04:45 |
31759c9e53: [Bug Fix] quickscreen clashed with WPS Hotkey browser
chris_s noted: When you set the WPS hotkey as a QuickScreen item and shuffle through the options, it eventually gets to the "Open Plugin" option and will show the File Browser, clashing with the Viewports of the QuickScreen
|
apps/settings_list.c [diff]
|
William Wilgus |
15th Dec 04:37 |
99839960a2: abrepeat add dummy functions and remove some of the ifdefs
|
apps/abrepeat.h [diff]
apps/gui/wps.c [diff]
apps/playback.c [diff]
|
William Wilgus |
15th Dec 03:35 |
6b87bfadff: wps.c cleanup gui_show_wps
remove some old cruft move a few things around clean-up flow
|
apps/bookmark.c [diff]
apps/gui/option_select.c [diff]
apps/gui/quickscreen.c [diff]
apps/gui/usb_screen.c [diff]
apps/gui/wps.c [diff]
apps/menus/time_menu.c [diff]
apps/misc.c [diff]
apps/misc.h [diff]
apps/onplay.c [diff]
apps/playlist_viewer.c [diff]
apps/plugin.c [diff]
apps/plugins/pitch_screen.c [diff]
apps/radio/radio.c [diff]
apps/recorder/recording.c [diff]
apps/root_menu.c [diff]
apps/screens.c [diff]
apps/shortcuts.c [diff]
|
William Wilgus |
14th Dec 04:37 |
eaf717744d: [Bug Fix] open_plugin.c update checksum check for spinning disks
Lang_id keys take LANG_LAST_INDEX_IN_ARRAY for the checksum spinning disks did not have the code to do so
|
apps/open_plugin.c [diff]
|
William Wilgus |
14th Dec 03:35 |
c6c1d62489: [Bug Fix] filetypes.c move voice data out of INIT_ATTR
tree_get_filetype_voiceclip is called after init it shouldn't be marked as INIT_ATTR
add _init to the functions & data that are used at init only to be a bit more clear
|
apps/filetypes.c [diff]
apps/filetypes.h [diff]
apps/tree.c [diff]
|
William Wilgus |
14th Dec 02:10 |
8ff2c81bde: Improve transition between plugin and WPS
Eliminate flashing when plugins are launched from WPS, by not enabling the SBS, and by deferring other lcd updates.
Also prevents flashing root menu activity when returning from plugins.
|
apps/gui/wps.c [diff]
apps/misc.c [diff]
apps/misc.h [diff]
apps/playlist_viewer.c [diff]
apps/plugin.c [diff]
apps/root_menu.c [diff]
|
Christian Soffke |
14th Dec 01:52 |
0e2e9df991: Plugins: Eliminate 'Loading' splash unless disk is inactive
My impression is that the waiting time for plugins is only ever significant if a disk needs to spin up.
In other cases, the experience seems nicer without a 'Loading' splash, especially for often-used plugins, such as 'Properties', when it is launched from the Database or from the File Browser.
|
apps/plugin.c [diff]
|
Christian Soffke |
14th Dec 01:24 |
d520dcbfbb: Exit Pitchscreen on BUTTON_HOME for Sansa Clip
ToggleMode is remapped to BUTTON_SELECT Reset is remapped to Long BUTTON_HOME or Long BUTTON_SELECT (avoids accidental reset by pressing BUTTON_SELECT)
|
apps/keymaps/keymap-clip.c [diff]
manual/platform/keymap-sansaclip.tex [diff]
|
roman.artiukhin |
13th Dec 04:12 |
0747415277: Settings.c add logf debugging to verify settings
decodes saved settings and available settings & flags
|
apps/settings.c [diff]
|
William Wilgus |
12th Dec 08:15 |
2b79ad43bd: Haas Surround add flag so the settings can be read back from the config file
not sure how long this has been broken
|
apps/settings_list.c [diff]
|
William Wilgus |
12th Dec 03:17 |
863538c50a: [Bug Fix] dsp_proc_enable init race / crash
haas surround is causing a seg fault
it appears process is null see https://www.rockbox.org/tracker/task/13382 for details
when the low_latency_callback is enabled it happens less frequently
lets default to an empty process that way there are no NULL pointers to call
|
lib/rbcodec/dsp/dsp_core.c [diff]
lib/rbcodec/dsp/dsp_proc_entry.h [diff]
|
William Wilgus |
11th Dec 10:50 |
ac9066dd44: Setttings: Eliminate gui_synclist_init_display_settings callbacks
Since synclists are now re-initialized after leaving Settings menus where the callback was used, it shouldn't be needed anymore.
gui_synclist_init_display_settings can also be made local to list.c now.
|
apps/gui/list.c [diff]
apps/gui/list.h [diff]
apps/menus/display_menu.c [diff]
apps/menus/theme_menu.c [diff]
|
Christian Soffke |
11th Dec 10:50 |
dfd9c10589: Eliminate skin updates in between activities
1) Adds way to pop activity without refreshing the skin at the same time.
Activities are sometimes popped in immediate succession, or one activity is popped before another one is pushed right away. This can lead to the UI appearing glitchy, due to an activity only appearing for a split-second, which is especially noticeable with complex skins that change the dimensions of the UI viewport depending on the current activity
To fix this, prevent superfluous skin updates
* when switching between:
- WPS and browser
- WPS and Playlist Catalogue
- WPS and playlist
- WPS and Settings/System/Plugins
* when accessing Track Info or when displaying bookmarks using the context menu on the WPS
* when switching from QuickScreen to Shortcuts Menu
2) The playlist viewer activity was pushed & popped redundantly by playlist_view.
---- NB: Behavior has remained unchanged in all instances of the code where pop_current_activity() has been replaced by pop_current_activity(ACTIVITY_REFRESH_NOW).
|
apps/bookmark.c [diff]
apps/gui/option_select.c [diff]
apps/gui/quickscreen.c [diff]
apps/gui/usb_screen.c [diff]
apps/menus/playlist_menu.c [diff]
apps/menus/time_menu.c [diff]
apps/misc.c [diff]
apps/misc.h [diff]
apps/onplay.c [diff]
apps/playlist_viewer.c [diff]
apps/plugin.c [diff]
apps/plugins/pitch_screen.c [diff]
apps/radio/radio.c [diff]
apps/recorder/recording.c [diff]
apps/root_menu.c [diff]
apps/screens.c [diff]
apps/shortcuts.c [diff]
apps/tree.c [diff]
|
Christian Soffke |
10th Dec 14:21 |
90d1ac0448: settings: Rewrite cfg_int_to_string() and cfg_string_to_int()
It's easier to do the parsing manually.
|
apps/settings.c [diff]
|
Aidan MacDonald |
9th Dec 22:54 |
fc18235323: Selective backlight add CONTEXT_MAINMENU
I think its better to just limit this to the mainmenu rather than all contexts
|
apps/action.c [diff]
apps/action.h [diff]
|
William Wilgus |
9th Dec 16:02 |
b63f4c5884: Exit option select on ACTION_STD_MENU
Similar to 59f3f43d. It makes it behave consistently with tree/playlists other menus. So it's possible to exit option select using Back button on Clip Zip or Power button on Rocker
|
apps/gui/option_select.c [diff]
|
roman.artiukhin |
8th Dec 22:55 |
7a00ad72e4: [Bug Fix] bookmark.c failure to compare existing tracks and playlist
the underlying global buffer fo bookmark is overwritten by the read function so instead make a hash of the playlist and track names
might needa better hash but hopefully CRC32 is sufficient
|
apps/bookmark.c [diff]
|
William Wilgus |
8th Dec 20:38 |
3555e84a7a: Bugfix: some settings can have spaces in them
90bc769 strips spaces from the settings value, but it goes to the first space rather than just stripping off the last one. Break out of the loop when we find the first non-space character.
Also change 0 to '\0' for readability.
|
apps/misc.c [diff]
|
Dana Conrad |
8th Dec 10:19 |
f6f12db062: events.c do_add_event() only traverse event array once
we already go through the whole array might as well save the free slot as well
|
firmware/events.c [diff]
|
William Wilgus |
8th Dec 05:38 |
66a411a1ba: Tree / Playlist Viewer / Menu: Fix redraw issues
1) Tree_lists was only initialized when booting the player.
In cases where a skin used custom UI viewports of different sizes, when switching between screens, such as between root menu, QuickScreen, and tree browser, this caused list titles to appear with a significant delay, unless a GUI_EVENT_ACTIONUPDATE was sent.
Tree_lists is now initialized when entering dirbrowse or when restoring/reloading the list.
This eliminates multiple redundant UI refreshes when entering the tree browser, due to gui_synclist_draw not being called twice anymore and by being able to omit GUI_EVENT_ACTIONUPDATE.
Separate calls to gui_synclist_init_display_settings have become unnecessary since it is already called by gui_synclist_init.
2) The synclist is also re-initialized when returning from the QuickScreen in the Playlist Viewer or regular menus, or when returning from Settings menus
|
apps/main.c [diff]
apps/menu.c [diff]
apps/playlist_viewer.c [diff]
apps/tree.c [diff]
apps/tree.h [diff]
|
Christian Soffke |
7th Dec 18:17 |
a9a284c1a0: lang: Correct a "mistranslation" in english-us
Introduced in 9a8ec7e0d from March 2021
|
apps/lang/english-us.lang [diff]
|
Solomon Peachy |
7th Dec 14:07 |
a1e4385acb: backlight.c move some conditionals out to functions
de clutter bavklight_thread a bit
no functional changes
|
firmware/backlight.c [diff]
|
William Wilgus |
7th Dec 13:44 |
90bc76956c: Ignore trailing whitespace in settings .cfg files
Have settings_parseline() strip trailing whitespace from the setting value.
Fixes a regression introduced by 5b1dd64f5, which caused filename settings to be parsed incorrectly when there is trailing whitespace in the .cfg file.
|
apps/misc.c [diff]
|
Aidan MacDonald |
7th Dec 13:16 |
f3b522cac6: bugfix: for Eros Q / Surfans F20, when the scroll wheel is moved, in addition to resetting the power-off timer, we also need to reset the backlight timer and turn it on in case it's currently off.
|
firmware/target/mips/ingenic_x1000/erosqnative/button-erosqnative.c [diff]
|
Richard Goedeken |
7th Dec 06:40 |
fceb4f6292: misc.c format_time_auto() make several const tables static
|
apps/misc.c [diff]
|
William Wilgus |
7th Dec 04:40 |
152a238947: playlist add mutex to public functions
mutexes are in just trying to refactor the rest and make it a smaller and more robust system
--Done
|
apps/playlist.c [diff]
apps/playlist.h [diff]
|
William Wilgus |
5th Dec 19:18 |
a89f279fd4: settings: Clean up NVRAM code
Code style fixes, tighten error checking, replace a static buffer with a stack allocated one.
|
apps/settings.c [diff]
|
Aidan MacDonald |
5th Dec 06:53 |
961e73b3a1: Addendum to d3d2045
Forgot to remove this...
|
apps/bookmark.c [diff]
|
Christian Soffke |
5th Dec 06:28 |
d3d2045cab: Bookmarks: Fix redraw issue in Select Bookmarks screen
Parts of the skin weren't redrawn after deleting a bookmark.
|
apps/bookmark.c [diff]
|
Christian Soffke |
4th Dec 16:19 |
1e6c8d2ea6: skin engine: Settings ID to pointer conversions
Convert %St tag to operate on settings pointers instead of IDs.
|
apps/gui/option_select.c [diff]
apps/gui/option_select.h [diff]
apps/gui/skin_engine/skin_display.c [diff]
apps/gui/skin_engine/skin_parser.c [diff]
apps/gui/skin_engine/skin_tokens.c [diff]
apps/gui/skin_engine/skin_touchsupport.c [diff]
apps/gui/skin_engine/wps_internals.h [diff]
|
Aidan MacDonald |
4th Dec 15:46 |
4ff97ae07c: settings: More settings ID to pointer conversions
Convert cfg_int_to_string(), cfg_to_string(), settings_write_config().
|
apps/gui/option_select.c [diff]
apps/gui/skin_engine/skin_tokens.c [diff]
apps/settings.c [diff]
apps/settings.h [diff]
|
Aidan MacDonald |
4th Dec 15:16 |
08aa09e15d: add Richard Goedeken to CREDITS file
|
docs/CREDITS [diff]
|
Richard Goedeken |
4th Dec 15:16 |
d06cf3ac2d: bugfix: for ErosQ/SurfansF20, reset poweroff timer when scroll wheel is moved so that we dont blank the screen while the user is scrolling through a list
|
firmware/target/mips/ingenic_x1000/erosqnative/button-erosqnative.c [diff]
|
Richard Goedeken |
4th Dec 10:25 |
bbe3942039: settings: Settings ID to pointer for cfg_string_to_int()
Accept a pointer to struct settings_list instead of an index in the settings array. Refactor the skin engine's touchregion_setup_setting() to avoid the use of indices.
|
apps/gui/skin_engine/skin_parser.c [diff]
apps/settings.c [diff]
apps/settings.h [diff]
|
Aidan MacDonald |
4th Dec 04:38 |
0550c64226: Bookmarks: Fix autoload return from bookmark selection
- Fix placement of parentheses from commit 780990
- Return cancel when play_bookmark fails or user declines to erase dynamic playlist after warning
- Go back to Playlist Catalogue when user cancels out of screen
|
apps/bookmark.c [diff]
apps/playlist_catalog.c [diff]
|
Christian Soffke |
3rd Dec 13:13 |
879b5dae39: Fix red 8f582c90de
global_settings is not defined when building the database tool. Add a path buffer in tc_stat to fix this. This also avoids race conditions that may occur if changing the path setting at runtime.
|
apps/tagcache.c [diff]
apps/tagcache.h [diff]
|
Aidan MacDonald |
3rd Dec 12:41 |
3957aa8720: RFC BugFix tagtree.c reload data abort
TagNav.lua adds Reload to the Custom View menu of tagnav to allow users to make new search queries on the fly previously you had to reboot the device to do this
I was getting a data abort prior to calling tagnav_init now but it worked fine if I copy pasted the contents of the init function
I'm not sure how this fixed it but making a static init function makes it work as intended is it a race some weird thing with the compiler??
Ideas??
|
apps/tagtree.c [diff]
|
William Wilgus |
3rd Dec 12:29 |
8f582c90de: tagcache: add a setting for customizing the database path
Add a new setting,
database path: /path/to/folder
to change where the database files are stored, which allows it to be shared by multiple builds when using multiboot. This avoids the need to maintain a separate copy of the database for each build. This setting can only be set from the config file; it has no menu option yet (due to lack of a GUI to pick the directory).
|
apps/settings.h [diff]
apps/settings_list.c [diff]
apps/tagcache.c [diff]
manual/appendix/config_file_options.tex [diff]
|
Aidan MacDonald |
3rd Dec 11:49 |
f033fd390e: Fix Red playlist update a few functions
|
apps/playlist.c [diff]
apps/playlist.h [diff]
|
William Wilgus |
3rd Dec 11:34 |
98c7505c60: tagcache: move TAGCACHE_STATEFILE define to .c file
Provide a function to remove the statefile so that external users of this define can call that instead.
|
apps/main.c [diff]
apps/tagcache.c [diff]
apps/tagcache.h [diff]
apps/tree.c [diff]
|
Aidan MacDonald |
3rd Dec 11:28 |
03c225fe54: playlist.c clean-up and organize
No functional changes
|
apps/playlist.c [diff]
apps/playlist.h [diff]
|
William Wilgus |
3rd Dec 11:00 |
90dc64da32: tagcache: remove TAGCACHE_STRICT_ALIGN flag
This has been defined to 1 since forever, so the last remaining check presumably isn't catching anything.
|
apps/tagcache.c [diff]
|
Aidan MacDonald |
3rd Dec 11:00 |
b6c2b54e01: tagcache: move most defines to .c file
Most of the defines in the header file are internal to the tagcache and therefore should not be exposed in the header, to make it clear that outside code does not depend on the values.
|
apps/tagcache.c [diff]
apps/tagcache.h [diff]
|
Aidan MacDonald |
2nd Dec 03:29 |
177a15b2ed: playlist_catalog remove static playlist_dir in favor of generation at runtime
this needs tested by the heavy playlist users
with the addition of initialize_catalog_buf there shouldn't be any stack overflow concerns since we are no longer creating another max_path sized buffer when one is already available this also simplifies the code a bit
rather than carrying around the playlist directory just generate it on the fly copies the directory to the supplied buffer
add catbroswe_status to keep track of what browse context(s) are currently in use
|
apps/menus/playlist_menu.c [diff]
apps/playlist_catalog.c [diff]
apps/playlist_catalog.h [diff]
|
William Wilgus |
1st Dec 22:56 |
773fa7874d: RFC playlist.c add_indices_to_playlist() seek back to start of file
get_filename() changes the seek pos with out restoring it seek back to the beginning or after the BOM if utf8
-- the other option is to open our own file descriptor this will remove the need for the mutex but it would no longer block get_filename from getting potential stale / bad data
|
apps/playlist.c [diff]
|
William Wilgus |
1st Dec 19:24 |
d7557e8da8: settings: Update doc comment for struct settings_list::cfg_vals
cfg_vals has not been used in conjunction with F_T_UCHARPTR for quite a while.
|
apps/settings_list.h [diff]
|
Aidan MacDonald |
1st Dec 19:24 |
528dd0b03d: settings: Remove redundant lang_id check for F_PADTITLE settings
All the F_PADTITLE settings use a lang string so it's safe to assume the title (which is usually from the setting's lang_id) is ok. Not like it's very useful or safe to show the cfg_vals, anyway...
|
apps/menu.c [diff]
|
Aidan MacDonald |
1st Dec 19:00 |
fb0757b913: settings: Remove F_ALLOW_ARBITRARY_VALS from hotkey settings
The hotkey settings come from a fixed enum, arbitrary values are not supported. It's not possible to use choice settings for them because some enum values are only used in the WPS, and some are only used in the tree.
|
apps/settings_list.c [diff]
|
Aidan MacDonald |
1st Dec 18:59 |
8aa3b22160: settings: Update int fallback check for settings with cfg_vals
This atoi() was added long ago in commit d490f441, and it looks like it's intended to allow arbitrary values in table settings. These table settings have some symbolic values (eg. off, on) but are otherwise int-valued.
As far as I can see the only settings that can take this branch are all table settings with F_ALLOW_ARBITRARY_VALS. It doesn't make a lot of sense to accept random integers without that flag, so make the atoi() conversion dependent on it.
|
apps/settings.c [diff]
|
Aidan MacDonald |
1st Dec 18:36 |
6346be51a3: settings: Clean up and simplify settings_load_config()
Use find_setting_by_cfgname() instead of doing it manually. Reduce the excessive level of indentation.
|
apps/settings.c [diff]
|
Aidan MacDonald |
1st Dec 18:07 |
5b1dd64f50: settings: Add helper function for handling filename settings
The old inline implementation was buggy -- it didn't check the suffix was actually at the end of the string before stripping it, and didn't check for truncation. This version also avoids using an extra buffer.
|
apps/settings.c [diff]
apps/settings.h [diff]
|
Aidan MacDonald |
1st Dec 18:07 |
afa58ef277: settings: Remove unused INT_SETTING_W_CFGVALS
This hasn't been used for quite some time; it appears to have been obsoleted by table settings.
|
apps/settings_list.c [diff]
|
Aidan MacDonald |
1st Dec 17:36 |
7819a06d74: Add rectangle utility functions
|
firmware/SOURCES [diff]
firmware/common/rectangle.c [new]
firmware/export/rectangle.h [new]
|
Aidan MacDonald |
1st Dec 17:11 |
52ca658069: x1000: Add support for DS35x1GAxxx flash chips
This flash chip is found on some Surfans F20 units. For our purposes it's the same as the GD5F1GA4xExx so just #define an alias instead of adding a whole new chip struct.
|
firmware/target/mips/ingenic_x1000/nand-x1000.c [diff]
|
Aidan MacDonald |
1st Dec 04:15 |
c9c340704f: playlist_create fix race condition
I'm pretty sure this is a very old bug I traced it down to the current_playlist getting changed out from under add_indices_to_playlist causing myriad of issues from buffer full to invalid control file to shifting indices
this only appears to happen with the dircache on
I still get an incorrect resume state with the wrong song very rarely -- turns out get_filename seeks the file FIXED
Some debugging left in for now till we can verify there are no other instances
|
apps/playlist.c [diff]
|
William Wilgus |
30th Nov 05:01 |
0ba3392b9f: Bug Fix bookmark.c fix resume_info overwritten
fix a bug where when 'most recent bookmarks' was enabled the next bookmark file written would get the info from the last 'most recent' bookmark instead of the current bookmark
also removed the global resume_info struct in favor of local variables
added verification of the resumed track
|
apps/bookmark.c [diff]
|
William Wilgus |
27th Nov 14:15 |
0c7394e39a: ata: Improve heuristics for detecting SSDs
mSATA devices should be new enough to report their form factor proprerly
|
firmware/drivers/ata.c [diff]
|
Solomon Peachy |
27th Nov 07:05 |
3f4e55a872: bookmark.c fix bookmark.c fix filename generator #2
strlcpy returns the size of the string it tried to create so we still need strlen
since we know what the sizes are of the strings just check for overflow first and use strmemccpy
fix bufsz on playlist_get_name()
|
apps/bookmark.c [diff]
|
William Wilgus |
27th Nov 06:20 |
65db4acabe: pcf56065: Fix a compile warning uncovered by GCC8
Basically, use '!' instead of '~' on bools.
|
firmware/drivers/rtc/rtc_pcf50605.c [diff]
|
Solomon Peachy |
27th Nov 01:51 |
b11777b06c: bookmark.c fix off by one error in filename generator
strlcpy expects the buffer size so the name gets truncated by one character
|
apps/bookmark.c [diff]
|
William Wilgus |
26th Nov 16:20 |
4ecf3970a6: Playlist Catalogue: Return to opened playlists
The playlist catalogue now remembers when you left a playlist open and will return to it automatically.
|
apps/playlist_catalog.c [diff]
|
Christian Soffke |
26th Nov 16:20 |
098a8fd334: Playlist Catalogue: Restore selection in playlist
Saves and restores the selected item in your most-recently accessed playlist, similar to Database and File Browser.
|
apps/menus/playlist_menu.c [diff]
apps/onplay.c [diff]
apps/playlist_catalog.c [diff]
apps/playlist_viewer.c [diff]
apps/playlist_viewer.h [diff]
|
Christian Soffke |
26th Nov 04:39 |
88ecaf2b8c: bookmark.c remove static bookmark buffer
|
apps/bookmark.c [diff]
|
William Wilgus |
25th Nov 04:44 |
853d70e938: Fix Red confirm_delete, CHECKWPS & DBTOOL
|
apps/misc.c [diff]
|
William Wilgus |
25th Nov 04:09 |
71934d4c16: move confirm delete prompt to misc.c
|
apps/bookmark.c [diff]
apps/misc.c [diff]
apps/misc.h [diff]
apps/onplay.c [diff]
apps/shortcuts.c [diff]
|
William Wilgus |
25th Nov 03:30 |
3a22322ab7: bookmark.c parse_bookmark remove redundant conditional
we can just use the buffer not being NULL to decide
|
apps/bookmark.c [diff]
|
William Wilgus |
25th Nov 03:00 |
780990fe5d: bookmark.c remove some global buffers
refactor to allow removing some of the static buffers
|
apps/bookmark.c [diff]
apps/misc.c [diff]
apps/misc.h [diff]
|
William Wilgus |
25th Nov 01:08 |
8b522b8973: bookmark.c clean-up
No functional changes
|
apps/bookmark.c [diff]
|
William Wilgus |
24th Nov 04:55 |
1e6d643cfb: Fix Red lib/helper.h
missing brightness defines
|
apps/plugins/lib/helper.h [diff]
|
William Wilgus |
24th Nov 04:00 |
97a82ee3ec: plugins HAVE_BACKLIGHT helper remove ifdefs in favor of dummy functions lessen the ifdef hell
|
apps/plugins/2048.c [diff]
apps/plugins/brickmania.c [diff]
apps/plugins/chopper.c [diff]
apps/plugins/credits.c [diff]
apps/plugins/demystify.c [diff]
apps/plugins/doom/rockdoom.c [diff]
apps/plugins/fft/fft.c [diff]
apps/plugins/fire.c [diff]
apps/plugins/fireworks.c [diff]
apps/plugins/imageviewer/imageviewer.c [diff]
apps/plugins/lamp.c [diff]
apps/plugins/lib/helper.c [diff]
apps/plugins/lib/helper.h [diff]
apps/plugins/maze.c [diff]
apps/plugins/mazezam.c [diff]
apps/plugins/mpegplayer/mpegplayer.c [diff]
apps/plugins/oscilloscope.c [diff]
apps/plugins/pacbox/pacbox.c [diff]
apps/plugins/pictureflow/pictureflow.c [diff]
apps/plugins/plasma.c [diff]
apps/plugins/pong.c [diff]
apps/plugins/puzzles/rockbox.c [diff]
apps/plugins/resistor.c [diff]
apps/plugins/rockblox.c [diff]
apps/plugins/rockboy/menu.c [diff]
apps/plugins/rockboy/rockboy.c [diff]
apps/plugins/rocklife.c [diff]
apps/plugins/sdl/main.c [diff]
apps/plugins/spacerocks.c [diff]
apps/plugins/speedread.c [diff]
...and 8 more files. |
William Wilgus |
24th Nov 03:09 |
3745c813f9: misc.c open_pathfmt caller supplied buffer
Amachronic raised concern about open() blocking causing a static buf to get overwritten in multiple calls its prudent to just have the caller supply the buffer to minimize stack issues later
|
apps/bookmark.c [diff]
apps/debug_menu.c [diff]
apps/filetypes.c [diff]
apps/gui/icon.c [diff]
apps/logfdisp.c [diff]
apps/misc.c [diff]
apps/misc.h [diff]
apps/tagcache.c [diff]
apps/talk.c [diff]
|
William Wilgus |
24th Nov 02:14 |
80b8b13544: BUG FIX settings_list fix un-macro'd int_settings for backlight & contrast
missed these
|
apps/settings_list.c [diff]
|
William Wilgus |
23rd Nov 16:01 |
8379c6eb07: tagtree remove unneeded strlen
unfortunately most of the overhead in searching for <Untagged> occurs in reading of entries so changing searching the resulting string faster doesn't do much good but any we don't need this strlen call since its already been computed
|
apps/tagtree.c [diff]
|
William Wilgus |
23rd Nov 15:08 |
ec1611dfa6: Add a comment about the ordering of 'enum playmode'
|
apps/status.h [diff]
|
Aidan MacDonald |
23rd Nov 15:08 |
9f09cdc9b8: skin engine: Streamline handling of the %mp tag a little
current_playmode() returns a value from 'enum playmode' and we can take advantage of the enum values to simplify the code.
|
apps/gui/skin_engine/skin_tokens.c [diff]
|
Aidan MacDonald |
23rd Nov 15:07 |
3815ef8050: skin engine: Remove albumart viewport field
The viewport field in albumart is unnecessary, but for a different reason than eg. the progressbar was. The skin engine draws images by going over a global list of images shared between all viewports. Prior to drawing a viewport, every image is marked "not displayed." When an image display tag is encountered during rendering this mark is set to the index of the subimage to be displayed.
The albumart is handled similarily, by setting a handle to -1 and then updating it when the %Cd tag is encountered. The albumart is not drawn unless the handle is set to >= 0 by the %Cd tag. So we don't need to track or check viewports at all, because only the viewport that contains the %Cd tag will ever draw the albumart.
|
apps/gui/skin_engine/skin_display.c [diff]
apps/gui/skin_engine/skin_parser.c [diff]
apps/gui/skin_engine/wps_internals.h [diff]
|
Aidan MacDonald |
23rd Nov 15:06 |
830436a282: skin engine: Remove viewport_colour viewport field
Yet again, no need to store the viewport because we already know it -- and this time the render code is obviously relying on that assumption.
|
apps/gui/skin_engine/skin_parser.c [diff]
apps/gui/skin_engine/skin_render.c [diff]
apps/gui/skin_engine/wps_internals.h [diff]
|
Aidan MacDonald |
23rd Nov 14:44 |
9368844ad1: skin engine: Remove progressbar viewport field
Again, we don't need to store the viewport in the progressbar struct because it's known at render time.
|
apps/gui/skin_engine/skin_display.c [diff]
apps/gui/skin_engine/skin_display.h [diff]
apps/gui/skin_engine/skin_parser.c [diff]
apps/gui/skin_engine/skin_render.c [diff]
apps/gui/skin_engine/wps_internals.h [diff]
|
Aidan MacDonald |
23rd Nov 06:24 |
f242b0ec6c: Settings/System/Plugins: Go to WPS when ACTION_TREEE_WPS is pressed
Used to go to root menu before.
|
apps/root_menu.c [diff]
|
Christian Soffke |
23rd Nov 06:24 |
17cae50497: PictureFlow: Add hotkeys for changing sorting on iPods / Update manual
Adjust current sorting by pressing both the Select button and Menu (or Play) at the same time.
|
apps/plugins/pictureflow/pictureflow.c [diff]
manual/plugins/pictureflow.tex [diff]
|
Christian Soffke |
23rd Nov 06:22 |
0c7f66ab5f: Playlist Viewer: Display playlist name in title
|
apps/playlist_viewer.c [diff]
|
Christian Soffke |
23rd Nov 06:22 |
6bc443f474: Hotkeys: Add placeholder for function return value
Seems a bit clearer to me than redefining the meaning of ONPLAY_OK in this context, which was easy to miss.
Fixes the return value for the bookmark_create_menu hotkey, too. It was previously mapped to ONPLAY_OK in case the function failed, and to ONPLAY_RELOAD_DIR if it succeeded. This had no ill effect - or any effect – since either of the values were disregarded by the WPS when executing a hotkey.
Return values of playlist_insert_shuffled also had no effect (by design, apparently, see commit 482b45b). Use ONPLAY_FUNC_RETURN in hotkey_assignment.
Behavior hasn't changed, it's only been made more explicit.
|
apps/onplay.c [diff]
apps/onplay.h [diff]
|
Christian Soffke |
23rd Nov 05:51 |
0d355a9c47: filetree.c add back SORT_ALPHA_REVERSED
this is used for the playlist folder advance
|
apps/filetree.c [diff]
|
William Wilgus |
23rd Nov 00:14 |
263cc13985: tagtree.c move sort_inverse out of compare function
|
apps/tagtree.c [diff]
|
William Wilgus |
22nd Nov 23:38 |
2a9482ad7c: filetree.c move sort functions out of cmp function for SORT_ALPHA
move sort function decision out of the compare function
|
apps/filetree.c [diff]
|
William Wilgus |
22nd Nov 20:19 |
1561b4ec9a: filetypes.c clean-up
make icon a voice struct one
|
apps/filetypes.c [diff]
apps/filetypes.h [diff]
apps/tree.c [diff]
|
William Wilgus |
22nd Nov 07:19 |
dc47bf8ae2: BUG FIX settings_list.c
fix dumb mistake reordered mavro args instead of just struct args
|
apps/settings_list.c [diff]
|
William Wilgus |
22nd Nov 04:28 |
5240202226: filetypes.c put attr mask back
not totally sure of the implications but this mask should be here
|
apps/filetypes.c [diff]
|
William Wilgus |
22nd Nov 04:24 |
b40dff510a: cuesheet.c guard against invalid digits causing underflow on field ASAN
is digit checks for invalid fields but could possibly check field = -1
|
apps/cuesheet.c [diff]
|
William Wilgus |
22nd Nov 04:05 |
19aa4ca276: tree.c spell names AFTER voicing filetype
|
apps/tree.c [diff]
|
William Wilgus |
22nd Nov 03:54 |
d077fec5f1: tree.c move voice filetypes to its own conditional
|
apps/tree.c [diff]
|
William Wilgus |
22nd Nov 03:52 |
efdc6feddb: move inbuilt_filetypes.voiceclip to a separate struct
there are a lot of duplicated voiceclips in the inbuilt_filetypes struct its already looked up so deduplicate
|
apps/filetypes.c [diff]
apps/filetypes.h [diff]
apps/tree.c [diff]
|
William Wilgus |
22nd Nov 02:27 |
2056878e46: move inbuilt_filetypes.icon to a separate struct
there are a lot of duplicated icons in the inbuilt_filetypes struct its only used at load so deduplicate and look-up by attr
|
apps/filetypes.c [diff]
apps/filetypes.h [diff]
|
William Wilgus |
21st Nov 05:25 |
658cc95885: remove some sprintf putsxy calls in favor of putsxyf
we now have putsxyf in screens[] so no need for a separate buffer in these cases
|
apps/gui/color_picker.c [diff]
apps/gui/line.c [diff]
apps/menus/eq_menu.c [diff]
|
William Wilgus |
21st Nov 04:37 |
eb9b3513fa: Remove strtok_r.c
strtokspn emulates the original libc function
|
firmware/SOURCES [diff]
firmware/libc/strtok.c [deleted]
|
William Wilgus |
20th Nov 18:57 |
0661784469: make int_setting step & unit int16_t
since int_setting is the largest struct in the union of settings saving 32 bytes adds up over every setting
frees ~200 bytes
|
apps/menus/eq_menu.c [diff]
apps/menus/sound_menu.c [diff]
apps/settings.c [diff]
apps/settings_list.c [diff]
apps/settings_list.h [diff]
|
William Wilgus |
20th Nov 05:41 |
b7603adc64: Properties: Refactoring & Minor fix
- Extract functions for
* determining whether it's a file or dir
* showing stats for dir or file without id3
- Remove typedef for struct
- Fix unit string not being displayed correctly during scanning
(use %s instead of %cB)
|
apps/plugins/properties.c [diff]
|
Christian Soffke |
20th Nov 05:00 |
da2eaf3bf7: misc.c open_pathfmt fix yellow
|
apps/misc.c [diff]
|
William Wilgus |
20th Nov 04:13 |
e7e20fab1b: create function open_pathfmt() to allow printf formatting on open()
save some space by allowing printf formatting directly rather than having a buffer and using sprintf
|
apps/debug_menu.c [diff]
apps/filetypes.c [diff]
apps/gui/icon.c [diff]
apps/logfdisp.c [diff]
apps/misc.c [diff]
apps/misc.h [diff]
apps/tagcache.c [diff]
apps/talk.c [diff]
|
William Wilgus |
19th Nov 21:19 |
8fe42c43c6: WPS plugin hotkey: Fix UB
HOTKEY_PLUGIN action resulted in return value of void function being assigned and then returned by execute_hotkey.
|
apps/onplay.c [diff]
|
Christian Soffke |
19th Nov 16:08 |
dcde5aa89d: Database & Playlist Viewer: Fix return to WPS from plugin
After calling up PictureFlow from the database or from the Playlist Viewer, you would not be returned to the WPS as would be expected when picking a new song, selecting
"Go to WPS" or pressing the WPS action button.
|
apps/filetypes.c [diff]
apps/onplay.c [diff]
apps/playlist_viewer.c [diff]
|
Christian Soffke |
19th Nov 12:39 |
b3a464c9d1: Playlist Viewer & Catalogue: Go to WPS when ACTION_TREE_WPS is pressed
|
apps/playlist_catalog.c [diff]
apps/playlist_viewer.c [diff]
|
Christian Soffke |
19th Nov 09:01 |
3d34140cfb: Fix return to root after selecting items from playlist viewer
When selecting an item, Rockbox only checked that playback was stopped before entering the viewer and went to the WPS if music had started playing afterwards, but returned to the root menu otherwise
The WPS will now be displayed whenever a new item has been selected, even if audio was paused or playing before.
boomark_autoload required slight adjustments to its return values, so that the WPS would not be opened after a user cancels out of the bookmark selection screen for a playlist, since it previously returned true in that case, too.
|
apps/bookmark.c [diff]
apps/bookmark.h [diff]
apps/filetree.c [diff]
apps/onplay.c [diff]
apps/playlist_catalog.c [diff]
apps/playlist_catalog.h [diff]
apps/playlist_viewer.c [diff]
apps/root_menu.c [diff]
|
Christian Soffke |
19th Nov 07:13 |
3b1230b365: talk.c add busy loop to talk_spell
talk spell can lose the remainder of the words on longer sequences
|
apps/talk.c [diff]
|
William Wilgus |
19th Nov 07:12 |
b0ccb1b95f: talk.c clean up
|
apps/talk.c [diff]
apps/talk.h [diff]
|
William Wilgus |
17th Nov 16:12 |
38687821b2: skin engine: Remove playlistviewer viewport field
We already know the viewport at render time (I think... at least this seems to be the case for themes I tested) so there's no need to store a pointer to the viewport.
|
apps/gui/skin_engine/skin_parser.c [diff]
apps/gui/skin_engine/skin_render.c [diff]
apps/gui/skin_engine/wps_internals.h [diff]
|
Aidan MacDonald |
17th Nov 16:12 |
7de16eee26: viewportmanager: Fix missing void in function definition
|
apps/gui/viewport.c [diff]
|
Aidan MacDonald |
17th Nov 16:12 |
15b36a02b1: Remove get_viewport_default_colour()
The function isn't used except for the skin engine's %Vf/%Vb tags, so inline it there and remove the separate function.
|
apps/gui/skin_engine/skin_parser.c [diff]
apps/gui/viewport.c [diff]
apps/gui/viewport.h [diff]
|
Aidan MacDonald |
17th Nov 10:36 |
016090b2a4: Bug fix multiboot.c get_redirect_dir didn't reach index 0
add_path[0] was never reached
|
firmware/common/multiboot.c [diff]
|
William Wilgus |
17th Nov 09:43 |
7b3e2f6f85: fix yellow iap-core.c
|
apps/iap/iap-core.c [diff]
|
William Wilgus |
17th Nov 09:15 |
00f915d92e: strnatcmp.c use a fn pointer to call strcmp/strcasecmp
|
firmware/common/strnatcmp.c [diff]
|
William Wilgus |
17th Nov 06:54 |
972810f6cf: strlcpy finish cleanup
remove strlcpy & strlcat from string.h
document suspicious strlcpy call
convert strlcat.h users to string-extra
|
apps/misc.c [diff]
firmware/common/file_internal.c [diff]
firmware/common/strlcpy.c [diff]
firmware/common/zip.c [diff]
firmware/drivers/fat.c [diff]
firmware/libc/include/string.h [diff]
lib/rbcodec/metadata/replaygain.c [diff]
|
William Wilgus |
17th Nov 06:43 |
0b7a387671: open_plugins add name when plugin can't open & check LANG_LAST_INDEX_IN_ARRAY
can't open '' was confusing for users so pass the key to open plugin in theory you could have a plugin that defaulted to these lang_ids run but its good enough to tell the user what failed to open IMO
lang_id changes mess with open_plugin since it uses them as look-up keys so add checks for LANG_LAST_INDEX_IN_ARRAY to the checksum
the plugin now removes entries with an invalid checksum
devices with harddrives only append their .dat file so have them skip entries with invalid checksums and only notify user if a valid entry wasn't found
(these users can run the open_plugins plugin to remove invalid entries)
|
apps/open_plugin.c [diff]
apps/open_plugin.h [diff]
apps/plugins/open_plugins.c [diff]
apps/root_menu.c [diff]
|
William Wilgus |
17th Nov 01:54 |
4c3937591c: lua Fix potential event stack OVFL
you could return values in the event callbacks that would never be processed this would eventually cause a lua stack overflow
settop(0) eats all return values (if any)
|
apps/plugins/lua/rocklib_events.c [diff]
|
William Wilgus |
16th Nov 11:48 |
2f278af760: codecs: alac: Improve resume accuracy and clean up rounding errors
Resume by offset was obviously inaccurate for ALAC -- it tried to convert the offset to an elapsed time using the approximate bitrate, which is going to be wrong for VBR files. This became a problem since commit 26ffcd8f9f restored the ability to resume by offset.
It turns out that m4a_seek_raw() has terrible resolution since it can only seek to chunk boundaries, and lies about the real sample position; basically the same issue that affected seeking described in commit 4dd3c2b33e. Resuming by offset is still not very accurate because of this. Prefer to resume by time first, which is normally highly accurate (and never worse than offset) but use the file offset if it's the only thing we have.
There were a couple time calculations still using 32-bit math, so clean those up too to reduce issues due to rounding errors.
|
lib/rbcodec/codecs/alac.c [diff]
|
Aidan MacDonald |
16th Nov 11:48 |
ea61347a0b: codecs: aac: Prefer to resume by time instead of offset
m4a_seek_raw() is relatively inaccurate, so time-based resume should be preferred.
|
lib/rbcodec/codecs/aac.c [diff]
|
Aidan MacDonald |
16th Nov 11:47 |
5fdd491ceb: playlist: reduce memory usage for loading playlists
There's probably little benefit to using core_alloc_maximum() for loading playlists since they are parsed incrementally. I/O speed does not increase with increased read sizes beyond a certain point. Read by 32 KiB chunks since that is what the buffering thread does. Fall back to core_alloc_maximum() if a small allocation fails so that buflib will try harder to free up space.
|
apps/playlist.c [diff]
|
Aidan MacDonald |
16th Nov 06:49 |
dfa1539b13: Bug Fix test_viewports.c call scroll_stop before changing viewports
|
apps/plugins/test_viewports.c [diff]
|
William Wilgus |
16th Nov 05:36 |
7733abce29: strlcat use strlcpy for the copy part
|
firmware/common/strlcat.c [diff]
|
William Wilgus |
16th Nov 04:33 |
28af87526d: misc.c split_string replace with strtok_r
there isn't much difference from this function to strtok_r
now places a NULL in the last vector space permitting as well
|
apps/misc.c [diff]
|
William Wilgus |
16th Nov 00:17 |
3ad8c0ad7b: fix another non shadowed variable
another variable that shouldn't have been removed in 034b6d5b
|
apps/tagcache.c [diff]
|
William Wilgus |
15th Nov 21:43 |
be65ec2338: Fix menus in Settings
Commit 034b6d5b prevented other Settings menus on the same menu level from being displayed after accessing one item's context menu
|
apps/menu.c [diff]
|
Christian Soffke |
15th Nov 14:56 |
0458951464: translations: Update US English "translation"
|
apps/lang/english-us.lang [diff]
|
Solomon Peachy |
15th Nov 14:28 |
cca954e427: FS #13363: Update Serbian Translation (Anonymous 'bugmenot' user)
|
apps/lang/srpski.lang [diff]
|
Solomon Peachy |
15th Nov 14:28 |
90f6aa2afa: FS13362: Update Dutch translation (Anonymous user 'bugmenot')
|
apps/lang/nederlands.lang [diff]
|
Solomon Peachy |
15th Nov 14:23 |
e68b727f4f: Add more space for Time Elapsed/Remaining on Rocker WPS
Similair to 41934360. To display 20+ hours long audiobooks without overlaps.
Removed tag duplicates
|
wps/cabbiev2.128x160x16.wps [diff]
|
roman.artiukhin |
15th Nov 14:20 |
73b1e30bb0: skin engine: Reduce scope of internal wps_data struct
A bunch of public API calls take a wps_data struct argument, but that's an internal type that doesn't have a direct getter. Instead the skin engine provides a gui_wps struct as a way to refer to a particular skin instance. Use that instead of wps_data in the public API.
|
apps/gui/skin_engine/skin_display.c [diff]
apps/gui/skin_engine/skin_engine.h [diff]
apps/gui/skin_engine/skin_touchsupport.c [diff]
apps/gui/skin_engine/wps_internals.h [diff]
apps/gui/statusbar-skinned.c [diff]
apps/gui/statusbar-skinned.h [diff]
apps/gui/wps.c [diff]
apps/radio/radio_skin.c [diff]
|
Aidan MacDonald |
2022-11-15 |
45bd4c7220: Fix last of red for strmemccpy
|
lib/rbcodec/test/SOURCES [diff]
|
William Wilgus |
2022-11-15 |
687767bd8f: convert a few more strlcpy to strmemccpy calls Fix Red and Yellow
albumart is imported to plugins just use a macro substitution for now
|
apps/iap/iap-lingo4.c [diff]
apps/onplay.c [diff]
apps/playlist.c [diff]
apps/recorder/albumart.c [diff]
apps/tree.c [diff]
|
William Wilgus |
2022-11-15 |
aea324b746: Fix red strmemccpy CheckWps & Database
|
tools/checkwps/SOURCES [diff]
tools/database/SOURCES [diff]
|
William Wilgus |
2022-11-15 |
f6c719d7ec: replace strlcpy with strmemccpy
replace applicable calls to strlcpy with calls to strmemccpy which null terminates on truncation
in theory the strmemccpy calls should be slightly faster since they don't traverse the rest of the source string on truncation but I seriously doubt there is too much of that going on in the code base
|
apps/bookmark.c [diff]
apps/buffering.c [diff]
apps/cuesheet.c [diff]
apps/debug_menu.c [diff]
apps/gui/folder_select.c [diff]
apps/gui/option_select.c [diff]
apps/gui/skin_engine/skin_backdrops.c [diff]
apps/gui/skin_engine/skin_parser.c [diff]
apps/gui/skin_engine/skin_tokens.c [diff]
apps/gui/statusbar-skinned.c [diff]
apps/hosted/android/keyboard.c [diff]
apps/iap/iap-lingo4.c [diff]
apps/menus/eq_menu.c [diff]
apps/misc.c [diff]
apps/onplay.c [diff]
apps/open_plugin.c [diff]
apps/playlist.c [diff]
apps/playlist_catalog.c [diff]
apps/playlist_viewer.c [diff]
apps/radio/presets.c [diff]
apps/radio/radioart.c [diff]
apps/recorder/albumart.c [diff]
apps/recorder/keyboard.c [diff]
apps/recorder/pcm_record.c [diff]
apps/root_menu.c [diff]
apps/screens.c [diff]
apps/settings.c [diff]
apps/settings_list.c [diff]
apps/shortcuts.c [diff]
apps/tagcache.c [diff]
...and 13 more files. |
William Wilgus |
2022-11-15 |
b25a9d8f99: add memccpy.c
Not sure if this is worth the added bin size yet but I will see where I can use it to try and make it worth it
|
apps/debug_menu.c [diff]
apps/playlist_viewer.c [diff]
apps/screens.c [diff]
firmware/SOURCES [diff]
firmware/libc/include/string.h [diff]
firmware/libc/memccpy.c [new]
|
William Wilgus |
2022-11-14 |
034b6d5bfb: Remove some shadowed variables identified by -Wshadow
there are plenty more but these are the low hanging fruit
|
apps/cuesheet.c [diff]
apps/filetree.c [diff]
apps/gui/folder_select.c [diff]
apps/menu.c [diff]
apps/recorder/keyboard.c [diff]
apps/tagcache.c [diff]
apps/tagtree.c [diff]
apps/talk.c [diff]
firmware/drivers/lcd-color-common.c [diff]
|
William Wilgus |
2022-11-14 |
f94a14b859: increase the number of file & directory handles for devices with more ram
|
firmware/include/fs_defines.h [diff]
|
William Wilgus |
2022-11-14 |
c088a9453d: Database: Restore selection in lower menu levels
The database only remembered what you'd selected when ascending the menu hierarchy again from a lower level.
Now it restores a previous selection going in the other direction as well, when you enter a new menu, as long as the selection at the current level hasn't changed.
|
apps/tagtree.c [diff]
apps/tagtree.h [diff]
apps/tree.c [diff]
|
Christian Soffke |
2022-11-14 |
e6ab74d4ac: Database: Eliminate redundant list item selection
- gui_synclist_select_item will be called in the update_dir function by dirbrowse()
- it is unnecessary to call when the tables opened by tagtree_enter are not being displayed but are only being used for inserting table contents into the current playlist.
|
apps/tagtree.c [diff]
|
Christian Soffke |
2022-11-14 |
97936e0661: Database: Fix problematic dirlevel reset
Dirlevel is restored in this error case without exiting the previously entered tables.
|
apps/tagtree.c [diff]
|
Christian Soffke |
2022-11-13 |
a634557a88: fix strptokspn, add strcspn, fix splash.c
fix off by 1 error in strptokspn, add strcspn, fix fallout in splash.c
|
apps/gui/splash.c [diff]
apps/playback.c [diff]
firmware/SOURCES [diff]
firmware/common/strptokspn.c [diff]
firmware/libc/strcspn.c [new]
|
William Wilgus |
2022-11-12 |
ffe2df2e92: Implement Rewind across tracks functionality
Useful feature for audiobooks. To rewind from the end of the previous track - press rewind at the very beginning of the current track. So if you are in the middle of the track - first rewind till beginning then release and press rewind button again (Playback Settings -> Rewind Across Tracks option should be enabled)
Fixes FS #13290
|
apps/gui/wps.c [diff]
apps/lang/english.lang [diff]
apps/menus/playback_menu.c [diff]
apps/settings.h [diff]
apps/settings_list.c [diff]
docs/CREDITS [diff]
manual/appendix/config_file_options.tex [diff]
manual/configure_rockbox/playback_options.tex [diff]
|
roman.artiukhin |
2022-11-12 |
30ec10c790: splash.c Fix yellow const char
|
apps/gui/splash.c [diff]
|
William Wilgus |
2022-11-12 |
c756a8a89d: make splash split on control characters
splits on spaces also considers \r\n\f\v\t as mandatory breaks
I'm still working on the strptokspn function my goal is to use it directly rather than storing the matched char and modifying the source string with \0 in order to tokenize the output
--Done
|
apps/gui/splash.c [diff]
apps/screen_access.c [diff]
apps/screen_access.h [diff]
firmware/SOURCES [diff]
firmware/common/strptokspn.c [new]
firmware/export/font.h [diff]
firmware/font.c [diff]
firmware/include/strptokspn_r.h [new]
|
William Wilgus |
2022-11-11 |
dd1fbd51fc: TagTree Show file name for tag_title [UNTAGGED] BugFix
limit result to tags that only show <UNTAGGED>
|
apps/tagtree.c [diff]
|
William Wilgus |
2022-11-10 |
06f0465158: skin engine: Remove touchregion argument from skin_get_touchaction
Nobody uses the argument, and it exposes internals unnecessarily.
|
apps/gui/skin_engine/skin_engine.h [diff]
apps/gui/skin_engine/skin_touchsupport.c [diff]
apps/gui/statusbar-skinned.c [diff]
apps/gui/wps.c [diff]
apps/radio/radio_skin.c [diff]
|
Aidan MacDonald |
2022-11-10 |
56389b21b1: skin engine: Remove gui_img viewport field
This is set but never used.
|
apps/gui/skin_engine/skin_parser.c [diff]
apps/gui/skin_engine/wps_internals.h [diff]
|
Aidan MacDonald |
2022-11-10 |
2c1adac3f8: skin engine: Remove unused viewport_change flag in skin rendering
|
apps/gui/skin_engine/skin_render.c [diff]
|
Aidan MacDonald |
2022-11-10 |
37da608f84: skin engine: Remove weird special casing for Onda VX747
I have no idea what bug this could possibly "fix", and nothing looks different on the sim after removing it. As far as I can tell the Onda has no unique features that could cause the skin engine to act flaky, so I'm willing to bet this workaround isn't needed.
|
apps/gui/skin_engine/skin_render.c [diff]
|
Aidan MacDonald |
2022-11-09 |
c2220a3b50: eq_menu cleanup some getstringsize calls
remove some unused calls and save some space by only grabbing font h once it doesn't change throughout the function
|
apps/menus/eq_menu.c [diff]
|
William Wilgus |
2022-11-09 |
e8aaee4979: misc.c show_logo remove 'ver.' when screen is too small
since its too early for the scroll engine just remove 'ver. '
cleanup the getstringsize calls, only need to calculate it once
|
apps/misc.c [diff]
|
William Wilgus |
2022-11-04 |
51c1e3ce7f: Shortcuts: Fix return to wrong menu
Rockbox would go to a previously selected menu instead of returning to the current one when leaving the Shortcuts screen.
|
apps/menu.c [diff]
apps/tree.c [diff]
|
Christian Soffke |
2022-11-04 |
8cbe5c95a9: screen.c remove unused getstringsize
getstringsize on SEPARATOR was overwritten by another call to getstringsize
lang files use position to decide target strings 'RTC' was after targets using different buttons therefore in error gained precedence
|
apps/lang/english.lang [diff]
apps/screens.c [diff]
|
William Wilgus |
2022-11-02 |
9da3044cf7: Database: Remove firstpos/pos_history
From what I can tell, this is unused historical baggage that has no effect whatsoever these days.
|
apps/tagtree.c [diff]
apps/tree.c [diff]
apps/tree.h [diff]
|
Christian Soffke |
2022-11-02 |
ca908d6336: Database: Fix FS #13368 – use separate selected item history
Database and File Browser were sharing each other’s selected item history before.
Since the database isn’t browsed recursively, it’s probably unnecessary to include its own history in the tree context and its backups, saving.a little bit of memory.
|
apps/root_menu.c [diff]
apps/tagtree.c [diff]
apps/tree.h [diff]
|
Christian Soffke |
2022-11-02 |
59f3f43d10: Exit Shortcuts on ACTION_STD_MENU
It makes it behave consistently with tree/playlists other menus. So it's possible to exit Shortcuts using Back button on Clip Zip or Power button on Rocker
|
apps/shortcuts.c [diff]
|
roman.artiukhin |
2022-11-01 |
4e60fb77e0: codecs: mpa: Improve seek & resume accuracy for VBR files
The codec used 32-bit math for elapsed time <-> file position calculations. The rounding errors seem to be the cause of poor seek/resume accuracy on long VBR files; switching to 64-bit math makes things much better.
|
lib/rbcodec/codecs/mpa.c [diff]
|
Aidan MacDonald |
2022-11-01 |
26ffcd8f9f: playback: Fix track resume from file offset
Resuming a track with "Resume Playback" or a bookmark is supposed to pass both the file offset and elapsed time to the codec. Since commit dfff938dff08 the offset has been getting zeroed because the buffer handle wasn't open at the time of the buf_filesize() call, causing it to return a negative error code.
Having a valid offset improves resume accuracy with some codecs, like VBR MP3.
|
apps/playback.c [diff]
|
Aidan MacDonald |
2022-11-01 |
0d30356734: Refactor to reuse seek code for resume by time
It fixes Playback/Bookmarks Resume for long vbr mp3 files It also fixes resume by time for asf files.
As a replacement for https://gerrit.rockbox.org/r/c/rockbox/+/4750
|
lib/rbcodec/codecs/mpa.c [diff]
|
roman.artiukhin |
2022-10-30 |
5d7e15324b: Fix tree scrolling not showing end of text
Fixes FS #13243
|
apps/gui/bitmap/list.c [diff]
|
roman.artiukhin |
2022-10-30 |
4193436000: Add more space for displaying time on WPS for Clip Zip
Replacing " of " with "/" allows to avoid overlaps for > 20 hours long audiobooks
|
wps/cabbiev2.96x96x16.wps [diff]
|
roman.artiukhin |
2022-10-30 |
246152a671: Database: Fix possible crash
The File Browser and Database apparently share the same selected_item_history, which means that selected_item can be -1 even in the context of the database,
This leads to tree_get_file_position being called in id3db mode, which isn't safe to do.
|
apps/tree.c [diff]
|
Christian Soffke |
2022-10-29 |
b4e7c60c6d: Shanling Q1: Disable recovery kernel boot option
The Q1 handles firmware updates by unpacking the firmware image from the player app, then rebooting into the recovery kernel. The recovery kernel reflashes the player kernel and rootfs with the unpacked update files on the SD card.
Booting the recovery kernel directly is therefore not useful to the vast majority of users; remove the option from the recovery menu and remove the key combo.
|
bootloader/x1000/x1000bootloader.h [diff]
|
Aidan MacDonald |
2022-10-29 |
a5b08d0af7: Shanling Q1: Support OF-initiated firmware updates
It's now possible to install OF updates on a rockboxed Shanling Q1. Previously these didn't work because the RB bootloader interrupted the update process.
Updates will proceed as they normally do on a non-Rockboxed Q1, except at the end of the update you'll reboot to Rockbox instead of the OF. This is only a minor inconvienience and doesn't affect the update process.
|
bootloader/x1000/main.c [diff]
|
Aidan MacDonald |
2022-10-28 |
d09fb6bb6b: x1000: Pass CPM scratch register to the bootloader
|
firmware/target/mips/ingenic_x1000/spl-x1000.c [diff]
|
Aidan MacDonald |
2022-10-28 |
744ea2ff43: x1000: Allow SPL and bootloader to pass arguments to next stage
|
firmware/target/mips/ingenic_x1000/crt0.S [diff]
|
Aidan MacDonald |
2022-10-28 |
9e258652c4: x1000: Add a basic sanity check for bootloader backups
The bootloader backup is intentionally simple, but it's a little
*too* simple. Add a sanity check to make sure what we're backing up or restoring contains the first 8 bytes of the SPL header. This isn't going to catch all possible problems, but it'll stop obviously non-functional backups from being restored.
|
firmware/target/mips/ingenic_x1000/installer-x1000.c [diff]
firmware/target/mips/ingenic_x1000/installer-x1000.h [diff]
|
Aidan MacDonald |
2022-10-27 |
202eb8c06a: Fix wrong formatting in WPS Fixes FS #13354 and FS #12980
|
apps/gui/skin_engine/skin_display.c [diff]
|
roman.artiukhin |
2022-10-27 |
4b7b7a0a83: shortcuts: Reduce SHORTCUTS_PER_HANDLE to 4
The current value of 32 per handle seems excessive. Buflib overhead per handle is only 20 bytes and a single shortcut is > 500 bytes. Reducing SHORTCUTS_PER_HANDLE means that minimum memory usage can be lower when there are a few shortcuts, at the cost of marginally increased usage for large numbers of shortcuts. This is helpful to keep memory usage under control for low-memory targets, where 16 KiB is almost 1% of system RAM!
|
apps/shortcuts.c [diff]
|
Aidan MacDonald |
2022-10-27 |
b677da6595: shortcuts: Increase max shortcut name to 64 bytes
32 bytes is a little small, and it's also good to have extra space to accommodate non-English languages.
|
apps/shortcuts.c [diff]
|
Aidan MacDonald |
2022-10-25 |
f8d1f791be: manual: update quickscreen defaults
'Show Files' hasn't been a default QuickScreen setting for a while
|
manual/main_menu/main.tex [diff]
|
Christian Soffke |
2022-10-25 |
193ebb5a36: Enable access to Shortcuts Menu from QuickScreen
Offers a quick way of switching to the Shortcuts Menu by pressing the 'context menu' button while QuickScreen is active (e.g. long press Select on iPods and some other players)
|
apps/gui/quickscreen.c [diff]
apps/gui/quickscreen.h [diff]
apps/gui/wps.c [diff]
apps/keymaps/keymap-agptekrocker.c [diff]
apps/keymaps/keymap-clip.c [diff]
apps/keymaps/keymap-erosq.c [diff]
apps/keymaps/keymap-fiiom3k.c [diff]
apps/keymaps/keymap-fuzeplus.c [diff]
apps/keymaps/keymap-ipod.c [diff]
apps/keymaps/keymap-nwz.c [diff]
apps/keymaps/keymap-nwza860.c [diff]
apps/keymaps/keymap-zen.c [diff]
apps/menu.c [diff]
apps/tree.c [diff]
manual/main_menu/main.tex [diff]
|
Christian Soffke |
2022-10-22 |
498988d34a: PictureFlow: Minor fixes & changed defaults
- Fix FPS counter overlapping the artist string when
"Show album title" was set to
"Show album and artist at the top"
- Fix disappearance of center album if certain Settings menus had been accessed while list of tracks was showing and you then returned to the list of albums
- Fix disappearing album artwork after cache had been created until you started scrolling
- Enable context menu even if WPS integration is disabled
- Make splash screen appear only on first launch and for database updates, when it is actually on screen for long enough
- Eliminate 'Loading' splash if tagcache is in RAM
- Show both album and artist by default on displays whose height > 100px
|
apps/plugin.c [diff]
apps/plugin.h [diff]
apps/plugins/pictureflow/pictureflow.c [diff]
apps/tagcache.c [diff]
apps/tagcache.h [diff]
apps/tagtree.c [diff]
|
Christian Soffke |
2022-10-21 |
653082ad1d: Database: Adjust "Play Selected First"&"Shuffle" behavior
- With "Play Selected First" and "Shuffle" enabled, another item was randomly selected when returning to the list. This appears to be a bug
- With "Play Selected First" disabled, the first item was selected. This appeared to be intentional, since, at least with
"Shuffle" disabled, that is the item that was played back. This may not be helpful either, since it makes you lose your place in what can be a long list. It is also not consistent with the behavior of the File Browser. The current selection should probably be maintained in all cases.
- At least according to the manual and the behavior of the File Browser, "Play Selected First" should only apply when "Shuffle" is enabled.
|
apps/tagtree.c [diff]
|
Christian Soffke |
2022-10-18 |
e27a6bad4f: skin engine: Remove redundant argument from do_non_text_tags()
The skin viewport is already passed in info->skin_vp.
|
apps/gui/skin_engine/skin_render.c [diff]
|
Aidan MacDonald |
2022-10-18 |
015101bb2c: Remove prototype for nonexistent sb_skin_data_load()
|
apps/gui/statusbar-skinned.h [diff]
|
Aidan MacDonald |
2022-10-18 |
14fbefdf39: Move skin global state to the WPS
This state is actually specific to the WPS and it makes more sense to put it there.
|
apps/gui/skin_engine/skin_display.c [diff]
apps/gui/skin_engine/skin_engine.c [diff]
apps/gui/skin_engine/skin_engine.h [diff]
apps/gui/skin_engine/skin_render.c [diff]
apps/gui/skin_engine/skin_tokens.c [diff]
apps/gui/skin_engine/wps_internals.h [diff]
apps/gui/wps.c [diff]
apps/gui/wps.h [diff]
apps/radio/radio.c [diff]
|
Aidan MacDonald |
2022-10-18 |
13da1ba785: Remove is_fading from the global WPS state
Turns out it was never assigned and always false.
|
apps/gui/skin_engine/skin_tokens.c [diff]
apps/gui/skin_engine/wps_internals.h [diff]
apps/gui/wps.c [diff]
apps/gui/wps.h [diff]
apps/iap/iap-lingo4.c [diff]
|
Aidan MacDonald |
2022-10-18 |
33a47e4a49: Remove ff_rewind from global WPS state
Turns out it's local to ffwd_rewind() in the WPS.
|
apps/gui/skin_engine/wps_internals.h [diff]
apps/gui/wps.c [diff]
|
Aidan MacDonald |
2022-10-18 |
6e4c866756: Remove unused 'may_fade' argument of pause/unpause_action
|
apps/gui/wps.c [diff]
apps/gui/wps.h [diff]
apps/misc.c [diff]
|
Aidan MacDonald |
2022-10-18 |
e03bc66594: Correct typo DEFAULT_SKIP_TRESH -> DEFAULT_SKIP_THRESH
|
apps/cuesheet.c [diff]
apps/gui/wps.c [diff]
apps/gui/wps.h [diff]
|
Aidan MacDonald |
2022-10-18 |
46c3d1e030: Cleanup unused cruft in wps.h
|
apps/gui/wps.c [diff]
apps/gui/wps.h [diff]
|
Aidan MacDonald |
2022-10-18 |
0761532d09: Don't autoload bookmarks after saving dynamic playlist
4f83e66 (FS #13287) introduced a useful option to immediately re-load the saved dynamic playlist, so that bookmark creation becomes possible.
(Current Playlist->Reload After Saving)
It seems unnecessary and won't produce the intended effect to autoload bookmarks after the playlist is saved, since playback position will be restored to where it was previously.
Additionally, with "Load last Bookmark" set to "Ask", the dialog for choosing a stored bookmark will appear after the playlist has been saved. The dialog is unwanted, since:
- Selecting a bookmark doesn't have expected effect
- Selecting "Don't resume" will actually resume
- Cancelling out of the screen will prevent the saved playlist from being loaded, without this being obvious to the user
- It causes a crash if the dynamic playlist is saved from within the Playlist Viewer (both the Playlist Viewer and the bookmark selection screen use the plugin buffer)
|
apps/filetree.c [diff]
apps/filetree.h [diff]
|
Christian Soffke |
2022-10-17 |
55185277ba: Fix red for Android builds (c6ee9dc883)
|
apps/hosted/android/notification.c [diff]
|
Aidan MacDonald |
2022-10-17 |
f805b492d5: Fix red for !HAVE_ALBUMART targets (c6ee9dc883)
|
apps/gui/skin_engine/skin_display.c [diff]
apps/gui/skin_engine/skin_display.h [diff]
|
Aidan MacDonald |
2022-10-17 |
c6ee9dc883: Limit exposure of skin engine internals
Drop wps_internals.h from skin_engine.h. The WPS and to a lesser extent the radio screen are too tightly integrated to drop their dependency on wps_internals.h, unfortunately. Skinned lists, for obvious reasons, also need access to the internals.
|
apps/debug_menu.c [diff]
apps/gui/list.h [diff]
apps/gui/skin_engine/skin_display.c [diff]
apps/gui/skin_engine/skin_display.h [diff]
apps/gui/skin_engine/skin_engine.c [diff]
apps/gui/skin_engine/skin_engine.h [diff]
apps/gui/skin_engine/skin_render.c [diff]
apps/gui/skin_engine/wps_internals.h [diff]
apps/gui/statusbar-skinned.c [diff]
apps/gui/statusbar-skinned.h [diff]
apps/gui/wps.c [diff]
apps/radio/radio.c [diff]
apps/radio/radio_skin.c [diff]
apps/recorder/albumart.c [diff]
apps/recorder/albumart.h [diff]
|
Aidan MacDonald |
2022-10-17 |
4bd97c6535: mips: consolidate exception handling, add exception backtraces
Merge the x1000 and jz47xx exception handling code since they use the same exception vectors and handlers. The interrupt handler is now called from the common exception vector, but remains separate for each board since they have different IRQ layouts.
The new exception handler can provide a stack traceback from the interrupted code, rather than the (uninteresting) caller traceback displayed by panicf. This allows you to see what led up to a null pointer deref or division by zero, which makes it _much_ easier to track down errors that occur in common leaf functions like strcmp.
|
firmware/SOURCES [diff]
firmware/panic.c [diff]
firmware/target/mips/exception-mips.S [new]
firmware/target/mips/ingenic_jz47xx/app.lds [diff]
firmware/target/mips/ingenic_jz47xx/boot.lds [diff]
firmware/target/mips/ingenic_jz47xx/crt0.S [diff]
firmware/target/mips/ingenic_jz47xx/debug-jz4760.c [diff]
firmware/target/mips/ingenic_jz47xx/system-jz4740.c [diff]
firmware/target/mips/ingenic_jz47xx/system-jz4760.c [diff]
firmware/target/mips/ingenic_jz47xx/system-target.h [diff]
firmware/target/mips/ingenic_x1000/app.lds [diff]
firmware/target/mips/ingenic_x1000/crt0.S [diff]
firmware/target/mips/ingenic_x1000/system-target.h [diff]
firmware/target/mips/ingenic_x1000/system-x1000.c [diff]
firmware/target/mips/system-mips.c [new]
firmware/target/mips/system-mips.h [new]
|
Aidan MacDonald |
2022-10-16 |
56d4227897: yesno_res gui_syncyesno_run fix scroll run-on bug
the GUI_EVENT_NEED_UI_UPDATE event was not canceled till after the call to scroll_stop this resulted in the scrolled line being re-added after the function was done causing a crash
thanks spork, amachronic
|
apps/gui/yesno.c [diff]
|
William Wilgus |
2022-10-16 |
5e864ecde9: linked list: add lld_insert_prev/next()
|
firmware/common/linked_list.c [diff]
firmware/include/linked_list.h [diff]
|
Aidan MacDonald |
2022-10-16 |
ee9679993b: linked list: inline list init functions
These functions are so trivial it's always cheaper to inline them.
|
firmware/common/linked_list.c [diff]
firmware/include/linked_list.h [diff]
|
Aidan MacDonald |
2022-10-16 |
8bf8036021: lcd: Fix clear_viewport on grayscale displays
The original drawmode change was "x = (~x & INVERSEVID) | SOLID" which is essentially XOR'ing the INVERSEVID bit, but I changed it to mask out INVERSEVID by mistake.
Fixes 44b9785465fc.
|
firmware/drivers/lcd-bitmap-common.c [diff]
|
Aidan MacDonald |
2022-10-16 |
1718cf5f8a: Convert a number of allocations to use buflib pinning
Several places in the codebase implemented an ad-hoc form of pinning; they can be converted to use buflib pinning instead.
|
apps/gui/icon.c [diff]
apps/gui/skin_engine/skin_backdrops.c [diff]
apps/gui/skin_engine/skin_parser.c [diff]
apps/tagcache.c [diff]
apps/tagtree.c [diff]
apps/tree.c [diff]
apps/tree.h [diff]
firmware/common/dircache.c [diff]
firmware/common/unicode.c [diff]
firmware/font.c [diff]
|
Aidan MacDonald |
2022-10-16 |
b16bae6fe6: skin_display.c cleanup - No functional changes
|
apps/gui/skin_engine/skin_display.c [diff]
|
William Wilgus |
2022-10-15 |
5e7c34f5b3: lcd: Fix off by one error in clipping check
When I converted all the clipping checks in 4b8fe8acd1c0 I messed up the hline and vline checks. This produced some weird panics on the Shanling Q1, probably memory corruption -- but somehow it got past AddressSanitizer. Go figure.
|
firmware/drivers/lcd-bitmap-common.c [diff]
|
Aidan MacDonald |
2022-10-15 |
ffdc64bea2: skin_engine fix invalid buflib handle checks
buflib considers handles <= 0 as invalid skin engine was using handles < 0
|
apps/gui/skin_engine/skin_parser.c [diff]
apps/gui/skin_engine/wps_internals.h [diff]
|
William Wilgus |
2022-10-15 |
f3d679aefe: skin_engine fix free pointer crash
skin_engine uses -1 to signify a free handle 0 causes crash
|
apps/gui/skin_engine/skin_parser.c [diff]
|
William Wilgus |
2022-10-15 |
12ef045fdf: move buflib_free invalid handle check to the function
allow buflib_free to check for invalid or already freed handles within the function -- remove all the invalid handle guards thru core_free
|
apps/action.c [diff]
apps/debug_menu.c [diff]
apps/gui/skin_engine/skin_backdrops.c [diff]
apps/gui/skin_engine/skin_parser.c [diff]
apps/playback.c [diff]
apps/plugin.c [diff]
apps/rbcodec_helpers.c [diff]
apps/recorder/pcm_record.c [diff]
apps/talk.c [diff]
firmware/buflib.c [diff]
firmware/common/dircache.c [diff]
firmware/common/zip.c [diff]
firmware/font.c [diff]
firmware/linuxboot.c [diff]
firmware/target/mips/ingenic_x1000/installer-x1000.c [diff]
firmware/usbstack/usb_storage.c [diff]
lib/x1000-installer/src/xf_nandio.c [diff]
lib/x1000-installer/src/xf_package.c [diff]
|
William Wilgus |
2022-10-13 |
9d3d925295: Revert "RFC: Get rid of mpegplayer plugin"
This reverts commit d25d24812e8120c0eb133a412287ac030eb185c9.
|
apps/lang/english.lang [diff]
apps/plugins/CATEGORIES [diff]
apps/plugins/SUBDIRS [diff]
apps/plugins/bitmaps/mono/SOURCES [diff]
apps/plugins/bitmaps/mono/mpegplayer_status_icons_12x12x1.bmp [new]
apps/plugins/bitmaps/mono/mpegplayer_status_icons_16x16x1.bmp [new]
apps/plugins/bitmaps/mono/mpegplayer_status_icons_8x8x1.bmp [new]
apps/plugins/mpegplayer/SOURCES [new]
apps/plugins/mpegplayer/alloc.c [new]
apps/plugins/mpegplayer/audio_thread.c [new]
apps/plugins/mpegplayer/disk_buf.c [new]
apps/plugins/mpegplayer/disk_buf.h [new]
apps/plugins/mpegplayer/libmpeg2/AUTHORS [new]
apps/plugins/mpegplayer/libmpeg2/README [new]
apps/plugins/mpegplayer/libmpeg2/README.rockbox [new]
apps/plugins/mpegplayer/libmpeg2/attributes.h [new]
apps/plugins/mpegplayer/libmpeg2/decode.c [new]
apps/plugins/mpegplayer/libmpeg2/header.c [new]
apps/plugins/mpegplayer/libmpeg2/idct.c [new]
apps/plugins/mpegplayer/libmpeg2/idct_arm.S [new]
apps/plugins/mpegplayer/libmpeg2/idct_armv6.S [new]
apps/plugins/mpegplayer/libmpeg2/idct_coldfire.S [new]
apps/plugins/mpegplayer/libmpeg2/motion_comp.c [new]
apps/plugins/mpegplayer/libmpeg2/motion_comp.h [new]
apps/plugins/mpegplayer/libmpeg2/motion_comp_arm_c.c [new]
apps/plugins/mpegplayer/libmpeg2/motion_comp_arm_s.S [new]
apps/plugins/mpegplayer/libmpeg2/motion_comp_c.c [new]
apps/plugins/mpegplayer/libmpeg2/motion_comp_coldfire_c.c [new]
apps/plugins/mpegplayer/libmpeg2/motion_comp_coldfire_s.S [new]
apps/plugins/mpegplayer/libmpeg2/mpeg2.h [new]
...and 30 more files. |
Solomon Peachy |
2022-10-13 |
418169aff8: Revert "Remove YUV blitting functions and LCD modes"
This reverts commit fe6aa21e9eb88f49005863efd2003d0982920048.
|
apps/plugin.c [diff]
apps/plugin.h [diff]
apps/plugins/test_fps.c [diff]
docs/PLUGIN_API [diff]
firmware/SOURCES [diff]
firmware/asm/arm/lcd-as-memframe.S [diff]
firmware/asm/lcd-as-memframe.c [diff]
firmware/drivers/lcd-color-common.c [diff]
firmware/drivers/lcd-memframe.c [diff]
firmware/export/config/mrobe500.h [diff]
firmware/export/lcd.h [diff]
firmware/target/arm/as3525/lcd-as-e200v2-fuze-fuzev2.S [new]
firmware/target/arm/as3525/lcd-fuze.c [diff]
firmware/target/arm/as3525/sansa-e200v2/lcd-e200v2.c [diff]
firmware/target/arm/ipod/lcd-as-color-nano.S [new]
firmware/target/arm/ipod/lcd-color_nano.c [diff]
firmware/target/arm/ipod/video/lcd-as-video.S [diff]
firmware/target/arm/ipod/video/lcd-video.c [diff]
firmware/target/arm/iriver/h10/lcd-as-h10.S [new]
firmware/target/arm/iriver/h10/lcd-h10_20gb.c [diff]
firmware/target/arm/iriver/h10/lcd-h10_5gb.c [diff]
firmware/target/arm/lcd-c200_c200v2.c [diff]
firmware/target/arm/pbell/vibe500/lcd-as-vibe500.S [new]
firmware/target/arm/pbell/vibe500/lcd-vibe500.c [diff]
firmware/target/arm/philips/hdd1630/lcd-as-hdd1630.S [new]
firmware/target/arm/philips/hdd1630/lcd-hdd1630.c [diff]
firmware/target/arm/philips/hdd6330/lcd-as-hdd6330.S [new]
firmware/target/arm/philips/hdd6330/lcd-hdd6330.c [diff]
firmware/target/arm/philips/sa9200/lcd-as-sa9200.S [new]
firmware/target/arm/philips/sa9200/lcd-sa9200.c [diff]
...and 24 more files. |
Solomon Peachy |
2022-10-13 |
f9ea1fc79d: splash_progress add delay function
I figure this is a better way to allow a delay before showing the progress meter
|
apps/gui/splash.c [diff]
apps/gui/splash.h [diff]
apps/playlist.c [diff]
apps/tagtree.c [diff]
|
William Wilgus |
2022-10-12 |
c607bfac6f: lcd: Fix update_viewport() for non-default stride viewports
Simplify update_viewport() by calling update_viewport_rect(). The resulting LCD driver calls are the same either way and for some reason, update_viewport() didn't handle non-default stride viewports correctly.
|
firmware/drivers/lcd-bitmap-common.c [diff]
|
Aidan MacDonald |
2022-10-12 |
9549ddabba: lcd: Fix bug in grayscale clear_display() implementation
clear_display() on grayscale LCDs sets the number of scrolling lines to 0 but that's wrong, the scollers need to be shut down first. Call scroll_stop() for that, as is done on color LCDs.
|
firmware/drivers/lcd-1bit-vert.c [diff]
firmware/drivers/lcd-2bit-horz.c [diff]
firmware/drivers/lcd-2bit-vert.c [diff]
firmware/drivers/lcd-2bit-vi.c [diff]
|
Aidan MacDonald |
2022-10-12 |
44b9785465: lcd: Move grayscale clear_viewport() to lcd-bitmap-common.c
All grayscale LCDs have the same clear_viewport() implementation.
|
firmware/drivers/lcd-1bit-vert.c [diff]
firmware/drivers/lcd-2bit-horz.c [diff]
firmware/drivers/lcd-2bit-vert.c [diff]
firmware/drivers/lcd-2bit-vi.c [diff]
firmware/drivers/lcd-bitmap-common.c [diff]
|
Aidan MacDonald |
2022-10-12 |
f737e5025d: lcd: Refactor viewport clipping functions
There's no need to generate separate copies of these functions for main and remote LCDs; we can just pass the viewport directly.
|
firmware/drivers/lcd-16bit-common.c [diff]
firmware/drivers/lcd-16bit-vert.c [diff]
firmware/drivers/lcd-16bit.c [diff]
firmware/drivers/lcd-1bit-vert.c [diff]
firmware/drivers/lcd-24bit.c [diff]
firmware/drivers/lcd-2bit-horz.c [diff]
firmware/drivers/lcd-2bit-vert.c [diff]
firmware/drivers/lcd-2bit-vi.c [diff]
firmware/drivers/lcd-bitmap-common.c [diff]
|
Aidan MacDonald |
2022-10-12 |
6acc8a81a7: lcd: Cosmetic variable renaming
Assign lcd_current_viewport to a local variable for easier typing.
|
firmware/drivers/lcd-16bit-common.c [diff]
firmware/drivers/lcd-16bit-vert.c [diff]
firmware/drivers/lcd-16bit.c [diff]
firmware/drivers/lcd-1bit-vert.c [diff]
firmware/drivers/lcd-24bit.c [diff]
firmware/drivers/lcd-2bit-horz.c [diff]
firmware/drivers/lcd-2bit-vert.c [diff]
firmware/drivers/lcd-2bit-vi.c [diff]
|
Aidan MacDonald |
2022-10-11 |
726673c638: toolchains: Enhancements to build scripts
* Explicitly require 'xz' (we've implicitly required it for a while now)
* Prefer xz files in a few more places
* Much better logging for native toolchain builds
* Use -O2 for native toolchain binaries
|
tools/rockboxdev.sh [diff]
|
Solomon Peachy |
2022-10-10 |
eb745d225d: toolchains: Get rid of crosstool-ng builds.
Nothing current uses them, and it's surely bitrotten by now.
|
tools/rockboxdev.sh [diff]
tools/toolchain-patches/crosstool-ng-1.13.2.diff [deleted]
|
Solomon Peachy |
2022-10-10 |
2928b71a69: mips: Work around an issue with GCC 8.
|
firmware/target/mips/mmu-mips.h [diff]
|
Solomon Peachy |
2022-10-10 |
af75619585: usb dwc2: Fix a potential garbage string print in an error path.
|
firmware/drivers/usb-designware.c [diff]
|
Solomon Peachy |
2022-10-10 |
5c6d6bd612: keyremap: Use '%z' when printing size_t
|
apps/plugins/keyremap.c [diff]
|
Solomon Peachy |
2022-10-10 |
eb5e15803b: Use splash_progress in database when inserting into dynamic playlist
|
apps/tagtree.c [diff]
|
Christian Soffke |
2022-10-10 |
0374dea33a: playlist_resume add delay before progress splash
|
apps/playlist.c [diff]
|
William Wilgus |
2022-10-09 |
f8e968991d: lcd: Move parameter handling calls to lcd-bitmap-common.c
No need to reimplement the same drawmode, getwidth, etc, calls for each pixel format.
|
firmware/drivers/lcd-1bit-vert.c [diff]
firmware/drivers/lcd-2bit-horz.c [diff]
firmware/drivers/lcd-2bit-vert.c [diff]
firmware/drivers/lcd-2bit-vi.c [diff]
firmware/drivers/lcd-bitmap-common.c [diff]
firmware/drivers/lcd-color-common.c [diff]
|
Aidan MacDonald |
2022-10-09 |
eaccdeeae2: lcd: Remove internal function get_viewport()
Only the scroll engine calls this, but it's easily replaced by the return value of set_viewport_ex().
|
firmware/drivers/lcd-bitmap-common.c [diff]
firmware/drivers/lcd-scroll.c [diff]
firmware/scroll_engine.c [diff]
|
Aidan MacDonald |
2022-10-09 |
4f9e4ddb99: lcd: Consolidate drawpixel, drawline, and drawrect functions
All three functions are nearly identical regardless of the LCD pixel format. Consolidate them into a generic version in lcd-bitmap-common.c.
|
firmware/drivers/lcd-1bit-vert.c [diff]
firmware/drivers/lcd-2bit-horz.c [diff]
firmware/drivers/lcd-2bit-vert.c [diff]
firmware/drivers/lcd-2bit-vi.c [diff]
firmware/drivers/lcd-bitmap-common.c [diff]
firmware/drivers/lcd-color-common.c [diff]
|
Aidan MacDonald |
2022-10-09 |
4b8fe8acd1: lcd: Consolidate in-viewport clipping routines
In-viewport clipping code is duplicated across 8 files, making it a chore to change anything related to clipping; refactor the clipping logic into dedicated functions.
|
firmware/drivers/lcd-16bit-common.c [diff]
firmware/drivers/lcd-16bit-vert.c [diff]
firmware/drivers/lcd-16bit.c [diff]
firmware/drivers/lcd-1bit-vert.c [diff]
firmware/drivers/lcd-24bit.c [diff]
firmware/drivers/lcd-2bit-horz.c [diff]
firmware/drivers/lcd-2bit-vert.c [diff]
firmware/drivers/lcd-2bit-vi.c [diff]
firmware/drivers/lcd-bitmap-common.c [diff]
firmware/drivers/lcd-color-common.c [diff]
|
Aidan MacDonald |
2022-10-09 |
70d5b2cd45: splash_progress fix red for non-color targets
|
apps/gui/splash.c [diff]
|
William Wilgus |
2022-10-09 |
d73aaf3d9e: add splash_progress
the loading track splash flashes and is ugly add a function to display a progressbar along with the splash message
spruce up database commit message as well
|
apps/gui/splash.c [diff]
apps/gui/splash.h [diff]
apps/main.c [diff]
apps/onplay.c [diff]
apps/playlist.c [diff]
apps/root_menu.c [diff]
|
William Wilgus |
2022-10-05 |
e57b4f9099: gui: Remove gui_synclist_item_is_onscreen()
Only the "Rockbox Info" screen uses it for a rather silly purpose, so remove the function. This helps to decouple things from the GUI.
|
apps/gui/list.c [diff]
apps/gui/list.h [diff]
apps/menus/main_menu.c [diff]
|
Aidan MacDonald |
2022-10-05 |
1c5a0497cf: gui: Remove list "limit_scroll" member
Get rid of the "limit_scroll" member from lists and make it a local variable of gui_synclist_do_button().
Bump plugin API version since struct gui_synclist was changed.
|
apps/gui/list.c [diff]
apps/gui/list.h [diff]
apps/plugin.h [diff]
|
Aidan MacDonald |
2022-10-05 |
d5a081cbd1: gui: Remove "enum list_wrap" from list action functions
Removing the "list_wrap" argument is actually pretty easy. In practice, almost all lists are using LIST_WRAP_UNLESS_HELD behavior so we can make that the default. A couple of lists disable wraparound with LIST_WRAP_OFF; this is now achieved by setting the list "wraparound" flag to false when setting up the list. LIST_WRAP_ON was unused and is of questionable value, so it has been removed entirely.
This makes list wraparound behavior a property of the list, controlled solely by the "wraparound" flag. The result is a simpler list API and implementation, without changing the behavior of any lists.
|
apps/bookmark.c [diff]
apps/cuesheet.c [diff]
apps/gui/list.c [diff]
apps/gui/list.h [diff]
apps/gui/option_select.c [diff]
apps/menu.c [diff]
apps/onplay.c [diff]
apps/playlist_viewer.c [diff]
apps/plugin.h [diff]
apps/plugins/calendar.c [diff]
apps/plugins/chessbox/chessbox_pgn.c [diff]
apps/plugins/keybox.c [diff]
apps/plugins/keyremap.c [diff]
apps/plugins/lrcplayer.c [diff]
apps/plugins/main_menu_config.c [diff]
apps/plugins/open_plugins.c [diff]
apps/plugins/properties.c [diff]
apps/plugins/puzzles/rockbox.c [diff]
apps/plugins/random_folder_advance_config.c [diff]
apps/plugins/rb_info.c [diff]
apps/plugins/shopper.c [diff]
apps/plugins/shortcuts/shortcuts_view.c [diff]
apps/plugins/text_editor.c [diff]
apps/radio/presets.c [diff]
apps/recorder/recording.c [diff]
apps/screens.c [diff]
apps/tree.c [diff]
docs/PLUGIN_API [diff]
|
Aidan MacDonald |
2022-10-05 |
ff378deb69: gui: Remove gui_synclist_limit_scroll()
Since gui_synclist_do_button() overrides the setting at runtime there is no reason to have a public API call to set it. Really it should be a local variable, but it will be simpler to do that after refactoring how list wraparound behavior is handled.
|
apps/gui/list.c [diff]
apps/gui/list.h [diff]
apps/gui/option_select.c [diff]
apps/menu.c [diff]
apps/menus/display_menu.c [diff]
apps/plugin.c [diff]
apps/plugin.h [diff]
apps/plugins/chessbox/chessbox_pgn.c [diff]
apps/plugins/keybox.c [diff]
apps/plugins/keyremap.c [diff]
apps/plugins/open_plugins.c [diff]
apps/plugins/properties.c [diff]
apps/plugins/puzzles/rockbox.c [diff]
apps/plugins/random_folder_advance_config.c [diff]
apps/plugins/rb_info.c [diff]
apps/plugins/shopper.c [diff]
apps/plugins/shortcuts/shortcuts_view.c [diff]
apps/plugins/text_editor.c [diff]
docs/PLUGIN_API [diff]
|
Aidan MacDonald |
2022-10-05 |
ead172c05d: gui: Remove redundant copies of list scrolling settings
gui_list_screen_scroll_step() and gui_list_screen_scroll_out_of_view() just copy the global setting into a local static variable. Since they don't do anything special when the setting changes it's simpler to use the global setting directly.
|
apps/gui/list.c [diff]
apps/gui/list.h [diff]
apps/menus/display_menu.c [diff]
apps/plugins/rb_info.c [diff]
apps/settings.c [diff]
apps/settings_list.c [diff]
|
Aidan MacDonald |
2022-10-03 |
fe6aa21e9e: Remove YUV blitting functions and LCD modes
None of this is needed now that mpegplayer is gone.
|
apps/plugin.c [diff]
apps/plugin.h [diff]
apps/plugins/test_fps.c [diff]
docs/PLUGIN_API [diff]
firmware/SOURCES [diff]
firmware/asm/arm/lcd-as-memframe.S [diff]
firmware/asm/lcd-as-memframe.c [diff]
firmware/drivers/lcd-color-common.c [diff]
firmware/drivers/lcd-memframe.c [diff]
firmware/export/config/mrobe500.h [diff]
firmware/export/lcd.h [diff]
firmware/target/arm/as3525/lcd-as-e200v2-fuze-fuzev2.S [deleted]
firmware/target/arm/as3525/lcd-fuze.c [diff]
firmware/target/arm/as3525/sansa-e200v2/lcd-e200v2.c [diff]
firmware/target/arm/ipod/lcd-as-color-nano.S [deleted]
firmware/target/arm/ipod/lcd-color_nano.c [diff]
firmware/target/arm/ipod/video/lcd-as-video.S [diff]
firmware/target/arm/ipod/video/lcd-video.c [diff]
firmware/target/arm/iriver/h10/lcd-as-h10.S [deleted]
firmware/target/arm/iriver/h10/lcd-h10_20gb.c [diff]
firmware/target/arm/iriver/h10/lcd-h10_5gb.c [diff]
firmware/target/arm/lcd-c200_c200v2.c [diff]
firmware/target/arm/pbell/vibe500/lcd-as-vibe500.S [deleted]
firmware/target/arm/pbell/vibe500/lcd-vibe500.c [diff]
firmware/target/arm/philips/hdd1630/lcd-as-hdd1630.S [deleted]
firmware/target/arm/philips/hdd1630/lcd-hdd1630.c [diff]
firmware/target/arm/philips/hdd6330/lcd-as-hdd6330.S [deleted]
firmware/target/arm/philips/hdd6330/lcd-hdd6330.c [diff]
firmware/target/arm/philips/sa9200/lcd-as-sa9200.S [deleted]
firmware/target/arm/philips/sa9200/lcd-sa9200.c [diff]
...and 24 more files. |
Aidan MacDonald |
2022-10-03 |
b371ff1f47: mrobe500: Fix missing parentheses in #define
|
firmware/export/config/mrobe500.h [diff]
|
Aidan MacDonald |
2022-10-02 |
d25d24812e: RFC: Get rid of mpegplayer plugin
It might have made sense once upon a time, but in today's world...
|
apps/lang/english.lang [diff]
apps/plugins/CATEGORIES [diff]
apps/plugins/SUBDIRS [diff]
apps/plugins/bitmaps/mono/SOURCES [diff]
apps/plugins/bitmaps/mono/mpegplayer_status_icons_12x12x1.bmp [deleted]
apps/plugins/bitmaps/mono/mpegplayer_status_icons_16x16x1.bmp [deleted]
apps/plugins/bitmaps/mono/mpegplayer_status_icons_8x8x1.bmp [deleted]
apps/plugins/mpegplayer/SOURCES [deleted]
apps/plugins/mpegplayer/alloc.c [deleted]
apps/plugins/mpegplayer/audio_thread.c [deleted]
apps/plugins/mpegplayer/disk_buf.c [deleted]
apps/plugins/mpegplayer/disk_buf.h [deleted]
apps/plugins/mpegplayer/libmpeg2/AUTHORS [deleted]
apps/plugins/mpegplayer/libmpeg2/README [deleted]
apps/plugins/mpegplayer/libmpeg2/README.rockbox [deleted]
apps/plugins/mpegplayer/libmpeg2/attributes.h [deleted]
apps/plugins/mpegplayer/libmpeg2/decode.c [deleted]
apps/plugins/mpegplayer/libmpeg2/header.c [deleted]
apps/plugins/mpegplayer/libmpeg2/idct.c [deleted]
apps/plugins/mpegplayer/libmpeg2/idct_arm.S [deleted]
apps/plugins/mpegplayer/libmpeg2/idct_armv6.S [deleted]
apps/plugins/mpegplayer/libmpeg2/idct_coldfire.S [deleted]
apps/plugins/mpegplayer/libmpeg2/motion_comp.c [deleted]
apps/plugins/mpegplayer/libmpeg2/motion_comp.h [deleted]
apps/plugins/mpegplayer/libmpeg2/motion_comp_arm_c.c [deleted]
apps/plugins/mpegplayer/libmpeg2/motion_comp_arm_s.S [deleted]
apps/plugins/mpegplayer/libmpeg2/motion_comp_c.c [deleted]
apps/plugins/mpegplayer/libmpeg2/motion_comp_coldfire_c.c [deleted]
apps/plugins/mpegplayer/libmpeg2/motion_comp_coldfire_s.S [deleted]
apps/plugins/mpegplayer/libmpeg2/mpeg2.h [deleted]
...and 30 more files. |
Solomon Peachy |
2022-10-02 |
9ce5b2a2ed: gui: Remove show/hide selection option in lists
The implementation of the "show_selection_marker" option in lists isn't great. It's a cosmetic option used to hide the selection, but it causes the list to do funny things to the selected_item and doesn't play nice with voiced menus, since these rely on the selection to determine what item is spoken.
There are only two user-facing lists that use the option, the
"Rockbox Info" screen and a menu in the superdom plugin. The rest are debug screens, and cosmetics don't matter much there.
Given how little used the option is, and its issues, removing it seems reasonable.
|
apps/debug_menu.c [diff]
apps/gui/bitmap/list-skinned.c [diff]
apps/gui/bitmap/list.c [diff]
apps/gui/list.c [diff]
apps/gui/list.h [diff]
apps/menus/main_menu.c [diff]
apps/plugin.c [diff]
apps/plugin.h [diff]
apps/plugins/lrcplayer.c [diff]
apps/plugins/superdom.c [diff]
|
Aidan MacDonald |
2022-10-02 |
c1d75a6bcb: Fix yellow from 5b0506e9de
|
apps/debug_menu.c [diff]
|
Aidan MacDonald |
2022-10-02 |
5b0506e9de: gui: Constify list title text
Use const char* pointers for list titles. Only one debug menu actually modifies the title, and in that case it's legal to cast away const because the title points to a known mutable buffer on the stack.
|
apps/debug_menu.c [diff]
apps/gui/bitmap/list.c [diff]
apps/gui/list.c [diff]
apps/gui/list.h [diff]
apps/gui/statusbar-skinned.c [diff]
apps/gui/statusbar-skinned.h [diff]
apps/plugin.h [diff]
apps/plugins/lib/printcell_helper.c [diff]
|
Aidan MacDonald |
2022-10-01 |
420fb1163c: skin engine: Fix bug with %Vs(color) tag
The %Vs(color) tag doesn't set the text style properly and causes the background to not be cleared when rendering lines. For static text this is rarely a problem, but for scrolling text it'll cause the text to "smear" once it starts scrolling.
Fix this by setting STYLE_DEFAULT, so the background gets redrawn when the line scrolls.
Bug report: https://forums.rockbox.org/index.php/topic,54320.0.html
|
apps/gui/skin_engine/skin_parser.c [diff]
|
Aidan MacDonald |
2022-09-30 |
3bc6408bbe: lcd: Fix incorrect use of LCD_STRIDEFORMAT for remote LCDs
The get_address_fn implementations for some remote LCDs were checking LCD_STRIDEFORMAT unconditionally, but that macro is only valid for the main LCD. The remote LCD code only supports horizontal strides, so when compiling for a remote LCD, force the use of horizontal stride addressing.
This fixes a buffer overflow and out of bounds write that occurs with the M:Robe 500 remote LCD. (Tested with sim + ASan only.)
|
firmware/drivers/lcd-1bit-vert.c [diff]
firmware/drivers/lcd-2bit-vi.c [diff]
|
Aidan MacDonald |
2022-09-30 |
f373c97c90: Define LCD_STRIDEFORMAT unconditionally
Instead of putting "#ifdef LCD_STRIDEFORMAT" at every usage of the macro it's simpler to have config.h define LCD_STRIDEFORMAT to the default of horizontal stride when the target leaves it unspecified.
|
apps/plugins/SOURCES [diff]
apps/plugins/SUBDIRS [diff]
apps/plugins/bitmaps/native/SOURCES [diff]
apps/plugins/imageviewer/jpeg/yuv2rgb.c [diff]
apps/plugins/imageviewer/ppm/ppm_decoder.c [diff]
apps/plugins/invadrox.c [diff]
apps/plugins/lib/bmp_smooth_scale.c [diff]
apps/plugins/lib/osd.c [diff]
apps/plugins/lib/pluginlib_bmp.c [diff]
apps/plugins/lib/xlcd_scroll.c [diff]
apps/plugins/lua/rocklib_img.c [diff]
apps/plugins/pictureflow/pictureflow.c [diff]
apps/plugins/puzzles/rockbox.c [diff]
apps/plugins/test_viewports.c [diff]
apps/plugins/xworld/sys.c [diff]
apps/recorder/resize.c [diff]
firmware/SOURCES [diff]
firmware/drivers/lcd-1bit-vert.c [diff]
firmware/drivers/lcd-2bit-horz.c [diff]
firmware/drivers/lcd-2bit-vert.c [diff]
firmware/drivers/lcd-2bit-vi.c [diff]
firmware/drivers/lcd-color-common.c [diff]
firmware/export/config.h [diff]
firmware/export/lcd.h [diff]
firmware/target/arm/tms320dm320/mrobe-500/lcd-mr500.c [diff]
firmware/target/hosted/sdl/lcd-sdl.c [diff]
|
Aidan MacDonald |
2022-09-27 |
9ed36ec22f: FS #13361: Fix some compilation under MacOS (Michael Landherr)
|
docs/CREDITS [diff]
firmware/export/config.h [diff]
|
Solomon Peachy |
2022-09-27 |
09cb3c7843: lcd: Remove HAVE_VIEWPORT_CLIP
This was only enabled for the mrobe500 and sansaconnect targets. Most targets are therefore running without this "safety" measure, and presumably we'd have noticed long ago if there was a problem. So in all likelihood this is just a bunch of dead code that we don't need to carry around.
|
firmware/drivers/lcd-16bit-common.c [diff]
firmware/drivers/lcd-16bit-vert.c [diff]
firmware/drivers/lcd-16bit.c [diff]
firmware/drivers/lcd-1bit-vert.c [diff]
firmware/drivers/lcd-24bit.c [diff]
firmware/drivers/lcd-2bit-horz.c [diff]
firmware/drivers/lcd-2bit-vert.c [diff]
firmware/drivers/lcd-2bit-vi.c [diff]
firmware/drivers/lcd-bitmap-common.c [diff]
firmware/drivers/lcd-color-common.c [diff]
firmware/export/config/mrobe500.h [diff]
firmware/export/config/sansaconnect.h [diff]
|
Aidan MacDonald |
2022-09-25 |
24daa26598: FS13356: Update Polish Translation (Adam Rak)
|
apps/lang/polski.lang [diff]
|
Solomon Peachy |
2022-09-25 |
36ea69b27e: FS #13365: Updated Italian translation (Alessio Lenzi)
|
apps/lang/italiano.lang [diff]
|
Solomon Peachy |
2022-09-25 |
464889ecee: Fix red in e75a3fb8
|
firmware/export/config.h [diff]
|
Aidan MacDonald |
2022-09-25 |
e75a3fb8c7: usb: add debounce interval for USB status by event
This makes status by event debounce status changes over a 200ms period, which is what polling was already using.
This is helpful on targets where events are excessively noisy and generate a lot of transitions during insertion and extraction.
|
firmware/usb.c [diff]
|
Aidan MacDonald |
2022-09-25 |
e4aec7d648: key remap: simplify and use movable allocations
Have action.c control the key remap buflib allocation so that it can be made movable. With memory management offloaded, core_keymap.c only needs to deal with loading keymap files. Simplify the code there and use buflib pinning so the file can be loaded directly into the buffer.
|
apps/action.c [diff]
apps/action.h [diff]
apps/core_keymap.c [diff]
apps/core_keymap.h [diff]
|
Aidan MacDonald |
2022-09-19 |
f47aa584a8: buflib: add pin/unpin operation
An allocation is pinned by calling buflib_pin() to up its pin count. The pin count is like a reference count: when above 0, buflib won't move the allocation and won't call its move callbacks. This makes it safe to hold the pointer returned by buflib_get_data() across yields or allocations.
Note that pinned allocations can still shrink because there are some use cases where this would be valid, if buffer users coordinate with the shrink callback.
|
firmware/buflib.c [diff]
firmware/core_alloc.c [diff]
firmware/include/buflib.h [diff]
firmware/include/core_alloc.h [diff]
|
Aidan MacDonald |
2022-09-19 |
ecfec3e9bf: buflib: add handle_to_block_end
|
firmware/buflib.c [diff]
|
Aidan MacDonald |
2022-09-19 |
88b21731fc: buflib: enable all paranoia checks
Since allocation is infrequent in Rockbox enabling the extra checks to catch memory corruption is probably worth the time and code size cost.
|
firmware/buflib.c [diff]
|
Aidan MacDonald |
2022-09-19 |
8f896b14d3: buflib: remove the 'name' member from union buflib_data
Using a length 1 char array to point to the name buffer triggers a -Warray-bounds warning from GCC when fortified strcpy is used.
This type of construct isn't safe in general -- if the compiler makes assumptions based on the array bound it can create subtle bugs when accessing the array out of bounds.
Instead, add a function get_block_name() which returns a pointer to the name field by casting. This suppresses the warning and it should be a bit more portable.
|
firmware/buflib.c [diff]
firmware/include/buflib.h [diff]
|
Aidan MacDonald |
2022-09-19 |
6e9b1b344b: buflib: remove buflib_print_allocs / buflib_print_blocks
These don't have any users and there is already another way to print blocks (which is actually used by the debug menu).
|
firmware/buflib.c [diff]
firmware/include/buflib.h [diff]
firmware/include/core_alloc.h [diff]
|
Aidan MacDonald |
2022-09-19 |
3090cf0da4: buflib: update BUFLIB_ALLOC_OVERHEAD
Allocation overhead should be 5 units, not 6.
|
firmware/include/buflib.h [diff]
|
Aidan MacDonald |
2022-09-19 |
59edcc57a2: buflib: omit CRC field if CRC paranoia is not enabled
If we don't check or generate CRCs then the CRC field can be left out of the header, which reduces buflib overhead slightly.
|
firmware/buflib.c [diff]
|
Aidan MacDonald |
2022-09-19 |
dcc4e54b77: buflib: refactor CRC checks as paranoia
Move CRC checking and updating behind a paranoia bit, like the other checks, so it can be enabled and disabled.
|
firmware/buflib.c [diff]
|
Aidan MacDonald |
2022-09-19 |
f82f3044a7: buflib: add paranoia checks for handles
Handle checks ensure that the data in the handle table points within buflib memory and checks handle entry pointers in block headers before dereferencing them.
|
firmware/buflib.c [diff]
|
Aidan MacDonald |
2022-09-19 |
73b9b227eb: buflib: add block length paranoia checks for loops
Tighten up checking by adding length checks to loops which ensure the iteration stays within bounds. Check is disabled by default and can be enabled using a BUFLIB_PARANOIA bit.
|
firmware/buflib.c [diff]
|
Aidan MacDonald |
2022-09-19 |
b12427741a: buflib: clean up and refactor to improve maintainability
Buflib is written with a lot of hardcoded offsets to header fields, arbitrary pointer arithmetic, and similar but not quite duplicated code, making maintenance a nightmare.
Most of the pointer arithmetic involving header fields is replaced by indexing from two well-defined pointers, the block start and end pointers. The start pointer points to the first header field, and he end pointer is one past the end of the header.
Hardcoded field indices are replaced by two enums. Forward indices
(fidx_XXX) are used to access fields from a block start pointer and negated backward indices (-bidx_XXX) are used to index from a block end pointer. There is no overlap between the indices because of the variable length name field in the middle of the header. The length of the fixed fields in the block header is now a #define'd constant rather than being open coded.
There is now a function to acquire the block end pointer from the user data pointer (ie. the pointer stored in the handle table). The old code was not consistent in this; some functions would handle a non-aligned user pointer, which may occur as a result of shrinking, while other uses just assumed the user pointer was aligned.
Block CRC calculations have also been factored out to a function that accepts block start and end pointers.
|
firmware/buflib.c [diff]
|
Aidan MacDonald |
2022-09-19 |
fdde6bb5a7: buflib: optimize getting start of block from end of block
The block header has a variable length due to the embedded name. The name length is stored at the back of the header after the name, in order to allow finding the start of the header if only the user data pointer is known (eg. from the handle table).
The name length is actually not interesting in itself; storing the total length of the block header instead is marginally more efficient, saving one addition in handle_to_block().
Instead the extra arithmetic must be done by buflib_get_name(), which is a much less common operation than handle_to_block().
|
firmware/buflib.c [diff]
|
Aidan MacDonald |
2022-09-19 |
ef476ba298: buflib: correct a confusingly indented comment
|
firmware/buflib.c [diff]
|
Aidan MacDonald |
2022-09-19 |
c8365b2bdd: buflib: fix bug in handle_table_shrink
The way it iterated over the handle table is unsafe if *every* handle is free, leading to an out of bounds access.
This is a contrived example, but the bug can be triggered by making several allocations, freeing them out of order so that the handle table remains uncompacted, and then triggering a compaction using buflib_alloc_maximum().
|
firmware/buflib.c [diff]
|
Aidan MacDonald |
2022-09-19 |
4d3bf1c446: buflib: add comment in handle_alloc, remove a dead store
It isn't obvious why the "handle->val = -1" at the end of handle_alloc is needed so add an explanatory comment. But "handle->val = 1" prior to calling handle_free is simply a dead store.
|
firmware/buflib.c [diff]
|
Aidan MacDonald |
2022-09-19 |
840f6b79c7: buflib: update first_free_handle in handle_alloc
Since we're scanning the handle table for the first free slot, we know none of the scanned slots are free. Use that knowledge to update first_free_handle and avoid rescanning filled slots again when the next handle is allocated.
|
firmware/buflib.c [diff]
|
Aidan MacDonald |
2022-09-19 |
f622bcfe4f: buflib: fix buflib_context_relocate alignment check
Use the standard IS_ALIGNED macro and check alignment against sizeof(buflib_data), as it can be greater than 4 bytes if we're on a 64-bit platform (eg. simulator).
|
firmware/buflib.c [diff]
|
Aidan MacDonald |
2022-09-19 |
bcaa9465e9: buflib: optimize find_block_before
Exiting the loop implies next_block == block, so remove that check. The check ret < block is false only if block is the first block, which can be checked before the loop, saving a few cycles in that case.
|
firmware/buflib.c [diff]
|
Aidan MacDonald |
2022-09-18 |
6beebd75e7: Cabbie v2: 240x320: Increase font size to 18. Remove linespace and increase the size of the album art slightly to better utilize the screen area.
|
apps/settings_list.c [diff]
wps/WPSLIST [diff]
wps/cabbiev2.240x320x16.wps [diff]
|
James D. Smith |
2022-09-18 |
38a0f1a96f: Cabbie v2: Place album above title and track on the WPS. The idea is to have the album immediately beneath any album art.
|
wps/cabbiev2.112x64x1.wps [diff]
wps/cabbiev2.128x128x16.wps [diff]
wps/cabbiev2.128x128x2.wps [diff]
wps/cabbiev2.128x160x16.wps [diff]
wps/cabbiev2.128x64x1.wps [diff]
wps/cabbiev2.128x96x16.wps [diff]
wps/cabbiev2.128x96x2.wps [diff]
wps/cabbiev2.132x80x16.wps [diff]
wps/cabbiev2.138x110x2.wps [diff]
wps/cabbiev2.160x128x1.wps [diff]
wps/cabbiev2.160x128x16.wps [diff]
wps/cabbiev2.160x128x2.wps [diff]
wps/cabbiev2.176x132x16.wps [diff]
wps/cabbiev2.176x220x16.wps [diff]
wps/cabbiev2.220x176x16.wps [diff]
wps/cabbiev2.240x320x16.mini2440.wps [diff]
wps/cabbiev2.240x320x16.wps [diff]
wps/cabbiev2.240x400x16.wps [diff]
wps/cabbiev2.320x240x16.mrobe500.wps [diff]
wps/cabbiev2.320x240x16.wps [diff]
wps/cabbiev2.320x480x16.wps [diff]
wps/cabbiev2.360x400x16.wps [diff]
wps/cabbiev2.400x240x16.wps [diff]
wps/cabbiev2.480x800x16.wps [diff]
wps/cabbiev2.800x480x16.wps [diff]
wps/cabbiev2.96x96x16.wps [diff]
|
James D. Smith |
2022-09-18 |
972c8c0ab6: Suppress bogus GCC 12 -Waddress warnings for SKINOFFSETTOPTR
This appears to be a bug in GCC 12 due to more aggressive -Waddress warnings. According to the GCC documentation, the warning should be suppressed because the "problem" code is coming from a macro, but it doesn't happen for cases like "if(!SKINOFFSETTOPTR(...))" where the macro is negated.
Assigning the result of SKINOFFSETTOPTR() to a temporary and checking that suppresses the warning.
|
lib/skin_parser/skin_parser.h [diff]
|
Aidan MacDonald |
2022-09-17 |
bab8a41532: x1000: add support for GD5F1GQ4xExx NAND flash
This is another chip used in newer Surfans F20 units. Like the Winbond chip, it's a 1-gigabit chip with on-die ECC. Notably it has an expanded 128-byte OOB area that is only accessible when on-die ECC is disabled.
|
firmware/target/mips/ingenic_x1000/nand-x1000.c [diff]
|
Aidan MacDonald |
2022-09-17 |
e64b0e81ad: x1000: add support for the W25N01GVxx NAND flash
This chip is apparently used in some Surfans F20 units, and has the same geometry as the ATO25D1GA. It has an on-die ECC engine.
|
firmware/target/mips/ingenic_x1000/nand-x1000.c [diff]
firmware/target/mips/ingenic_x1000/nand-x1000.h [diff]
|
Aidan MacDonald |
2022-09-17 |
17443de221: x1000: refactor NAND chip identification
Decouple chip IDs from chips, and allow the chip ID table to list which read ID method should be used. Use a safe controller setup during identification instead of using the first chip's parameters.
|
firmware/target/mips/ingenic_x1000/nand-x1000.c [diff]
firmware/target/mips/ingenic_x1000/nand-x1000.h [diff]
|
Aidan MacDonald |
2022-09-17 |
189dee08ea: rockboxdev.sh: Mention older NWZ for the arm toolchain.
The description for arm-linux mentions "Linux-based Sony NWZ", which is misleading for people who aren't very familiar with the various targets and history. People setting up toolchains for the first time for their "traditional" NWZ will overlook the "linux" part (or not understand what it means) and build the wrong compiler.
Mentioning "older Sony NWZ" may of course not immediately tell those people which one to pick, but at least they'll know they need to look things up.
|
tools/rockboxdev.sh [diff]
|
Frank Gevaerts |
2022-08-21 |
3f3b738e06: Partial fix for FS #12702: playlist catalogue silently fails to save files
|
apps/playlist_catalog.c [diff]
|
Christian Soffke |
2022-08-19 |
a6e9ecb086: Updated keymaps for Sansa Connect
* added scroll wheel to doom
* added scroll wheel to brickmania
* changed spacerocks to use scroll wheel instead of buttons
|
apps/plugins/brickmania.c [diff]
apps/plugins/doom/i_video.c [diff]
apps/plugins/spacerocks.c [diff]
|
Benjamin Brown |
2022-08-19 |
c1c0318c8d: Playlist Viewer: Fix unintentional fallthrough
|
apps/playlist_viewer.c [diff]
|
Christian Soffke |
2022-08-19 |
5e757b4d6e: Playlists: Fix losing cached control data when resuming
Shuffle and Unshuffle commands are not flushed to disk when control data is updated. The same applies to Delete and Reset commands, unless HAVE_DIRCACHE is undefined (see update_control() function in playlist.c)
playlist_resume() discards cached control data.
This resulted in a bug where (e.g.) removed tracks from the current playlist would reappear if you stopped and resumed playing immediately afterwards (instead of restarting in between).
|
apps/playlist.c [diff]
|
Christian Soffke |
2022-08-19 |
8f6d0efd71: tagtree: Delay showing search progress when ramcache is enabled
The disk doesn't need to spin up when the database is in RAM. Results are usually returned without any noticeable delay, so the splash only creates distraction.
|
apps/tagcache.c [diff]
apps/tagtree.c [diff]
|
Christian Soffke |
2022-08-16 |
cf37676fb1: pictureflow: fix FS #13360 softlock cannot be disabled
|
apps/plugins/pictureflow/pictureflow.c [diff]
|
Christian Soffke |
2022-08-16 |
7a3d829543: pictureflow: fix stack overflow
I noticed a stack overflow on the Fiio M3K when launching PictureFlow from the Playlist Viewer after opening a playlist from the file browser using the context menu's "View" option.
|
apps/plugins/pictureflow/pictureflow.c [diff]
|
Christian Soffke |
2022-08-05 |
d4917888e3: Fix yellow introduced in cef9fa22ef11511f6d174b1e92f3350e514ef7d7
(Wrap new function in HAVE_HOTKEY)
|
apps/playlist_viewer.c [diff]
|
Solomon Peachy |
2022-08-05 |
cef9fa22ef: playlist viewer: enable hotkey
'File Browser' hotkeys can now be used while browsing a playlist.
The manual has been updated to reflect this and to say that the File Browser hotkey works in the context of the database as well (existing behavior)
|
apps/playlist_viewer.c [diff]
manual/rockbox_interface/hotkeys.tex [diff]
|
Christian Soffke |
2022-08-05 |
3edf3ba18d: add hotkeys for properties and pictureflow
|
apps/onplay.c [diff]
apps/onplay.h [diff]
apps/settings_list.c [diff]
manual/appendix/config_file_options.tex [diff]
|
Christian Soffke |
2022-08-05 |
7727486423: playlist viewer: add menu option to show songs in pictureflow
(The playlist viewer has to be re-initialized after returning from PictureFlow, since they both use the plugin buffer)
|
apps/playlist_viewer.c [diff]
|
Christian Soffke |
2022-08-04 |
f0a05e0993: Properties plugin: Fix crash when parameter is zero-length string
This seems to be what is provided by the database when length of path+file name of an entry is larger than MAX_PATH.
|
apps/plugins/properties.c [diff]
|
Christian Soffke |
2022-07-21 |
4101aeac54: x1000: simplify NAND command macros
There is actually no need to parameterize most commands with row or column cycles, usually the opcode and row/column address width are linked. When this is not the case we can use raw SFC commands or define new macros.
|
bootloader/x1000/utils.c [diff]
firmware/target/mips/ingenic_x1000/nand-x1000.c [diff]
firmware/target/mips/ingenic_x1000/nand-x1000.h [diff]
|
Aidan MacDonald |
2022-07-21 |
9ab5d311cb: x1000: move NAND commands to chip data
Using predefined commands is too inflexible so allow the chip data to specify I/O commands directly.
|
firmware/target/mips/ingenic_x1000/nand-x1000.c [diff]
firmware/target/mips/ingenic_x1000/nand-x1000.h [diff]
|
Aidan MacDonald |
2022-07-19 |
2fce0a98f8: x1000: add flash ONFI info dumper to bootloader
Dumps parts of the standard ONFI info located at page 0x01 of the OTP area to a file for easy copy'n'pasting.
|
bootloader/x1000/recovery.c [diff]
bootloader/x1000/utils.c [diff]
bootloader/x1000/x1000bootloader.h [diff]
|
Aidan MacDonald |
2022-07-19 |
c72f9c6d0f: x1000: add NAND OTP access switch
Provide a way to toggle the OTP bit for reading OTP pages, mostly useful for debug purposes.
|
firmware/target/mips/ingenic_x1000/nand-x1000.c [diff]
firmware/target/mips/ingenic_x1000/nand-x1000.h [diff]
|
Aidan MacDonald |
2022-07-19 |
45e2d5d641: x1000: check for ECC failures in bootloader uimage reader
Update the uimage reader's bad block handling to treat an ECC uncorrectable error on the first page of the block as a bad block.
|
bootloader/x1000/utils.c [diff]
|
Aidan MacDonald |
2022-07-12 |
5901ac8756: ipod6g: increase plugin buffer size from 512 KiB to 2 MiB
The iPod classic/6G comes with 64MB of RAM. This brings it in line with the plugin buffer size of some other targets that have the same amount of RAM, such as the Fiio M3K, and enables the use of PictureFlow for users with very large databases.
|
firmware/export/config/ipod6g.h [diff]
|
Christian Soffke |
2022-07-12 |
23fea5dfa8: manual: add 'autoupdate bookmarks' to config file options
(from db1b823)
|
manual/appendix/config_file_options.tex [diff]
|
Christian Soffke |
2022-07-11 |
840fb4d47b: doom: Fix a potential buffer trashing in the doom plugin
(caught by GCC12's -Waddress)
|
apps/plugins/doom/d_deh.c [diff]
|
Solomon Peachy |
2022-07-11 |
632af4837e: xworld: Fix a really old bug that effectively disabled fast movement
(Thank GCC12's -Waddress for catching this)
|
apps/plugins/xworld/engine.c [diff]
|
Solomon Peachy |
2022-07-11 |
05149cd4dc: Fix a couple of warnings uncovered by GCC12
|
apps/menus/main_menu.c [diff]
lib/rbcodec/codecs/libgme/blip_buffer.c [diff]
|
Solomon Peachy |
2022-07-11 |
4917f764bb: rbutil: Try to use system-wide QuaZIP in preference to building our own
QuaZIP is included in several major Linux distributions and packaging policies strongly oppose bundling of libraries.
|
docs/CREDITS [diff]
utils/rbutilqt/CMakeLists.txt [diff]
utils/rbutilqt/base/ziputil.cpp [diff]
utils/rbutilqt/base/ziputil.h [diff]
|
James Le Cuirot |
2022-07-10 |
db2817eb1a: Fix red in commit 131566b8f8
Use per-function sections to avoid linking in x1000_boot_linux() on normal builds, which prevents link errors due to referencing a non-existent usb_close().
|
firmware/target/mips/ingenic_x1000/boot-x1000.h [diff]
|
Aidan MacDonald |
2022-07-10 |
47cbeb2e67: x1000: add support for simple on-die ECC with NAND flash
Many SPI NAND flash chips have on-die ECC engines that report ECC status via the status feature register. This code handles the common case where ECC status is reported with 2 bits: one bit to indicate if flips were detected & corrected, and another bit to indicate an uncorrectable error.
|
firmware/target/mips/ingenic_x1000/nand-x1000.c [diff]
firmware/target/mips/ingenic_x1000/nand-x1000.h [diff]
|
Aidan MacDonald |
2022-07-10 |
df29c7991a: x1000: add setup_chip hook for NAND chips
Add a chip setup hook for configuring vendor specific registers after the chip is identified.
|
firmware/target/mips/ingenic_x1000/nand-x1000.c [diff]
firmware/target/mips/ingenic_x1000/nand-x1000.h [diff]
|
Aidan MacDonald |
2022-07-10 |
ad8ace53e5: x1000: remove 'typedef struct' from NAND driver
Using 'typedef struct' is not in line with the project coding style and somewhat problematic, so get rid of it here.
|
bootloader/x1000/utils.c [diff]
firmware/target/mips/ingenic_x1000/boot-x1000.c [diff]
firmware/target/mips/ingenic_x1000/installer-x1000.c [diff]
firmware/target/mips/ingenic_x1000/nand-x1000.c [diff]
firmware/target/mips/ingenic_x1000/nand-x1000.h [diff]
firmware/target/mips/ingenic_x1000/spl-nand-x1000.c [diff]
|
Aidan MacDonald |
2022-07-10 |
cc017f211a: x1000: support 2nd device ID byte for NAND flash
Some components have additional ID bytes. Add support for an optional 2nd device ID byte during the identification routine.
|
firmware/target/mips/ingenic_x1000/nand-x1000.c [diff]
firmware/target/mips/ingenic_x1000/nand-x1000.h [diff]
|
Aidan MacDonald |
2022-07-10 |
131566b8f8: x1000: fix linux boot USB issues
If the USB controller is active when we hand over to Linux it'll often trigger "irq nobody cared" warnings. Disabling the controller before boot prevents that.
Also move the USB PHY bit workaround from the dualboot cleanup hook to the main Linux boot function. Mainline kernels don't clear these bits either.
|
firmware/export/config.h [diff]
firmware/target/mips/ingenic_x1000/boot-x1000.c [diff]
|
Aidan MacDonald |
2022-07-10 |
d0d13baf3e: x1000: fix command line passing for linux boot
|
firmware/target/mips/ingenic_x1000/boot-x1000.c [diff]
|
Aidan MacDonald |
2022-06-26 |
ec9e484f64: firmware: Add load/store with endianness functions
Define common functions for loading 16/32/64-bit unsigned integers with big, little, or host endianness, and distinguishing unaligned and aligned cases.
Unaligned loads are supported generically by default, but this can be overridden with a more efficient implementation on architectures which support unaligned loads natively.
|
firmware/include/rbendian.h [diff]
|
Aidan MacDonald |
2022-06-22 |
c3e75a1ce7: Reset settings on button hold fix lang for non supported ipods
|
apps/lang/english.lang [diff]
|
William Wilgus |
2022-06-22 |
8283752223: Reset settings on button hold
extend this properly to the gigabeast and iriver updated manual entries
|
apps/features.txt [diff]
apps/lang/english.lang [diff]
apps/main.c [diff]
apps/menus/settings_menu.c [diff]
apps/settings.h [diff]
apps/settings_list.c [diff]
manual/configure_rockbox/startup_shutdown_options.tex [diff]
|
William Wilgus |
2022-06-22 |
e75e07e1b6: plugin sliding puzzle fix unneeded check
|
apps/plugins/sliding_puzzle.c [diff]
|
William Wilgus |
2022-06-22 |
e1c5a3e296: fix uninitialized warning in libopus
likely this is truly a bug but I imagine much worse things happen before this point in that case
|
lib/rbcodec/codecs/libopus/silk/NLSF2A.c [diff]
|
William Wilgus |
2022-06-22 |
75f618ea62: Rb Manual Fix missing bracket
Fix missing bracket from 7e0492444c38f2ed350016be15b6a4d8ba489bcd g#4568
|
manual/configure_rockbox/system_options.tex [diff]
|
William Wilgus |
2022-06-21 |
7e0492444c: usb: remove "Ask" USB Mode (FS #13317)
USB ask mode is basically a footgun: it can't work on native targets and doesn't work reliably on hosted ones, and it continually produces a slow trickle of problems. FS #13317 gives a rundown of the issues. Removing the setting seems like the best solution for now, since a fix would be pretty involved.
This partially reverts 60f581e8f5. The USB Mode setting is left in place so the option can be added back later in a non-buggy way.
|
apps/settings_list.c [diff]
firmware/export/usb.h [diff]
firmware/usb.c [diff]
manual/configure_rockbox/system_options.tex [diff]
manual/rockbox_interface/main.tex [diff]
|
Aidan MacDonald |
2022-06-21 |
6cdd142d5c: Setting reset fix red
|
apps/main.c [diff]
|
William Wilgus |
2022-06-20 |
ed37c2e894: FS #13193 - Add option to disable settings reset on startup
Updated version of the patch originally by user cockroach
UNTESTED Ipods?, Iriver H10, I do not own these players so YMMV
https://www.rockbox.org/tracker/task/13193
|
apps/features.txt [diff]
apps/lang/english.lang [diff]
apps/main.c [diff]
apps/menus/settings_menu.c [diff]
apps/settings.h [diff]
apps/settings_list.c [diff]
manual/appendix/config_file_options.tex [diff]
manual/configure_rockbox/startup_shutdown_options.tex [diff]
|
William Wilgus |
2022-06-13 |
58bf7c7e6f: Update english-us "translation"
|
apps/lang/english-us.lang [diff]
|
Solomon Peachy |
2022-06-12 |
7d5aeeecf1: FS13343: Updated Serbian translation (Ivan Pesic)
|
apps/lang/srpski.lang [diff]
|
Solomon Peachy |
2022-06-12 |
6a707cd913: FS13346: Updated Slovak translation (Matej Golian)
|
apps/lang/slovak.lang [diff]
|
Solomon Peachy |
2022-06-12 |
595a34640b: FS13345: Updated Polish Translation (Adam Rak)
|
apps/lang/polski.lang [diff]
|
Solomon Peachy |
2022-06-12 |
7296f30490: jz4760: Reformat USB driver a little. Prep work for later changes.
|
firmware/target/mips/ingenic_jz47xx/usb-jz4760.c [diff]
|
Solomon Peachy |
2022-06-12 |
b9e7075837: Rockbox Utility: updated Czech translation
translated missing strings and revised existing
|
utils/rbutilqt/lang/rbutil_cs.ts [diff]
|
Pavel Rzehák |
2022-05-30 |
4d01168b9b: x1000: add flash probe tool to bootloader
The flash probe mimics the boot ROM's flash read routines and dumps the manufacturer & device IDs and 16-byte parameter data to a file on the SD card.
|
bootloader/x1000/recovery.c [diff]
bootloader/x1000/utils.c [diff]
bootloader/x1000/x1000bootloader.h [diff]
firmware/target/mips/ingenic_x1000/nand-x1000.h [diff]
|
Aidan MacDonald |
2022-05-30 |
e05aa27124: x1000: move NAND commands to header file
|
firmware/target/mips/ingenic_x1000/nand-x1000.c [diff]
firmware/target/mips/ingenic_x1000/nand-x1000.h [diff]
|
Aidan MacDonald |
2022-05-28 |
1d39261338: lastfm_scrobbler Add settings WIP
add settings to the scrobbler plugin Start Playback -- resume playback at plugin start
(while enabled if nothing to resume will bring you back to scrobbler menu) Save Threshold 0-100% -- when this much time has passed the track will be saved and marked (L)istened
Verbose -- Supress messages such as 'Scrobbler Started' and 'Scrobbler Flushed'
run the plugin a second time to bring up the menu if you have resume playback enabled and there is nothing to resume it brings you back to the scrobbler menu as well
|
apps/plugins/lastfm_scrobbler.c [diff]
|
William Wilgus |
2022-05-28 |
7345666d9c: plugins: use menu for lastfm scrobbler TSR exit callback
Use standard menus and yes/no screen for the TSR exit callback, similar to the recently added test_usb plugin. This removes the need to define key bindings and it provides a more consistent user experience.
It also allows the "flush cache" message to be popped up in the main thread - doing it from the worker thread is unreliable and the message often disappeared because the main thread did a UI update immediately after leaving the plugin.
One issue is that quitting the plugin by selecting the scrobbler plugin itself immediately restarts the scrobbler. This is because there is currently no way for TSR plugins to terminate themselves either through the exit_tsr callback or otherwise.
|
apps/plugins/lastfm_scrobbler.c [diff]
|
Aidan MacDonald |
2022-05-22 |
85232fadbb: simulator: fix off by one error in USB ack calculations
The sim's printout of the number of expected USB acks was off by one. Since the sim queue is not registered for broadcasts, it will not receive an ack message and does not need to account for itself when determining the number of acks to expect, unlike the USB code.
|
uisimulator/common/sim_tasks.c [diff]
|
Aidan MacDonald |
2022-05-22 |
5ee9a45126: mips: stop backtraces at main()
Initialize ra=0 before calling main so backtraces don't walk through the startup code.
|
firmware/target/mips/ingenic_jz47xx/crt0.S [diff]
firmware/target/mips/ingenic_x1000/crt0.S [diff]
|
Aidan MacDonald |
2022-05-22 |
981e972839: mips: add native backtrace implementation
Should make debugging crashes on native MIPS targets far easier. This is by no means a 100% complete or robust implementation but it seems to handle the vast majority of functions.
|
firmware/export/backtrace.h [diff]
firmware/export/system.h [diff]
firmware/panic.c [diff]
lib/mipsunwinder/SOURCES [new]
lib/mipsunwinder/backtrace-mips32.c [new]
lib/mipsunwinder/backtrace-mipsunwinder.h [new]
lib/mipsunwinder/init_context_32.S [new]
lib/mipsunwinder/mipsunwinder.make [new]
tools/root.make [diff]
|
Aidan MacDonald |
2022-05-22 |
cade488b08: pictureflow: Fix 'Update Cache' function and update manual
The artwork cache was previously always rebuilt, even if you had selected the option to update.
"Preparing artwork" should be much quicker now after a database update.
|
apps/plugins/pictureflow/pictureflow.c [diff]
manual/plugins/pictureflow.tex [diff]
|
Christian Soffke |
2022-05-22 |
b357585852: pictureflow: Fix slide_index bound
Parameters for fbound were in the wrong order and slide_frame wasn't assigned the bounded value
|
apps/plugins/pictureflow/pictureflow.c [diff]
|
Christian Soffke |
2022-05-22 |
5146c3043f: pictureflow: Fix concurrency issues building art cache
Guards against possible image corruption
|
apps/plugins/pictureflow/pictureflow.c [diff]
|
Christian Soffke |
2022-05-21 |
c116db6065: plugins: add USB TSR test plugin
This is intended for testing USB event delivery to TSR plugins. Usage:
1. enter plugin -> select Start 2. plug and unplug USB 3. reenter plugin -> select Status it should display "State: disconnected" then "Prev: connected" 4. when done -> select Stop Plugin
|
apps/plugins/CATEGORIES [diff]
apps/plugins/SOURCES [diff]
apps/plugins/test_usb.c [new]
|
Aidan MacDonald |
2022-05-15 |
2f71571c0a: Fix faulty Play Shuffled behavior (FS #13347)
When replacing a dynamic playlist with Play Shuffled, the current track could incorrectly be left at the end of the new playlist. Fix this - the current track should always be at the beginning, so it can be skipped past regardless of the repeat/shuffle mode.
|
apps/onplay.c [diff]
|
Aidan MacDonald |
2022-05-14 |
2315266628: kernel: remove unused function mutex_test()
No longer needed since the only user was in the Archos code.
|
firmware/kernel/include/mutex.h [diff]
|
Aidan MacDonald |
2022-05-14 |
dafc8e5904: kernel: remove unused kernel/pthread/*.c files
These don't seem usable and it looks like the files were added by accident by d66346789c "buflib: Check the validity of of handles passed to buflib_get_data() in DEBUG builds."
|
firmware/kernel/pthread/corelock.c [deleted]
firmware/kernel/pthread/mutex.c [deleted]
firmware/kernel/pthread/thread.c [deleted]
|
Aidan MacDonald |
2022-05-14 |
d20071def0: apps: Add "keep current track when replacing playlist" setting
Add a setting that makes Play and Play Shuffled in the playlist context menu leave the current song (if any) playing when they replace the playlist. Default to on, since this was the behavior of the old "Clear List & Play Next" option.
|
apps/lang/english.lang [diff]
apps/menus/playlist_menu.c [diff]
apps/onplay.c [diff]
apps/settings.h [diff]
apps/settings_list.c [diff]
manual/configure_rockbox/playlist_options.tex [diff]
manual/working_with_playlists/main.tex [diff]
|
Aidan MacDonald |
2022-05-14 |
70087fb9f3: apps: Change playlist context menu behavior, fix FS #13336
Rename the "Clear List & Play" options to simply Play and Play Shuffled, and change their behavior slightly. Previously they would leave the current song playing, but now they will start playing the first song of the new playlist immediately.
Shuffle options are now consistently hidden whenever a single file is selected.
Fixes FS #13336 -- Play Shuffled is now always displayed where applicable, regardless of playback state.
|
apps/lang/english.lang [diff]
apps/onplay.c [diff]
manual/working_with_playlists/main.tex [diff]
|
Aidan MacDonald |
2022-05-09 |
7363d65f10: manual: Fix up some issues to try and get texlive2021 working ok.
|
docs/CREDITS [diff]
manual/platform/keymap-xduoox3.tex [diff]
manual/plugins/pictureflow.tex [diff]
manual/plugins/text_viewer.tex [diff]
manual/preamble.tex [diff]
|
Solomon Peachy |
2022-05-09 |
f3358eb20a: Properties plugin: Eliminate redundant Track Info code
When opening an audio file from the file browser or database using the Properties plugin, it will now use existing code from the Show Track Info screen for displaying metadata. The menu option has been renamed accordingly.
|
apps/lang/english.lang [diff]
apps/onplay.c [diff]
apps/plugin.c [diff]
apps/plugin.h [diff]
apps/plugins/properties.c [diff]
apps/screens.c [diff]
|
Christian Soffke |
2022-05-07 |
4b293285ea: pictureflow: fix album index alignment in load_album_index
|
apps/plugins/pictureflow/pictureflow.c [diff]
|
Aidan MacDonald |
2022-05-07 |
f661dc596e: pictureflow: fix bug in calculation of album art buf size
I intended to check for enough space in buffer but this isn't really doing it and it is making aa_bufsz slightly too big so it's a possible buffer overflow.
Restore the old ALIGN_DOWN(..., 4) rounding in case it's important, if not, then no harm done.
|
apps/plugins/pictureflow/pictureflow.c [diff]
|
Aidan MacDonald |
2022-05-05 |
2c4480979f: tdspeed.c remove buffer name strings
get rid of the magic buffer size and the whole name buffer naming the buffers individually doesn't serve any real purpose instead add a static string for all td buffers
|
apps/rbcodec_helpers.c [diff]
|
William Wilgus |
2022-05-04 |
09ef94ed8b: add const to const * strings iriver Fix Red
the iriver devices overwrite the pointer
|
apps/recorder/recording.c [diff]
|
William Wilgus |
2022-05-04 |
79864c6ec2: add const to const * strings
I don't think this will amke any difference except maybe for hosted ports
|
apps/gui/skin_engine/skin_parser.c [diff]
apps/misc.c [diff]
apps/recorder/albumart.c [diff]
apps/recorder/recording.c [diff]
apps/shortcuts.c [diff]
apps/tagcache.c [diff]
firmware/target/arm/imx233/debug-imx233.c [diff]
firmware/target/arm/s5l8700/debug-s5l8700.c [diff]
firmware/target/arm/s5l8702/debug-s5l8702.c [diff]
firmware/target/hosted/ibasso/pcm-ibasso.c [diff]
firmware/target/hosted/ibasso/sysfs-ibasso.c [diff]
firmware/target/hosted/usb-hiby.c [diff]
lib/rbcodec/dsp/tdspeed.c [diff]
lib/rbcodec/dsp/tdspeed.h [diff]
|
William Wilgus |
2022-05-02 |
4dd3c2b33e: codecs: m4a: improve seek accuracy
Seeking doesn't work well in M4A files with very few chunks due to the seek method used (chunk based using the info in the 'stco' atom). According to libm4a/demux.c the expected seek resolution using this method is 1/4 to 1/2 seconds. However, ffmpeg generates files with a 1 megabyte chunk size, so the resolution is much worse than expected on some files: around 30-40 seconds at 256kbps.
There was a bug with the seek position reported back to Rockbox: the codec pretended it could seek exactly to the requested sample, but it would only seek to the start of a chunk. This could leave the UI in a confusing state because the real playback position was different from what the elapsed time showed. Fix this by recalculating the reported sample position using the chunk start.
To fix the low seek accuracy, use the table in the 'stsz' atom to skip individual packets within a chunk. This is very accurate, but it takes a lot of RAM to allocate the table. Currently the table is not allowed to use more than half of the codec RAM, which should suffice for short files on most targets. On files where the table is too large the codec will fall back to the less accurate chunk-based seek method.
|
lib/rbcodec/codecs/libm4a/demux.c [diff]
lib/rbcodec/codecs/libm4a/m4a.c [diff]
lib/rbcodec/codecs/libm4a/m4a.h [diff]
|
Aidan MacDonald |
2022-05-02 |
b79eefc858: apps: fix tagtree arithmetic on null pointers
It was possible for the tag tree's buflib move callback to turn a null pointer non-null. The tagcache_search_clause->str can be null for OR clauses. Also ensure that clauses are zeroed on allocation to ensure garbage pointers don't creep in.
|
apps/tagtree.c [diff]
|
Aidan MacDonald |
2022-05-02 |
6e37b31851: apps: fix use of negative fd in open_plugin.c
Bug reported by UBSan.
|
apps/open_plugin.c [diff]
|
Aidan MacDonald |
2022-05-02 |
dadfbfc6a5: apps: fix close of negative fd in talk.c
Bug reported by UBSan.
|
apps/talk.c [diff]
|
Aidan MacDonald |
2022-05-02 |
e5e457b526: apps: fix int/long mismatch in playlist.c
A couple of places use sizeof(int) for allocations and copying but the indices are longs, which causes bugs in the simulator on 64-bit.
|
apps/playlist.c [diff]
|
Aidan MacDonald |
2022-05-02 |
6b8c94a6e3: Fix some non-portable alignment values
UBSan reports an avalanche of unaligned pointer bugs stemming from hardcoded 4-byte alignments used in certain places. Use sizeof(long) instead to align to the machine word size.
|
apps/gui/skin_engine/skin_parser.c [diff]
apps/plugins/pictureflow/pictureflow.c [diff]
apps/recorder/jpeg_load.c [diff]
apps/tagcache.c [diff]
lib/skin_parser/skin_buffer.c [diff]
|
Aidan MacDonald |
2022-05-02 |
366f00a3d3: plugins: fix out of bounds read in chopper
GCC complains about this when compiling with UBSan.
|
apps/plugins/chopper.c [diff]
|
Aidan MacDonald |
2022-04-28 |
ab71b9e334: tree.c update settings when new theme selected
|
apps/tree.c [diff]
|
William Wilgus |
2022-04-28 |
f0d3a62d91: keyboard.c change math for editline above picker
|
apps/recorder/keyboard.c [diff]
|
William Wilgus |
2022-04-20 |
9e93796407: buffering: remove bufgettail/bufcuttail
These operations can only be used in limited circumstances and have exactly one user. bufgettail especially seems of dubious value; how often do you need to read N bytes from the end of a file without changing the file position?
strip_tags() was the only function using them, to strip off ID3v1 and APE tags off the end of buffered tracks. This would save only 32-192 bytes per track -- if the container format uses APE/ID3v1. It hardly seems worth the effort.
|
apps/buffering.c [diff]
apps/buffering.h [diff]
apps/playback.c [diff]
docs/PLUGIN_API [diff]
lib/rbcodec/metadata/metadata.c [diff]
lib/rbcodec/metadata/metadata.h [diff]
|
Aidan MacDonald |
2022-04-20 |
931d616071: Manual: Add Eros Q Native Bootloader download link
Forgot this in the previous patchset
|
manual/getting_started/jztool_install.tex [diff]
|
Dana Conrad |
2022-04-19 |
002575dbcf: [BUGFIX] gui_synclist move global display settings to list struct
forgot to add the update function to the list_wraparound callback
|
apps/menus/display_menu.c [diff]
|
William Wilgus |
2022-04-19 |
1c3f6e063a: fiiom3k Yes/No screen: Only accept Play button for YES
According to the on screen instructions, any other button should mean No.
More importantly, in my experience at least, the Select
"button", since it is touch-activated, can sometimes be pressed by accident, especially when a warning screen is displayed as a result of pressing that same button.
|
apps/keymaps/keymap-fiiom3k.c [diff]
|
Christian Soffke |
2022-04-18 |
f8d54d0d1e: rbutil: Bump to 1.5.1.
|
utils/rbutilqt/Info.plist [diff]
utils/rbutilqt/version.h [diff]
|
Dominik Riebeling |
2022-04-18 |
3ed515872c: rbutil: Fix progress dialog abort changed too early.
Don't change the abort button to Ok after a successful bootloader install, this will be done by the following steps.
|
utils/rbutilqt/gui/selectiveinstallwidget.cpp [diff]
|
Dominik Riebeling |
2022-04-18 |
80ac6893c0: rbutil: Update changelog.
|
utils/rbutilqt/changelog.txt [diff]
|
Dominik Riebeling |
2022-04-18 |
e4cb1615f4: rbutil: run lupdate on all translations.
|
utils/rbutilqt/lang/rbutil_cs.ts [diff]
utils/rbutilqt/lang/rbutil_de.ts [diff]
utils/rbutilqt/lang/rbutil_fr.ts [diff]
utils/rbutilqt/lang/rbutil_gr.ts [diff]
utils/rbutilqt/lang/rbutil_he.ts [diff]
utils/rbutilqt/lang/rbutil_it.ts [diff]
utils/rbutilqt/lang/rbutil_ja.ts [diff]
utils/rbutilqt/lang/rbutil_nl.ts [diff]
utils/rbutilqt/lang/rbutil_pl.ts [diff]
utils/rbutilqt/lang/rbutil_pt.ts [diff]
utils/rbutilqt/lang/rbutil_pt_BR.ts [diff]
utils/rbutilqt/lang/rbutil_ru.ts [diff]
utils/rbutilqt/lang/rbutil_tr.ts [diff]
utils/rbutilqt/lang/rbutil_zh_TW.ts [diff]
|
Dominik Riebeling |
2022-04-18 |
e2dc0a2c07: rbutil: Make zip install log less noisy.
No need to show a separate entry when a cached file has been used, do it the same way as bootloader downloads do.
|
utils/rbutilqt/base/zipinstaller.cpp [diff]
|
Dominik Riebeling |
2022-04-18 |
1155851ffb: rbutil: Make "Info" tab more responsive.
Loading the information can take a bit depending on the speed of the disk. To make the application not appear as frozen update the UI more often, and display a "Loading" text during data retrieval.
|
utils/rbutilqt/gui/infowidget.cpp [diff]
|
Dominik Riebeling |
2022-04-18 |
e71a441762: ImageViewer: Fix buffer overflow
np_file is a buffer of size MAX_PATH. After removing only the file name component and leaving the rest of the path, the available space may not be sufficient for appending another file name (possibly of size MAX_PATH itself) to it.
This can occur after a file of acceptable length is opened in ImageViewer, and you then advance to another file whose path
(including the file name) is longer than MAX_PATH.
|
apps/plugins/imageviewer/imageviewer.c [diff]
|
Christian Soffke |
2022-04-18 |
1c66e97522: Database: Remove File View menu
These options don't seem to apply to the database...
|
apps/menus/settings_menu.c [diff]
apps/onplay.c [diff]
apps/onplay.h [diff]
|
Christian Soffke |
2022-04-18 |
a234df30df: Fix sim build for glibc >=2.34
|
firmware/asm/thread.h [diff]
|
Aidan MacDonald |
2022-04-18 |
4d7327b04d: Album Art: Eliminate redundant check
When the 'Album Art' setting was set to
'Prefer Image File' and neither image file nor embedded artwork were found, playback would check for files twice.
|
apps/playback.c [diff]
|
Christian Soffke |
2022-04-18 |
b02123d349: Manual: Add Eros Q Native
Here is the PDF this patchset produces: https://www.dropbox.com/s/v1uz8p2fsgsz1ng/rockbox-erosqnative-923dabb5cd-220409.pdf?dl=0
|
manual/configure_rockbox/bookmarking.tex [diff]
manual/configure_rockbox/sound_settings.tex [diff]
manual/configure_rockbox/system_options.tex [diff]
manual/getting_started/installation.tex [diff]
manual/getting_started/jztool_install.tex [diff]
manual/main_menu/main.tex [diff]
manual/platform/erosqnative.tex [new]
manual/platform/keymap-erosqnative.tex [new]
manual/rockbox_interface/browsing_and_playing.tex [diff]
manual/rockbox_interface/main.tex [diff]
manual/rockbox_interface/wps.tex [diff]
|
Dana Conrad |
2022-04-18 |
dc67d821c3: toolchain: update zlib to 1.2.12 for native mips targets
zlib has been updated to 1.2.12 on March 27, 2022 with the following note:
Due to the bug fixes, any installations of 1.2.11 should be replaced with 1.2.12.
The previous version has been removed and is no longer available for download on the official site.
|
tools/rockboxdev.sh [diff]
|
Bernd Busse |
2022-04-17 |
fc38cd8215: rbutil: Fix uninstall not updating install log.
|
utils/rbutilqt/base/uninstall.cpp [diff]
|
Dominik Riebeling |
2022-04-17 |
37a60d5461: rbutil: Enable themes install depending on theme selection.
Don't store the "Install Themes" option. Automatically enable themes installation if the themes selection has at least one entry selected instead.
|
utils/rbutilqt/base/rbsettings.cpp [diff]
utils/rbutilqt/base/rbsettings.h [diff]
utils/rbutilqt/gui/selectiveinstallwidget.cpp [diff]
utils/rbutilqt/gui/selectiveinstallwidget.h [diff]
utils/rbutilqt/themesinstallwindow.cpp [diff]
utils/rbutilqt/themesinstallwindow.h [diff]
|
Dominik Riebeling |
2022-04-17 |
62108a9613: rbutil: Use references to avoid creating temporary objects.
Get rid of some unnecessary object creating / copying by using references.
|
utils/rbutilqt/base/ttsbase.h [diff]
utils/rbutilqt/base/ttscarbon.cpp [diff]
utils/rbutilqt/base/ttscarbon.h [diff]
utils/rbutilqt/base/ttsexes.cpp [diff]
utils/rbutilqt/base/ttsexes.h [diff]
utils/rbutilqt/base/ttsfestival.cpp [diff]
utils/rbutilqt/base/ttsfestival.h [diff]
utils/rbutilqt/base/ttssapi.cpp [diff]
utils/rbutilqt/base/ttssapi.h [diff]
utils/rbutilqt/base/uninstall.cpp [diff]
utils/rbutilqt/base/utils.cpp [diff]
utils/rbutilqt/base/voicefile.cpp [diff]
utils/rbutilqt/base/zipinstaller.h [diff]
utils/rbutilqt/test/stubs/stubs-talkgenerator.cpp [diff]
|
Dominik Riebeling |
2022-04-17 |
8c55ce62b9: rbutil: Move bootloader file check to base class.
Avoid constructing the bootloader file path in the caller. Pass filename list and mountpoint separately so it can directly fall back to the mountpoint.
Change some functions to use references instead of creating temporary objects.
|
utils/rbutilqt/base/bootloaderinstallbase.cpp [diff]
utils/rbutilqt/base/bootloaderinstallbase.h [diff]
utils/rbutilqt/gui/selectiveinstallwidget.cpp [diff]
utils/rbutilqt/rbutilqt.cpp [diff]
|
Dominik Riebeling |
2022-04-17 |
1af92e5ff8: Fix red from 6f5af8e53c
|
apps/lang/arabic.lang [diff]
apps/lang/basque.lang [diff]
apps/lang/bulgarian.lang [diff]
apps/lang/catala.lang [diff]
apps/lang/chinese-simp.lang [diff]
apps/lang/chinese-trad.lang [diff]
apps/lang/czech.lang [diff]
apps/lang/dansk.lang [diff]
apps/lang/deutsch.lang [diff]
apps/lang/english-us.lang [diff]
apps/lang/english.lang [diff]
apps/lang/espanol.lang [diff]
apps/lang/finnish.lang [diff]
apps/lang/francais.lang [diff]
apps/lang/galego.lang [diff]
apps/lang/greek.lang [diff]
apps/lang/hebrew.lang [diff]
apps/lang/hrvatski.lang [diff]
apps/lang/italiano.lang [diff]
apps/lang/japanese.lang [diff]
apps/lang/korean.lang [diff]
apps/lang/latviesu.lang [diff]
apps/lang/lietuviu.lang [diff]
apps/lang/magyar.lang [diff]
apps/lang/nederlands.lang [diff]
apps/lang/norsk-nynorsk.lang [diff]
apps/lang/norsk.lang [diff]
apps/lang/polski.lang [diff]
apps/lang/portugues-brasileiro.lang [diff]
apps/lang/portugues.lang [diff]
...and 15 more files. |
Aidan MacDonald |
2022-04-17 |
fca7b8e2ff: Fix undefined behavior that blocks compiling with UBSan
Left shifts are not defined in C if they would cause signed overflow, so these expressions get instrumented, which makes them unusable as switch values and triggers compile errors when compiling with UBSan.
|
firmware/kernel/include/queue.h [diff]
lib/rbcodec/metadata/metadata_common.h [diff]
|
Aidan MacDonald |
2022-04-17 |
c6df8cc4f7: configure: Add support for compiling the simulator with UBSan
By passing --with-ubsan to tools/configure, you can now build the simulator with UBSan to catch undefined behavior at runtime.
|
tools/configure [diff]
|
Aidan MacDonald |
2022-04-17 |
6f5af8e53c: Add Codec to Track Info screen
|
apps/screens.c [diff]
|
Christian Soffke |
2022-04-17 |
c4156b1909: viewports, set flags to VP_DEFAULT_FLAGS
flags were getting un-initialized memory it really didn't matter with the flags getting initialized anyway But once I added a new flag that didn't explicitly set or clear the flag at init well here we are
set flags to VP_DEFAULT_FLAGS in viewport_set_defaults()
add the flags variable to the default vp's set to 0
(it was already initialized to 0 by bss, make it explicit)
|
apps/gui/viewport.c [diff]
firmware/drivers/lcd-1bit-vert.c [diff]
firmware/drivers/lcd-2bit-horz.c [diff]
firmware/drivers/lcd-2bit-vert.c [diff]
firmware/drivers/lcd-2bit-vi.c [diff]
firmware/drivers/lcd-color-common.c [diff]
firmware/export/lcd.h [diff]
|
William Wilgus |
2022-04-17 |
6703f43f5c: Playlist Viewer: Always retrieve track Info from disk
Frequency, file size, and the codec are not stored in the database and thus can’t be displayed in the Playlist Viewer's Track Info screen when metadata is only retrieved from the database.
|
apps/playlist_viewer.c [diff]
|
Christian Soffke |
2022-04-16 |
0e8f3669d0: Fix remaining red from 3fcdadce24
|
apps/plugins/SOURCES [diff]
|
Aidan MacDonald |
2022-04-16 |
76035decc6: Fix red in 3fcdadce24
|
apps/plugin.c [diff]
apps/plugin.h [diff]
|
Aidan MacDonald |
2022-04-16 |
f989339664: Remove dead code
|
apps/debug_menu.c [diff]
apps/screens.h [diff]
|
Christian Soffke |
2022-04-16 |
68ac932585: PictureFlow: Disable 'Album Not Found' splash when stopped
...and go to last album, even if it hadn't been selected for playback
|
apps/plugins/pictureflow/pictureflow.c [diff]
|
Christian Soffke |
2022-04-16 |
e3bf6f08e3: PictureFlow: Delay LCD Update until center slide is loaded
Eliminates flashing of slide right after launch or when changing sorting on the M3K using the volume buttons
|
apps/plugins/pictureflow/pictureflow.c [diff]
|
Christian Soffke |
2022-04-16 |
3fcdadce24: plugins: Add multiboot select plugin
This plugin provides a menu for easily editing the root redirect file on targets that support multiboot. You can select a new root from a list of Rockbox installations detected on the filesystem or remove all redirects to boot from the default location.
To avoid searching the whole filesystem, only subdirectories of the volume roots are checked for valid installations. Only installations that are compatible with the current player will be displayed.
|
apps/plugin.c [diff]
apps/plugin.h [diff]
apps/plugins/CATEGORIES [diff]
apps/plugins/SOURCES [diff]
apps/plugins/multiboot_select.c [new]
apps/plugins/viewers.config [diff]
|
Aidan MacDonald |
2022-04-16 |
d55dceff37: apps: Add ability to do a clean reboot
Allow a clean shutdown to end in either power off or reboot. Add a new event SYS_REBOOT to signal it and sys_reboot() to trigger the event. SYS_REBOOT signals a reboot request and should be listened for alongside SYS_POWEROFF events.
|
apps/iap/iap-core.c [diff]
apps/misc.c [diff]
apps/plugins/battery_bench.c [diff]
apps/plugins/chessbox/chessbox.c [diff]
apps/plugins/lastfm_scrobbler.c [diff]
apps/plugins/lua/rocklib.c [diff]
apps/plugins/mpegplayer/mpeg_misc.c [diff]
apps/plugins/plugin_crt0.c [diff]
apps/plugins/solitaire.c [diff]
apps/recorder/recording.c [diff]
apps/tagcache.c [diff]
firmware/backlight.c [diff]
firmware/export/powermgmt.h [diff]
firmware/kernel/include/queue.h [diff]
firmware/powermgmt.c [diff]
|
Aidan MacDonald |
2022-04-15 |
90960adf56: rbutil: Fix bootloader installation for various players.
Reworking handling of player specific data (static player configuration, as well as information retrieved from the server) changed the behaviour on a non-present configuration entry. This eventually caused the mountpoint not being set for players that don't have a bootloader file on disk. Fixing this accidentially removed the default-if-not-found handling for the bootloader file.
Restore the old default value behaviour for both cases.
|
utils/rbutilqt/base/bootloaderinstallbase.cpp [diff]
utils/rbutilqt/base/playerbuildinfo.cpp [diff]
|
Dominik Riebeling |
2022-04-15 |
ff08841ea9: viewport FIX RED remote screens
|
firmware/drivers/lcd-bitmap-common.c [diff]
|
William Wilgus |
2022-04-15 |
d56d96031c: viewports add flag to disable updates
when drwing multiple areas of the screen with other gui elements you might want to combine updates into a single screen redraw
|
firmware/drivers/lcd-bitmap-common.c [diff]
firmware/export/lcd.h [diff]
|
William Wilgus |
2022-04-14 |
b9c3ab2e04: rbutil: Improve progress & responsiveness on (un)install.
- When uninstalling update the log file only at the end of removing all files. This gives a major speed improveness since othewise the log file is written after each file. This slows down things notably, especially on slow disks.
- Explicitly update the UI during install zip extraction. Avoids progress seemingly hanging due to the UI not getting updated often enough.
|
utils/rbutilqt/base/uninstall.cpp [diff]
utils/rbutilqt/base/ziputil.cpp [diff]
|
Dominik Riebeling |
2022-04-14 |
97176d444e: rbutil: Use progress bar on uninstall.
When uninstalling parts with lots of small files the process can take quite some time. Update the progress accordingly.
|
utils/rbutilqt/base/uninstall.cpp [diff]
|
Dominik Riebeling |
2022-04-14 |
6ef094c1a9: rbutil: Make QtMultimedia an optional component.
We only use it for playing the TTS sample so it's not too important. Since this is a separate Qt module it might not be installed, so make it optional.
|
utils/CMakeLists.txt [diff]
utils/rbutilqt/CMakeLists.txt [diff]
|
Dominik Riebeling |
2022-04-14 |
8a6ceff376: rbutil: Fix sansapatcher bootloader install on Windows.
During bootloader installation sansapatcher disk access is accidentially set up twice. This is not a problem except on Windows, which will abort with a "permission denied" error.
This is basically the same problem as for ipodpatcher bootloader install.
|
utils/rbutilqt/base/bootloaderinstallipod.cpp [diff]
utils/rbutilqt/base/bootloaderinstallsansa.cpp [diff]
utils/sansapatcher/sansaio-posix.c [diff]
utils/sansapatcher/sansaio-win32.c [diff]
|
Dominik Riebeling |
2022-04-13 |
cc2f364926: rbutil: Fix ipodpatcher bootloader install on Windows.
During bootloader installation ipodpatcher disk access is accidentially set up twice. This is not a problem except on Windows, which will abort with a "permission denied" error.
|
utils/ipodpatcher/ipodio-posix.c [diff]
utils/ipodpatcher/ipodio-win32.c [diff]
utils/rbutilqt/base/bootloaderinstallipod.cpp [diff]
|
Dominik Riebeling |
2022-04-11 |
b9ab75732a: bitmap/list.c fix red
--typo
|
apps/gui/bitmap/list.c [diff]
|
William Wilgus |
2022-04-11 |
ddcab156f7: gui_synclist move global display settings to list struct
its really painful needing to override global settings in order to change some aspects of lists
this patch moves:
[scrollbar position, cursor type, talk_menus, keyclick, wrap around, scroll paginated]
to variables within the synclist, it also makes updating after settings changes a necessity
I think I have the static synclists in core covered
(I think the one in gui/list-skinned can be left as is)
this patch allows easy modification these flags on the fly
|
apps/gui/bitmap/list.c [diff]
apps/gui/list.c [diff]
apps/gui/list.h [diff]
apps/menus/theme_menu.c [diff]
apps/tree.c [diff]
|
William Wilgus |
2022-04-09 |
8dbc0914f6: imageviewer: limit progress bar LCD update rate
The progress callback doesn't rate limit LCD updates, which causes excessive slowdowns (up to 150x!) on some targets. Limiting updates to 20fps solves the problem and should boost load speed across the board, particularly for large images and animated GIFs that may run the progress callback thousands of times.
|
apps/plugins/imageviewer/imageviewer.c [diff]
|
Aidan MacDonald |
2022-04-09 |
32f1418c5a: buffering: fix buffer overflows with bitmap loading
In some circumstances it was possible for a bitmap to overflow its buffer and overwrite the next handle. The easiest way to trigger it is with a highly compressed JPEG that is decoded to a large bitmap. Because the JPEG file size is used to determine how much to allocate this would cause an obvious buffer overflow when the JPEG is smaller than the decoded bitmap. Fix this by using the decoded bitmap size as the allocation size. Some overhead must be added to deal with JPEGs, but it will be freed once the image is loaded.
A less obvious possibility is the fact that add_handle() will allow a handle to be added even if there's not enough space for the entire allocation. This is generally beneficial because it allows the first part of a file to be loaded while waiting for space to free up, but for bitmaps it is not valid because the whole image is loaded at once. Hence if there is not actually enough space in the buffer, the bitmap load can again overflow the actual free space and overwrite the next handle.
The buffering code supports an H_ALLOCALL flag for allocations that need the free space available immediately, so use it for bitmaps to avoid that bug.
load_image() had a sketchy-looking check for free space which stopped me from triggering the bug with simple tests, but since guessing the free space is obviously a bad idea when the caller *knows* how much free space there really is, remove that guess and let the caller tell load_image() the real deal.
|
apps/buffering.c [diff]
|
Aidan MacDonald |
2022-04-09 |
5aa0fc3b00: jpeg: provide a rough estimate of decoder memory overhead
JPEG decoding requires additional space in the bitmap buffer beyond what is needed for the decoded pixel data. Provide a way to estimate how much overhead is needed.
The actual overhead is sizeof(struct jpeg) + decode_buf_size, where the latter depends on the image size and JPEG encoding used. From my testing decode_buf_size is normally pretty small (under 5 KiB) but looking at the code it could be large in some cases, primarily with large images, so 32 KiB seems to be a decent compromise. Someone who knows better about JPEG should pick a better value if that's too big.
Using a constant is obviously not the most accurate but it seems to be the simplest option for retrofitting to existing code.
|
apps/recorder/jpeg_load.c [diff]
apps/recorder/jpeg_load.h [diff]
|
Aidan MacDonald |
2022-04-09 |
7718b24401: buffering: fix signed overflow in next_handle_id()
Not sure what the comment is talking about - signed overflow is undefined behavior and we don't use -fwrapv or other flags to make it defined. I can't see how a compiler could abuse it here, but the overflow is nonetheless easily avoided.
|
apps/buffering.c [diff]
|
Aidan MacDonald |
2022-04-08 |
bd444ebd0a: BUGFIX keyboard.c make vp alloc static
don't stop playback to alloc viewports for the keyboard For the moment it doesn't make much difference each vp takes about 40 bytes (double that in the sim?) so not the end of the world 120 extra bytes
|
apps/recorder/keyboard.c [diff]
|
William Wilgus |
2022-04-08 |
132034346f: Manual: Update PictureFlow
- Update the manual entry for PictureFlow with the latest features and fix keymap
- Strongly suggest enabling the database's
"Load to RAM" feature (in my experience, this can lead to a ~60x speedup when building the album index)
- Suggest enabling the dircache, as it can noticeably improve the loading times for album art.
|
manual/configure_rockbox/system_options.tex [diff]
manual/plugins/pictureflow.tex [diff]
|
Christian Soffke |
2022-04-08 |
77717f36e0: Manual: Update fiiom3k keymap
|
manual/platform/keymap-fiiom3k.tex [diff]
manual/rockbox_interface/wps.tex [diff]
|
Christian Soffke |
2022-04-08 |
db55d30372: Allow cuesheet index offsets longer than 99 minutes.
While the track number is limited to 99, I know of no documented constraint on the value of offset minutes to 99.
As we are storing the millisecond offset as unsigned long, assuming 32 bit, we can allow 70,000 minutes (2^32 / 60000).
However, I've been unable to generate a test audio file 48 days long under 2GB, so I've set the limit to 30,000 minutes.
In addition, this change reduces the maximum number of seconds to 59, and frames to 74.
I've generated some silent test files with the filenames being cue_[minutes].mp3
http://peskett.co.uk/rockbox/test_cues/
|
apps/cuesheet.c [diff]
|
Nick Peskett |
2022-04-07 |
d1be73cfc0: keyboard.c Use viewports, move text box pos
allows items to be moved around with less code changes
remove scrolling I was not overly impressed with it add test_kbd plugin
|
apps/plugins/CATEGORIES [diff]
apps/plugins/SOURCES [diff]
apps/plugins/SOURCES.app_build [diff]
apps/plugins/test_kbd.c [new]
apps/recorder/keyboard.c [diff]
|
William Wilgus |
2022-04-02 |
bf3e67204c: lastfm_scrobbler check for back to back repeat entries
if you skip a track after the halfway point the scrobbler may double post with slightly different timestamps but the same track info
take a crc of the non-unique part and check against the previously written track
|
apps/plugins/lastfm_scrobbler.c [diff]
|
William Wilgus |
2022-04-02 |
43abe2d820: lastfm_scrobbler check pointers for validity
we need to make sure we don't deref NULL pointers
|
apps/plugins/lastfm_scrobbler.c [diff]
|
William Wilgus |
2022-04-01 |
98f762316f: system: update MEM_ALIGN_ATTR for targets with CPU caches
MEM_ALIGN_ATTR should take advantage of cache line alignment on all native CPUs which define it, not just ARM CPUs. (This could arguably be done for hosted targets too, but we don't necessarily know the size of a cache line there.)
|
firmware/export/system.h [diff]
|
Aidan MacDonald |
2022-04-01 |
de285741bf: ErosQ Native: Make power delay bootloader-only
gotta go fast
|
firmware/target/mips/ingenic_x1000/erosqnative/power-erosqnative.c [diff]
|
Dana Conrad |
2022-04-01 |
7aa2a23b95: Eros Q Native: Add Original Firmware Boot option
Hold "Play" to boot the OF, or boot it from the recovery menu by holding "Vol. Up". If you had the hosted port installed on your player before installing the native port, you'll still have to go through the hosted bootloader.
A couple notes:
- When booting from the menu, the recovery menu disappears, then reappears before going into the OF.
- You need to hold the play button for like a half second after the blue light comes on in order to get into the OF.
The recovery appears to be there, but it doesn't seem to be intended for end users - it just says "Updater V1.1 - Insert TF Pls". I haven't tested it beyond seeing that it boots, so I'm going to comment it out for now.
|
bootloader/x1000/boot.c [diff]
bootloader/x1000/x1000bootloader.h [diff]
firmware/target/mips/ingenic_x1000/erosqnative/lcd-erosqnative.c [diff]
firmware/target/mips/ingenic_x1000/lcd-x1000.h [diff]
|
Dana Conrad |
2022-04-01 |
5ffe520de4: playlist: use path_strip_last_volume, clarify path conventions
The comment regarding Windows paths was fairly confusing as to its intent. What the code is trying to do is replace the drive letter with the volume containing the playlist, which appears reasonable. The middle of the comment was devoted to explaining why the code below was potentially incorrect which only served to add to the confusion.
AFAICT the last volume specifier in a path will cause search to start from the root of that volume, so any incorrect result can be avoided by using the new function path_strip_last_volume().
Finally, add a comment at the top of the function that explains what it does.
|
apps/playlist.c [diff]
|
Aidan MacDonald |
2022-04-01 |
4f05a9d066: Add path_strip_last_volume
This gets the volume that the path eventually refers to by parsing the last volume specifier and returning the part of the path after it (which does not contain any volume specifiers). The initial part of the path therefore contains everything up to and including the last volume specifier.
|
firmware/common/pathfuncs.c [diff]
firmware/export/pathfuncs.h [diff]
|
Aidan MacDonald |
2022-04-01 |
ca0c3dee0a: ImageViewer: M3K keymap allow scrolling up/down
|
apps/plugins/imageviewer/imageviewer.c [diff]
apps/plugins/imageviewer/imageviewer_button.h [diff]
|
Christian Soffke |
2022-04-01 |
6e3937e836: lastfm Scrobbler: Substitute album artist for empty artist.
|
apps/plugins/lastfm_scrobbler.c [diff]
|
James D. Smith |
2022-04-01 |
412dbaeffe: hosted: call 'sync' before poweroff
Might be needed to avoid filesystem corruption with buggy OF kernels.
|
firmware/target/hosted/system-hosted.c [diff]
|
Aidan MacDonald |
2022-04-01 |
a9e02b4850: FS13338: Updated Slovak translation (Matej Golian)
|
apps/lang/slovak.lang [diff]
|
Solomon Peachy |
2022-04-01 |
f08d083ed0: FS13441: Updated Italian translation (Alessio Lenzi)
|
apps/lang/italiano.lang [diff]
|
Solomon Peachy |
2022-04-01 |
cbb5efd525: FS13340: Updated Polish Translation (Adam Rak)
|
apps/lang/polski.lang [diff]
|
Solomon Peachy |
2022-03-30 |
43830d0128: alarm_menu share setter with settime
share the time picker with the alarm
block the date portion, seconds are ignored
|
apps/alarm_menu.c [diff]
apps/lang/english.lang [diff]
apps/menus/time_menu.c [diff]
apps/screens.c [diff]
apps/screens.h [diff]
|
William Wilgus |
2022-03-27 |
4c1fe3a899: rbutil: Bump to 1.5.0.
|
utils/rbutilqt/Info.plist [diff]
utils/rbutilqt/version.h [diff]
|
Dominik Riebeling |
2022-03-27 |
7243f6b343: x1000: Add multiboot support
Enables multiboot for the FiiO M3K, Shanling Q1, and Eros Q native port. Note this requires an up-to-date Rockbox _and_ bootloader.
Usage instructions will (eventually) be found on the wiki: https://www.rockbox.org/wiki/MultibootBootloader
|
firmware/export/config/erosqnative.h [diff]
firmware/export/config/fiiom3k.h [diff]
firmware/export/config/shanlingq1.h [diff]
firmware/target/mips/ingenic_x1000/crt0.S [diff]
|
Aidan MacDonald |
2022-03-27 |
bcbb5a8b00: multiboot: Allow searching in volume 0 for redirect file
Searching in volume 0 is necessary for multiboot targets with only one drive, like the M3K/Q1/ErosQ. Without this the search code will never look at the redirect file on these targets.
The search bound is configured with a setting MULTIBOOT_MIN_VOLUME, which defaults to 0, but is defined to 1 for Sansa players so they keep their old behavior.
|
firmware/common/rb-loader.c [diff]
firmware/export/config.h [diff]
firmware/export/config/sansaclipplus.h [diff]
firmware/export/config/sansaclipzip.h [diff]
firmware/export/config/sansae200.h [diff]
firmware/export/config/sansafuze.h [diff]
firmware/export/config/sansafuzeplus.h [diff]
firmware/export/config/sansafuzev2.h [diff]
|
Aidan MacDonald |
2022-03-27 |
df3afcfa3b: PictureFlow: Configurable album sorting
Now offers sorting by:
- Album artist, then album name
- Album artist, then album year
- Album year
- Album name
Years are determined by the most recently released track appearing on an album, if the value differs between tracks.
On the M3K, instead of by going into Settings, volume buttons can also be used for quickly adjusting the current sorting
|
apps/lang/english.lang [diff]
apps/plugins/pictureflow/pictureflow.c [diff]
|
Christian Soffke |
2022-03-27 |
aec8b36348: PictureFlow: Prevent queue overflow & simplify locking
|
apps/plugins/pictureflow/pictureflow.c [diff]
|
Christian Soffke |
2022-03-27 |
ae121de149: PictureFlow: Write bitmaps in one go
Analogous to an earlier change w.r.t. reading bitmaps
|
apps/plugins/pictureflow/pictureflow.c [diff]
|
Christian Soffke |
2022-03-27 |
a490ff896f: rbutil: Update german translation.
|
utils/rbutilqt/lang/rbutil_de.ts [diff]
|
Dominik Riebeling |
2022-03-27 |
493dce212d: rbutil: Fix langstat script.
|
utils/rbutilqt/langstats.py [diff]
|
Dominik Riebeling |
2022-03-26 |
aaf0f1c371: rbutil: Fix Qt6 Windows build.
It seems Qt6 doesn't require explicit linking to QSvgIconPlugin anymore, and cmake has trouble finding it. On native Windows builds it isn't required, so remove it.
|
utils/rbutilqt/CMakeLists.txt [diff]
|
Dominik Riebeling |
2022-03-26 |
6bc19c98ca: rbutil: Fix implicit type conversion on Windows.
|
utils/rbutilqt/base/utils.cpp [diff]
|
Dominik Riebeling |
2022-03-26 |
593d9f623d: lastfm_scrobbler fix yellow for targets w/o storage callback
|
apps/plugins/lastfm_scrobbler.c [diff]
|
William Wilgus |
2022-03-26 |
053c1596d8: Last FM scrobbler remove manual entry
|
manual/configure_rockbox/playback_options.tex [diff]
|
William Wilgus |
2022-03-26 |
f105ad7b23: lastfm_scrobbler fix red for devices w/o storage callback
|
apps/plugins/lastfm_scrobbler.c [diff]
|
William Wilgus |
2022-03-26 |
fd15ea25d3: LastFm remove scrobbler from core make a TSR plugin WIP
remove scrobbler from core make it a plugin
|
apps/SOURCES [diff]
apps/lang/english.lang [diff]
apps/main.c [diff]
apps/menus/playback_menu.c [diff]
apps/misc.c [diff]
apps/plugins/CATEGORIES [diff]
apps/plugins/SOURCES [diff]
apps/plugins/lastfm_scrobbler.c [new]
apps/scrobbler.c [deleted]
apps/scrobbler.h [deleted]
apps/settings.h [diff]
apps/settings_list.c [diff]
|
William Wilgus |
2022-03-25 |
8eb4689ab1: add way to lock portion of plugin buffer for TSR plugins
Some things in core that should probably be plugins steal the plugin buffer for their own use, TSR plugins have no way to detect or prevent this lock buffer reserves buffer_size bytes directly after the plugin itself returns the unreserved bytes still available from the plugin buffer
|
apps/plugin.c [diff]
apps/plugin.h [diff]
|
William Wilgus |
2022-03-25 |
5d0f697e87: x1000: remove the last vestiges of boot option support
There should be no need for any compatibility hacks since this value was mostly used internally between the SPL and bootloader. clk_init() was the only user in the main Rockbox binary which accessed it, but when loaded by the Rockbox bootloader that code will not be reached since BOOT_FLAG_CLK_INIT is already set.
|
firmware/target/mips/ingenic_x1000/boot-x1000.h [diff]
firmware/target/mips/ingenic_x1000/clk-x1000.c [diff]
firmware/target/mips/ingenic_x1000/spl-x1000.c [diff]
firmware/target/mips/ingenic_x1000/system-x1000.c [diff]
|
Aidan MacDonald |
2022-03-25 |
3ae4a98e3b: x1000: spl: remove selectable boot option support
Now the SPL boots the Rockbox bootloader unconditionally, which allows for some simplification.
|
firmware/SOURCES [diff]
firmware/target/mips/ingenic_x1000/erosqnative/spl-erosqnative.c [deleted]
firmware/target/mips/ingenic_x1000/fiiom3k/spl-fiiom3k.c [deleted]
firmware/target/mips/ingenic_x1000/shanlingq1/spl-shanlingq1.c [deleted]
firmware/target/mips/ingenic_x1000/spl-x1000.c [diff]
firmware/target/mips/ingenic_x1000/spl-x1000.h [diff]
|
Aidan MacDonald |
2022-03-25 |
2810c549a6: x1000: spl: remove dual boot support code
Removes the SPL's dual boot support code, and removes the dual boot selection code on the M3K and Q1 since they can now do it from the main bootloader.
|
firmware/target/mips/ingenic_x1000/fiiom3k/spl-fiiom3k.c [diff]
firmware/target/mips/ingenic_x1000/shanlingq1/spl-shanlingq1.c [diff]
firmware/target/mips/ingenic_x1000/spl-x1000.c [diff]
firmware/target/mips/ingenic_x1000/spl-x1000.h [diff]
|
Aidan MacDonald |
2022-03-25 |
7cb49cfb33: x1000: spl: split off NAND storage to separate file
Just tidying. No functional changes.
|
firmware/SOURCES [diff]
firmware/target/mips/ingenic_x1000/spl-nand-x1000.c [new]
firmware/target/mips/ingenic_x1000/spl-x1000.c [diff]
|
Aidan MacDonald |
2022-03-25 |
bd8cd58568: x1000: bootloader: Add button handlers for OF boot
The SPL soon won't be paying attention to buttons, so the bootloader should check them.
|
bootloader/x1000/main.c [diff]
bootloader/x1000/x1000bootloader.h [diff]
|
Aidan MacDonald |
2022-03-25 |
cda8bd5437: x1000: bootloader: set touchscreen to button mode
The touchscreen "buttons" are used for screenshots on the Q1.
|
bootloader/x1000/main.c [diff]
|
Aidan MacDonald |
2022-03-25 |
6bc69c797c: x1000: bootloader: accept button input during splash
This allows screenshots to be taken while a splash is displayed.
|
bootloader/x1000/gui.c [diff]
|
Aidan MacDonald |
2022-03-25 |
3d88f455cf: Fix double define of BL_SCREENSHOT_NAME on fiiom3k
|
bootloader/x1000/x1000bootloader.h [diff]
|
Dana Conrad |
2022-03-25 |
5160c90690: x1000: bootloader: add screenshot function
Screenshots of the recovery menu will be useful for documentation.
This can be disabled by turning off HAVE_BOOTLOADER_SCREENDUMP in the target config file if the bootloader should ever run up against max size limits.
|
bootloader/x1000/gui.c [diff]
bootloader/x1000/recovery.c [diff]
bootloader/x1000/utils.c [diff]
bootloader/x1000/x1000bootloader.h [diff]
firmware/export/config/erosqnative.h [diff]
firmware/export/config/fiiom3k.h [diff]
firmware/export/config/shanlingq1.h [diff]
|
Aidan MacDonald |
2022-03-25 |
4cf36dfbf3: x1000: bootloader: skip bad blocks when loading flashed kernels
Bad blocks in a kernel flash partition seem to be handled by skipping ahead to the next block; this is a common bad block management scheme for simple software like bootloaders (and is the default method for reading NAND partitions in u-boot).
Extend the uImage flash reader to skip bad blocks while reading.
|
bootloader/x1000/utils.c [diff]
|
Aidan MacDonald |
2022-03-24 |
5b011c8dca: x1000: add bad block marker position to nand_chip info
|
firmware/target/mips/ingenic_x1000/nand-x1000.c [diff]
firmware/target/mips/ingenic_x1000/nand-x1000.h [diff]
|
Aidan MacDonald |
2022-03-24 |
9bbe08f3ec: x1000: bootloader: add whole-chip flash dump option
I don't expect this will be all that useful, but why not...
|
bootloader/x1000/recovery.c [diff]
bootloader/x1000/utils.c [diff]
bootloader/x1000/x1000bootloader.h [diff]
|
Aidan MacDonald |
2022-03-24 |
c3562b6df6: x1000: bootloader: add debug tools menu
Add a debug menu to invoke two new actions, dumping the OF kernel and recovery images from flash to the SD card.
|
bootloader/x1000/recovery.c [diff]
|
Aidan MacDonald |
2022-03-24 |
0d21d80ca8: x1000: bootloader: add basic flash dump utility
|
bootloader/x1000/utils.c [diff]
bootloader/x1000/x1000bootloader.h [diff]
|
Aidan MacDonald |
2022-03-24 |
ee68d9df8e: x1000: bootloader: display uimage load error code
|
bootloader/x1000/utils.c [diff]
|
Aidan MacDonald |
2022-03-24 |
fbe9e4ac10: x1000: bootloader: refactor splash/splash2
Allow the use of printf formatting and multiple lines of text using newlines in the string.
|
bootloader/x1000/boot.c [diff]
bootloader/x1000/gui.c [diff]
bootloader/x1000/install.c [diff]
bootloader/x1000/main.c [diff]
bootloader/x1000/utils.c [diff]
bootloader/x1000/x1000bootloader.h [diff]
|
Aidan MacDonald |
2022-03-24 |
41a8b874d2: linuxboot: add meaningful error codes
|
firmware/linuxboot.c [diff]
|
Aidan MacDonald |
2022-03-24 |
f7a341555d: fiiom3k: trim OF kernel arguments to fix boot hangs
The M3K's kernel has an incredibly stupid function that mangles the kernel args and copies them to a 100-byte buffer without any kind of bounds checking. So, if the kernel arguments are more than 99 chars the stack may be corrupted, sometimes crashing the kernel.
Fortunately, most of the arguments the OF uses are useless, and the truly necessary arguments fit within the absurd 99-char limit.
|
bootloader/x1000/x1000bootloader.h [diff]
|
Aidan MacDonald |
2022-03-24 |
6a6c6083fa: x1000: bootloader: fix Linux self-extracting kernel boot
Basically, there's longstanding bug in Linux with self-extracting kernels on MIPS which just happened to manifest now on the M3K as a hang on boot. The fix is applied to the M3K and Q1 since they both use this type of kernel image.
|
bootloader/x1000/boot.c [diff]
bootloader/x1000/x1000bootloader.h [diff]
firmware/export/linuxboot.h [diff]
firmware/linuxboot.c [diff]
|
Aidan MacDonald |
2022-03-24 |
44fbb1a593: x1000: bootloader: add LCD dualboot cleanup for the M3K
Disable LCD interrupts before booting the OF - the OF kernel hangs at boot if they are enabled.
|
firmware/target/mips/ingenic_x1000/boot-x1000.c [diff]
|
Aidan MacDonald |
2022-03-24 |
90cb0b0ae5: x1000: bootloader: add mainline Linux boot option
This adds a *very basic* Linux loader to the Rockbox bootloader, which allows running a mainline Linux kernel using the following file layout on the SD card:
- /uImage
- /linux_cmdline.txt
The command line arguments are listed in linux_cmdline.txt, all lines are concatenated together and whitespace is converted into spaces. Comments aren't supported however.
The loader doesn't support the modern devicetree boot protocol, so it can only pass command line arguments. It would be easy to support an appended dtb though.
|
bootloader/x1000/boot.c [diff]
bootloader/x1000/recovery.c [diff]
bootloader/x1000/x1000bootloader.h [diff]
|
Aidan MacDonald |
2022-03-24 |
53a92f0ecc: x1000: bootloader: add original firmware boot capability
Adds the ability to boot the OF's player or recovery kernels from the bootloader. Works on Shanling Q1 but broken on the FiiO M3K (kernel hang) so leave it disabled for the M3K.
|
bootloader/x1000/boot.c [diff]
bootloader/x1000/recovery.c [diff]
bootloader/x1000/x1000bootloader.h [diff]
|
Aidan MacDonald |
2022-03-24 |
9bde653410: firmware: allow screendump in bootloader
Enabled if target defines HAVE_BOOTLOADER_SCREENDUMP
|
firmware/SOURCES [diff]
firmware/export/config.h [diff]
firmware/export/screendump.h [diff]
|
Aidan MacDonald |
2022-03-24 |
e956f7dc83: firmware: minor screendump related cleanups
- Remove unused redefinitions of screen_dump() from bootloaders
- Use empty do-while when screendump is compiled out
|
bootloader/iaudio_coldfire.c [diff]
bootloader/iriver_h1x0.c [diff]
bootloader/iriver_h300.c [diff]
bootloader/mpio_hd200_hd300.c [diff]
firmware/export/screendump.h [diff]
|
Aidan MacDonald |
2022-03-23 |
238cd13469: rbutil: Fix build info list handling with Qt6.
With Qt6 we need to check the type differently or we'd convert a stringlist to a string.
|
utils/rbutilqt/base/playerbuildinfo.cpp [diff]
utils/rbutilqt/test/test-playerbuildinfo.cpp [diff]
|
Dominik Riebeling |
2022-03-23 |
f3b19de594: rbutil: Disable TTS test on Qt6.
Qt6 has QMultimedia, but QSound has been removed. It's only use for playing a TTS test sample. Disable that for now.
|
utils/rbutilqt/configure.cpp [diff]
|
Dominik Riebeling |
2022-03-23 |
00ec195c26: rbutil: Qt6 fixes.
|
utils/CMakeLists.txt [diff]
utils/rbutilqt/CMakeLists.txt [diff]
utils/rbutilqt/main.cpp [diff]
utils/rbutilqt/themesinstallwindow.cpp [diff]
|
Dominik Riebeling |
2022-03-23 |
948637c42c: rbutil: Fix TalkGenerator string correction.
- Fix regexp case insensitive option being inverted.
- Pass more objects by reference.
- Some const-ness.
|
utils/rbutilqt/base/talkgenerator.cpp [diff]
utils/rbutilqt/base/talkgenerator.h [diff]
|
Dominik Riebeling |
2022-03-23 |
215ba4abf7: rbutil: Remove unnecessary Q_OBJECT.
PlayerBuildInfo uses no signals/slots, so we don't need Q_OBJECT.
|
utils/rbutilqt/base/playerbuildinfo.h [diff]
|
Dominik Riebeling |
2022-03-23 |
1aea2d5b7e: rbutil: Test for talkgenerator string correction.
|
utils/rbutilqt/CMakeLists.txt [diff]
utils/rbutilqt/test/stubs/stubs-talkgenerator.cpp [new]
utils/rbutilqt/test/test-talkgenerator.cpp [new]
utils/rbutilqt/test/test-talkgenerator.qrc [new]
|
Dominik Riebeling |
2022-03-22 |
822b16b1c6: debug_menu dbg_buffering_thread show more on tiny screens
I think the clipzip has the smallest screen at 96 might need to be enabled for LCD_WIDTH <=128 too
remove scrolling thread info for larger screens
|
apps/debug_menu.c [diff]
|
William Wilgus |
2022-03-22 |
7910f4a7aa: debug_menu cleanup/optimize some common format strings
|
apps/debug_menu.c [diff]
|
William Wilgus |
2022-03-22 |
61bc7b91bc: tagcache.c remove 16-bit compression for add_uniqbuf
apparently there are tags such as year or genre that are indexed 1 byte apart, as much as I like the idea of this I cannot come up with a way to reliably denote 2 16 bit entries from a single 32 bit entry without losing data or adding bookkeeping which would likely make it pointless
|
apps/tagcache.c [diff]
|
William Wilgus |
2022-03-22 |
cfeeb7889d: Lcd save function pointer to frame buffer get_address_fn before loops
Calling multiple levels of indirection in a loop slows things down
Really these need to be rewritten to take a start and end address like most of the rest of the codebase
But this is safer without having test hardware in hand
|
firmware/drivers/lcd-color-common.c [diff]
firmware/export/lcd.h [diff]
firmware/target/arm/as3525/lcd-ssd1303.c [diff]
firmware/target/arm/as3525/sansa-clipzip/lcd-clipzip.c [diff]
firmware/target/arm/imx233/creative-zen/lcd-zenmozaic.c [diff]
firmware/target/arm/imx233/creative-zen/lcd-zenv.c [diff]
firmware/target/arm/imx233/creative-zen/lcd-zenxfistyle.c [diff]
firmware/target/arm/imx233/creative-zenxfi2/lcd-zenxfi2.c [diff]
firmware/target/arm/imx233/creative-zenxfi3/lcd-zenxfi3.c [diff]
firmware/target/arm/imx233/sansa-fuzeplus/lcd-fuzeplus.c [diff]
firmware/target/arm/imx233/sony-nwz/lcd-nwze360.c [diff]
firmware/target/arm/imx233/sony-nwz/lcd-nwze370.c [diff]
firmware/target/arm/ipod/lcd-gray.c [diff]
firmware/target/arm/lcd-ssd1815.c [diff]
firmware/target/arm/olympus/mrobe-100/lcd-mr100.c [diff]
firmware/target/arm/rk27xx/lcdif-rk27xx.c [diff]
firmware/target/arm/s5l8700/yps3/lcd-yps3.c [diff]
firmware/target/arm/samsung/yh920/lcd-yh920.c [diff]
firmware/target/coldfire/iaudio/m3/lcd-m3.c [diff]
firmware/target/coldfire/iaudio/m5/lcd-m5.c [diff]
firmware/target/coldfire/iriver/h100/lcd-h100.c [diff]
firmware/target/coldfire/mpio/hd300/lcd-hd300.c [diff]
firmware/target/mips/ingenic_jz47xx/xduoo_x3/lcd-xduoo_x3.c [diff]
|
William Wilgus |
2022-03-21 |
60e5786b48: lcd-bitmap-common optimize a few viewport functions
|
firmware/drivers/lcd-bitmap-common.c [diff]
|
William Wilgus |
2022-03-21 |
64c577a0c5: filetree.c cleanup
just a little cleanup of ft file filtering code
store result of filter mask to a local var
put skin apply code in its own function
|
apps/filetree.c [diff]
|
William Wilgus |
2022-03-20 |
c7c9a0f069: rbutil: Minor code cleanup.
|
utils/rbutilqt/base/autodetection.cpp [diff]
utils/rbutilqt/base/autodetection.h [diff]
|
Dominik Riebeling |
2022-03-20 |
04e22d8719: rbutil: Replace use of QRegExp with QRegularExpression.
|
utils/rbutilqt/base/system.cpp [diff]
utils/rbutilqt/base/talkfile.cpp [diff]
utils/rbutilqt/rbutilqt.cpp [diff]
|
Dominik Riebeling |
2022-03-20 |
01d2979bce: [COV] metadata module, fix uninit warnings #2
decrease size hit of initializing asf by using a union remove init from bytes LE conversion in metadata common
-- bad idea for performance
|
lib/rbcodec/metadata/asf.c [diff]
lib/rbcodec/metadata/metadata_common.c [diff]
|
William Wilgus |
2022-03-20 |
2a88ec50cd: [COV] metadata module, fix uninit warnings
|
lib/rbcodec/metadata/aac.c [diff]
lib/rbcodec/metadata/asf.c [diff]
lib/rbcodec/metadata/metadata_common.c [diff]
lib/rbcodec/metadata/mp4.c [diff]
|
William Wilgus |
2022-03-20 |
ccdd9e6784: rbutil: Fix TTS "waiting for engine" appearing randomly.
QProgressDialog shows / hides itself automatically based on the progress value set, so calling hide() directly doesn't prevent the dialog from showing itself.
Change the logic to set a value instead. Fixes the progress dialog sometimes appearing in situations where it wasn't used at all.
|
utils/rbutilqt/base/encttssettings.h [diff]
utils/rbutilqt/base/ttsfestival.cpp [diff]
utils/rbutilqt/encttscfggui.cpp [diff]
utils/rbutilqt/encttscfggui.h [diff]
|
Dominik Riebeling |
2022-03-20 |
c21d10cb33: rbutil: Rework Festival TTS integration.
When communicating with Festival via socket don't assume readAll() would read all data we expect. We can only read the data that has been sent by the server so far, and this is not necessarily complete.
This notably improves the configuration dialog response and reliably.
|
utils/rbutilqt/base/ttsfestival.cpp [diff]
|
Dominik Riebeling |
2022-03-19 |
e21f80f397: rbutil: Remove use of deprecated QSignalMapper.
With Qt5 we can now use lambdas instead.
|
utils/rbutilqt/encttscfggui.cpp [diff]
utils/rbutilqt/encttscfggui.h [diff]
|
Dominik Riebeling |
2022-03-19 |
fcffe5fb81: rbutil: Change all download links to https.
|
utils/rbutilqt/changelog.txt [diff]
utils/rbutilqt/rbutil.ini [diff]
|
Dominik Riebeling |
2022-03-19 |
7a2fdf3fd6: rbutil: Handle SSL certificate errors on first request.
Qt uses the systems certificate store. On old(er) systems the root certificate might not be present, so checking the certificate from the rockbox.org server might fail.
On startup we try to download the build-info file. If this fails with a certificate error allow the user to temporarily accept the rockbox.org certificate for all successive requests.
|
utils/rbutilqt/base/httpget.cpp [diff]
utils/rbutilqt/base/httpget.h [diff]
utils/rbutilqt/rbutilqt.cpp [diff]
utils/rbutilqt/rbutilqt.h [diff]
|
Dominik Riebeling |
2022-03-19 |
a0459de4d5: rbutil: HttpGet: Return NetworkError in done signal.
Return the status value instead of simply a bool.
|
utils/rbutilqt/base/bootloaderinstallbase.cpp [diff]
utils/rbutilqt/base/bootloaderinstallbase.h [diff]
utils/rbutilqt/base/httpget.cpp [diff]
utils/rbutilqt/base/httpget.h [diff]
utils/rbutilqt/base/voicefile.cpp [diff]
utils/rbutilqt/base/voicefile.h [diff]
utils/rbutilqt/base/zipinstaller.cpp [diff]
utils/rbutilqt/base/zipinstaller.h [diff]
utils/rbutilqt/rbutilqt.cpp [diff]
utils/rbutilqt/rbutilqt.h [diff]
utils/rbutilqt/test/test-httpget.cpp [diff]
utils/rbutilqt/themesinstallwindow.cpp [diff]
utils/rbutilqt/themesinstallwindow.h [diff]
|
Dominik Riebeling |
2022-03-19 |
08b42791ff: tag_cache.c optimize str_begins_ends_oneof
the function is shared
|
apps/tagcache.c [diff]
|
William Wilgus |
2022-03-19 |
ddbca125a6: tagtree/tagcache add new clause operators begins/ends _oneof
new operators @^, @$ begins_oneof and ends_oneof
albumartist @^ "L|The L" Led Zeppelin, The look
albumartist @$ "girls|Boys" spice girls, beasty boys
|
apps/tagcache.c [diff]
apps/tagcache.h [diff]
apps/tagtree.c [diff]
|
William Wilgus |
2022-03-19 |
0f2d623216: tagcache add logging option for clause matching #2
|
apps/tagcache.c [diff]
|
William Wilgus |
2022-03-19 |
a56975af6c: tagcache add logging option for clause mtching
|
apps/tagcache.c [diff]
|
William Wilgus |
2022-03-19 |
b65763bc10: [COV] fix uninitialized warning
|
firmware/drivers/fat.c [diff]
|
William Wilgus |
2022-03-18 |
a5e684c894: BUGFIX root_menu.c
|
apps/root_menu.c [diff]
|
William Wilgus |
2022-03-18 |
b31444261e: [COV] cuesheet.c var line could be uninitialized
|
apps/cuesheet.c [diff]
|
William Wilgus |
2022-03-18 |
99f8457279: cuesheet, fix dumb typo
|
apps/cuesheet.c [diff]
|
William Wilgus |
2022-03-18 |
a13ae2afd5: [COV] folder_select buffer overrun
|
apps/gui/folder_select.c [diff]
|
William Wilgus |
2022-03-16 |
b309fae2bc: touchscreen: fix quickscreen
Looks like I made a mistake testing this originally because there's no way this would've worked.
|
apps/gui/quickscreen.c [diff]
|
Aidan MacDonald |
2022-03-16 |
67f7d399e5: x1000: restore crt0.S cache flush
I-cache must be flushed after copying code to IRAM... duh.
|
firmware/target/mips/ingenic_x1000/crt0.S [diff]
|
Aidan MacDonald |
2022-03-16 |
c676736792: x1000: optimize crt0.S, improve correctness
Replace inline section copy/fill loops with subroutines, which reduces code size a bit and and handle zero size copies properly.
Remove the cache initialization loop as well. There's no actual reason for this because the SPL initializes the caches and just dropping the cache can even be harmful (in this case it wasn't, because the SPL flushes the whole cache right before calling in).
|
firmware/target/mips/ingenic_x1000/crt0.S [diff]
|
Aidan MacDonald |
2022-03-16 |
0df71c952c: rds: make newly added function static
It won't be called outside the RDS core.
|
firmware/drivers/rds.c [diff]
|
Wolfram Sang |
2022-03-16 |
b3e0d18f7d: skin_engine.c settings_apply_skins cleanup
just some cleanup and removal of ifdefs in favor of dummy functions
|
apps/gui/skin_engine/skin_backdrops.c [diff]
apps/gui/skin_engine/skin_engine.c [diff]
apps/gui/skin_engine/skin_engine.h [diff]
apps/gui/statusbar-skinned.c [diff]
apps/gui/statusbar-skinned.h [diff]
|
William Wilgus |
2022-03-15 |
a5c16d2990: rb_namespace add logf
add logging to the namespace file to allow debug of root redirect
|
firmware/common/file.c [diff]
firmware/common/file_internal.c [diff]
firmware/common/rb_namespace.c [diff]
|
William Wilgus |
2022-03-15 |
20b9ce5497: debug_menu make scrolling manual for OS Threads item
the automatic scrolling is not very nice to try and read instead use OK button to advance and long press std ok to reset to beginning
(or scroll up and down)
|
apps/debug_menu.c [diff]
|
William Wilgus |
2022-03-14 |
542609bb31: metadata.c fix red
comma, helpful
|
lib/rbcodec/metadata/metadata_common.c [diff]
|
William Wilgus |
2022-03-14 |
9b4e784560: BUGFIX string_option parsers
fix bugs introduced in the switch over to using string_option instead of if else strcmp trees, embedded album art should work again skin parser had an error for 'noborder' and 'nobar'
|
apps/gui/skin_engine/skin_parser.c [diff]
lib/rbcodec/metadata/asf.c [diff]
lib/rbcodec/metadata/id3tags.c [diff]
lib/rbcodec/metadata/metadata_common.c [diff]
|
William Wilgus |
2022-03-14 |
6dcbf7ff77: debug_menu scroll os stack screen
the os threads items update too quick to see them scroll
implement a simple scroller
|
apps/debug_menu.c [diff]
|
William Wilgus |
2022-03-13 |
6fdc160fab: dircache_redirect.h, hide root volume when only one mounted
there is no need to show the root of the drive when only the internal is mounted
|
firmware/include/dircache_redirect.h [diff]
|
William Wilgus |
2022-03-13 |
6d122e3932: cuesheet, cleanup tag code with strncmp
|
apps/cuesheet.c [diff]
|
William Wilgus |
2022-03-13 |
2352cef6d0: replace more strcmp if then trees with string_option() 1
|
apps/misc.c [diff]
apps/shortcuts.c [diff]
lib/rbcodec/metadata/asap.c [diff]
lib/rbcodec/metadata/asf.c [diff]
lib/rbcodec/metadata/id3tags.c [diff]
lib/rbcodec/metadata/metadata_common.c [diff]
|
William Wilgus |
2022-03-13 |
a62d36d9e7: Warble builds define WARBLE fix metadata_common in warble builds
|
lib/rbcodec/metadata/metadata_common.c [diff]
tools/configure [diff]
|
William Wilgus |
2022-03-13 |
430999e399: utils: Work around windeployqt bug.
For Qt versions less than 5.14 MinGW windeployqt requires passing
--release or --debug to pick the correct libs to deploy. For newer version this must not be passed, or otherwise windeployqt errors out.
Use a conditional expression to only add the parameter for older Qt versions.
|
utils/cmake/deploy.cmake [diff]
|
Dominik Riebeling |
2022-03-13 |
77e4dd81f5: option_string clean-up and consolidate with metadata_common
|
apps/gui/skin_engine/skin_parser.c [diff]
lib/rbcodec/metadata/metadata_common.c [diff]
lib/rbcodec/metadata/metadata_common.h [diff]
lib/rbcodec/metadata/mp4.c [diff]
lib/rbcodec/metadata/replaygain.c [diff]
|
William Wilgus |
2022-03-13 |
eb86ee296a: skin_parser.c fix red stupid typo
|
apps/gui/skin_engine/skin_parser.c [diff]
|
William Wilgus |
2022-03-13 |
3f2ad8bf2b: skin_parser.c fix red
|
apps/gui/skin_engine/skin_parser.c [diff]
|
William Wilgus |
2022-03-13 |
74df3ba2d8: add function string_option to misc.c use in skin_parser.c
function string_option allows a string to be found in a supplied list of options
|
apps/gui/skin_engine/skin_parser.c [diff]
apps/misc.c [diff]
apps/misc.h [diff]
|
William Wilgus |
2022-03-13 |
a9c62f2c39: metadata_common.c optimize parse_tag
|
lib/rbcodec/metadata/metadata_common.c [diff]
|
William Wilgus |
2022-03-12 |
22a6ae97a6: utils: Fix windeployqt step once more.
The path was actually correct before, the filename wasn't.
|
utils/cmake/deploy.cmake [diff]
|
Dominik Riebeling |
2022-03-12 |
96f5b07d39: utils: Fix windeployqt call in cmake deploy step.
|
utils/cmake/deploy.cmake [diff]
|
Dominik Riebeling |
2022-03-12 |
403cb96f3a: rbutil: Fix installing fonts / manual for development builds.
For development builds we provide a download URL, but use the daily build files. Those require the version of the daily build to be set when expanding the URL string.
|
utils/rbutilqt/base/playerbuildinfo.cpp [diff]
utils/rbutilqt/gui/selectiveinstallwidget.cpp [diff]
utils/rbutilqt/test/test-playerbuildinfo.cpp [diff]
|
Dominik Riebeling |
2022-03-12 |
ce70e34476: rbutil: Fix ipodpatcher bootloader uninstall.
Fix mountpoint not passed and sectorbuf not initialized properly.
|
utils/rbutilqt/base/bootloaderinstallipod.cpp [diff]
utils/rbutilqt/rbutilqt.cpp [diff]
|
Dominik Riebeling |
2022-03-12 |
5c7b0e071f: rbutil: Fix crash on sansapatcher access.
We now initialize sectorbuf explicitly, and there are situation where it wasn't initialized explicitly.
|
utils/rbutilqt/base/bootloaderinstallsansa.cpp [diff]
|
Dominik Riebeling |
2022-03-12 |
1ff11b627b: rbutil: Fix bootloader uninstall availability.
The logic for disabling the uninstall button was wrong.
|
utils/rbutilqt/rbutilqt.cpp [diff]
|
Dominik Riebeling |
2022-03-12 |
0ce287503c: x1000: bootloader: use list widget for the recovery menu
This allows the menu to scroll when there isn't enough vertical space to display the whole menu.
|
bootloader/x1000/recovery.c [diff]
|
Aidan MacDonald |
2022-03-12 |
4b51ca5ce6: x1000: bootloader: add GUI list widget
|
bootloader/x1000/gui.c [diff]
bootloader/x1000/x1000bootloader.h [diff]
|
Aidan MacDonald |
2022-03-12 |
8b4949381c: x1000: add TCSM section to linker script
This is intended for debugging OF kernel boot problems and has to be enabled manually at compile time to make it usable.
|
firmware/target/mips/ingenic_x1000/app.lds [diff]
firmware/target/mips/ingenic_x1000/crt0.S [diff]
|
Aidan MacDonald |
2022-03-12 |
0de2d3a0b6: utils: rework cmake deploy function.
Use named arguments for function and allow passing additional executable targets to be copied to the deploy tree.
Update current uses and add ipodpatcher and sansapatcher to Rockbox Utility deployment.
This is in preparation for moving ipodpatcher / sansapatcher functionality out of Rockbox Utility so we eventually can avoid elevation / sudo of the whole installer. Currently this only results in Rockbox Utility releases shipping ipodpatcher / sansapatcher executables.
|
utils/cmake/deploy.cmake [diff]
utils/rbutilqt/CMakeLists.txt [diff]
utils/themeeditor/CMakeLists.txt [diff]
|
Dominik Riebeling |
2022-03-12 |
7319356dfd: rbutil: Update build instructions.
|
utils/rbutilqt/INSTALL [diff]
|
Dominik Riebeling |
2022-03-12 |
748b00a7fc: ipodpatcher: Split executable only parts out.
Allow building both as library and executable at the same time.
|
utils/CMakeLists.txt [diff]
utils/ipodpatcher/ipodpatcher-aupd.c [new]
utils/ipodpatcher/ipodpatcher.c [diff]
|
Dominik Riebeling |
2022-03-12 |
08afedf1f5: sansapatcher: Add cmake target to build executable.
|
utils/CMakeLists.txt [diff]
|
Dominik Riebeling |
2022-03-12 |
d56964cc2b: x1000: add dual boot helpers for the main bootloader
Two helpers (_init_clocktree and _init_uart2) already existed in the SPL and are copied verbatim from there. The SPL versions are still present and will be removed when dual boot works from the main bootloader.
The other two helpers (_cleanup and _load_pdma_fw) are new.
|
firmware/target/mips/ingenic_x1000/boot-x1000.c [diff]
firmware/target/mips/ingenic_x1000/boot-x1000.h [diff]
|
Aidan MacDonald |
2022-03-12 |
a87f93d8ff: x1000: add function for booting linux kernels
|
firmware/target/mips/ingenic_x1000/boot-x1000.c [diff]
firmware/target/mips/ingenic_x1000/boot-x1000.h [diff]
|
Aidan MacDonald |
2022-03-12 |
e6c2f26e82: x1000: bootloader: add uImage loaders
Adds loaders for uImages on the SD card or on a raw flash partition. These work similarily to load_rockbox() and return a buflib alloc and size. Booting the image is left up to the caller.
|
bootloader/x1000/utils.c [diff]
bootloader/x1000/x1000bootloader.h [diff]
|
Aidan MacDonald |
2022-03-12 |
b87f2ed851: x1000: bootloader: refactor rockbox boot
Separate loading out into its own routine with a file name parameter in preparation for multiboot support.
|
bootloader/x1000/boot.c [diff]
bootloader/x1000/utils.c [diff]
bootloader/x1000/x1000bootloader.h [diff]
|
Aidan MacDonald |
2022-03-12 |
ed897d1359: x1000: bootloader: move the main function to its own file
Now that everything has been refactored into separate files the main routine is the only thing left to move. Put it in main.c.
|
bootloader/SOURCES [diff]
bootloader/x1000.c bootloader/x1000/main.c [rename]
|
Aidan MacDonald |
2022-03-12 |
5bdb2fccdb: x1000: bootloader: refactor usb handling
Drop init_usb(), instead initialize USB early in the main function so the hardware is placed into a known good state after a USB boot. The impact on boot time should be minimal.
|
bootloader/x1000.c [diff]
bootloader/x1000/recovery.c [diff]
bootloader/x1000/utils.c [diff]
bootloader/x1000/x1000bootloader.h [diff]
|
Aidan MacDonald |
2022-03-12 |
7554a49309: x1000: bootloader: refactor init_disk
Add check_disk() to query the disk insertion status and prompt the user if necessary. Use this in place of init_disk().
Perform an unconditional disk_mount_all() from the main function.
|
bootloader/SOURCES [diff]
bootloader/x1000.c [diff]
bootloader/x1000/boot.c [diff]
bootloader/x1000/install.c [diff]
bootloader/x1000/utils.c [new]
bootloader/x1000/x1000bootloader.h [diff]
|
Aidan MacDonald |
2022-03-12 |
905591215f: x1000: bootloader: split off recovery menu code
|
bootloader/SOURCES [diff]
bootloader/x1000.c [diff]
bootloader/x1000/recovery.c [new]
bootloader/x1000/x1000bootloader.h [diff]
|
Aidan MacDonald |
2022-03-12 |
e2fcbd04ea: x1000: bootloader: split off rockbox boot code
|
bootloader/SOURCES [diff]
bootloader/x1000.c [diff]
bootloader/x1000/boot.c [new]
bootloader/x1000/x1000bootloader.h [diff]
|
Aidan MacDonald |
2022-03-12 |
22cf852db1: x1000: bootloader: split off installer code
|
bootloader/SOURCES [diff]
bootloader/x1000.c [diff]
bootloader/x1000/install.c [new]
bootloader/x1000/x1000bootloader.h [diff]
|
Aidan MacDonald |
2022-03-12 |
6fb1b8b342: x1000: bootloader: split off GUI code
|
bootloader/SOURCES [diff]
bootloader/x1000.c [diff]
bootloader/x1000/gui.c [new]
bootloader/x1000/x1000bootloader.h [diff]
|
Aidan MacDonald |
2022-03-12 |
8558255f45: x1000: bootloader: split off definitions to a header
|
bootloader/x1000.c [diff]
bootloader/x1000/x1000bootloader.h [new]
|
Aidan MacDonald |
2022-03-12 |
58225bd2c8: x1000: remove plugin and codec buffers on bootloader
On the bootloader there's no point reserving memory for these, the only users of codecbuf/pluginbuf are in the apps/ tree.
|
firmware/target/mips/ingenic_x1000/app.lds [diff]
|
Aidan MacDonald |
2022-03-12 |
38eafb60ff: x1000: use core_alloc in bootloader for loading rockbox
Using the audio buffer directly is a bad idea because this will render core_alloc non-functional if load_firmware() writes into the buffer but then fails, for example on a checksum mismatch.
|
bootloader/x1000.c [diff]
firmware/target/mips/ingenic_x1000/app.lds [diff]
|
Aidan MacDonald |
2022-03-12 |
376ffbcf9a: ARM support, optimize popcount fn
|
lib/arm_support/support-arm.S [diff]
|
William Wilgus |
2022-03-12 |
eecf840989: playlist.c fix red for non-DIRCACHE targets
|
apps/playlist.c [diff]
|
William Wilgus |
2022-03-12 |
a59b3c5d11: playlist_resume, wait for dircache to complete before loading songs
with root redirect and even relative paths eventually we need the dircache to get files from the disk
|
apps/playlist.c [diff]
|
William Wilgus |
2022-03-12 |
97ec0a7e73: Root redirect un-hide root volume
this appears to be problematic for now
|
firmware/include/dircache_redirect.h [diff]
|
William Wilgus |
2022-03-12 |
95af36d0dd: playlist.c fix red for non multivolume targets
|
apps/playlist.c [diff]
|
William Wilgus |
2022-03-12 |
eb32238b22: playlist.c use basename for playlist_get_filename_crc32
strip the vol and use the relative portion
|
apps/playlist.c [diff]
|
William Wilgus |
2022-03-12 |
359c66982f: playback.c use file_exists rather than open to check for bad files
the worst case is really slow for open
|
apps/playback.c [diff]
|
William Wilgus |
2022-03-11 |
603412f447: x1000: Clarify definition & usage of RAM areas
Document what the symbols are supposed to mean, fixup SPL's usage of DRAM_END which should really be SDRAM_END instead. No functional changes.
|
firmware/export/x1000.h [diff]
firmware/target/mips/ingenic_x1000/spl-x1000.c [diff]
firmware/target/mips/ingenic_x1000/spl.lds [diff]
|
Aidan MacDonald |
2022-03-11 |
cdee5284d4: jztool: support new binary header on x1000
|
utils/jztool/src/x1000.c [diff]
|
Aidan MacDonald |
2022-03-11 |
35242c8d98: x1000: support new binary header in bootloader
|
bootloader/x1000.c [diff]
|
Aidan MacDonald |
2022-03-11 |
428491df69: x1000: support new binary header in rolo
|
firmware/SOURCES [diff]
firmware/export/x1000.h [diff]
firmware/rolo.c [diff]
firmware/target/mips/ingenic_x1000/boot-x1000.c [new]
firmware/target/mips/ingenic_x1000/boot-x1000.h [diff]
|
Aidan MacDonald |
2022-03-11 |
7fa48faeb5: multiboot: Refactor duplicated functions to a separate file
The implementation of write_bootdata() and get_redirect_dir() was copied verbatim in two different places, obviously a bad thing for maintainability. This moves them to a new file multiboot.c as they are only used for multiboot.
|
apps/debug_menu.c [diff]
firmware/SOURCES [diff]
firmware/common/multiboot.c [new]
firmware/common/rb-loader.c [diff]
firmware/export/mi4-loader.h [diff]
firmware/export/multiboot.h [new]
firmware/include/dircache_redirect.h [diff]
firmware/include/rb-loader.h [diff]
firmware/rolo.c [diff]
firmware/target/arm/pp/mi4-loader.c [diff]
|
Aidan MacDonald |
2022-03-11 |
439b4e8bca: multiboot: Remove bad multiboot code from hosted RoLo
This looks like it was copy-pasted blindly from elsewhere and it wouldn't even compile, since hosted RoLo is completely different from native RoLo.
|
firmware/target/hosted/rolo.c [diff]
|
Aidan MacDonald |
2022-03-11 |
eae9f6f5b7: erosqnative: Fix missing END marker in LCD enable sequence
|
firmware/target/mips/ingenic_x1000/erosqnative/lcd-erosqnative.c [diff]
|
Aidan MacDonald |
2022-03-11 |
355553baf4: playlist_resume, fix control fd, add some error info
I ocassionally see Playlist Invalid messages but which part is failing? eventually it works so its probably a race
|
apps/playlist.c [diff]
|
William Wilgus |
2022-03-11 |
f6a2bf28e1: BUGFIX file.c open failure leaves open file handle
|
firmware/common/file.c [diff]
|
William Wilgus |
2022-03-11 |
68d0175172: BUGFIX arm aeabi_sdivmod crashes in interupt mode
|
lib/arm_support/support-arm.S [diff]
|
William Wilgus |
2022-03-09 |
57cffae369: rbutil: Change MacOS bundle identifer to org.rockbox.
|
utils/rbutilqt/Info.plist [diff]
|
Dominik Riebeling |
2022-03-09 |
01e76548c3: backtrace, put pc and sp on their own lines
|
lib/unwarminder/backtrace-unwarminder.c [diff]
|
William Wilgus |
2022-03-08 |
a8b997e4e9: skinparser cleanup, optimize
hash clause strings for =, ==, !=, <, > <=, >= store result of get_param() where possible
|
apps/gui/skin_engine/skin_parser.c [diff]
|
William Wilgus |
2022-03-08 |
b1965b4197: rbutil: Fix setting bootloader "file" for Ipod bootloader.
On Ipods we use the bootloader "filename" to pass the mountpoint, which is then used to determine the correct device to use.
|
utils/rbutilqt/gui/selectiveinstallwidget.cpp [diff]
|
Dominik Riebeling |
2022-03-08 |
3cebc983a2: rbutil: Fix a crash for devices without bootloader file.
Don't try to get a bootloader filename from an empty list. This happens if the device doesn't have a bootloader file on disk.
|
utils/rbutilqt/base/bootloaderinstallbase.cpp [diff]
|
Dominik Riebeling |
2022-03-08 |
911b216aff: rbutil: Properly initialize sansa / ipod bootloader buffer.
Fixes a crash on MacOS.
|
utils/rbutilqt/base/bootloaderinstallipod.cpp [diff]
utils/rbutilqt/base/bootloaderinstallsansa.cpp [diff]
|
Dominik Riebeling |
2022-03-06 |
ca12478df6: x1000: add simple binary header to declare the load address
The header format is basic, a variable length list of values tagged by 4-byte strings. The main application to to allow a loader to determine the load address of the binary at runtime instead of using a hardcoded address. But the header contents aren't fixed and it could be extended for other purposes too.
|
firmware/target/mips/ingenic_x1000/crt0.S [diff]
|
Aidan MacDonald |
2022-03-06 |
19d95d7b56: keyremap add plain text import and export
allows users to edit and view keymaps in a text editor
(parser requires one entry per line (LF or CRLF work as line endings)
allow naming of files on save
|
apps/plugins/keyremap.c [diff]
|
William Wilgus |
2022-03-06 |
bc3fa53937: Sansa Multiboot Root Redirect Enhance + bug fix
filename buffer was too small to retrieve redirect path
if redirected to sd root remove <SD1> as it is redundant
|
apps/debug_menu.c [diff]
firmware/include/dircache_redirect.h [diff]
|
William Wilgus |
2022-03-04 |
ee87bfb933: Add support code for dealing with U-Boot uImages
Adds a loader for the legacy uImage format that is commonly used on embedded Linux systems. It verifies checksums and supports uncompressed and gzipped images. Supports arbitrary reader functions to allow the images to be streamed off any storage device, for optimal RAM use.
|
firmware/SOURCES [diff]
firmware/export/linuxboot.h [new]
firmware/linuxboot.c [new]
|
Aidan MacDonald |
2022-03-04 |
d541a3a191: x1000: fix nand driver reference counting
Somehow I screwed this up as well. Seems it didn't cause trouble.
|
firmware/target/mips/ingenic_x1000/nand-x1000.c [diff]
|
Aidan MacDonald |
2022-03-04 |
3cb7167e22: x1000: fix bug in nand_read_bytes
This didn't account for partial page reads properly which resulted in corrupted data. Fortunately, current released bootloaders do not perform such reads so they don't trigger this bug.
|
firmware/target/mips/ingenic_x1000/nand-x1000.c [diff]
|
Aidan MacDonald |
2022-03-04 |
3bd5f335f7: inflate: Add helper for getting decompressed data size
Helper for another semi-typical operation: find out how big of a buffer should be allocated before decompressing. This can be useful when the stream container doesn't specify the decompressed size.
|
firmware/common/inflate.c [diff]
firmware/include/inflate.h [diff]
|
Aidan MacDonald |
2022-03-04 |
ce4620413b: inflate: Add helpers for using in-memory buffers
Using an in-memory buffer for the input or output data for 'inflate' is likely to be extremely common and there's really only one way to do it, so predefined helpers should be provided.
|
firmware/common/inflate.c [diff]
firmware/include/inflate.h [diff]
|
Aidan MacDonald |
2022-03-04 |
fe4628fc30: Fix Red Multiboot Firmware Root Redirect
Exclude bootloaders
|
firmware/include/dircache_redirect.h [diff]
|
William Wilgus |
2022-03-04 |
c9857098ac: Multiboot Firmware Root Redirect - WIP
Loads external drive into root namespace Root Redirects can now be put into different folders For instance placing '/_test' into SD1/rockbox_main.<playername> will redirect to /<1>/_test/.rockbox Debug menu>Bootdata now has root directory listed in addition to RAW Bootdata
Redirect root work from Michael Sevakis g#1556, RESTORED -> g#4256
|
apps/debug_menu.c [diff]
firmware/common/disk.c [diff]
firmware/include/dircache_redirect.h [diff]
|
William Wilgus |
2022-03-04 |
c7bbd5b090: Fix Red SDL, Android mounting root directory, and all the yellow too
|
firmware/include/dircache_redirect.h [diff]
firmware/target/hosted/android/filesystem-android.h [deleted]
firmware/target/hosted/sdl/filesystem-sdl.h [diff]
|
William Wilgus |
2022-03-04 |
0ddac1fdaf: Fix Red SDL, Android mounting root directory
Not actually used in either atm
|
firmware/target/hosted/android/filesystem-android.h [new]
firmware/target/hosted/sdl/filesystem-sdl.h [diff]
|
William Wilgus |
2022-03-03 |
9daacabd65: [RESTORED!] Allow mounting of any directory as the root directory.
Provide definitions for the macros:
* RB_ROOT_VOL_HIDDEN(v) to exclude certain items from the root.
* RB_ROOT_CONTENTS to return a string with the name of the directory to mount in the root.
Defaults are in export/rbpaths.h
It's a bit much for those that don't need the full functionality. Some conditional define can cut it back a lot to cut out things only needed if alternate root mounts are required. I'm just not bothering yet. The basic concept would be applied to all targets to keep file code from forking too much.
Author: Michael Sevakis
|
firmware/SOURCES [diff]
firmware/common/dir.c [diff]
firmware/common/dircache.c [diff]
firmware/common/disk.c [diff]
firmware/common/file.c [diff]
firmware/common/file_internal.c [diff]
firmware/common/fileobj_mgr.c [diff]
firmware/common/pathfuncs.c [diff]
firmware/common/rb_namespace.c [new]
firmware/export/mv.h [diff]
firmware/export/pathfuncs.h [diff]
firmware/export/rbpaths.h [diff]
firmware/include/dircache_redirect.h [diff]
firmware/include/file_internal.h [diff]
firmware/include/fileobj_mgr.h [diff]
firmware/include/fs_defines.h [diff]
firmware/include/rb_namespace.h [new]
uisimulator/common/filesystem-sim.c [diff]
|
William Wilgus |
2022-03-03 |
f88ea12bac: tagcache compress uniqbuf 2 16-bit indices occupy a single 32 bit slot
a lot of space is wasted when file indices less than 65535 entries should be more than 1 byte apart so use the LSB as a flag when indices are > 65535 set flag to 0 and proceed as before
explicitly mark uniqbuf as 32bit
|
apps/tagcache.c [diff]
apps/tagcache.h [diff]
apps/tagtree.c [diff]
|
William Wilgus |
2022-02-28 |
ae97d410c5: utils: Set cmake build type to default to Release.
|
utils/CMakeLists.txt [diff]
|
Dominik Riebeling |
2022-02-28 |
8d462a1edd: rbutil: Rework Logo display.
Replace QLabel with QSvgWidget so the widget draws the svg directly instead of first creating a pixmap from it.
This also avoids an issue when building with mxe which causes the image to not show due to a missing svg plugin (which doesn't happen for svg icons.)
|
utils/rbutilqt/CMakeLists.txt [diff]
utils/rbutilqt/rbutilqt.cpp [diff]
utils/rbutilqt/rbutilqtfrm.ui [diff]
|
Dominik Riebeling |
2022-02-28 |
83e4078d9c: cmake: Strip Release binaries when building with gcc.
|
utils/CMakeLists.txt [diff]
|
Dominik Riebeling |
2022-02-28 |
72904569e3: Remove outdated theme editor deploy script.
This doesn't work anymore since the switch to cmake.
|
utils/common/deploy-themeeditor.py [deleted]
utils/common/deploy.py [deleted]
|
Dominik Riebeling |
2022-02-28 |
fa1e6cc5bf: rbutil: Replace deploy with tarball script.
The old deployment script doesn't work anymore due to the change to cmake, and since we build the distribution packages (zip / dmg / AppImage) with cmake directly there's not much need left for the old deployment.
|
utils/common/gitscraper.py [diff]
utils/common/deploy-rbutil.py utils/common/tarball-rbutil.py [rename]
|
Dominik Riebeling |
2022-02-28 |
045f52d475: tagtree.c optmize clause operator parsing
makes WS after a clause conditional optional
|
apps/tagtree.c [diff]
|
William Wilgus |
2022-02-27 |
1bcb1e39ee: tagcache, coverity cleanup, Add TAGS_ALL_COUNT
|
apps/tagcache.c [diff]
apps/tagcache.h [diff]
|
William Wilgus |
2022-02-26 |
6b360d8b04: action.c keyremap clean-up add logf to core_keymap.c move the remap out of the loop and eliminate a status flag
|
apps/action.c [diff]
apps/action.h [diff]
apps/core_keymap.c [diff]
|
William Wilgus |
2022-02-26 |
887249671c: TagTree Show file name for tag_title [UNTAGGED]
fallback to filename as [UNTAGGED] is a terrible way to browse titles
|
apps/tagtree.c [diff]
|
William Wilgus |
2022-02-26 |
836616b937: Tagcache Don't create filters when parsing a logical OR
if possible search clauses are converted to filters
once a logical OR is added to the mix (CLAUSE1|CLAUSE2 & CLAUS3)) if CLAUSE1,2 are database non-numeric tags they get made into filters but the logical OR gets carried to the next CLAUSE
Rather than trying to figure this out just keep all clauses around a logical OR
|
apps/tagcache.c [diff]
|
William Wilgus |
2022-02-24 |
bba0564ec1: keyremap plugin use yes_no prompts, bugfix
use the supplied yes_no dialogs for file delete, key reset, save prompt
return to root menu automatically after loading a file
fix bug where deleting the last file in the list exited the menu
|
apps/plugins/keyremap.c [diff]
|
William Wilgus |
2022-02-24 |
295ec3790d: Core Keyremap Allow setting keymap from plugin
Allow setting and removing keyremap on the fly
It was pretty annoying trying to work out a keyremap with a restart required to set the remap and was quite annoying when I was no longer able to navigate to the plugin or filebrowser due to setting the wrong remap
now you can try out a keymap and if it doesn't work a restart will sort things out
|
apps/core_keymap.c [diff]
apps/core_keymap.h [diff]
apps/plugin.c [diff]
apps/plugin.h [diff]
apps/plugins/keyremap.c [diff]
|
William Wilgus |
2022-02-23 |
f7bb9e2167: Add custom action mapping to core
results of an idea I discussed in IRC
changed the way the lookup in the remap file works..
entries consist of 3 int [action, button, prebtn] context look up table is at the beginning action_code contains the (context | CONTEXT_REMAPPED) button_code contains the index of the first remapped action for the matched context
[0] CORE_CONTEXT_REMAP(ctx1) offset1=(3), count=(1)
[1] CORE_CONTEXT_REMAP(ctx2, offset2=(5), count=(1)
[2] sentinel, 0, 0
[3] act0, btn, 0
[4] sentinel 0, 0
[5] act1, btn, 0
[6] sentinel, 0, 0
Note: last entry of each group is always the sentinel [CONTEXT_STOPSEARCHING, BUTTON_NONE, BUTTON_NONE] contexts must match exactly -- re-mapped contexts run before the built in w/ fall through contexts ie. you can't remap std_context and expect it to match std_context actions from the WPS context.
-- Done --
Code for reading core remap entries
-- Done --
import of core remap entires from disk
-- Done --
plugin to set new key mapping (the hard part)
The plugin is started and FULLY functional you can add actions and contexts you can change context, action, button, prebtn delete keymap files load keymapfiles save user keymaps test keymaps before applying them loading keymaps to core still requires restart
-----------------------------------------------------------------------------------------------
|
apps/SOURCES [diff]
apps/action.c [diff]
apps/action.h [diff]
apps/core_keymap.c [new]
apps/core_keymap.h [new]
apps/main.c [diff]
apps/plugins/CATEGORIES [diff]
apps/plugins/SOURCES [diff]
apps/plugins/keyremap.c [new]
apps/plugins/lib/action_helper.h [diff]
apps/plugins/lib/action_helper.pl [diff]
apps/plugins/lib/button_helper.h [diff]
apps/plugins/lib/button_helper.pl [diff]
apps/plugins/lua/rbdefines_helper.pl [diff]
|
William Wilgus |
2022-02-22 |
7952687185: FS #13337: Updated Slovak translation (Matej Golian)
|
apps/lang/slovak.lang [diff]
docs/CREDITS [diff]
|
Solomon Peachy |
2022-02-12 |
e8faf2f2ad: buflib: add a common dummy callbacks struct & use it
There are various allocations that can't be moved or shrunk. Provide a global callback struct for this use case instead of making each caller declare its own dummy struct.
Also fixed ROLO and x1000 installer code which incorrectly used movable allocations.
|
apps/playlist.c [diff]
apps/plugin.c [diff]
apps/recorder/pcm_record.c [diff]
apps/tagcache.c [diff]
firmware/buflib.c [diff]
firmware/common/zip.c [diff]
firmware/include/buflib.h [diff]
firmware/rolo.c [diff]
firmware/target/mips/ingenic_x1000/installer-x1000.c [diff]
firmware/usbstack/usb_storage.c [diff]
lib/x1000-installer/src/xf_nandio.c [diff]
lib/x1000-installer/src/xf_package.c [diff]
lib/x1000-installer/test_lib/core_alloc.c [diff]
lib/x1000-installer/test_lib/core_alloc.h [diff]
|
Aidan MacDonald |
2022-02-07 |
95dfc489b5: sync clock with RDS time
Tested with my SansaClip+. I don't think this will need extra battery but let me know if I am wrong.
|
apps/features.txt [diff]
apps/lang/english.lang [diff]
apps/menus/radio_menu.c [diff]
apps/menus/time_menu.c [diff]
apps/settings.h [diff]
apps/settings_list.c [diff]
firmware/drivers/rds.c [diff]
manual/appendix/config_file_options.tex [diff]
manual/configure_rockbox/time_and_date.tex [diff]
|
Wolfram Sang |
2022-02-07 |
5b8873bf33: RFT: convert Gigabeat RDS to thread
This kind of reverts 7b596416bf ("Gigabeat S: Update RDS processing to use asynchronous I2C rather than thread."). However, requiring RDS to run in thread context will a) allow more upcoming features and b) remove quite some complexity from the codebase (see the diffstat here) because Gigabeat is the only user. iMX31 should be able to handle one more thread, as it can even run Linux.
|
firmware/drivers/rds.c [ |