rockbox/firmware/export
Aidan MacDonald 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.

Change-Id: I6f91fd3f7c5e2d323a914e47b5653033e92b4b3b
2023-01-22 21:19:57 +00:00
..
config Add locked actions to all soft lock targets 2023-01-02 13:19:43 -05:00
adc.h adc-target.h: cleanup 2012-01-08 00:39:29 +00:00
aic3x.h Do some cleanup, adjustment and a couple fixes to recent sound changes. 2013-04-22 20:38:17 -04:00
ak4376.h FiiO M3K: audio recording 2022-01-29 19:28:03 +00:00
ak4537.h Radio and radio recording for Samsung YH-920. 2014-06-18 18:06:17 +00:00
akcodec.h
as3514.h as3514: document hardware setting based on as3514.c 2016-12-12 13:10:52 +01:00
as3525.h Move usb-s3c6400 register comments to usb-s3c6400.h 2011-12-13 04:21:06 +00:00
as3525v2.h as3525v2: use the new USB DesignWare driver 2016-08-15 02:56:23 +02:00
ascodec.h AMS: Return ascodec to interrupt-based I2C2 driver 2017-01-25 00:05:13 +01:00
at91sam9260.h
ata-defines.h Bulk convert all DOS line endings to UNIX. 2011-11-06 22:44:25 +00:00
ata-driver.h Add STORAGE_INIT_ATTR to some target-specific ATA functions. 2011-12-09 02:07:24 +00:00
ata.h ata: Prevent powering-off ATA hardwre if it reports as mSATA or m.2 2022-12-20 20:38:43 -05:00
ata_idle_notify.h events: Rework event subsystem (add_event, send_event) to be more versatile. 2014-03-14 23:36:30 +01:00
ata_mmc.h Unify storage threads into one 2017-10-26 14:35:41 -04:00
audio.h [3/4] Completely remove HWCODEC support 2020-07-24 21:20:13 +00:00
audiohw.h audiohw: avoid magic numbers for DAC power mode 2022-01-16 19:35:40 -05:00
audiohw_settings.h Add new audiohw capability: POWER_MODE_CAP 2021-03-22 13:00:11 +00:00
axp-pmu.h axp-pmu: adc refactor 2022-01-09 20:12:41 +00:00
backlight-sw-fading.h
backlight.h clean up button.c optimize !filter_first_keypress 2023-01-02 11:04:47 -05:00
backtrace.h mips: add native backtrace implementation 2022-05-22 07:16:11 -04:00
bidi.h
bitswap.h
bootchart.h
bootdata.h Add boot data support to rockbox. 2017-10-29 17:50:59 +01:00
button.h touchscreen: change odd sentinel value for time of last touch 2021-11-21 20:26:20 +00:00
codec-dx50.h Fix checkwps build for dx50 & dx90 targets 2020-04-14 08:15:19 +02:00
codec-dx90.h Fix checkwps build for dx50 & dx90 targets 2020-04-14 08:15:19 +02:00
config.h Add perceptual volume adjustment 2023-01-22 21:19:57 +00:00
config_caps.h audio: Add support for 192 and 176KHz playback 2020-09-30 21:37:11 -04:00
cpu.h x1000: Centralize common definitions, memory layout 2021-04-28 20:04:10 +01:00
cs42l55.h iPod Classic: capture support for CS42L55 codec 2015-10-07 06:15:03 +02:00
cs4398.h cs4398: Change default volume to -25 dB (from 0 dB) 2020-08-29 08:51:35 -04:00
cscodec.h
cw2015.h New port: Shanling Q1 native 2021-07-13 22:01:33 +01:00
dac3550a.h Straighten out the mad twisted state of sound.c and related areas. 2013-04-15 12:02:05 -04:00
debug.h Hosted: Merge debugf() implementations. Cleanup debug.h. 2012-01-21 18:39:19 +01:00
df1704.h ma9: Slightly change df1704 driver API. 2013-11-05 09:59:45 +04:00
disk.h Rewrite filesystem code (WIP) 2014-08-30 03:48:23 +02:00
dm320.h DM320: Regorganize LCD and TTB memory layout 2021-07-09 09:24:38 +00:00
ds2411.h
dsp-util.h Add rbcodecplatform.h and rbcodecconfig.h. 2012-05-03 14:49:35 +02:00
dummy_codec.h Do some cleanup, adjustment and a couple fixes to recent sound changes. 2013-04-22 20:38:17 -04:00
eeprom_24cxx.h
eeprom_settings.h iriver_flash: update valid bootloaders table 2020-11-16 11:57:18 +00:00
enc_base.h Update software recording engine to latest codec interface. 2013-06-30 00:40:27 +02:00
eros_qn_codec.h ErosQNative: Enable Line Out capabilities on new revision players 2023-01-22 15:11:35 -05:00
erosqlinux_codec.h ErosQ (both): avoid clipping due to DC offset bandaid 2021-09-05 15:50:21 +00:00
es9018.h Add Xuelin iHIFI 770/770C/800 support 2019-01-02 08:10:01 -05:00
es9218.h New port: Shanling Q1 native 2021-07-13 22:01:33 +01:00
events.h USB add Insertion and Extraction callback events 2021-10-31 12:02:38 -04:00
fat.h file/fat: rework utime function as modtime extension 2021-07-08 17:47:51 +00:00
fiiolinux_codec.h pcm: Get rid of pcm_play_pause() and associated APIs 2020-10-31 01:18:27 +00:00
fmradio.h
fmradio_3wire.h Radio and radio recording for Samsung YH-920. 2014-06-18 18:06:17 +00:00
fmradio_i2c.h
font.h make splash split on control characters 2022-11-12 06:22:16 -05:00
ft6x06.h Shanling Q1: enable multi-touch reporting 2021-11-24 18:49:03 -05:00
gdb_api.h Nuke the never-functional iriver ifp-7xx port 2021-04-26 07:42:58 -04:00
general.h [3/4] Completely remove HWCODEC support 2020-07-24 21:20:13 +00:00
generic_i2c.h Sansa Connect: Use deviceid in USB Serial Number 2021-07-10 08:56:32 +02:00
hangul.h
hd66789r.h
hosted_codec.h iBasso DX50/DX90: Major code cleanup and reorganization. 2015-02-02 21:57:55 +01:00
hostfs.h Define a USB storage type, and hook it up for hosted targets 2020-10-17 18:38:49 -04:00
hwcompat.h [1/4] Remove SH support and all archos targets 2020-07-24 21:20:13 +00:00
i2c-async.h Make inline functions in headers 'static inline' 2021-12-02 21:31:54 +00:00
i2c-coldfire.h Add INIT_ATTR to i2c_init() 2023-01-12 06:33:50 -05:00
i2c-pp.h
i2c-rk27xx.h Add INIT_ATTR to i2c_init() 2023-01-12 06:33:50 -05:00
i2c-s5l8700.h Add INIT_ATTR to i2c_init() 2023-01-12 06:33:50 -05:00
i2c-s5l8702.h Add INIT_ATTR to i2c_init() 2023-01-12 06:33:50 -05:00
i2c.h Fix red in 7e5fc4076a 2023-01-12 11:56:47 +00:00
i2s.h
iap.h iAP: lingo 1 (microphone) 2015-10-07 06:15:04 +02:00
imx31l.h
imx233-codec.h imx233: slightly rework 3D audio setting 2016-12-12 12:15:24 +01:00
imx233.h imx233: fix soc header for stmp3600 and stmp3700 2013-06-18 15:33:07 +02:00
ipod_remote_tuner.h Improve radio RDS driver and framework 2017-02-11 22:19:32 -05:00
isp1362.h
isp1583.h creative zvm isp1583 defines: move to isp1583.h 2011-12-31 18:44:32 +00:00
jz4740-codec.h Do some cleanup, adjustment and a couple fixes to recent sound changes. 2013-04-22 20:38:17 -04:00
jz4740.h fix red from #641e91aa2f 2023-01-13 17:02:23 -05:00
jz4760b.h jz47x0: Minor code quality improvements in the jz47xx USB drivers 2021-11-22 08:08:12 -05:00
jz_mxu.h
lcd-remote.h lcd_framebuffer bugfixes, sanity checks 2020-10-31 01:11:30 -04:00
lcd.h Revert "Remove YUV blitting functions and LCD modes" 2022-10-13 11:08:06 -04:00
led.h
linuxboot.h x1000: bootloader: fix Linux self-extracting kernel boot 2022-03-24 23:40:07 +00:00
load_code.h Rewrite filesystem code (WIP) 2014-08-30 03:48:23 +02:00
logdiskf.h logdiskf.h - fix wrong cpp conditionals 2012-10-22 22:36:11 +02:00
logf.h logf: Fix two issues with logf_panic_dump() 2021-08-06 10:08:00 -04:00
ltv350qv.h
lv24020lp.h
m5636.h
m66591.h
mc13783.h imx31: Work around an apparently not-quite-kosher abuse of CPP 2020-10-13 15:48:31 -04:00
mcf5249.h
mcf5250.h
mi4-loader.h multiboot: Refactor duplicated functions to a separate file 2022-03-11 10:58:20 -05:00
mips-archdefs.h
mips.h
mipsregs.h
mmc.h Cleanup MV/MD macros a little. 2013-08-17 12:18:22 -04:00
mpr121.h zenxfi3: rewrite mpr121 driver 2016-06-01 23:09:27 +02:00
multiboot.h multiboot: Refactor duplicated functions to a separate file 2022-03-11 10:58:20 -05:00
mv.h [RESTORED!] Allow mounting of any directory as the root directory. 2022-03-03 18:58:07 -05:00
nand.h Cleanup MV/MD macros a little. 2013-08-17 12:18:22 -04:00
nand_id.h
nwzlinux_codec.h nwzlinux: add support for radio 2017-11-06 21:37:06 +01:00
ohci.h
panic.h panicf doesn't return so why not tell GCC and $AVE : 2014-08-25 13:55:16 -04:00
pathfuncs.h Add path_strip_last_volume 2022-04-01 11:40:02 -04:00
pca9555.h Introduce HiFi E.T MA9 port. 2013-05-06 14:09:24 +04:00
pcf5060x.h
pcf5063x.h iPod Classic: ADC updates 2016-08-12 14:17:46 +02:00
pcf50605.h
pcf50606.h
pcf50635.h
pcm-internal.h pcm: Remove unused function pcm_play_dma_get_peak_buffer() 2021-07-25 14:07:41 +00:00
pcm.h pcm: Further cleanup of unused bits of the PCM ACPI: 2020-11-12 15:59:09 +00:00
pcm1792.h Introduce HiFi E.T. MA8/MA8C ports. 2013-11-05 09:59:45 +04:00
pcm_mixer.h hosted: Improve buffer underrun handling in the ALSA driver 2020-11-18 14:38:12 -05:00
pcm_sampr.h [BugFix] Fix some Shif related UB -- ASAN 2023-01-04 22:00:25 -05:00
pcm_sw_volume.h Provide high resolution volume and prescaler to hosted targets. 2013-04-27 06:59:27 +02:00
pl080.h headers: Don't blindly include <inttypes.h> in files used by ASM 2020-03-29 00:49:06 +01:00
pl081.h
pl180.h
pnx0101.h
power.h Rework powermgmt to enable code re-use on appliation and sims. 2012-01-03 23:44:38 +00:00
powermgmt.h apps: Add ability to do a clean reboot 2022-04-16 14:36:39 +01:00
pp5002.h Revise the PCM callback system after adding multichannel audio. 2012-03-03 07:23:38 +01:00
pp5020.h H10 PP Crash -- Fixed 2021-04-01 00:52:57 -04:00
pp5024.h
pp6100.h sansaview: fix lcd code 2014-05-11 19:56:43 +02:00
profile.h
qt1106.h
r61509.h
ramdisk.h Cleanup MV/MD macros a little. 2013-08-17 12:18:22 -04:00
rbpaths.h [RESTORED!] Allow mounting of any directory as the root directory. 2022-03-03 18:58:07 -05:00
rda5802.h
rds.h Improve radio RDS driver and framework 2017-02-11 22:19:32 -05:00
rectangle.h Add rectangle utility functions 2022-12-01 12:36:28 -05:00
rk27xx.h Add Xuelin iHIFI 770/770C/800 support 2019-01-02 08:10:01 -05:00
rk27xx_codec.h Do some cleanup, adjustment and a couple fixes to recent sound changes. 2013-04-22 20:38:17 -04:00
rkw-loader.h rename rkw.h header file 2012-03-04 00:36:02 +01:00
rocker_codec.h pcm: Get rid of pcm_play_pause() and associated APIs 2020-10-31 01:18:27 +00:00
rolo.h hosted: Add ROLO support for hosted targets 2020-10-11 14:18:42 +00:00
rtc.h [1/4] Remove SH support and all archos targets 2020-07-24 21:20:13 +00:00
s3c2440.h
s5l8700.h headers: Don't blindly include <inttypes.h> in files used by ASM 2020-03-29 00:49:06 +01:00
s5l8702.h headers: Don't blindly include <inttypes.h> in files used by ASM 2020-03-29 00:49:06 +01:00
screendump.h firmware: allow screendump in bootloader 2022-03-24 18:59:50 -04:00
scroll_engine.h [4/4] Remove HAVE_LCD_BITMAP, as it's now the only choice. 2020-07-24 21:20:13 +00:00
sd.h Unify storage threads into one 2017-10-26 14:35:41 -04:00
sdmmc.h imx233: merge sd and mmc drivers, fix dma issues 2012-08-18 18:24:42 +02:00
serial.h
si4700.h RFT: convert Gigabeat RDS to thread 2022-02-07 22:01:20 +01:00
sound.h Revert "sound: add sound_numdecimals() to round out the sound setting query API" 2021-04-09 10:52:02 +00:00
spdif.h
spi.h Clean spi.h and spi-target.h 2012-01-07 22:04:12 +00:00
stfm1000.h zenxfi3&stfm1000: implement fmradio i2c and debug screen 2012-05-19 18:04:25 +02:00
storage.h Define a USB storage type, and hook it up for hosted targets 2020-10-17 18:38:49 -04:00
structec.h
sw_i2c.h
synaptics-mep.h
synaptics-rmi.h fuze+: rewrite touchpad driver 2016-06-01 23:08:17 +02:00
system.h Add INIT_ATTR to system_init() 2023-01-12 06:05:55 -05:00
tcc780x.h
tea5760.h
tea5767.h
timer.h Fix timer Agptek Rocker (other hosted players) 2019-10-17 21:19:00 +02:00
tlv320.h tlv320: document audiohw setting based on tlv320.c 2016-12-12 13:13:52 +01:00
touchpad.h touch devices: Disable touch on softlock. 2013-09-05 20:02:07 +02:00
touchscreen.h fix red 2013-09-05 20:35:51 +02:00
tsc200x.h
tsc2100.h Do some cleanup, adjustment and a couple fixes to recent sound changes. 2013-04-22 20:38:17 -04:00
tuner.h [1/4] Remove SH support and all archos targets 2020-07-24 21:20:13 +00:00
uc870x.h iPod Classic: updates for uc8702 driver 2016-05-13 23:21:42 +02:00
ucl_decompress.h Add standalone UCL decompressor 2021-05-12 10:35:20 +00:00
uda1341.h Do some cleanup, adjustment and a couple fixes to recent sound changes. 2013-04-22 20:38:17 -04:00
uda1380.h uda1380: document audiohw setting based on uda1380.c 2016-12-12 13:14:22 +01:00
udacodec.h
usb-designware.h usb-designware: port to new USB API 2021-10-16 21:14:42 +01:00
usb-s3c6400x.h GHWCFG* are not as3525v2 specific 2012-01-01 19:21:49 +00:00
usb-tcc.h
usb.h usb: remove "Ask" USB Mode (FS#13317) 2022-06-21 18:11:53 -04:00
usb_ch9.h USB Serial: Implement Abstract Control Management 2021-06-12 14:47:15 +00:00
usb_core.h usb: introduce new control request API 2021-10-16 15:58:43 -04:00
usb_drv.h usb: introduce new control request API 2021-10-16 15:58:43 -04:00
wifi.h Sansa Connect: Initial libertas WiFi driver port 2021-07-04 07:41:44 +00:00
wm8731.h wm8731: document audiohw settings 2016-12-12 13:11:25 +01:00
wm8740.h Add Xuelin iHIFI 770/770C/800 support 2019-01-02 08:10:01 -05:00
wm8751.h wm8751: document and fix audiohw settings 2016-12-12 13:12:15 +01:00
wm8758.h wm8758: document and fix audiohw settings 2016-12-12 13:12:47 +01:00
wm8975.h wm8975: document audiohw settings 2016-12-12 13:13:13 +01:00
wm8978.h Do some cleanup, adjustment and a couple fixes to recent sound changes. 2013-04-22 20:38:17 -04:00
wm8985.h Do some cleanup, adjustment and a couple fixes to recent sound changes. 2013-04-22 20:38:17 -04:00
wmcodec.h
x1000-codec.h x1000: internal codec audio driver 2022-01-16 19:17:25 -05:00
x1000.h x1000: Clarify definition & usage of RAM areas 2022-03-11 11:15:56 -05:00
xduoolinux_codec.h xduoox3ii: Add "Super Slow" filter roll-off 2021-07-17 08:18:31 -04:00