path: root/apps/menus
AgeCommit message (Collapse)AuthorFilesLines
2013-02-18Fix advanced EQ menuJonathan Gordon1-1/+3
Change-Id: Ie2c3db2299fa2c34277e2118c922a93fa2420b9a
2013-02-09EQ settings: Rework the settings to clean up the config file.Jonathan Gordon1-238/+314
Instead of 3 cfg lines per eq band there is now a single line for each: <config name>: <cutoff/center freq>, <q>, <gain> In addition, the config value names make a bit more sense. The old settings are still readable but config.cfg and any new settings files will be written with the new config values. (The old settings will be removed completly sometime after the next stable release). Also a slight rework of the advanced EQ menu UI Change-Id: I9008658d36ded442a5f2f825916df42a3934cbef Reviewed-on: Reviewed-by: Jonathan Gordon <>
2013-01-2910 Band EQ w/PresetsHayden Pearce1-18/+101
- A 10 Band EQ for Rockbox w/ presets adapted from VLC - frequency stepping at 32, 64, 125, 250, 500 1K, 2K, 4K, 8K, 16K Change-Id: I85ad84d70a534edfc66c6ad9af8a76f022a02ec7 Reviewed-on: Reviewed-by: Jonathan Gordon <>
2012-12-26Revert 64d048be. It breaks h300.Frank Gevaerts1-2/+2
HAVE_USB_CHARGING_ENABLE is not only used for software usb, so checking for HAVE_USBSTACK is wrong. Change-Id: I422796b517c262f33f35623e992434219e288424
2012-12-26Make code that depends on HAVE_USB_CHARGING_ENABLE check HAVE_USBSTACK.Frank Gevaerts1-2/+2
This fixes building without HAVE_USBSTACK Change-Id: If8fec87a3ed4de583864ed2bab69be1f2ad8ac52
2012-10-06Fix read caused by 71f7011.Dominik Riebeling1-1/+1
Change-Id: I1b494bf0d63d5c8668527d1fe39392ec2f018d3b
2012-10-06Add set_sleeptimer_duration function in minutesRichard Quirk1-2/+2
Make set_sleep_timer a static function and only call set_sleeptimer_duration externally, which is always called with minutes values. Change-Id: I985308bf014e354f91c47a0b2bf62f4f5a591919 Reviewed-on: Reviewed-by: Jonathan Gordon <>
2012-07-30Database: Support for multiple search roots.Thomas Martitz1-1/+20
Support multiple roots (i.e. scan folders) using the new folder_select() function. Amaximum of 12 dirs can be selected, however the setting (i.e. the entire folder list) cannot be longer than 80 chars. The setting works similar to the autoresume dirs: Directories are seperated by colons, e.g. "/Music:/Podcasts". Default is "/sdcard" on android, "/" on all other targets. Changes are made to the multiple-root logic in tagcache.c. This is to a) provide the logic at all on native targets and b) support more than one root before the scan even starts (until now it was used to add roots during scan due to symlinks). Change-Id: I64992c0678324536e8e64cd4427c8abbd8e8b39e
2012-07-30autoresume: Use GUI browser instead of text entry to select autoresumable ↵Thomas Martitz1-2/+3
folders. Change-Id: I89d78305410ed9a1f0a64433e9139592b12ad900
2012-05-09Rename HAVE_PITCHSCREEN to HAVE_PITCHCONTROLNils Wallménius1-2/+2
Also move the definition to config.h Change-Id: I36bb5020c5e06b2344292bc05e8c13ccc7a6a1ff Reviewed-on: Reviewed-by: Nils Wallménius <>
2012-05-06Remove extraneous parensRafaël Carré1-1/+1
2012-04-30Make DSP's replaygain independent of global_settings.Michael Sevakis1-7/+13
Moves replaygain definitions to lib/rbcodec/dsp/dsp_misc.h. Intermediate functions in misc.c handle any adjustment and calling the rbcodec APIs. Change-Id: I9f03561bca9aedd13760cf19c4e19aa3c68e7024 Reviewed-on: Reviewed-by: Michael Sevakis <>
2012-04-29Make rbcodec/dsp includes more specific.Michael Sevakis4-4/+1
Change-Id: Idb6af40df26f5b8499a40e8b98602261ef227044
2012-04-29Fundamentally rewrite much of the audio DSP.Michael Sevakis1-8/+4
Creates a standard buffer passing, local data passing and messaging system for processing stages. Stages can be moved to their own source files to reduce clutter and ease assimilation of new ones. dsp.c becomes dsp_core.c which supports an engine and framework for effects. Formats and change notifications are passed along with the buffer so that they arrive at the correct time at each stage in the chain regardless of the internal delays of a particular one. Removes restrictions on the number of samples that can be processed at a time and it pays attention to destination buffer size restrictions without having to limit input count, which also allows pcmbuf to remain fuller and safely set its own buffer limits as it sees fit. There is no longer a need to query input/output counts given a certain number of input samples; just give it the sizes of the source and destination buffers. Works in harmony with stages that are not deterministic in terms of sample input/output ratio (like both resamplers but most notably the timestretch). As a result it fixes quirks with timestretch hanging up with certain settings and it now operates properly throughout its full settings range. Change-Id: Ib206ec78f6f6c79259c5af9009fe021d68be9734 Reviewed-on: Reviewed-by: Michael Sevakis <> Tested-by: Michael Sevakis <>
2012-04-27rbcodec refactoring: dsp_set_eq_coefsSean Bartell1-4/+8
dsp_set_eq_coefs now has parameters for the band settings, so it doesn't need to access global_settings. Change-Id: I29ac19fc353b15a79cb25f0e45132aef0881e4c9 Reviewed-on: Reviewed-by: Nils Wallménius <>
2012-04-26Consolidate compressor settings into a struct.Michael Sevakis1-5/+10
Doing that makes things cleaner for later on. Change-Id: I4e279aa57ace16a348acc0fc09059592325ec95f
2012-03-29Split sleep timer activation and default duration setting.Nick Peskett1-44/+52
Where before there was a single sleep timer menu option which handled initiating/ cancelling a sleep timer as well as setting the default duration, now there is one menu option to either start or cancel a sleep timer and another to set the default duration that will be used for future sleep timers. Change-Id: Ibea3711ec6406845ff5d0c0568fe5d1739eb8deb Reviewed-on: Reviewed-by: Nick Peskett <>
2012-03-28quickscreen: optionally display the shortcuts menu instead of the QSJonathan Gordon1-0/+7
Adds an option under settings > general settings > system to allow the user to have the shortcuts menu displayed instead of the quick screen. (option is "shortcuts instead of quickscreen" in the .cfg) Change-Id: Id679b461c40ac617629422736d1509384364084d Reviewed-on: Reviewed-by: Marek Salaba <> Reviewed-by: Jonathan Gordon <>
2012-03-19Option to constrain get_next_dir() to directories below ↵Nick Peskett1-1/+3
global_settings.start_directory. When enabled, if the user has set "Start File Browser Here" (config.cfg: start directory) to anything other than root and "Auto-Change Directory" is set to "Yes" or "Random", the directory returned when an auto change is required will be constrained to the value of "start directory" or below. Change-Id: Iaab773868c4cab5a54f6ae67bdb22e84642a9e4b Reviewed-on: Reviewed-by: Nick Peskett <> Tested-by: Nick Peskett <>
2012-03-12Change EQ settings to use a struct array in global_settings.Michael Sevakis1-35/+53
The previous pseudo array access of separate members wasn't very nice or clear. Change-Id: I74a2b39bb9c71a1370a455c01c4d5a860765e040 Reviewed-on: Reviewed-by: Michael Sevakis <> Tested-by: Michael Sevakis <>
2012-01-07apps: lcd-remote.h is not needed if HAVE_REMOTE_LCD is not definedRafaël Carré2-0/+4
Fix a comment git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2012-01-03Rework powermgmt to enable code re-use on appliation and sims.Thomas Martitz2-3/+9
* Introduce CONFIG_BATTERY_MEASURE define, to allow targets (application) to break powermgmt.c's assumption about the ability to read battery voltage. There's now additionally percentage (android) and remaining time measure (maemo). No measure at all also works (sdl app). If voltage can't be measured, then battery_level() is king and it'll be used for power_history and runtime estimation. * Implement target's API in the simulator, i.e. _battery_voltage(), so it doesn't need to implement it's own powermgmt.c and other stubs. Now the sim behaves much more like a native target, although it still changes the simulated battery voltage quickly, * Other changes include include renaming battery_adc_voltage() to _battery_voltage(), for consistency with the new target functions and making some of the apps code aware that voltage and runtime estimation is not always available. git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-12-26Option to restart running sleep timer on keypress.Nick Peskett1-1/+4
git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-12-26New General Settings submenu: Startup/ShutdownNick Peskett4-101/+105
A dedicated submenu for items which are run at startup, or initiate a shutdown. Currently containing: Start Screen, Idle Poweroff, Sleep Timer & Start Sleep Timer on Boot. git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-12-08shortcuts: talk the time and configure the sleep timeoutJonathan Gordon2-2/+2
Use "type: time" and "data: talk" to have the time voiced when the shortcut is run. use "type: time" and "data: sleep X" where X is the number of minutes to run the sleep timer for (0 means disable) the name field is required git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-11-29FS#12412 : Delete old buffer allocation code which has been replaced by ↵Boris Gjenero1-1/+0
core_alloc, and move buffer setup code to core_alloc.c git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-11-27Don't load the icons unless show_icons is actually enabled. And respect that ↵Jonathan Gordon1-1/+20
setting in the shortcuts menu git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-11-20Rename global_settings member glyphs to glyphs_to_cache and add descriptive ↵Fred Bauer1-1/+1
comment. git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-11-19FS#12293 Global default glyph setting in System > Limits > Glyphs To Cache. ↵Fred Bauer1-1/+8
Defaults to 250. This saves a lot of RAM while still allowing non-English users to have adequate glyph coverage. git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-11-19Get rid of a really annoying #ifdef line to check if backdrop support should ↵Jonathan Gordon1-2/+2
be enabled git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-11-17Buflib: Make shrinking and buflib_available() smarter.Thomas Martitz1-2/+2
* shrinking now considers freespace just before the alloc-to-be-shrinked, that means less (or sometimes none at all) is taken from the audio buffer. * core_available() now searches for the best free space, instead of simply the end, i.e. it will not return 0 if the audio buffer is allocated and there's free space before it. It also runs a compaction to ensure maximum contiguous memory. audio_buffer_available() is also enhanced. It now considers the 256K reserve buffer, and returns free buflib space instead if the audio buffer is short. This all fixes the root problem of FS#12344 (Sansa Clip+: PANIC occurred when dircache is enabled), that alloced from the audio buffer, even if it was very short and buflib had many more available as free space before it. git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-11-16Finally commit FS#5111 - piezo clicker for ipods!Jonathan Gordon1-0/+6
Origional implementation by Robert Keevil with contributions from Frederik Vestre, Stoyan Stratev, Craig Elliott, Michael Sparmann, Thomas Schott, Rosso Maltese, and syncs from a bunch of other people! git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-11-15Use buflib for all skin engine allocations.Jonathan Gordon1-18/+1
Massive thanks to Michael Chicoine and other testers for finding the early bugs. This removes all skin memory limitations git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-10-29Fix FS#12356 : next track advances when skip in repeat one mode. ↵Michael Sevakis1-3/+23
audio_flush_and_reload_track wasn't called when the setting changed from the playback menu. git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-10-29Better fix for FS#12337. Use 0 to make the line height calculated from the ↵Thomas Martitz1-1/+1
font height, as before r30773. git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-10-22Fix buttonbar and line padding in time&date screen.Thomas Martitz1-2/+2
The time&date screen uses a custom parent for do_menu(), and doesn't account for the buttonbar and list line height. Introduce gui_synclist_set_viewport_defaults() to set those for viewports that are going to be list parents and use that so that time&date screen doesn't need to know about buttonbar/line padding. git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-10-17Simplify seconds_to_min(), and don't safeguard used parameter.Jens Arnold1-6/+1
git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-10-17Remake the sleep timer menu item, so that selecting it while the timer is ↵Thomas Martitz1-7/+57
running just cancels that one (displayed text is changed accordingly and displays te remaining time). Selecting it again allows to set a new time. git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-10-17Sleep timer options: persistent duration and start on boot.Thomas Martitz2-4/+13
This makes the sleep timer persistent, so that the duration is remembered across reboots. Additionally, it adds a setting to automatically apply it at boot. Flyspray: FS#10849 Author: Nick Peskett git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-10-17Move Time & Date menu from System to settings.Thomas Martitz1-8/+7
git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-10-17Commit FS#12321 - Touchscreen: List line padding, to more easily select linesThomas Martitz1-1/+12
This adds line padding to lists on touchscreens, in order to make lists reasonably useful without huge fonts. It's configurable: * Automatic (default, line height calculated using a lcd dpi aware function) * Off (status quo, line height = font height) * X pixels (from 2 to 50 in even steps) The automatic setting should/aims to Just Work Out Of The Box on all targets git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-10-15Changed the FOR_NB_SCREENS macro to always be a for loop that declares its ↵Björn Stenberg3-5/+4
own loop variable. This removes the need to declare this variable in the outer scope. git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-10-04Make function calc_db in peakmeter.c staticBertrik Sikken1-3/+0
Remove some unneeded #include "peakmeter.h" git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-09-24FS#12273 - use buflib for font storage. thanks to the testers :)Jonathan Gordon1-0/+1
git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-09-09Add "USB Hide Internal Drive" option for multidrive devices with software usb.Frank Gevaerts1-0/+6
This option allows accessing the card slot from "dumb" USB hosts like some car audio systems that do not handle multi-LUN devices. git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-08-30Dircache: Allow dircache to be enabled without reboot.Thomas Martitz1-9/+7
Also add two dircache function, one of which does what dircache_disable() did previously as this now also frees the dircache buffer. git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-08-30GSoC/Buflib: Enable compaction in buflib.Thomas Martitz1-1/+1
This enables the ability to allocate (and free) memory dynamically without fragmentation, through compaction. This means allocations can move and fragmentation be reduced. Most changes are preparing Rockbox for this, which many times means adding a move callback which can temporarily disable movement when the corresponding code is in a critical section. For now, the audio buffer allocation has a central role, because it's the one having allocated most. This buffer is able to shrink itself, for which it needs to stop playback for a very short moment. For this, audio_buffer_available() returns the size of the audio buffer which can possibly be used by other allocations because the audio buffer can shrink. lastfm scrobbling and timestretch can now be toggled at runtime without requiring a reboot. git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-08-30GSoC/Buflib: Add buflib memory alocator to the core.Thomas Martitz1-2/+2
The buflib memory allocator is handle based and can free and compact, move or resize memory on demand. This allows to effeciently allocate memory dynamically without an MMU, by avoiding fragmentation through memory compaction. This patch adds the buflib library to the core, along with convinience wrappers to omit the context parameter. Compaction is not yet enabled, but will be in a later patch. Therefore, this acts as a replacement for buffer_alloc/buffer_get_buffer() with the benifit of a debug menu. See buflib.h for some API documentation. git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-08-14GSoC/Buflib: Replace all direct accesses to audiobuf with buffer API functions.Thomas Martitz1-2/+2
Namely, introduce buffer_get_buffer() and buffer_release_buffer(). buffer_get_buffer() aquires all available and grabs a lock, attempting to call buffer_alloc() or buffer_get_buffer() while this lock is locked will cause a panicf() (doesn't actually happen, but is for debugging purpose). buffer_release_buffer() unlocks that lock and can additionally increment the audiobuf buffer to make an allocation. Pass 0 to only unlock if buffer was used temporarily only. buffer_available() is a replacement function to query audiobuflen, i.e. what's left in the buffer. Buffer init is moved up in the init chain and handles ipodvideo64mb internally. Further changes happened to mp3data.c and talk.c as to not call the above API functions, but get the buffer from callers. The caller is the audio system which has the buffer lock while mp3data.c and talk mess with the buffer. mpeg.c now implements some buffer related functions of playback.h, especially audio_get_buffer(), allowing to reduce #ifdef hell a tiny bit. audiobuf and audiobufend are local to buffer.c now. git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-08-13Properly export sleep_timer_call from main_menu.c in exported_menus.hMichael Hohmuth2-4/+1
git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657