Rockbox.org home
release
dev builds
extras
themes manual
wiki
device status forums
mailing lists
IRC bugs
patches
dev guide



whenwhatwherewho
Saturday 13:29 bc5a638594: Option to switch off album art or to prefer file over embedded

Large embedded album art can cause pauses during playback or when skipping between tracks, especially on older devices, but embedded art is currently loaded even when separately stored smaller image files would be available.

A workaround is to remove large album art from the metadata of files.

This now adds a setting to either turn off loading of album art completely, or to prefer loading the album art from a separate image file and thus ignore the embedded versions.
apps/gui/quickscreen.c [diff]
apps/lang/english.lang [diff]
apps/menus/playback_menu.c [diff]
apps/playback.c [diff]
apps/playback.h [diff]
apps/settings.c [diff]
apps/settings.h [diff]
apps/settings_list.c [diff]
apps/shortcuts.c [diff]
manual/appendix/config_file_options.tex [diff]
manual/configure_rockbox/playback_options.tex [diff]
Christian Soffke
18th Jan 19:45 aafe2dd2d1: tagcache: don't allow temp commit buffer to be moved

The temporary buffer used during database commit did not have any buflib callbacks set, which allows it to be moved by buflib at any time. The code is not prepared to deal with this, so things break horribly if anything tries to allocate during the commit.

The solution is to pass dummy callbacks to prevent the buffer from being moved. I expect this may create other issues since the commit uses up all available RAM, but at least things won't get silently corrupted anymore.
apps/tagcache.c [diff]
Aidan MacDonald
17th Jan 00:37 525eb15864: recording: fix mono mode mixdown functions

Rewrite copy_buffer_mono_* functions for correctness.

Bad pointer arithmetic in copy_buffer_mono_l produced wrong results, or panics on archs which can't handle the unaligned pointer.

None of the functions handled zero size copies properly though this probably wasn't an issue in practice.
apps/recorder/pcm_record.c [diff]
Aidan MacDonald
17th Jan 00:37 f68c6c14d9: recscreen: clean up menu building code

Remove the use of constants and ifdefs in favor of a single enum and build the menu with a counter. This simplifies the source and optimizes to the same code.
apps/recorder/recording.c [diff]
Aidan MacDonald
17th Jan 00:37 acc7d16e3b: Fix some hardcoded assumptions in recording.c

There were some hardcoded branches handling left/right gain for line-in or FM radio inputs. If the target only has a microphone, these bits are useless and cause compile errors due to missing audiohw settings, etc. This patch #ifdef's them out.
apps/recorder/peakmeter.c [diff]
apps/recorder/recording.c [diff]
Aidan MacDonald
17th Jan 00:35 8e65f1db55: manual: Document the DAC power mode setting

Make a note of the fact that the M3K DAC's high performance setting is not necessarily the highest quality setting -- see forum post https://forums.rockbox.org/index.php/topic,52917.msg249741.html#msg249741
manual/configure_rockbox/sound_settings.tex [diff]
Aidan MacDonald
17th Jan 00:35 d93e054419: fiiom3k: power down amp before switching DAC power modes

As detailed in the <Low Power Mode> section of the AK4376A datasheet, the amp should be powered down before switching power modes (or to a sample rate <= 12 KHz).
firmware/drivers/audio/ak4376.c [diff]
Aidan MacDonald
17th Jan 00:35 dac3175445: audiohw: avoid magic numbers for DAC power mode

Define proper symbolic constants for power mode. Also allow targets to define the default power mode setting.
apps/settings_list.c [diff]
firmware/drivers/audio/ak4376.c [diff]
firmware/export/ak4376.h [diff]
firmware/export/audiohw.h [diff]
firmware/target/mips/ingenic_x1000/fiiom3k/audiohw-fiiom3k.c [diff]
firmware/target/mips/ingenic_x1000/shanlingq1/audiohw-shanlingq1.c [diff]
Aidan MacDonald
17th Jan 00:17 18b3e91707: x1000: internal codec audio driver
firmware/SOURCES [diff]
firmware/drivers/audio/x1000-codec.c [new]
firmware/export/audiohw.h [diff]
firmware/export/x1000-codec.h [new]
Aidan MacDonald
17th Jan 00:17 15e3d37110: x1000: core PCM recording support
firmware/export/x1000.h [diff]
firmware/target/mips/ingenic_x1000/debug-x1000.c [diff]
firmware/target/mips/ingenic_x1000/pcm-x1000.c [diff]
Aidan MacDonald
16th Jan 23:58 0fbaeed250: Remove ACTION_SETTINGS_RESET

This action has never been used since its introduction in 2006. There's no real need for it, as it's possible to reset settings from the context menu.
apps/action.h [diff]
apps/keymaps/keymap-agptekrocker.c [diff]
apps/keymaps/keymap-c200.c [diff]
apps/keymaps/keymap-clip.c [diff]
apps/keymaps/keymap-creativezv.c [diff]
apps/keymaps/keymap-creativezvm.c [diff]
apps/keymaps/keymap-e200.c [diff]
apps/keymaps/keymap-erosq.c [diff]
apps/keymaps/keymap-fiiom3k.c [diff]
apps/keymaps/keymap-fiiom3klinux.c [diff]
apps/keymaps/keymap-fuze.c [diff]
apps/keymaps/keymap-fuzeplus.c [diff]
apps/keymaps/keymap-gigabeat-s.c [diff]
apps/keymaps/keymap-gigabeat.c [diff]
apps/keymaps/keymap-h10.c [diff]
apps/keymaps/keymap-h1x0_h3x0.c [diff]
apps/keymaps/keymap-hdd1630.c [diff]
apps/keymaps/keymap-hdd6330.c [diff]
apps/keymaps/keymap-hm60x.c [diff]
apps/keymaps/keymap-hm801.c [diff]
apps/keymaps/keymap-ihifi.c [diff]
apps/keymaps/keymap-ihifi770.c [diff]
apps/keymaps/keymap-ihifi800.c [diff]
apps/keymaps/keymap-m200.c [diff]
apps/keymaps/keymap-ma.c [diff]
apps/keymaps/keymap-meizu-m6sl.c [diff]
apps/keymaps/keymap-mini2440.c [diff]
apps/keymaps/keymap-mr100.c [diff]
apps/keymaps/keymap-mr500.c [diff]
apps/keymaps/keymap-nwz.c [diff]
...and 9 more files.
Aidan MacDonald
9th Jan 20:12 c62c323ebc: axp-pmu: adc refactor

Remove the battery power ADC since it's not used right now, and seems to fluctuate too rapidly to be of much use.
firmware/drivers/axp-pmu.c [diff]
firmware/export/axp-pmu.h [diff]
firmware/target/mips/ingenic_x1000/erosqnative/power-erosqnative.c [diff]
firmware/target/mips/ingenic_x1000/fiiom3k/power-fiiom3k.c [diff]
firmware/target/mips/ingenic_x1000/shanlingq1/power-shanlingq1.c [diff]
Aidan MacDonald
9th Jan 19:58 b490f08b7c: axp-pmu: remove chip ID code

It's useless except to developers, who can easily add code somewhere to print the ID.
firmware/drivers/axp-pmu.c [diff]
Aidan MacDonald
9th Jan 19:58 eee8243102: axp-pmu: clean up charge current setting
firmware/drivers/axp-pmu.c [diff]
firmware/export/axp-pmu.h [diff]
Aidan MacDonald
9th Jan 19:58 eaee5e7339: Revert "AXP PMU rewrite (again)"

This caused LCD problems on the ErosQ, where the screen would go white until being put through a sleep/wake cycle. The exact reason for this isn't obvious, but the problem didn't exist prior to the AXP driver rewrite.

The two dependent changes,

42999913ba - x1000: Increase USB current limit to 500 mA at all times 90dd2f84a9 - x1000: Correctly limit USB charging current

ended up bringing the USB charging situation back to where it was prior to the rewrite, so the cleanest option is to revert the whole lot.

This reverts commit 42999913ba3a76221fceb04b1f935ed4e0e71476. This reverts commit 90dd2f84a9174c38dbfb07d582ec6ee7697b1939. This reverts commit 2d891439623bb76d38b98202ca5f3eea3c01c5f0.
firmware/SOURCES [diff]
firmware/drivers/axp-pmu.c [new]
firmware/drivers/axp192.c [deleted]
firmware/export/axp-pmu.h [new]
firmware/export/axp192-defs.h [deleted]
firmware/export/axp192.h [deleted]
firmware/target/mips/ingenic_x1000/erosqnative/button-erosqnative.c [diff]
firmware/target/mips/ingenic_x1000/erosqnative/power-erosqnative.c [diff]
firmware/target/mips/ingenic_x1000/fiiom3k/button-fiiom3k.c [diff]
firmware/target/mips/ingenic_x1000/fiiom3k/power-fiiom3k.c [diff]
firmware/target/mips/ingenic_x1000/shanlingq1/button-shanlingq1.c [diff]
firmware/target/mips/ingenic_x1000/shanlingq1/power-shanlingq1.c [diff]
Aidan MacDonald
9th Jan 14:36 8f063d49c2: ImageViewer: Fix FS #13329 (GIF File handle/memory leaks)
apps/plugins/imageviewer/gif/gif.c [diff]
apps/plugins/imageviewer/gif/gif_decoder.c [diff]
apps/plugins/imageviewer/gif/gif_decoder.h [diff]
Christian Soffke
9th Jan 14:36 f379e1dbb3: ImageViewer: Fix GIF Decoder progress bar
apps/plugins/imageviewer/gif/gif_decoder.c [diff]
Christian Soffke
9th Jan 14:36 18358ed541: ImageViewer: Fix gifs sporadically crashing on targets

ensure 32bit alignment
apps/plugins/imageviewer/gif/gif.c [diff]
Christian Soffke
9th Jan 14:36 fbdcfca085: ImageViewer: Improve smoothness of animated gif playback

Don't disable grayscale overlay, don't show "resize" messages between frames and and don't clear display unless actually necessary
apps/plugins/imageviewer/gif/gif.c [diff]
apps/plugins/imageviewer/imageviewer.c [diff]
Christian Soffke
9th Jan 14:11 3adeae2026: ImageViewer: Fix crash when zooming on grayscale devices

lcd_update was called while the grayscale overlay was running

regression, apparently introduced by 0ceaff2

(only reproducible on target, not in Simulator)
apps/plugins/imageviewer/imageviewer.c [diff]
Christian Soffke
8th Jan 23:06 f1ddd6f014: ErosQ Native: Fix Color Chooser keymap context

Was defaulting to standard, where we don't have increment or decrement defined.
apps/keymaps/keymap-erosq.c [diff]
Dana Conrad
5th Jan 17:28 131497d786: PictureFlow: Don't sync playlist after every file

Since we manually do it later, syncing after every file is unnecessary and can make the audio queue overflow
apps/plugins/pictureflow/pictureflow.c [diff]
Christian Soffke
5th Jan 15:43 ea738e03d0: Printcell.c fix list item scrolling behavior

make every item in a selection scroll when no columns are selected otherwise title & currently selected column will be the only scrolling lines
apps/plugins/lib/printcell_helper.c [diff]
William Wilgus
4th Jan 23:06 122ce0089a: PictureFlow: Don't insert tracks if track list not available
apps/plugins/pictureflow/pictureflow.c [diff]
Christian Soffke
4th Jan 23:04 de8ee6c9e9: PictureFlow: Switch between albums from track view

Prev/next buttons on iPods or Fiio M3k can now be used to select another album without having to return to the albums view first. Scroll wheel/strip handles scrolling up and down in the track list as before.

Other targets probably have the necessary buttons for this, so the keymap can be extended in the future (same goes for alphabetic browsing)

Also prevents queue overflow and handles failure case for track list tagcache retrieval.
apps/plugin.c [diff]
apps/plugin.h [diff]
apps/plugins/pictureflow/pictureflow.c [diff]
Christian Soffke
4th Jan 23:04 d183959676: PictureFlow: Show track list loading message

When tagcache or storage are busy, it can take a few seconds for the list to appear. Meanwhile, the screen used to be either blank or the cover was left suspended in mid-animation, if the animation was skipped.
apps/plugins/pictureflow/pictureflow.c [diff]
Christian Soffke
4th Jan 23:02 dded97be34: PictureFlow: Fix buffer overflow

create_track_index appears to have relied on buflib_buffer_out returning a certain amount of space without checking that it was actually available. In at least one test case, as little as 16 bytes were returned, leading to a buffer overflow and later a segfault.
apps/plugins/pictureflow/pictureflow.c [diff]
Christian Soffke
4th Jan 23:00 e3b8b7fa80: PictureFlow: Utilize "Current Playlist" menu (+ GS fixes)

When appending tracks, they were always inserted last. You can now choose from the usual options offered by the "Current Playlst" context menu to queue or to insert tracks at the requested position. The splash after appending that forced you to wait for 2s has been eliminated.

Also fixes crashes on targets that use the grey_core lib if a splash showed up when playback was started, e.g. LANG_PLAYLIST_CONTROL_ACCESS_ERROR, or when PictureFlow quit.
apps/onplay.c [diff]
apps/onplay.h [diff]
apps/playlist_viewer.c [diff]
apps/plugin.c [diff]
apps/plugin.h [diff]
apps/plugins/pictureflow/pictureflow.c [diff]
apps/shortcuts.c [diff]
Christian Soffke
4th Jan 21:51 bfe3dac3ba: printcell_helper.c bugfix scrollbar spacing

when the scrollbar was on left and number of items was < nb_lines the spacing between title and items was off by sb_width

selected item no longer draws separators when no colums are selected
apps/plugins/lib/printcell_helper.c [diff]
William Wilgus
2nd Jan 20:50 cbb57fe714: rbutil: allow checking bootloader installer capabilities

Instead of checking for certain hardcoded strings, fetch the actual capability bitmask by instantiating an installer and querying it.
utils/rbutilqt/base/bootloaderinstallbase.h [diff]
utils/rbutilqt/base/bootloaderinstallhelper.cpp [diff]
utils/rbutilqt/base/bootloaderinstallhelper.h [diff]
utils/rbutilqt/base/bootloaderinstallipod.cpp [diff]
utils/rbutilqt/base/bootloaderinstallsansa.cpp [diff]
utils/rbutilqt/rbutilqt.cpp [diff]
Aidan MacDonald
2nd Jan 20:11 42999913ba: x1000: Increase USB current limit to 500 mA at all times

The 100 mA USB current limit added in commit 90dd2f84a9 is a problem when booting with a completely dead battery. Often 100 mA isn't enough to power the player, never mind charge the battery, so revert to the old behavior of only limiting charge current.

Given that the original firmware on these devices isn't following the USB spec to the letter, it's probably not worth trying to make Rockbox do so unless and until it causes a real problem - which hasn't happened yet.
firmware/target/mips/ingenic_x1000/erosqnative/power-erosqnative.c [diff]
firmware/target/mips/ingenic_x1000/fiiom3k/power-fiiom3k.c [diff]
firmware/target/mips/ingenic_x1000/shanlingq1/power-shanlingq1.c [diff]
Aidan MacDonald
2nd Jan 20:11 83c2398384: x1000: Fix USB connection problems in bootloader

This problem actually had nothing to do with USB boot; it's because the cable is plugged in when the USB mode menu item is selected. The USB thread detected the select button press and went into charge-only mode (as it usually does when you hold down a key in Rockbox). This is fixed by having the USB thread ignore most keys in the bootloader.

USB connect events are delivered via the button queue, and there were also cases where the connection could be missed if the event happened within another UI screen. This should also be fixed.
bootloader/x1000.c [diff]
firmware/export/config/erosqnative.h [diff]
firmware/export/config/fiiom3k.h [diff]
firmware/export/config/shanlingq1.h [diff]
Aidan MacDonald
2nd Jan 20:11 af872b54ec: powermgmt: Bugfixes to time estimation code

Guard against division by zero and prevent the time_now value from going negative if the counter drops below zero.
firmware/powermgmt.c [diff]
Aidan MacDonald
2nd Jan 04:56 a7703e4926: gui lists add callback for owner drawn items

allow the guts of gui_sync_list to be used with owner drawn items

WIP

printcell_helper--

goal: allow data to be displayed in a spreadsheet format with an easy to use interface

printcell_set_columns(gui_synclist, title, icon) sets title and calculates cell widths each column is identified by '$' character ex 3 columns title = "Col1$Col2$Col3" also accepts $*WIDTH$ ex 3 columns varying width title = "$*64$Col1$*128$Col2$Col3 printcell_enable(gui_synclist, enable) sets the printcell function enabled

After setting the columns and enabling the printcell function items can be added to the list like normal column items are supplied delimited by '$' ex item = "Item1$item2$item3" they will be placed in cells defined by set_columns and scroll if the cell is too small

--Fixed for 1 bit & 2 bit displays
apps/gui/bitmap/list.c [diff]
apps/gui/list.c [diff]
apps/gui/list.h [diff]
apps/plugins/lib/SOURCES [diff]
apps/plugins/lib/printcell_helper.c [new]
apps/plugins/lib/printcell_helper.h [new]
apps/plugins/rb_info.c [diff]
William Wilgus
2nd Jan 03:01 edc68b0657: Solitaire: Fix Quit option with no saved games

Selecting "Quit" would start the game instead of quitting if no games had previously been saved.
apps/plugins/solitaire.c [diff]
Christian Soffke
2nd Jan 03:01 14a5355278: Manual: fix FS #12603

"root menu order" item missing from "Config file options" chapter
manual/appendix/config_file_options.tex [diff]
Christian Soffke
2nd Jan 03:00 abfee36ce0: PictureFlow: enable theme in settings menus

Submenus for adjusting settings were previously left unthemed
apps/plugins/pictureflow/pictureflow.c [diff]
Christian Soffke

Page template was last modified "Tue Sep 7 00:00:02 2021" The Rockbox Crew -- Privacy Policy