Michael Sevakis
|
4db3e89652
|
Shuffle some functions around so that interfacing with playback.c in particular isn't required. Though playback does finish the audio init, pcm doesn't care who does it.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30403 a1c6a512-1295-4272-9138-f99709370657
|
2011-09-01 12:15:43 +00:00 |
|
Michael Sevakis
|
a2b6703a36
|
Commit FS#12150 - Fully-functional audio mixer - and finally whip old limitations about playback of voice and other sounds when paused. Channels are independent in state and amplitude. Fade on stop/pause is handled by the channel's volume control rather than global volume which means it now works from anywhere. Opens up the possibility of plugin sounds during music playback by merely adding an additional channel enum. If any PCM drivers were not properly modified, see one of the last comments in the task for a description of the simple change that is expected. Some params are tunable in firmware/export/pcm-mixer.h as well.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30097 a1c6a512-1295-4272-9138-f99709370657
|
2011-06-29 06:37:04 +00:00 |
|
Michael Sevakis
|
d4800fa385
|
Coldfire: Fix the modification of IMR. Interrupts must be masked at the core level at at least the level of the interrupt being masked. Not following the datasheet and relying strictly on and/or_l causes unhandled 'Levelx' exceptions (showing itself quite often in PCM mixer work which more greatly stresses PCM lockout).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30009 a1c6a512-1295-4272-9138-f99709370657
|
2011-06-17 03:09:47 +00:00 |
|
Marcin Bukat
|
971a6e9c94
|
HD200 - Setup codec as I2S master and enable recording
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27250 a1c6a512-1295-4272-9138-f99709370657
|
2010-07-02 21:09:28 +00:00 |
|
Michael Sevakis
|
d56999890f
|
Make PCM->driver interface about as simple as it will get. Registered callback, zero data, alignment and stops are handled entirely inside pcm.c; driver merely calls fixed pcm.c callback. Remove pcm_record_more and do it just like playback; the original reason behind it isn't very practical in general. Everything checks out on supported targets. There wer some compat changes I can't check out on many unsupoorted but if there's a problem it will be a minor oops. Plugins become incompatible due to recording tweak-- full update. Sorted API.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26253 a1c6a512-1295-4272-9138-f99709370657
|
2010-05-24 16:42:32 +00:00 |
|
Michael Sevakis
|
4d04132c76
|
PCM bottom layer simplification. pcm_rec_peak_addr variable no longer has to be handled there. Driver can just return current pointer for recording peaks. A new define, HAVE_PCM_REC_DMA_ADDRESS, specifies that physical addresses are being used for recording and translation is needed before starting a new block. The drivers need not worry about aligning start and size nor should care if either will be zero. All this will be checked in the logical layer first.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25970 a1c6a512-1295-4272-9138-f99709370657
|
2010-05-12 14:05:36 +00:00 |
|
Marcin Bukat
|
b09d3aec39
|
Add MPIO HD200 port - changed files
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25724 a1c6a512-1295-4272-9138-f99709370657
|
2010-04-26 21:40:00 +00:00 |
|
Michael Sevakis
|
eb96058266
|
Remove experimental check which should only be there if all PCM drivers do it. It's incomplete anyway.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19999 a1c6a512-1295-4272-9138-f99709370657
|
2009-02-13 12:37:29 +00:00 |
|
Michael Sevakis
|
ca5ca5b6ef
|
Give pcm-coldfire.c a much needed shakedown. Fixes FS#9378 - metronome freezes (works for me now on X5 and H120 after running it at 400bpm for an hour or so). The reason seems to have been DMA_INT in DCR should also be cleared when forcing a channel stop. Also fixes a dodgey keyclick without music playing that I was getting on H120.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19991 a1c6a512-1295-4272-9138-f99709370657
|
2009-02-12 21:32:14 +00:00 |
|
Michael Sevakis
|
e69d567d9e
|
Bring consistency to pcm implementation and samplerate handling. Less low-level duplication. A small test_sampr fix so it works on coldfire again.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19400 a1c6a512-1295-4272-9138-f99709370657
|
2008-12-12 11:01:07 +00:00 |
|
Jens Arnold
|
0d49141637
|
Since several S/PDIF sources do not set the valnogood bit properly, valnogood shouldn't be considered as an error.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18322 a1c6a512-1295-4272-9138-f99709370657
|
2008-08-19 23:07:54 +00:00 |
|
Daniel Stenberg
|
2acc0ac542
|
Updated our source code header to explicitly mention that we are GPL v2 or
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
|
2008-06-28 18:10:04 +00:00 |
|
Bertrik Sikken
|
19425909c3
|
Another round of making local functions static and making sure that source files are in sync with their header files.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17337 a1c6a512-1295-4272-9138-f99709370657
|
2008-05-03 21:33:00 +00:00 |
|
Michael Sevakis
|
af395f4db6
|
Do core interrupt masking in a less general fashion and save some instructions to decrease size and speed things up a little bit. Small fix to a few places where interrupts would get enabled again where they shouldn't have been (context switching calls when disabled).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16811 a1c6a512-1295-4272-9138-f99709370657
|
2008-03-26 01:50:41 +00:00 |
|
Jens Arnold
|
3005cf5c86
|
Sound on M3. yay!
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16679 a1c6a512-1295-4272-9138-f99709370657
|
2008-03-15 21:55:14 +00:00 |
|
Jens Arnold
|
8a6291dd63
|
More iAudio M3 work. Target build compiles, but same problem regarding plugins as the simulator. Boots to the menu, but it can't be used yet because only main & remote Play button work. USB works.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16660 a1c6a512-1295-4272-9138-f99709370657
|
2008-03-14 08:54:54 +00:00 |
|
Michael Sevakis
|
6077e5b7c8
|
Unify PCM interface just above the hardware driver level for all targets including the sims. Perform lockout of audio callback when changing states. Weird new playback or recording trouble? Check before and after this revision first though things seem quite sound.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15006 a1c6a512-1295-4272-9138-f99709370657
|
2007-10-06 22:27:27 +00:00 |
|
Robert Keevil
|
7785d6949e
|
Temporary fix for FS#7257 and FS#7261 - playback resumes while paused when seeking
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13795 a1c6a512-1295-4272-9138-f99709370657
|
2007-07-05 10:19:06 +00:00 |
|
Michael Sevakis
|
2d48d0ffa6
|
Straighten out some audio path APIs and misc. audio stuff. Having recording is not a prerequisite to having input/output source selection which is probably most useful when adding a audio input features like FM to a new port without forcing recording to be implemented first.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13599 a1c6a512-1295-4272-9138-f99709370657
|
2007-06-08 23:42:04 +00:00 |
|
Michael Sevakis
|
8f659ae8d3
|
Use bitmasks to define which inputs are available. Makes it easier to remove old assumptions of which are available. Inspired by e200 being unique in having FM Radio and Mic but no Line. Doesn't remove the assumption that Mic is available or that one of Mic and/or Line is available just to avoid excessive #ifdef'ing until needed.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13448 a1c6a512-1295-4272-9138-f99709370657
|
2007-05-20 20:26:36 +00:00 |
|
Marcoen Hirschberg
|
eb7603f1c5
|
always reset the pcm_paused flag when stopping playback. fixes FS #7187
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13423 a1c6a512-1295-4272-9138-f99709370657
|
2007-05-19 19:30:08 +00:00 |
|
Michael Sevakis
|
521d6a5e1f
|
H100 S/PDIF recording: Check and clear the correct interrupt bits when recording from digital in.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13198 a1c6a512-1295-4272-9138-f99709370657
|
2007-04-18 02:07:56 +00:00 |
|
Michael Sevakis
|
6c8772d6db
|
x5/M5: Finally get rid of filter selection aberrations when switching to 88.2kHz sampling rate which affected both the DAC and ADC. Turning off the DAC and ADC before changing the internal codec frequency seems to cure the remaining glitch of the filters not being correctly selected by the TLV320. Some FIFO reset changes that help keep it stable as well. Supporting 88.2KHz on iAudio has been a tricky ordeal. Also made sure to ok the HW tone controls on iRiver. :)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12757 a1c6a512-1295-4272-9138-f99709370657
|
2007-03-14 10:06:57 +00:00 |
|
Michael Sevakis
|
abf41e3481
|
H100 Series: Fix FS#6810 - Distortion on Bass/Treble usage. Coldfire PCM needed a refinement in the init sequence for the UDA1380 after audio init changes. Apparently it doesn't like its registers altered before the Coldfire I2S is properly initialized.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12752 a1c6a512-1295-4272-9138-f99709370657
|
2007-03-13 15:05:46 +00:00 |
|
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
|
5d63776a24
|
Reenable aynchronous audio init stage. Really just single stage with 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
|
2007-03-11 05:04:48 +00:00 |
|
Michael Sevakis
|
633f388002
|
Coldfire targets: Shuffle IRQ levels around to have all interaction between low level audio function calls and DMA be atomic. Make recording and playback independently startable and stoppable so one can be running and not interfere with the other. All tests I can do at the moment check out ok (play, record, play+record, FM radio on iRivers, S/PDIF on H120 (w/running optical on/off), and on-the-fly samplerate changes). Recording tested for well over an hour run and no problems.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12658 a1c6a512-1295-4272-9138-f99709370657
|
2007-03-07 06:23:02 +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 |
|
Jens Arnold
|
8876018d25
|
Bring up the M5 port to a working stage: Extended numerous explicit checks for IAUDIO_X5 to also check for IAUDIO_M5, moved code around the target tree, added preliminary background for the sim.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12610 a1c6a512-1295-4272-9138-f99709370657
|
2007-03-05 00:04:00 +00:00 |
|
Linus Nielsen Feltzing
|
9744433752
|
Move the MPARK init to system_init()
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12452 a1c6a512-1295-4272-9138-f99709370657
|
2007-02-22 14:54:13 +00:00 |
|
Michael Sevakis
|
c02e15fe26
|
Coldfire: More efficient and compact peaking code. Hope the build doesn't whine about strange asm constraints. GCC's ok with it here.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11786 a1c6a512-1295-4272-9138-f99709370657
|
2006-12-17 11:56:30 +00:00 |
|
Michael Sevakis
|
f51df0de21
|
Coldfire: Put DMA1 priority back at level 7 as that seems to be the cause of the stopping during record. Make DMA1 start as it did previously.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11729 a1c6a512-1295-4272-9138-f99709370657
|
2006-12-12 04:25:52 +00:00 |
|
Marcoen Hirschberg
|
edbd1cde47
|
first step in audio driver unification: renaming the functions to audio_* (missed this one)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11672 a1c6a512-1295-4272-9138-f99709370657
|
2006-12-06 10:44:40 +00:00 |
|
Marcoen Hirschberg
|
77d039bab8
|
first step in audio driver unification: renaming the functions to audio_*
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11670 a1c6a512-1295-4272-9138-f99709370657
|
2006-12-06 10:24:59 +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
|
ab1861a3c2
|
iRiver/iAudio: Added audio_set_recording gain and sound_default to plugin API. Simplified plugin recording by target/-ing some audio functions. UDA1380 records with WSPLL as a result.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11577 a1c6a512-1295-4272-9138-f99709370657
|
2006-11-23 19:21:15 +00:00 |
|
Michael Sevakis
|
fbac4f8444
|
Audio bugfixes. Should wait for voice codec to reload before returning buffer when stealing voice. Certain variables that get or may get used during an IRQ should be declared 'volatile'.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11572 a1c6a512-1295-4272-9138-f99709370657
|
2006-11-22 09:13:14 +00:00 |
|
Michael Sevakis
|
ef40b0ae43
|
Coldfire: Add DMA auto alignment to pcm recording.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11563 a1c6a512-1295-4272-9138-f99709370657
|
2006-11-21 15:58:39 +00:00 |
|
Michael Sevakis
|
cc50c149e9
|
H100/General: HAL for S/PDIF and refinement/bufixes in optical output powering/source selection.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11523 a1c6a512-1295-4272-9138-f99709370657
|
2006-11-13 23:21:54 +00:00 |
|
Michael Sevakis
|
5efee7c94a
|
Forgot to use cvs add on a few new files in the fresh checkout I used. woops.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11453 a1c6a512-1295-4272-9138-f99709370657
|
2006-11-06 18:18:05 +00:00 |
|