Commit graph

28 commits

Author SHA1 Message Date
Michael Sevakis
c2d2106fd7 Audio Init: Just can't stand that heirarchy. Add one level of abstraction. Might come in handy anyhow. Use sound.h instead of the conditional includes for audio hardware headers. If someone doesn't like that, yell at my evil twin. :)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12718 a1c6a512-1295-4272-9138-f99709370657
2007-03-11 06:21:43 +00:00
Michael Sevakis
8867d00141 More catching up on old work. Refine audio interface setup on Coldfire. Stop the funky glitching on the iAudio stuff when starting recording esp. at 88.2kHz. (probably due to the bidi interface). iRivers don't seem to care what you do. TLV320 still seems to have a little trouble selecting it's filters correctly for 88.2kHz or it could be some odd phasing effect. Get rid of the horrible reset parameter in pcm_apply_settings as it can decide for itself.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12618 a1c6a512-1295-4272-9138-f99709370657
2007-03-05 08:14:27 +00:00
Michael Sevakis
51189b4cb4 Small change to PCM recording API for low latency effects. Latency can be as low as 14 samples from input to output including the FIFOs (ColdFire) but 16 is more reasonable an expectation if only tranferring one sample per interrupt (\!). May convert PCM playback to use the same method as it can still be used in the old manner with some slight mods but has the potential to enable new features since it is more flexible.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11668 a1c6a512-1295-4272-9138-f99709370657
2006-12-06 08:34:55 +00:00
Michael Sevakis
7d00f97460 PCM: A few tiny changes. 1) Recording a) Flush all pending files if filename queue is full or else perpetual flushing of 1 will occur at low bitrates and short split times. b) #ifdef out currently unused bits and save little less than 1/2K 2) Cleanup some declarations.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11623 a1c6a512-1295-4272-9138-f99709370657
2006-11-29 14:23:24 +00:00
Michael Sevakis
0f5cb94aa4 Big Patch adds primarily: Samplerate and format selection to recording for SWCODEC. Supprort for samplerates changing in playback (just goes with the recording part inseparably). Samplerates to all encoders. Encoders can be configured individually on a menu specific to the encoder in the recording menu. File creation is delayed until flush time to reduce spinups when splitting. Misc: statusbar icons for numbers are individual digits to display any number. Audio buffer was rearranged to maximize memory available to recording and properly reinitialized when trashed. ColdFire PCM stuff moved to target tree to avoid a complicated mess when adding samplerate switching. Some needed API changes and to neaten up growing gap between hardware and software codecs.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11452 a1c6a512-1295-4272-9138-f99709370657
2006-11-06 18:07:30 +00:00
Brandon Low
413da2a3d9 Rework PCM buffer
* Linked list instead of static array buffer pointers
* Variable sized chunks
* Improved mix handling
* Reduction in duplicated code
* Reduced IRAM usage w/o sacrificing performance
* Converted to almost entirely unsigned math
* Add pause function to reduce pcm_* exposure to playback.

This WILL break playback on the iPod until linuxstb makes a followup commit.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8612 a1c6a512-1295-4272-9138-f99709370657
2006-02-07 20:38:55 +00:00
Miika Pekkarinen
6d6ca6b6a5 Muting trick to prevent tiny pops and glitchless mp3 seeking.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8416 a1c6a512-1295-4272-9138-f99709370657
2006-01-22 10:25:07 +00:00
Miika Pekkarinen
eab434c416 More accurate playback position calculation.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7218 a1c6a512-1295-4272-9138-f99709370657
2005-07-22 06:32:55 +00:00
Miika Pekkarinen
e9919342c5 Initial attempt to support peak meter on iriver. It still has some
strange behaviour and readings might not be correct.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7182 a1c6a512-1295-4272-9138-f99709370657
2005-07-17 19:29:02 +00:00
Miika Pekkarinen
20b3897474 Separated buffering stuff from pcm_playback to pcmbuf. Renamed some
function calls (audiobuffer -> pcmbuf etc.).


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7131 a1c6a512-1295-4272-9138-f99709370657
2005-07-13 12:48:22 +00:00
Miika Pekkarinen
79952cb613 Small copy/paste error..
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6934 a1c6a512-1295-4272-9138-f99709370657
2005-06-29 21:21:06 +00:00
Miika Pekkarinen
7b7d1e6802 Always use crossfade if it's enabled.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6933 a1c6a512-1295-4272-9138-f99709370657
2005-06-29 21:13:46 +00:00
Miika Pekkarinen
84d6f9e89b Fixed slow track switching and track pre-buffering. Fixed rockboy
crash while audio is playing. Some buffering adjustments made.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6930 a1c6a512-1295-4272-9138-f99709370657
2005-06-29 20:50:58 +00:00
Miika Pekkarinen
85f4973106 Replaced some size_t with longs. That might solve some problems. Fixed
also problem where codec buffer length indicator goes negative.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6898 a1c6a512-1295-4272-9138-f99709370657
2005-06-27 19:29:49 +00:00
Miika Pekkarinen
d8cb703b1e Initial DSP implementation. DSP supports resampling audio stream from
codecs (currently works corrently only with mp3's, somebody should fix
that).


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6877 a1c6a512-1295-4272-9138-f99709370657
2005-06-26 19:41:29 +00:00
Miika Pekkarinen
3e88b58f6c Crossfade fixes.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6778 a1c6a512-1295-4272-9138-f99709370657
2005-06-20 14:27:06 +00:00
Jens Arnold
4c7da88618 Iriver UDA1380 volume and balance handling is now done in sound.c, similar to archos player; removed pcm_set_volume(). Implemented a dB-linear scale. Sorted & bumped plugin api. Removed audio test from the debug menu.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6741 a1c6a512-1295-4272-9138-f99709370657
2005-06-18 01:25:47 +00:00
Miika Pekkarinen
c3fed62fc7 Fixed the "last song bug".
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6725 a1c6a512-1295-4272-9138-f99709370657
2005-06-15 18:59:04 +00:00
Miika Pekkarinen
8d5822d6ed Playlist changed are recognized correctly.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6711 a1c6a512-1295-4272-9138-f99709370657
2005-06-14 18:59:34 +00:00
Miika Pekkarinen
2ed0b195be Better handling for cpu_boost(). Small buffering fix.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6647 a1c6a512-1295-4272-9138-f99709370657
2005-06-10 10:58:45 +00:00
Linus Nielsen Feltzing
6271b2b910 Added Crossfade setting for iRiver
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6636 a1c6a512-1295-4272-9138-f99709370657
2005-06-09 09:47:00 +00:00
Miika Pekkarinen
b4bc106efb Fixed forward next track bugs (still some pause issues though). Added
experimental cross-fader.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6632 a1c6a512-1295-4272-9138-f99709370657
2005-06-09 07:19:16 +00:00
Miika Pekkarinen
82c2927d1e Fixed: Ogg Vorbis crashing, MP3 file seeking, USB mode and a little
faster file buffering.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6591 a1c6a512-1295-4272-9138-f99709370657
2005-06-07 06:34:54 +00:00
Linus Nielsen Feltzing
1c497e6045 First audio codec playback attempt by Miikka Pekkarinen
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6574 a1c6a512-1295-4272-9138-f99709370657
2005-06-05 23:05:10 +00:00
Linus Nielsen Feltzing
267eb077a7 New API for buffered PCM playback
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6284 a1c6a512-1295-4272-9138-f99709370657
2005-04-14 11:51:31 +00:00
Linus Nielsen Feltzing
928beee0d1 iRiver: Major PCM DMA code cleanup, added pcm_init() and pcm_play_pause()
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6234 a1c6a512-1295-4272-9138-f99709370657
2005-03-31 06:49:10 +00:00
Michiel Van Der Kolk
451dd48adc Sound api improvements, rockboy sound, contributed by xshock.
Playback of sound currently only works in boost mode, needs fixing.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6226 a1c6a512-1295-4272-9138-f99709370657
2005-03-28 00:00:24 +00:00
Linus Nielsen Feltzing
8ffeab5fc9 PCM playback for iRiver
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6210 a1c6a512-1295-4272-9138-f99709370657
2005-03-18 11:39:28 +00:00