rockbox/apps/features.txt
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

302 lines
4.7 KiB
Text

/* This file controls which strings are included when rockbox is built and
when the .lng and .voice files are built. That means that a change in this
file will break compatibility with older .lng and .voice files and that those
version numbers should be updated. It also means that changing defines in
the various config*.h files could also break back compatibility */
#if defined(HAVE_ACCESSORY_SUPPLY)
accessory_supply
#endif
#if defined(HAVE_AGC)
agc
#endif
#if defined(HAVE_RTC_ALARM)
alarm
#endif
#if defined(HAVE_BACKLIGHT_BRIGHTNESS)
backlight_brightness
#endif
#if BATTERY_TYPES_COUNT > 1
battery_types
#endif
#if defined(HAVE_BUTTON_LIGHT)
button_light
#endif
#if defined(HAVE_BUTTONLIGHT_BRIGHTNESS)
buttonlight_brightness
#endif
#if defined(HAVE_CROSSFADE)
crossfade
#endif
#if defined(HAVE_DIRCACHE)
dircache
#endif
#if defined(HAVE_FLASH_STORAGE)
flash_storage
#endif
#if defined(HAVE_HEADPHONE_DETECTION)
headphone_detection
#endif
#if defined(HAVE_LINEOUT_DETECTION)
lineout_detection
#endif
#if defined(HAS_BUTTON_HOLD)
hold_button
#endif
#if defined(HAVE_HOTKEY)
hotkey
#endif
lcd_bitmap
#if LCD_DEPTH > 1
lcd_non-mono
#endif
#if defined(HAVE_LCD_COLOR)
lcd_color
#endif
#if defined(HAVE_LCD_INVERT)
lcd_invert
#endif
#if defined(HAVE_LCD_SLEEP)
lcd_sleep
#endif
#if defined(HAVE_MORSE_INPUT)
morse_input
#endif
#if defined(HAVE_PITCHCONTROL)
pitchscreen
#endif
#if defined(HAVE_MULTIVOLUME)
multivolume
#endif
#if defined(HAVE_MULTIDRIVE) && defined(USB_ENABLE_STORAGE)
multidrive_usb
#endif
#if defined(HAVE_QUICKSCREEN)
quickscreen
#endif
#if CONFIG_TUNER != 0
radio
#ifdef HAVE_REMOTE_LCD
radio_remote
#endif
#endif
#if defined(HAVE_RDS_CAP)
rds
#endif
#if defined(HAVE_RECORDING)
recording
#if defined(HAVE_LINE_IN)
recording_linein
#endif
#if defined(HAVE_MIC_IN)
recording_mic
#endif
#endif
#if defined(HAVE_HISTOGRAM)
histogram
#endif
#if defined(HAVE_REMOTE_LCD)
remote
remote_lcd_invert
#endif
#if defined(HAVE_REMOTE_LCD_TICKING)
remote_ticking
#endif
#if CONFIG_RTC
rtc
#endif
#if defined(IPOD_ACCESSORY_PROTOCOL)
serial_port
#endif
#if defined(HAVE_SPDIF_POWER)
spdif_power
#endif
#if defined(HAVE_SPEAKER)
speaker
#endif
swcodec
#if defined(HAVE_TAGCACHE)
tagcache
#endif
#if defined(HAVE_TC_RAMCACHE)
tc_ramcache
#endif
#if CONFIG_CHARGING
charging
#if defined(HAVE_USB_CHARGING_ENABLE)
usb_charging_enable
#endif
#endif
#if defined(HAVE_WHEEL_ACCELERATION)
wheel_acceleration
#endif
#if defined(HAVE_LINEOUT_POWEROFF)
lineout_poweroff
#endif
#if defined(HAVE_TOUCHSCREEN)
touchscreen
#endif
#if defined(HAVE_TOUCHPAD_DEADZONE)
touchpad_deadzone
#endif
#if defined(HAVE_IMX233_CODEC) || defined(HAVE_WM8750) || defined(HAVE_WM8978)
depth_3d
#endif
/* This should be AUDIOHW_HAVE_FILTER_ROLL_OFF but that is only defined later */
#if defined(DX50) || defined(HAVE_DF1704_CODEC) || defined(HAVE_PCM1792_CODEC) || defined(HAVE_CS4398) || defined(HAVE_WM8740) || defined(HAVE_ES9018) || defined(HAVE_XDUOO_LINUX_CODEC) || defined(HAVE_FIIO_LINUX_CODEC) || defined(HAVE_AK4376) || defined(HAVE_ES9218)
filter_roll_off
#endif
/* This should be AUDIOHW_HAVE_POWER_MODE but that is not defined yet */
#if defined(HAVE_AK4376) || defined(HAVE_ES9218)
dac_power_mode
#endif
#if defined(HAVE_ES9018)
es9018
#endif
#if defined(HAVE_ES9218)
es9218
#endif
/* These features are only used by the manual so they won't break binary
* compatibility
*/
#if (PLUGIN_BUFFER_SIZE >= 0x80000)
large_plugin_buffer
#endif
#if defined(AB_REPEAT_ENABLE) && !defined(ACTION_WPSAB_SINGLE)
ab_repeat_buttons
#endif
#if defined(HAVE_ALBUMART)
albumart
#endif
#if defined(HAVE_BACKLIGHT_FADING_INT_SETTING)
backlight_fade_int
#elif defined(HAVE_BACKLIGHT_FADING_BOOL_SETTING)
backlight_fade_bool
#endif
#if defined(HAVE_DISK_STORAGE)
disk_storage
#endif
#if defined(HAS_REMOTE_BUTTON_HOLD)
remote_button_hold
#endif
#if defined(HAVE_LCD_FLIP)
lcd_flip
#endif
#if defined(HAVE_LCD_CONTRAST)
lcd_contrast
#endif
#if defined(HAVE_SCROLLWHEEL)
scrollwheel
#endif
#if defined(HAVE_USB_POWER)
usb_power
#endif
#if defined(HAVE_USBSTACK)
usbstack
#endif
#if defined(USB_ENABLE_HID)
usb_hid
#if defined(HAVE_USB_HID_MOUSE)
usb_hid_mouse
#endif
#endif
#if defined(HAVE_SPDIF_IN)
recording_digital
#endif
#if MEMORYSIZE <= 2
lowmem
#elif MEMORYSIZE > 8
himem
#endif
#if defined(HAVE_HARDWARE_CLICK)
hardware_click
#endif
#if defined(HAVE_PLAY_FREQ)
play_frequency
#endif
#if defined(HAVE_BOOTDATA)
boot_data
#endif
#if defined(HAVE_MULTIBOOT)
multi_boot
#endif
#if defined(HIBY_LINUX)
hibylinux
#endif
#if defined(BUTTON_REC) || \
(CONFIG_KEYPAD == GIGABEAT_PAD) || \
(CONFIG_KEYPAD == IPOD_4G_PAD) || \
(CONFIG_KEYPAD == IRIVER_H10_PAD)
clear_settings_on_hold
#endif
#if defined(HAVE_PERCEPTUAL_VOLUME)
perceptual_volume
#endif