summaryrefslogtreecommitdiff
path: root/apps/menus/sound_menu.c (follow)
Commit message (Collapse)AuthorAge
* Implement speaker enable/disable on jack (un)plugAmaury Pouly2017-02-04
| | | | | | | | | | | | | | | | | | | | | The implementation is not very complicated but there are a few things worth noting. There was a previous "speaker enable" setting but it was a boolean. I decided to replace it with a choice setting that has 2 options (on, off) if headphones cannot be detect on this target, or 3 options (on, off, auto) if we can detect headphones. This will break the old setting on target that cannot detect jack but it makes the code more uniform and avoid maintaining two settings with more #ifdef. The third option (auto) uses the LANG_AUTO text, which I think is clear enough (disable speaker on jack plug). In order to avoid code duplication (both in apps and firmware), I decided to keep the audiohw_enable_speaker function as-is: it takes a boolean and doesn't care about the speaker policy. I introduced a new audio_enable_speaker that takes directly the mode (which follows the setting encoding): 0=off, 1=on and 2=auto. This way one calls audio_enable_speaker and it changes the speaker once to reflect the request mode. The apps code then uses this function in the places where it makes sense: on setting load, setting change and jack (un)plug event. Change-Id: I027873f698eb4bc365d7c02b515297806355d9e2
* three new DSPsChiwen Chang2015-01-19
| | | | | | | | | | | | | | | perceptual bass enhancement - a bbe-ish group delay corrction with Biophonic EQ boost. - precut auditory fatigue reduction -reduce signal in frequency that may trigger temporary threshold shift haas surround -frequency between f(x1) and f(x2) is always bypassed. -can apply to side only. Change-Id: Icb6355ce9b1c99bf2c58c9385c3c411c0ae209d3
* Implement volume limiter featurePurlingNayuki2014-01-13
| | | | | | | | | | | | | | Add a "volume limit" parameter to the configuration file. The maximum value of volume setting in sound menu will be limited to the same as volume limit. Also each time when setvol() is excuted, Rockbox will check if the global_settings.volume value larger than global_settings.volume_limit. If larger, take the value of volume_limit instead. The volume_limit argument shares the same maximum and minimum values with volume argument, while taking the maximum volume as its default value. Change-Id: I8ca9bc6ea6e617b48fc346aae5f2a0a1d259ae36 Reviewed-on: http://gerrit.rockbox.org/697 Reviewed-by: Jonathan Gordon <rockbox@jdgordon.info>
* DSP Compressor: Sidechain, Exponential Atk/RlsRyan Billing2013-12-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is an improvement to the current compressor which I have added to my own Sansa Fuze V2 build. I am submitting here in case others find it interesting. Features added to the existing compressor: Attack, Look-ahead, Sidechain Filtering. Exponential attack and release characteristic response. Benefits from adding missing features: Attack: Preserve perceived "brightness" of tone by letting onset transients come through at a higher level than the rest of the compressed program material. Look-ahead: With Attack comes clipping on the leading several cycles of a transient onset. With look-ahead function, this can be pre-emptively mitigated with a slower gain change (less distortion). Look-ahead limiting is implemented to prevent clipping while keeping gain change ramp to an interval near 3ms instead of instant attack. The existing compressor implementation distorts the leading edge of a transient by causing instant gain change, resulting in log() distortion. This sounds "woofy" to me. Exponential Attack/Release: eMore natural sounding. On attack, this is a true straight line of 10dB per attack interval. Release is a little different, however, sounds natural as an analog compressor. Sidechain Filtering: Mild high-pass filter reduces response to low frequency onsets. For example, a hard kick drum is less likely to make the whole of the program material appear to fade in and out. Combined with a moderate attack time, such a transient will ride through with minimal audible artifact. Overall these changes make dynamic music sound more "open", more natural. The goal of a compressor is to make dyanamic music sound louder without necessarily sounding as though it has been compressed. I believe these changes come closer to this goal. Enjoy. If not, I am enjoying it Change-Id: I664eace546c364b815b4dc9ed4a72849231a0eb2 Reviewed-on: http://gerrit.rockbox.org/626 Tested: Purling Nayuki <cyq.yzfl@gmail.com> Reviewed-by: Michael Giacomelli <giac2000@hotmail.com>
* Add DAC's oversampling filter roll-off selection to sound settings.Andrew Ryabinin2013-05-24
| | | | Change-Id: I1258ba50dd9308f49d97965562f3a423c9bfb785
* Rename HAVE_PITCHSCREEN to HAVE_PITCHCONTROLNils Wallménius2012-05-09
| | | | | | | | 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>
* Make rbcodec/dsp includes more specific.Michael Sevakis2012-04-29
| | | | Change-Id: Idb6af40df26f5b8499a40e8b98602261ef227044
* Consolidate compressor settings into a struct.Michael Sevakis2012-04-26
| | | | | | Doing that makes things cleaner for later on. Change-Id: I4e279aa57ace16a348acc0fc09059592325ec95f
* Fix red, stupid typoFrank Gevaerts2010-09-17
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28103 a1c6a512-1295-4272-9138-f99709370657
* Make disabling HAVE_PITCHSCREEN actually work without breaking the buildFrank Gevaerts2010-09-17
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28102 a1c6a512-1295-4272-9138-f99709370657
* Hopefully get some green back from r26051.Michael Sevakis2010-05-15
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26052 a1c6a512-1295-4272-9138-f99709370657
* Gigabeat S: Fully enable access to hardware tone controls and 3-D effect ↵Michael Sevakis2010-05-15
| | | | | | 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
* Compressor: simplify makeup gain setting, expand release range, finally ↵Jeffrey Goode2009-11-04
| | | | | | provide documention in the manual! git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23518 a1c6a512-1295-4272-9138-f99709370657
* Replace limiter with dynamic range compressorJeffrey Goode2009-09-25
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22832 a1c6a512-1295-4272-9138-f99709370657
* FS#10199: Adds limiter DSP functionJeffrey Goode2009-08-18
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22394 a1c6a512-1295-4272-9138-f99709370657
* Renamed routines and changed comments for clarity.Steve Bavin2009-06-16
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21309 a1c6a512-1295-4272-9138-f99709370657
* FS#8894 - Add time stretching feature to all SWCODEC targets - the current ↵Steve Bavin2009-06-12
| | | | | | algorithm is best for spoken word. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21258 a1c6a512-1295-4272-9138-f99709370657
* Onda VX747:Maurus Cuelenaere2009-03-02
| | | | | | | | * Add speaker en-/disable driver * Add apps/ setting to en-/disable the speaker git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20174 a1c6a512-1295-4272-9138-f99709370657
* Something horrible happened with binsize, so revert FS#8894 completely (for ↵Steve Bavin2008-09-08
| | | | | | now). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18449 a1c6a512-1295-4272-9138-f99709370657
* Add timestretching from FS#8894, as written by Stephane Doyon based on work ↵Steve Bavin2008-09-08
| | | | | | by Nicolas Pitre. Shouldn't affect playback unless it's explicitly enabled, but let me know if it does. Currently has a dedicated setting, but maybe inclusion of the code will inspire someone to integrate this with the pitch screen... git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18446 a1c6a512-1295-4272-9138-f99709370657
* Updated our source code header to explicitly mention that we are GPL v2 orDaniel Stenberg2008-06-28
| | | | | | | | | later. We still need to hunt down snippets used that are not. 1324 modified files... http://www.rockbox.org/mail/archive/rockbox-dev-archive-2008-06/0060.shtml git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17847 a1c6a512-1295-4272-9138-f99709370657
* Removed unneeded dependency on pcmbuf.hBertrik Sikken2008-04-20
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17183 a1c6a512-1295-4272-9138-f99709370657
* Try and only use the PCM buffer low latency mode in sound settings when we ↵Dan Everton2008-03-03
| | | | | | really need to. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16496 a1c6a512-1295-4272-9138-f99709370657
* Commit FS#7440. The iPod Video doesn't actually have a hardware equalizer. ↵Dan Everton2007-11-24
| | | | | | It does have hardware bass/treble settings with configurable cutoff. So make the bass/treble settings use the hardware and remove the hardware equalizer configuration. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15782 a1c6a512-1295-4272-9138-f99709370657
* Toggle low latency mode when entering/exiting the eq menu to make the Jonathan Gordon2007-08-29
| | | | | | | changes more instant. should fix FS#7640 git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14506 a1c6a512-1295-4272-9138-f99709370657
* More header and dead code cleanup.Nils Wallménius2007-05-19
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13430 a1c6a512-1295-4272-9138-f99709370657
* Change anywhere where do_menu()'s return value was checked and expected Jonathan Gordon2007-03-15
| | | | | | | | a bool to appear the same as the old API. Possibly fixes some bugs, but doubtful. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12772 a1c6a512-1295-4272-9138-f99709370657
* Remove the need to double up the MENU macros in manu.h.Jonathan Gordon2007-03-03
| | | | | | | | Icons are now used by their id which must be part of the icons_6x8 enum, or Icon_NOICON for none git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12571 a1c6a512-1295-4272-9138-f99709370657
* Introducing the root menu!Jonathan Gordon2007-03-01
| | | | | | | | | Blind users: get a new voice file as there are lots of lang changes and new strings. FS#6630 or RootMenu on the wiki for more info. complaints to /dev/null :) git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12528 a1c6a512-1295-4272-9138-f99709370657
* Add software based bass/treble controls for targets which have no such ↵Thom Johansen2007-02-26
| | | | | | functionality in hardware (currently only X5). They can also be used on any other SWCODEC target by adding #define HAVE_SW_TONE_CONTROLS in the relevant config-*.h file. Also remove some now unneeded zero checks when using get_replaygain_int(). Comments on sound quality are welcome as some parameters can still be fine-tuned. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12489 a1c6a512-1295-4272-9138-f99709370657
* Don't enable low latency mode in the Crossfeed submenuLinus Nielsen Feltzing2007-02-21
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12428 a1c6a512-1295-4272-9138-f99709370657
* Convert the EQ menusJonathan Gordon2007-02-19
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12398 a1c6a512-1295-4272-9138-f99709370657
* Icons in the menus. Thanks midkay for them.Jonathan Gordon2007-02-14
| | | | | | | Any menus which dont yet show them are not converted to the new system. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12300 a1c6a512-1295-4272-9138-f99709370657
* Fix the keywords on some recently added files.Jonathan Gordon2007-02-13
| | | | | | | | Remove apps/recording_settings_menu.c which should never have been commited git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12293 a1c6a512-1295-4272-9138-f99709370657
* Convert the sound menu to the new systemJonathan Gordon2007-02-08
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12230 a1c6a512-1295-4272-9138-f99709370657
* beginning of the new menu system. This commit shouldnt break anything, Jonathan Gordon2007-02-08
but comming ones might.. report bugs in http://forums.rockbox.org/index.php?topic=8703.0 and more info at http://www.rockbox.org/twiki/bin/view/Main/SettingsRecode git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12227 a1c6a512-1295-4272-9138-f99709370657