summaryrefslogtreecommitdiff
path: root/firmware/export/sound.h (follow)
Commit message (Collapse)AuthorAge
* Add DAC's oversampling filter roll-off selection to sound settings.Andrew Ryabinin2013-05-24
| | | | Change-Id: I1258ba50dd9308f49d97965562f3a423c9bfb785
* Straighten out the mad twisted state of sound.c and related areas.Michael Sevakis2013-04-15
| | | | | | | | | | | | | | | | | | This is going right in since it's long overdue. If anything is goofed, drop me a line or just tweak it yourself if you know what's wrong. :-) Make HW/SW codec interface more uniform when emulating HW functionality on SWCODEC for functions such as "audiohw_set_pitch". The firmware-to- DSP plumbing is in firmware/drivers/audiohw-swcodec.c. "sound_XXX" APIs are all in sound.c with none in DSP code any longer. Reduce number of settings definitions needed by each codec by providing defaults for common ones like balance, channels and SW tone controls. Remove need for separate SIM code and tables and add virtual codec header for hosted targets. Change-Id: I3f23702bca054fc9bda40f49824ce681bb7f777b
* Implement universal in-PCM-driver software volume control.Michael Sevakis2013-04-11
| | | | | | | | | | | | | | | | | | | | | | Implements double-buffered volume, balance and prescaling control in the main PCM driver when HAVE_SW_VOLUME_CONTROL is defined ensuring that all PCM is volume controlled and level changes are low in latency. Supports -73 to +6 dB using a 15-bit factor so that no large-integer math is needed. Low-level hardware drivers do not have to implement it themselves but parameters can be changed (currently defined in pcm-internal.h) to work best with a particular SoC or to provide different volume ranges. Volume and prescale calls should be made in the codec driver. It should appear as a normal hardware interface. PCM volume calls expect .1 dB units. Change-Id: Idf6316a64ef4fb8abcede10707e1e6c6d01d57db Reviewed-on: http://gerrit.rockbox.org/423 Reviewed-by: Michael Sevakis <jethead71@rockbox.org> Tested-by: Michael Sevakis <jethead71@rockbox.org>
* 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>
* 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
* Remove lots of simulator-speficic #ifdef'ing in sound.c to allow for DSP ↵Thomas Martitz2010-04-25
| | | | | | effects in the sims, e.g. for bass and treble (targets that do those effects in HW don't simulate using dsp). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25719 a1c6a512-1295-4272-9138-f99709370657
* * Move DSP_CALLBACK_* enum to sound.hMaurus Cuelenaere2009-08-01
| | | | | | | | | * Add software based volume control for a certain range (SW_VOLUME_MIN -> SW_VOLUME_MAX) * Make Onda VX747 use it * Don't change volume or frequency in Ingenic Jz4740 codec driver when they're already set git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22106 a1c6a512-1295-4272-9138-f99709370657
* Fix red in bootloadersAlexander Levin2009-07-11
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21782 a1c6a512-1295-4272-9138-f99709370657
* Improvements to the pitch screen UI (FS#10359 by David Johnston)Alexander Levin2009-07-11
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21781 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
* More static / header file cleanup.Bertrik Sikken2008-05-03
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17341 a1c6a512-1295-4272-9138-f99709370657
* move audiohw_postinit to audiohw.hChristian Gmeiner2008-02-12
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16293 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
* make audiohw.h include the DAC header filesMarcoen Hirschberg2007-05-22
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13473 a1c6a512-1295-4272-9138-f99709370657
* red freeChristian Gmeiner2007-05-22
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13466 a1c6a512-1295-4272-9138-f99709370657
* * move audio settings into audio codec driversChristian Gmeiner2007-05-22
| | | | | | | | * add mas35xx driver for all mas35xx targets. Later mas35xx code from sound.c will move to this new driver git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13464 a1c6a512-1295-4272-9138-f99709370657
* Gigabeat: Separate driver for audio codec. Tweak pcm driver to comply with ↵Michael Sevakis2007-05-02
| | | | | | intended interface. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13307 a1c6a512-1295-4272-9138-f99709370657
* Oops, missed a file from r12727Daniel Ankers2007-03-11
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12728 a1c6a512-1295-4272-9138-f99709370657
* Reenable aynchronous audio init stage. Really just single stage with ↵Michael Sevakis2007-03-11
| | | | | | aynchronous enabling of outputs. Keeps audio_init last so prior init steps can use the audiobuffer in any desired way. Audio will be fully initialized by the time the UI is entered. Playback of voice or audio will be delayed properly until audio hardware is ready. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12714 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
* SWCODEC: Dsp speed optimizations. Changes for more modularity. Removal of ↵Michael Sevakis2007-02-24
| | | | | | some usless stuff. Some assembly routines for Coldfire with speed in mind over size for the outputs but the channel modes remain compact. Miscellaneous coldfire asm updates to accomodate the changes. Codec API structure version has to increase so do a full update. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12472 a1c6a512-1295-4272-9138-f99709370657
* FS#6096. Recording on PortalPlayer targets (H10, iPod Video, iPod 4g, iPod ↵Barry Wardell2006-12-18
| | | | | | | | | | | | | | | | | | | | Color, iPod Nano). * Fix failed compile of enc_config.c when HAVE_MPEG2_SAMPR is not defined. * Fix bug in AIFF encoder header creation on little endian targets. * Add recording screen keymaps for H10 and iPod. * Move pcm_playback PP specific code to target tree. * Add recording code to wmcodec drivers. * Add pcm_record code. Some problems still remain: * Playback doesn't work after recording until Rockbox is restarted. * Gain control not implemented. * Only 16-bit/44KHz for now. The hardware should be capable of up to 24-bit/96KHz. * Line-in recording not tested on H10. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11794 a1c6a512-1295-4272-9138-f99709370657
* move some audio driver specific code to the correspoding filesMarcoen Hirschberg2006-12-06
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11675 a1c6a512-1295-4272-9138-f99709370657
* Patch #5347 by Rani Hod - Adds FM radio and recording features to the iAudio X5.Linus Nielsen Feltzing2006-07-21
| | | | | | | Also includes a rewrite of the Coldfire I2C driver to include both read and write. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10272 a1c6a512-1295-4272-9138-f99709370657
* Iriver: Moved the handling of the UDA1380 split gain (analog preamp + ↵Jens Arnold2006-05-14
| | | | | | decimator gain) into the UDA driver. * All: Settings structure sorted & cleaned up. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9927 a1c6a512-1295-4272-9138-f99709370657
* Patch #1403437 by Peter D'Hoye & Martin Scarratt: Recording gain.Hristo Kovachev2006-02-08
| | | | | | | | | | | | | | | | | | | | Changes: ***1. all platforms: 1.1 corrects gain display bug; 1.2 allows combined setting of stereo gain without an extra line on the display; 2. iRiver H1xx and H3xx specific: 2.1 correctly named the decimator variables, they were called 'gain'; 2.2 splitted decimator gain settings for mic and line-in so that they are saved separately; 2.3 added combined analog and decimator gain setting giving a smooth gain range with the best analog/decimator gain combination git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8627 a1c6a512-1295-4272-9138-f99709370657
* Simplified and uniform volume handling: * Volume setting in dB on all ↵Jens Arnold2005-12-07
| | | | | | targets, within the 'natural' range defined by the respective DAC (limited to -100..+12 dB for archos Recorders and Ondios in order to avoid 4 chars being displayed in the status bar). 0 dB means line level on all targets. * No more artificial volume limiting for Iriver and Player, settings always represent true values. Removed the various sound scaling options. * Bumped config version so save your settings. Also make sure to adjust the volume after loading a .cfg, then save the .cfg again, otherwise the volume will be out of range (a flaw in the .cfg loader). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8197 a1c6a512-1295-4272-9138-f99709370657
* iRiver: new sound option "prevent clipping:adjust volume/adjust bass/adjust ↵Anton Oleynikov2005-12-04
| | | | | | current/off" git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8145 a1c6a512-1295-4272-9138-f99709370657
* iRiver: Initial support for wav-recording in recording menu. Supports ↵Andy2005-11-12
| | | | | | mic/line-in (and radio), monitor mode, time-splitting (and byte-splitting), pause/resume etc. Things todo: Prerecording, peakmeter (should be simple), frequency other than 44.1 kHz, etc.. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7818 a1c6a512-1295-4272-9138-f99709370657
* Sound settings rework: * Put all fixed parameters (unit, decimals, step, ↵Jens Arnold2005-11-06
| | | | | | min, max, default, set function) for the individual settings into one structure array. * Use the new individual sound setting functions where appropriate. * Added dummy sound setting functions and defined the codec type for the sims. Fixes wrong sound settings ranges in the simulators. * Code cleanup. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7770 a1c6a512-1295-4272-9138-f99709370657
* Corrected the bug with boolean settings (the inverted screen that couldn't ↵Kevin Ferrare2005-11-06
| | | | | | be turned back to normal) added full multi-screen sound setting support git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7761 a1c6a512-1295-4272-9138-f99709370657
* Renamed CONFIG_HWCODEC and MASNONE to the more appropriate CONFIG_CODEC and ↵Jens Arnold2005-08-29
| | | | | | SWCODEC, respectively. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7416 a1c6a512-1295-4272-9138-f99709370657
* Better pitch handling.Jens Arnold2005-05-22
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6503 a1c6a512-1295-4272-9138-f99709370657
* Moved the mpeg_sound_xxx() functions to sound.c and renamed them to sound_xxx()Linus Nielsen Feltzing2005-04-01
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6240 a1c6a512-1295-4272-9138-f99709370657