Commit graph

528 commits

Author SHA1 Message Date
Michael Sevakis
d37bf24d90 Enable setting of global output samplerate on certain targets.
Replaces the NATIVE_FREQUENCY constant with a configurable frequency.

The user may select 48000Hz if the hardware supports it. The default is
still 44100Hz and the minimum is 44100Hz. The setting is located in the
playback settings, under "Frequency".

"Frequency" was duplicated in english.lang for now to avoid having to
fix every .lang file for the moment and throwing everything out of sync
because of the new play_frequency feature in features.txt. The next
cleanup should combine it with the one included for recording and
generalize the ID label.

If the hardware doesn't support 48000Hz, no setting will be available.

On particular hardware where very high rates are practical and desireable,
the upper bound can be extended by patching.

The PCM mixer can be configured to play at the full hardware frequency
range. The DSP core can configure to the hardware minimum up to the
maximum playback setting (some buffers must be reserved according to
the maximum rate).

If only 44100Hz is supported or possible on a given target for playback,
using the DSP and mixer at other samperates is possible if the hardware
offers them.

Change-Id: I6023cf0c0baa8bc6292b6919b4dd3618a6a25622
Reviewed-on: http://gerrit.rockbox.org/479
Reviewed-by: Michael Sevakis <jethead71@rockbox.org>
Tested-by: Michael Sevakis <jethead71@rockbox.org>
2013-07-06 04:22:04 +02:00
Andrew Ryabinin
0519f7e5ab Add DAC's oversampling filter roll-off selection to sound settings.
Change-Id: I1258ba50dd9308f49d97965562f3a423c9bfb785
2013-05-24 11:18:16 +04:00
Hayden Pearce
e4040d930f EQ: - Fine grained EQ configuration
- Reduce the minimum step for EQ 'Gain' and EQ 'Q' values to .1dB
 - Reduce the minimum step for EQ 'Precut' value to .1dB

Change-Id: I20712b3c769f9da4d6ed53c62d6a2a8352b6b269
Reviewed-on: http://gerrit.rockbox.org/414
Reviewed-by: Jonathan Gordon <rockbox@jdgordon.info>
2013-03-05 03:19:34 +01:00
Jonathan Gordon
371b142b4b Fix advanced EQ menu
Change-Id: Ie2c3db2299fa2c34277e2118c922a93fa2420b9a
2013-02-18 18:54:14 +11:00
Jonathan Gordon
1eb17dc9f4 EQ settings: Rework the settings to clean up the config file.
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: http://gerrit.rockbox.org/394
Reviewed-by: Jonathan Gordon <rockbox@jdgordon.info>
2013-02-09 13:05:32 +01:00
Hayden Pearce
d73c20933b 10 Band EQ w/Presets
- 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: http://gerrit.rockbox.org/386
Reviewed-by: Jonathan Gordon <rockbox@jdgordon.info>
2013-01-29 06:53:41 +01:00
Frank Gevaerts
18f0ba003c Revert 64d048be. It breaks h300.
HAVE_USB_CHARGING_ENABLE is not only used for software usb, so checking
for HAVE_USBSTACK is wrong.

Change-Id: I422796b517c262f33f35623e992434219e288424
2012-12-26 18:01:19 +01:00
Frank Gevaerts
64d048be2b Make code that depends on HAVE_USB_CHARGING_ENABLE check HAVE_USBSTACK.
This fixes building without HAVE_USBSTACK

Change-Id: If8fec87a3ed4de583864ed2bab69be1f2ad8ac52
2012-12-26 17:52:15 +01:00
Dominik Riebeling
78ca74a56f Fix read caused by 71f7011.
Change-Id: I1b494bf0d63d5c8668527d1fe39392ec2f018d3b
2012-10-06 14:01:35 +02:00
Richard Quirk
71f70112b2 Add set_sleeptimer_duration function in minutes
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: http://gerrit.rockbox.org/327
Reviewed-by: Jonathan Gordon <rockbox@jdgordon.info>
2012-10-06 11:59:13 +02:00
Thomas Martitz
63d27626e4 Database: Support for multiple search roots.
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-30 21:20:51 +02:00
Thomas Martitz
0a645d212c autoresume: Use GUI browser instead of text entry to select autoresumable folders.
Change-Id: I89d78305410ed9a1f0a64433e9139592b12ad900
2012-07-30 21:20:51 +02:00
Nils Wallménius
d29a11b7a8 Rename HAVE_PITCHSCREEN to HAVE_PITCHCONTROL
Also move the definition to config.h

Change-Id: I36bb5020c5e06b2344292bc05e8c13ccc7a6a1ff
Reviewed-on: http://gerrit.rockbox.org/234
Reviewed-by: Nils Wallménius <nils@rockbox.org>
2012-05-09 14:32:38 +02:00
Rafaël Carré
65bb8e4452 Remove extraneous parens 2012-05-06 23:13:34 -04:00
Michael Sevakis
57a20d2d63 Make DSP's replaygain independent of global_settings.
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: http://gerrit.rockbox.org/140
Reviewed-by: Michael Sevakis <jethead71@rockbox.org>
2012-04-30 22:47:37 +02:00
Michael Sevakis
56f17c4164 Make rbcodec/dsp includes more specific.
Change-Id: Idb6af40df26f5b8499a40e8b98602261ef227044
2012-04-29 17:31:30 -04:00
Michael Sevakis
c9bcbe202d Fundamentally rewrite much of the audio DSP.
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: http://gerrit.rockbox.org/200
Reviewed-by: Michael Sevakis <jethead71@rockbox.org>
Tested-by: Michael Sevakis <jethead71@rockbox.org>
2012-04-29 10:00:56 +02:00
Sean Bartell
a6dea9e13d rbcodec refactoring: dsp_set_eq_coefs
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: http://gerrit.rockbox.org/138
Reviewed-by: Nils Wallménius <nils@rockbox.org>
2012-04-27 16:33:27 +02:00
Michael Sevakis
0842d7f7e1 Consolidate compressor settings into a struct.
Doing that makes things cleaner for later on.

Change-Id: I4e279aa57ace16a348acc0fc09059592325ec95f
2012-04-26 17:19:16 -04:00
Nick Peskett
10d8717e94 Split sleep timer activation and default duration setting.
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: http://gerrit.rockbox.org/201
Reviewed-by: Nick Peskett <rockbox@peskett.co.uk>
2012-03-29 09:01:33 +02:00
Jonathan Gordon
6f62226294 quickscreen: optionally display the shortcuts menu instead of the QS
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: http://gerrit.rockbox.org/199
Reviewed-by: Marek Salaba <marek.salaba@gmail.com>
Reviewed-by: Jonathan Gordon <rockbox@jdgordon.info>
2012-03-28 10:56:12 +02:00
Nick Peskett
be10817e1c Option to constrain get_next_dir() to directories below 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: http://gerrit.rockbox.org/182
Reviewed-by: Nick Peskett <rockbox@peskett.co.uk>
Tested-by: Nick Peskett <rockbox@peskett.co.uk>
2012-03-19 11:49:55 +01:00
Michael Sevakis
f637072632 Change EQ settings to use a struct array in global_settings.
The previous pseudo array access of separate members wasn't very
nice or clear.

Change-Id: I74a2b39bb9c71a1370a455c01c4d5a860765e040
Reviewed-on: http://gerrit.rockbox.org/179
Reviewed-by: Michael Sevakis <jethead71@rockbox.org>
Tested-by: Michael Sevakis <jethead71@rockbox.org>
2012-03-12 00:18:33 +01:00
Rafaël Carré
b612263b1e apps: lcd-remote.h is not needed if HAVE_REMOTE_LCD is not defined
Fix a comment

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31608 a1c6a512-1295-4272-9138-f99709370657
2012-01-07 19:35:46 +00:00
Thomas Martitz
c1bd9b0361 Rework powermgmt to enable code re-use on appliation and sims.
* 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://svn.rockbox.org/rockbox/trunk@31548 a1c6a512-1295-4272-9138-f99709370657
2012-01-03 23:44:38 +00:00
Nick Peskett
5dba771d63 Option to restart running sleep timer on keypress.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31437 a1c6a512-1295-4272-9138-f99709370657
2011-12-26 09:30:25 +00:00
Nick Peskett
2ecaca91f0 New General Settings submenu: Startup/Shutdown
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://svn.rockbox.org/rockbox/trunk@31435 a1c6a512-1295-4272-9138-f99709370657
2011-12-26 08:26:38 +00:00
Jonathan Gordon
29b1ba3445 shortcuts: talk the time and configure the sleep timeout
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://svn.rockbox.org/rockbox/trunk@31178 a1c6a512-1295-4272-9138-f99709370657
2011-12-08 10:23:46 +00:00
Boris Gjenero
d51e598335 FS#12412 : Delete old buffer allocation code which has been replaced by core_alloc, and move buffer setup code to core_alloc.c
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31088 a1c6a512-1295-4272-9138-f99709370657
2011-11-29 00:42:27 +00:00
Jonathan Gordon
6cf7cb9822 Don't load the icons unless show_icons is actually enabled. And respect that setting in the shortcuts menu
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31069 a1c6a512-1295-4272-9138-f99709370657
2011-11-27 10:10:26 +00:00
Fred Bauer
fdfc88f38b Rename global_settings member glyphs to glyphs_to_cache and add descriptive comment.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31032 a1c6a512-1295-4272-9138-f99709370657
2011-11-20 15:41:17 +00:00
Fred Bauer
ea7a89606c FS#12293 Global default glyph setting in System > Limits > Glyphs To Cache. Defaults to 250. This saves a lot of RAM while still allowing non-English users to have adequate glyph coverage.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31031 a1c6a512-1295-4272-9138-f99709370657
2011-11-19 23:34:26 +00:00
Jonathan Gordon
1252d0d540 Get rid of a really annoying #ifdef line to check if backdrop support should be enabled
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31027 a1c6a512-1295-4272-9138-f99709370657
2011-11-19 13:46:25 +00:00
Thomas Martitz
2a8eacdbfc Buflib: Make shrinking and buflib_available() smarter.
* 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://svn.rockbox.org/rockbox/trunk@31006 a1c6a512-1295-4272-9138-f99709370657
2011-11-17 17:55:02 +00:00
Jonathan Gordon
be716c0be8 Finally commit FS#5111 - piezo clicker for ipods!
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://svn.rockbox.org/rockbox/trunk@30995 a1c6a512-1295-4272-9138-f99709370657
2011-11-16 10:25:43 +00:00
Jonathan Gordon
9e07ef2b0a Use buflib for all skin engine allocations.
Massive thanks to Michael Chicoine and other testers for finding the early bugs.

This removes all skin memory limitations

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30991 a1c6a512-1295-4272-9138-f99709370657
2011-11-15 14:11:08 +00:00
Michael Sevakis
fd187ad14c Fix FS#12356 : next track advances when skip in repeat one mode. audio_flush_and_reload_track wasn't called when the setting changed from the playback menu.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30857 a1c6a512-1295-4272-9138-f99709370657
2011-10-29 20:41:20 +00:00
Thomas Martitz
93c6c79e8d Better fix for FS#12337. Use 0 to make the line height calculated from the font height, as before r30773.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30850 a1c6a512-1295-4272-9138-f99709370657
2011-10-29 15:16:02 +00:00
Thomas Martitz
5c509d17db Fix buttonbar and line padding in time&date screen.
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://svn.rockbox.org/rockbox/trunk@30824 a1c6a512-1295-4272-9138-f99709370657
2011-10-22 10:09:23 +00:00
Jens Arnold
03a8325a2d Simplify seconds_to_min(), and don't safeguard used parameter.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30779 a1c6a512-1295-4272-9138-f99709370657
2011-10-17 19:21:25 +00:00
Thomas Martitz
a453bee2fa Remake the sleep timer menu item, so that selecting it while the timer is 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://svn.rockbox.org/rockbox/trunk@30778 a1c6a512-1295-4272-9138-f99709370657
2011-10-17 18:57:44 +00:00
Thomas Martitz
e347146b62 Sleep timer options: persistent duration and start on boot.
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://svn.rockbox.org/rockbox/trunk@30777 a1c6a512-1295-4272-9138-f99709370657
2011-10-17 18:57:38 +00:00
Thomas Martitz
e44af440c5 Move Time & Date menu from System to settings.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30776 a1c6a512-1295-4272-9138-f99709370657
2011-10-17 18:57:34 +00:00
Thomas Martitz
3b12634e6b Commit FS#12321 - Touchscreen: List line padding, to more easily select lines
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://svn.rockbox.org/rockbox/trunk@30773 a1c6a512-1295-4272-9138-f99709370657
2011-10-17 17:38:10 +00:00
Björn Stenberg
0942e2a0f7 Changed the FOR_NB_SCREENS macro to always be a for loop that declares its own loop variable. This removes the need to declare this variable in the outer scope.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30756 a1c6a512-1295-4272-9138-f99709370657
2011-10-15 19:35:02 +00:00
Bertrik Sikken
2e58d5935d Make function calc_db in peakmeter.c static
Remove some unneeded #include "peakmeter.h"

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30713 a1c6a512-1295-4272-9138-f99709370657
2011-10-04 21:25:26 +00:00
Jonathan Gordon
aa0f4a4bbe FS#12273 - use buflib for font storage. thanks to the testers :)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30589 a1c6a512-1295-4272-9138-f99709370657
2011-09-24 13:19:34 +00:00
Frank Gevaerts
544a52d9eb Add "USB Hide Internal Drive" option for multidrive devices with software usb.
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://svn.rockbox.org/rockbox/trunk@30489 a1c6a512-1295-4272-9138-f99709370657
2011-09-09 16:15:35 +00:00
Thomas Martitz
7e14b935df Dircache: Allow dircache to be enabled without reboot.
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://svn.rockbox.org/rockbox/trunk@30393 a1c6a512-1295-4272-9138-f99709370657
2011-08-30 21:07:46 +00:00
Thomas Martitz
baa070cca6 GSoC/Buflib: Enable compaction in buflib.
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://svn.rockbox.org/rockbox/trunk@30381 a1c6a512-1295-4272-9138-f99709370657
2011-08-30 14:01:45 +00:00
Thomas Martitz
d0b72e2590 GSoC/Buflib: Add buflib memory alocator to the core.
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://svn.rockbox.org/rockbox/trunk@30380 a1c6a512-1295-4272-9138-f99709370657
2011-08-30 14:01:33 +00:00
Thomas Martitz
d1322b7159 GSoC/Buflib: Replace all direct accesses to audiobuf with buffer API functions.
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://svn.rockbox.org/rockbox/trunk@30308 a1c6a512-1295-4272-9138-f99709370657
2011-08-14 15:13:00 +00:00
Michael Hohmuth
5c6fe5da9c Properly export sleep_timer_call from main_menu.c in exported_menus.h
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30292 a1c6a512-1295-4272-9138-f99709370657
2011-08-13 22:55:04 +00:00
Jonathan Gordon
835683b442 %cs (current screen) changes:
* Every top level menu item now has a different screen number
* Playlist viewer and Playlist Catalogue browsers no longer share the same number

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30261 a1c6a512-1295-4272-9138-f99709370657
2011-08-07 08:39:56 +00:00
Jonathan Gordon
97a4c1efa4 FS#11808 - Major playlist handling changes (on disk playlists)
* Playlists are treated similar to directories in the browser, they now open in the viewer when selected instead of automatically starting the playlist.
* Make the "Playlists" main menu item useful, it now displays the playlist catalog (and has been renamed accordingly)
* Default to storing playlists in the catalog
* Add a UI to move the catalog directory

(other minor stuff too)

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30177 a1c6a512-1295-4272-9138-f99709370657
2011-07-20 14:11:15 +00:00
Jonathan Gordon
142725ebc9 Fix FS#12158 - Make the "Mode: " line in the radio menu voice.
Translators need to verify the voice string, dumbly copied from the dest string

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30007 a1c6a512-1295-4272-9138-f99709370657
2011-06-16 13:28:15 +00:00
Peter D'Hoye
82f4c60db4 Make the histogram code usable for playback as well. Move the recording histogram code to peakmeter, rename it to remove the recording reference, and rename anything referring to it as well. Change the drawing code so there are more options to position them. This may change your histogram settings, so check after upgrading.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29969 a1c6a512-1295-4272-9138-f99709370657
2011-06-05 12:36:27 +00:00
Michael Hohmuth
5aec3c2400 FS#11931 part 2: Allow a short rewind when playback is paused. Patch
by John Morris.

This patch adds an option to rewind the current track by a few seconds
when it is paused, irrespective of what has caused the pause.  This is
useful for audiobooks and podcasts to allow the listener to recall
where the track was left off.

The patch subsumes the existing rewind-on-headphone-unplug feature and
extends it to all invocations of pause: play/pause button (or touch
area), headphone removal, and power-supply unplug in car-adapter
mode. It also subsumes FS#9448 (rewind on fade).

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29876 a1c6a512-1295-4272-9138-f99709370657
2011-05-13 22:28:47 +00:00
Michael Sevakis
c537d5958e Commit FS#12069 - Playback rework - first stages. Gives as thorough as possible a treatment of codec management, track change and metadata logic as possible while maintaining fairly narrow focus and not rewriting everything all at once. Please see the rockbox-dev mail archive on 2011-04-25 (Playback engine rework) for a more thorough manifest of what was addressed. Plugins and codecs become incompatible.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29785 a1c6a512-1295-4272-9138-f99709370657
2011-04-27 03:08:23 +00:00
Andree Buschmann
460d54977a FS#11939: Simplify talk_time_unit().
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29347 a1c6a512-1295-4272-9138-f99709370657
2011-02-20 15:23:18 +00:00
Andree Buschmann
e3abdb1a52 Undo unwanted commit r29310.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29311 a1c6a512-1295-4272-9138-f99709370657
2011-02-15 20:10:50 +00:00
Andree Buschmann
237ca504e1 All AAC-HE files will double the frame sample count, not only AAC-HE files with SBR upsampling. This change fixes issues with some m4a files reported in the forums.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29310 a1c6a512-1295-4272-9138-f99709370657
2011-02-15 20:00:28 +00:00
Nils Wallménius
4ca36ca90c Explicitely say 'minutes' when speaking the battery time, fixes FS#11932.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29297 a1c6a512-1295-4272-9138-f99709370657
2011-02-13 16:02:17 +00:00
Andree Buschmann
3f377e568e Use menu layout for sleep timer that is consistent to other timers. Closes FS#11923.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29283 a1c6a512-1295-4272-9138-f99709370657
2011-02-11 16:15:11 +00:00
Michael Hohmuth
a5303765ec autoresume: Match full directory path names only in autoresumable()
Removed genre-tag matching (considered too fragile for real-world use).

Removed substring matching for file names.  To avoid unintended
matches, the search pattern now must match the file's full dir name
(or a parent directory thereof), anchored in the root directory.

Search strings now must be delimited with ":" rather than ",".  The
default list of directories is "/podcast:/podcasts" (case-insensitive).

Made implementation somewhat more efficient (don't use strtok -> no
need to copy the string to private storage (stack) before tokenizing
it).

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29280 a1c6a512-1295-4272-9138-f99709370657
2011-02-11 00:20:03 +00:00
Michael Hohmuth
7141ff4513 Add option to resume next track on automatic track change
Move autoresume setting into its own menu.  Add option to customize
which tracks should be resumed on automatic track change.  Tracks can
be selected based on their their file location or genre tag
(comma-separated list of filename / genre substrings).

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29251 a1c6a512-1295-4272-9138-f99709370657
2011-02-08 20:31:35 +00:00
Michael Hohmuth
f0ce188681 Make enable-autoresume option more consistent with other settings.
Rename "Enable automatic resume" to "Automatic resume", and make it a
simple Yes/No option.  Offer the user to initialize the database in
case it is not yet ready when enabling autoresume.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29249 a1c6a512-1295-4272-9138-f99709370657
2011-02-08 20:31:22 +00:00
Thomas Martitz
c402519e31 Fix yellow
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29165 a1c6a512-1295-4272-9138-f99709370657
2011-01-29 15:14:23 +00:00
Thomas Martitz
5606719499 Fix oops in r29160 (apps went into games and vice versa).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29163 a1c6a512-1295-4272-9138-f99709370657
2011-01-29 15:03:03 +00:00
Thomas Martitz
2bb81f70f5 Move fm radio related menus out of radio.c into apps/menus/.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29162 a1c6a512-1295-4272-9138-f99709370657
2011-01-29 15:01:28 +00:00
Thomas Martitz
f7da333d12 Re-factor code for the plugins main menu item, enabling better icons in that menu.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29160 a1c6a512-1295-4272-9138-f99709370657
2011-01-29 11:50:38 +00:00
Thomas Martitz
89a4cf2693 Change the way how playlists and system menu items in the main menu are internally invoked so that the mechanism to
pass the back button press to the android system (to let it go to the home screen) works for them.
This fixes that the back button goes still to the home screen after entering these items.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29157 a1c6a512-1295-4272-9138-f99709370657
2011-01-29 01:01:12 +00:00
Michael Giacomelli
cacc64a4fe Blind commit a 'fix' for automatic resume on HWCODEC since I don't understand HWCODEC and have no way to test builds for it. For now just disable it. In the long term it would be nice to support this on HWCODEC, or failing that, clean this up a little more.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28943 a1c6a512-1295-4272-9138-f99709370657
2011-01-02 03:48:40 +00:00
Michael Giacomelli
66e8fc0f0d Commit part of FS#11748 by Michael Hohmuth. Adds support for automatically resuming any song that is not played to completion at any point later in time, regardless of how many intermediate tracks are played. This is accomplished by expanding the database to record incompletely played tracks. Currently, the feature is simply on or off, in which case all tracks automatically resume, or they do not. The remainder of patches in the task expand this feature by allowing only certain file to automatically resume, only resuming in certain circumstances, etc but are not included until we reach agreement on what should be included. Additionally, the manual will need to be updated once we agree on the available settings.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28942 a1c6a512-1295-4272-9138-f99709370657
2011-01-02 02:49:13 +00:00
Teruaki Kawashima
08af5d8404 FS#11777: enhancement for rockbox_browse()
* Add struct browse_context to be passed to rockbox_browse.
* Show proper title when selecting e.g. .wps file or .sbs file from the settings menu.
* Add select only mode to rockbox_browse(). when a file is selected, it's path is stored to buffer and the browser exits without 'playing' the file.
this will allow to use the browser in more places to select file including plugins.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28831 a1c6a512-1295-4272-9138-f99709370657
2010-12-14 13:37:58 +00:00
Thomas Martitz
2c2416094f Get rid of get_user_file_path and do the path handling in wrappers for open() and friends.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28752 a1c6a512-1295-4272-9138-f99709370657
2010-12-06 22:26:31 +00:00
Thomas Martitz
5411e14c57 Undo the part of r28480 that caused the simulator to also use host malloc.
We want simulators to simulate target code where possible, that includes memory constraints and memory allocation schemes. It also removed the sim's ability to show the theme's ram usage.
Use malloc only in application builds.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28498 a1c6a512-1295-4272-9138-f99709370657
2010-11-05 19:12:23 +00:00
Jonathan Gordon
97857324c3 RaaA: Use the host's malloc() for the skin engine.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28480 a1c6a512-1295-4272-9138-f99709370657
2010-11-04 10:15:33 +00:00
Marcin Bukat
56c4e9fa60 Separate mas35xx lowlevel stuff. Move SH specific bits to target tree. FS#11189 by me.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28425 a1c6a512-1295-4272-9138-f99709370657
2010-10-31 21:09:34 +00:00
Teruaki Kawashima
09d8975084 don't reload the skins if color isn't actually changed.
reload skins when colors are reset.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28219 a1c6a512-1295-4272-9138-f99709370657
2010-10-08 13:07:20 +00:00
Jonathan Gordon
efbcece07b New setting to control the file browser start location.
Set using the menu item in folder context menus, clear in the filebrowser settings.
    
    Can be abused to start selecting a *file* (or have a folder selected) instead of a starting inside a folder by removing the trailing / in the .cfg
    
    This only affects the file browser when it would open in / before (on boot, or when entereing after backing out of the browser before (*not* when exited with the menu action)



git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28206 a1c6a512-1295-4272-9138-f99709370657
2010-10-04 10:34:38 +00:00
Rafaël Carré
2dde958478 eq menu: remove write-only variable
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28137 a1c6a512-1295-4272-9138-f99709370657
2010-09-21 09:10:01 +00:00
Rafaël Carré
7d9df48478 playback_callback(): remove write-only old_repeat_mode
Also don't ignore this_item argument, it's being used

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28135 a1c6a512-1295-4272-9138-f99709370657
2010-09-21 08:59:27 +00:00
Rafaël Carré
45f3e5fb94 eq menu: remove write-only variable present since r8606
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28134 a1c6a512-1295-4272-9138-f99709370657
2010-09-21 08:32:49 +00:00
Frank Gevaerts
95aae36c6c Fix red, stupid typo
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28103 a1c6a512-1295-4272-9138-f99709370657
2010-09-17 20:34:47 +00:00
Frank Gevaerts
f366090562 Make disabling HAVE_PITCHSCREEN actually work without breaking the build
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28102 a1c6a512-1295-4272-9138-f99709370657
2010-09-17 20:28:47 +00:00
Jonathan Gordon
9928e3418f Another major skin backend update/hopefully bugfix:
Skins are now more self contained in the skin manager which in the future might allow on demand skin loading (i.e smaller skin buffers)
Skin backdrops are also managed more intelegently (fixes a bug where you can get a crazy backdrop loaded if a .sbs fails to load)

the rockbox_default rescue theme is now called rockbox_failsafe to better express what it actually is.

This commit hopefully/maybe fixes the heavily reported data aborts, so please check if you are getting them

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28073 a1c6a512-1295-4272-9138-f99709370657
2010-09-14 11:56:50 +00:00
Thomas Martitz
24424bab2a Fix reds. The battery_capacity setting is used even for fixed-battery targets.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27976 a1c6a512-1295-4272-9138-f99709370657
2010-09-01 23:49:28 +00:00
Nils Wallménius
f30add4dc0 Safeguard against possible stack corruption when the string in the tempbuffer is as long as the buffer and strcat adds a char.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27854 a1c6a512-1295-4272-9138-f99709370657
2010-08-21 16:14:18 +00:00
Thomas Martitz
9c0b2479f7 Rockbox as an application: add get_user_file_path().
For RaaA it evaluates user paths at runtime. For everything but codecs/plugins it will give the path under $HOME/.config/rockbox.org if write access is needed or if the file/folder in question exists there (otherwise it gives /usr/local/share/rockbox).
This allows for installing themes under $HOME as well as having config.cfg and other important files there while installing the application (and default themes) under /usr/local.

On the DAPs it's a no-op, returing /.rockbox directly.

Not converted to use get_user_file_path() are plugins themselves, because RaaA doesn't build plugins yet.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27656 a1c6a512-1295-4272-9138-f99709370657
2010-08-01 16:15:27 +00:00
Jonathan Gordon
2d31d77a8b FS#11470 - new skin code, finally svn uses the new parser from the theme editor. This means that a skin that passes the editor WILL pass svn and checkwps (unless the target runs out of skin buffer or something.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27613 a1c6a512-1295-4272-9138-f99709370657
2010-07-29 12:37:48 +00:00
Thomas Martitz
d904597524 Use browse_folder() for browsing eq presets and languages.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27560 a1c6a512-1295-4272-9138-f99709370657
2010-07-25 18:28:42 +00:00
Nils Wallménius
4eda82ba58 Delete useless include.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27538 a1c6a512-1295-4272-9138-f99709370657
2010-07-24 08:19:25 +00:00
Torne Wuff
db1b823ac3 Provide the option to automatically update existing bookmark files on stop, without creating ones that don't already exist.
Idea from FS#6272, but implemented differently. If you set "Update on stop" then it will check if the bookmark file exists on stop, and if so, write a new one without prompting. If the file doesn't exist, it will do whatever the "Bookmark on stop" setting tells it to do.

This works quite well if you have an audiobook/podcast/etc folder/playlist: just bookmark it manually once and it will get bookmarked automatically after that, without creating bookmarks for regular music.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27294 a1c6a512-1295-4272-9138-f99709370657
2010-07-05 16:39:00 +00:00
Bertrik Sikken
5565a28c7d Remove some redundant #include's
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27183 a1c6a512-1295-4272-9138-f99709370657
2010-06-29 20:13:22 +00:00
Thomas Martitz
35e8b1429a Rockbox as an application: Replace many occurences of #ifdef SIMULATOR with #if (CONFIG_PLATFORM & PLATFORM_HOSTED) (or equivalently).
The simulator defines PLATFORM_HOSTED, as RaaA will do (RaaA will not define SIMULATOR).
The new define is to (de-)select code to compile on hosted platforms generally.

Should be no functional change to targets or the simulator.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27019 a1c6a512-1295-4272-9138-f99709370657
2010-06-21 16:53:00 +00:00
Andree Buschmann
50954cdc92 Fix FS#111395. Call settings_apply_skins() after changing theme colours.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26821 a1c6a512-1295-4272-9138-f99709370657
2010-06-12 20:50:45 +00:00
Thomas Martitz
4320310fec Use SYS_FS_CHANGED and a slight rework in the recalculation of free disk space in the Rockbox Info screen.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26624 a1c6a512-1295-4272-9138-f99709370657
2010-06-06 12:56:23 +00:00
Nils Wallménius
042adbba61 Remove the jump scroll settings since they don't do anything, drop the relevant lang ids too
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26575 a1c6a512-1295-4272-9138-f99709370657
2010-06-05 11:59:43 +00:00
Rafaël Carré
5d236b2bfd Generate C file / header for svn version string
It's now easier to force rebuild of files depending on the svn revision

version.c/version.h are generated once with new tools/genversion.sh
Changes in the VCS are still not auto detected, so you'll have to remove
builddir/version.* if you want to change the string in your binaries

APPSVERSION is now called RBVERSION and is defined in the generated
header instead of being defined by the Makefiles
appsversion is now called rbversion (the plugin api number didn't change
since old modules are still binary compatible)

Change some bootloaders to use knwon-at-buildtime RBVERSION instead of
"%s" + rbversion

You'll need to run make clean to regenerate dependencies after the
removal of apps/version.h

To build binaries with a different version string, hand-edit
tools/version.sh or tools/genversion.sh (which calls the former)

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26320 a1c6a512-1295-4272-9138-f99709370657
2010-05-27 09:41:46 +00:00
Marianne Arnold
c5fbaf4587 Give the radio screen setting(s) in the themes menu its own language strings so they don't simply reuse 'FM Radio' as in the main menu. Rename 'Remote FM Radio' which went along with it accordingly. Distinct strings to avoid cunfusion but the change needs translators' attention.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26301 a1c6a512-1295-4272-9138-f99709370657
2010-05-26 05:43:59 +00:00
Michael Sevakis
5508d40d4b Hopefully get some green back from r26051.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26052 a1c6a512-1295-4272-9138-f99709370657
2010-05-15 13:30:01 +00:00
Michael Sevakis
80d0d15ca9 Gigabeat S: Fully enable access to hardware tone controls and 3-D effect feature. Under the hood, it's designated a hardware equalizer since it is one. Implement code framework for hardware EQ in general. Menu aspect is well abstracted and so the UI and strings can be changed around if taste doesn't quite suit. So far the emphasis is distinction of the UI labelling from the software EQ so that it's clear the settings are for a different thing.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26051 a1c6a512-1295-4272-9138-f99709370657
2010-05-15 13:09:45 +00:00
Jonathan Gordon
1bd072c92d FS#10853 - Skin support in the radio screen! Check CustomWPS for the new tags
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25964 a1c6a512-1295-4272-9138-f99709370657
2010-05-12 10:38:00 +00:00
Jeffrey Goode
1ad76ff25b FS#11250: Hotkey setting method changed to menu item vs button pres in context menu. Manuals updated to match.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25905 a1c6a512-1295-4272-9138-f99709370657
2010-05-09 02:02:51 +00:00
Jeffrey Goode
2ccb83dd80 Fix red
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25876 a1c6a512-1295-4272-9138-f99709370657
2010-05-07 14:53:06 +00:00
Jeffrey Goode
16e0c5730d Hotkey menu items have their own icon
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25866 a1c6a512-1295-4272-9138-f99709370657
2010-05-07 03:21:12 +00:00
Thomas Martitz
50a6ca39ad Move c/h files implementing/defining standard library stuff into a new libc directory, also standard'ify some parts of the code base (almost entirely #include fixes).
This is to a) to cleanup firmware/common and firmware/include a bit, but also b) for Rockbox as an application which should use the host system's c library and headers, separating makes it easy to exclude our files from the build.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25850 a1c6a512-1295-4272-9138-f99709370657
2010-05-06 21:04:40 +00:00
Magnus Holmgren
15be66a821 Fix red
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25707 a1c6a512-1295-4272-9138-f99709370657
2010-04-24 14:19:04 +00:00
Magnus Holmgren
d38093de2f FS#11099 - Rewind before resume
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25706 a1c6a512-1295-4272-9138-f99709370657
2010-04-24 14:10:28 +00:00
Jeffrey Goode
ef30d7ef71 FS#11195, plus. Simplified hotkey struct, thanks alle!
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25581 a1c6a512-1295-4272-9138-f99709370657
2010-04-11 00:32:16 +00:00
Alexander Levin
f23251999c Reset the number of lines to 0 when initializing the simple list
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25573 a1c6a512-1295-4272-9138-f99709370657
2010-04-10 20:25:23 +00:00
Alexander Levin
d873f4f474 Use a special constant so that we don't have to care about the actual line numbers
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25572 a1c6a512-1295-4272-9138-f99709370657
2010-04-10 20:11:40 +00:00
Jeffrey Goode
936fe29a5a Rename lang strings to something more appropriate
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25535 a1c6a512-1295-4272-9138-f99709370657
2010-04-08 11:21:55 +00:00
Jeffrey Goode
accc046cbd Hotkey: better settings handling, fewer saved variables, localizable hotkey info list
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25529 a1c6a512-1295-4272-9138-f99709370657
2010-04-08 01:43:50 +00:00
Alexander Levin
6d4d736123 Make the displayed hotkey settings scroll (fix FS#11170)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25466 a1c6a512-1295-4272-9138-f99709370657
2010-04-04 08:32:37 +00:00
Jeffrey Goode
d5e6bc7a8c FS#11081 - Hotkey patch. Many targets supported, but some keymaps need work before they can be switched on
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25414 a1c6a512-1295-4272-9138-f99709370657
2010-04-01 03:14:44 +00:00
Andree Buschmann
b6c12a129e Submit FS#11065. Introduce a new system setting for en-/disabling the Line-out. For now only implemented on iPod Video. This allows to save power if the user does not use the player's Line-out. On iPod 5G the saving is ~0.5 mA.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25257 a1c6a512-1295-4272-9138-f99709370657
2010-03-20 15:02:29 +00:00
Magnus Holmgren
a14f4acb0c Restore the 'read_disk' flag for settings_apply that was removed in r24922. It is still needed to prevent uncessary disk I/O for fonts etc. Should fix FS#11071 (I haven't tested it on a HD-based player).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25042 a1c6a512-1295-4272-9138-f99709370657
2010-03-06 12:14:12 +00:00
Jonathan Gordon
a9b5f4d810 cleanup statusbar+base skin relationship...
* remove the "custom" option from the statusbar setting. if a sbs file is set then statusbar setting is ignored, no other user visible change there.
* new tag, %wi  - use to draw the inbuilt statusbar in the current viewport


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25038 a1c6a512-1295-4272-9138-f99709370657
2010-03-06 00:29:46 +00:00
Peter D'Hoye
5e0b407edf fix typo in talk value of histogram setting
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25028 a1c6a512-1295-4272-9138-f99709370657
2010-03-04 21:16:15 +00:00
Peter D'Hoye
be90f74e89 Histogram display on recording screen. Based on the work of Jvo Studer in FS #5021 but reduced and reworked since the recording screen code changed quite a bit since his patch. For now enabled on iriver h1x0 and h3x0 only.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25007 a1c6a512-1295-4272-9138-f99709370657
2010-03-03 22:16:08 +00:00
Jonathan Gordon
4c6b3551b5 split the theme settings apply() sutff out of settings_apply(). this should fix splashes not being loc'ed, statusbar over the splash (fixed in sim, not on my mini2g though), and the supposed boot time slowdown.
What this also does is remove a bunch of unnecessary settings_Apply()'s from the ipod accessory code, and causes all non-skin settings to get applied each time (this includes font and langs which we wernt doing to stop disk access)


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24922 a1c6a512-1295-4272-9138-f99709370657
2010-02-26 08:01:41 +00:00
Frank Gevaerts
34ae3959e6 remove incorrect cast
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24824 a1c6a512-1295-4272-9138-f99709370657
2010-02-21 21:51:18 +00:00
Thomas Martitz
8aae18b3cc Don't be too wasteful and only reparse skins when actually needed.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24818 a1c6a512-1295-4272-9138-f99709370657
2010-02-21 20:34:35 +00:00
Thomas Martitz
ec0ca10ddf Properly generate (with "Save Theme Settings") and handle filename settings with "-".
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24816 a1c6a512-1295-4272-9138-f99709370657
2010-02-21 20:34:27 +00:00
Thomas Martitz
c19e53654b Playlist Viewer Changes to bring consistency:
- combine its two context menus to one and
- make the ACTION_STD_MENU go to the main menu as it does in all other screens
- call playlist_viewer() via root_menu to reduce call depth and to be consistent with other screens (and for the above changes to be more flexible w.r.t to the following screen)

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24791 a1c6a512-1295-4272-9138-f99709370657
2010-02-20 19:06:39 +00:00
Teruaki Kawashima
93f9e7cbfb fix text scrolling handling in do_menu, set_time_screen and time_screen.
Don't scroll text in time_screen(). the lines will be redrawn before scrolling statrs, so they don't scroll anyway.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24591 a1c6a512-1295-4272-9138-f99709370657
2010-02-11 10:41:06 +00:00
Teruaki Kawashima
00d97d77e8 time menu: stop scrolling before leave the screen.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24583 a1c6a512-1295-4272-9138-f99709370657
2010-02-10 15:06:03 +00:00
Jonathan Gordon
eee5423fe1 skin rework (FS#10922) notable changes:
- simplify the setting/skin relationship. settings are used as the fallback if it's not specified in the skin
- backdrop buffers are now in the skin buffer (which has also increased slightly to accomodate 1 backdrop for each skin and 2 full colour screens for bmps (up for 1.5))
- if no %X is specified in a skin then the backdrop setting will be used. use %Xd to explicitly disable a skin from displaying a backdrop
- the base skin can now specify a backdrop.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24366 a1c6a512-1295-4272-9138-f99709370657
2010-01-29 07:52:13 +00:00
Jonathan Gordon
27b8b73b86 Rename "custom statusbar" to "base skin" in the theme menu, no other changes. If translators are quick enough to update we can put them in the 3.5 branch
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24339 a1c6a512-1295-4272-9138-f99709370657
2010-01-27 06:34:50 +00:00
Bertrik Sikken
6fef14bd16 Set svn:keywords property on .c and .h files that didn't already have it. Correct svn:executable property on some files.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24165 a1c6a512-1295-4272-9138-f99709370657
2010-01-03 14:28:09 +00:00
Jonathan Gordon
9d1832cfba fix FS#10870 - slightly change the viewportmanager theme undo-er to be able to force an update even if the theme isnt being toggled from off to on which caused WPS artifacts when leaving the WPS if the theme was enabled
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24087 a1c6a512-1295-4272-9138-f99709370657
2009-12-21 05:19:12 +00:00
Jonathan Gordon
b72ba0ff43 from FS#10771 - fix the clear backdrop option so it clears the full screen
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24039 a1c6a512-1295-4272-9138-f99709370657
2009-12-17 08:09:05 +00:00
Jonathan Gordon
e425371e10 Fix FS#10289 - screens showing a list need to check the show_icons setting before setting the callback. the List will now always draw icons if a callback is set (like its always done for voice)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24022 a1c6a512-1295-4272-9138-f99709370657
2009-12-16 08:36:46 +00:00
Jonathan Gordon
b2eb44ce0e FS#10824 - viewport/statusbar API rework.
Hopefully the only user visible changes are:
- fm and recording screens go by the statusbar setting (sbs or inbuilt)
- plugins go back to using the theme as they should for menus and lists
- splash screens might get cut a bit... entirely theme and splash dependant.. if there is a problematic one we can look at it later.
- hopefully nothing more than very minor screen flickerings... let me know exactly where they are so they can be fixed

New GUI screen rules:
* Screens assume that the theme (sbs+ui viewport+ maybe background image) are always enabled. They may be disabled on a per display basis, but MUST be re-enabled on exit
* Screens must not be coded in a way that requires a statusbar of any type.. the inbuilt bar will be removed shortly.
ALWAYS RESPECT THE USERS SETTINGS unless the screen requires the full display to fit.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23904 a1c6a512-1295-4272-9138-f99709370657
2009-12-09 07:25:46 +00:00
Jeffrey Goode
b8793f85a5 Fix HAVE_CROSSFADE definition in config to apply only to swcodec targets
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23620 a1c6a512-1295-4272-9138-f99709370657
2009-11-12 05:04:23 +00:00
Jeffrey Goode
9e0953432a Crossfade: carved out crossfade related code with lots of HAVE_CORSSFADE conditionals, eliminated fade buffer on low memory targets
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23597 a1c6a512-1295-4272-9138-f99709370657
2009-11-10 03:46:08 +00:00
Teruaki Kawashima
92fb1df03a FS#10338: Add "use morse input " entry to settings menu
* Remember last used text input mode (keyboard or morse input) in settings.
* Add setting "Use Morse Code Input" under Settings -> General Settings -> System.

Now it is possible for some of targets without button combo for changing input mode to use morse input by changing the setting. it's not possible for them to change input mode during in the keyboard screen of course.
There are still targets without morse input mode.

Flyspray: FS#10338
Author: myself, David Johnston

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23567 a1c6a512-1295-4272-9138-f99709370657
2009-11-08 13:14:50 +00:00
Jeffrey Goode
95e2d72759 Compressor: simplify makeup gain setting, expand release range, finally provide documention in the manual!
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23518 a1c6a512-1295-4272-9138-f99709370657
2009-11-04 18:14:36 +00:00
Teruaki Kawashima
a404e9ae24 Fix time display in time menu when time is not valid.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23421 a1c6a512-1295-4272-9138-f99709370657
2009-10-30 14:34:13 +00:00
Tomer Shalev
83d24f89df FS#10704 - Make a configuration option to disable USB HID
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23322 a1c6a512-1295-4272-9138-f99709370657
2009-10-23 13:29:19 +00:00
Thomas Martitz
de7f241046 Add a browse (remote) custom statusbar item in the theme settings.
Uses the same icon that browse wps uses for now.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23261 a1c6a512-1295-4272-9138-f99709370657
2009-10-19 16:08:43 +00:00
Thomas Martitz
1016ee4e80 Initial custom statusbar commit.
The custom statusbar can be used as a WPS for the main UI, using .(r)sbs files. It's using the skin engine and knows all tags the WPS also knows.
The default folder for .sbs is the wps folder to reuse images used in the WPS.
As it can be shown in the WPS also, it's useful to move shared parts to the custom statusbar in order to save skin buffer space.
There are a few restrictions/TODOs:
*) Peak meter doesn't redraw nicely(not frequent enough), as very frequent updates would slow the UI down as hell (some targets fight with it in the WPS already: FS#10686)
*) No touchregion support as the statusbar doesn't have any action handling (it won't fail to parse though).
*) Drawing stuff into the default VP is forbidden (loading images in it is not). You *need* to use viewports for the displaying stuff (parsing fails if no viewport is used).
*) Themes that don't use a custom ui viewport can be fixed up using the new %Vi tag to avoid nasty redraw effectts (you must not draw into it as well, it's used to fix up the ui viewport). %Vi describes the viewport that the lists can use without getting in the way of the statusbar.

Otherwise, it behaves like the classic statusbar, it can be configured in the theme settings, and can be turned off in the wps using %wd.

Note to translaters: When translating LANG_STATUSBAR_CUSTOM, please consider using the same translation as for LANG_CHANNEL_CUSTOM if it's compatible. They could be combined later then.

Flyspray: FS#10566
Author: myself

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23258 a1c6a512-1295-4272-9138-f99709370657
2009-10-19 15:28:15 +00:00
Nils Wallménius
79f19b939f Const correctness for output_dyn_value and unify some identical constants
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23227 a1c6a512-1295-4272-9138-f99709370657
2009-10-17 13:40:42 +00:00
Torne Wuff
af8cc7d35f Change the icon used for the System menu to the same as the System Settings menu. Previously it was Icon_Questionmark which seems out of place on many themes.
FS#9727


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23204 a1c6a512-1295-4272-9138-f99709370657
2009-10-16 16:42:44 +00:00
Tomer Shalev
d5b076b64a RTL: Cosmetic changes, no functional change - Rename constants
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23117 a1c6a512-1295-4272-9138-f99709370657
2009-10-11 20:15:22 +00:00
Thomas Martitz
a79dc87761 Add a center flag, next to the rtl flag, for viewports. That results in any text being drawn centered. It overrides the RTL flag if set.
Simplify splashes and time menu by using it.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23105 a1c6a512-1295-4272-9138-f99709370657
2009-10-11 12:21:27 +00:00
Nils Wallménius
46943ad40c Avoid more useless string copys and make some random cleanups
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23092 a1c6a512-1295-4272-9138-f99709370657
2009-10-11 08:45:47 +00:00
Tomer Shalev
a1dfe6441d Use helper function vp_puts_center() in time_menu.c
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22979 a1c6a512-1295-4272-9138-f99709370657
2009-10-06 08:17:36 +00:00