Brandon Low
1f4a63441a
Make crossfade less twitchy about buffer level
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9799 a1c6a512-1295-4272-9138-f99709370657
2006-04-25 15:06:55 +00:00
Brandon Low
9602dd7e60
Fix asymetric crossfade cases that were broken, and also a not yet reported bug where a buffer underrun during crossfade would take a long time to resume playing
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9798 a1c6a512-1295-4272-9138-f99709370657
2006-04-25 12:34:28 +00:00
Brandon Low
1924769631
Fix crossfade. Again.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9797 a1c6a512-1295-4272-9138-f99709370657
2006-04-25 10:39:56 +00:00
Brandon Low
9aa49a4360
More crossfade work, should fix crossfade on coldfire, and possibly improve crossfade performance in some cases.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9796 a1c6a512-1295-4272-9138-f99709370657
2006-04-25 02:28:21 +00:00
Brandon Low
8ef18271dd
Fix another possible glitch causer on crossfade
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9789 a1c6a512-1295-4272-9138-f99709370657
2006-04-24 12:41:30 +00:00
Brandon Low
9ca16a66bf
Fix crossfade locational setting
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9785 a1c6a512-1295-4272-9138-f99709370657
2006-04-24 03:43:43 +00:00
Brandon Low
2da61ff3fb
Remove accidentally commited commented code, no functional changes
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9784 a1c6a512-1295-4272-9138-f99709370657
2006-04-24 01:32:28 +00:00
Brandon Low
6c0908b416
Rework crossfade to properly follow pcmbuf chunks instaed of blindly inserting into the ring buffer
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9780 a1c6a512-1295-4272-9138-f99709370657
2006-04-23 22:54:34 +00:00
Brandon Low
920516c3e9
Whoops, forgot to 'duck' the music below the voice when I redid the mix
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9772 a1c6a512-1295-4272-9138-f99709370657
2006-04-23 05:30:52 +00:00
Brandon Low
f3bc1efc49
First commit of reworking voice to be mroe stable on swcodec
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9758 a1c6a512-1295-4272-9138-f99709370657
2006-04-22 14:40:13 +00:00
Brandon Low
37faaab0ee
Fix a crossfade problem (not initializing quite right), and a end of track problem (should solve some problemwith last bits of audio not playing).
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9736 a1c6a512-1295-4272-9138-f99709370657
2006-04-20 02:30:59 +00:00
Brandon Low
86c7e1a947
Fix some stop/pause/boost stuff
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9662 a1c6a512-1295-4272-9138-f99709370657
2006-04-14 16:42:14 +00:00
Brandon Low
0744e760cb
Ensure that the buffer doesn't get out of sync on rebuffer track changes. Remove the concept of pcmuf_boost_mode as it doesn't seem necessary, and adds an unnecessary way for the CPU to stay boosted.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9646 a1c6a512-1295-4272-9138-f99709370657
2006-04-13 17:30:54 +00:00
Brandon Low
a131580c61
Add a comment only
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9554 a1c6a512-1295-4272-9138-f99709370657
2006-04-07 20:03:26 +00:00
Brandon Low
0fcd411965
Fix bug #4896 and make the beep code a bit cleaner
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9514 a1c6a512-1295-4272-9138-f99709370657
2006-04-05 13:00:31 +00:00
Brandon Low
33a62e8a8e
More work on swcodec. No significant pcmbuf functions are called from the audio thread now. Do not be surprised if seek or skip behavior gets weird after this, but it Works for Me (TM), and is a significant step in the right direction.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9510 a1c6a512-1295-4272-9138-f99709370657
2006-04-05 04:27:16 +00:00
Zakk Roberts
8bdd92b05e
New 'Track Skip Only' option for Crossfading; crossfading is disabled except for manual track changes. NOTE: If you were using 'Always' mode previously, check again after updating: you'll now be in the new 'Track Skip Only' mode.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9353 a1c6a512-1295-4272-9138-f99709370657
2006-03-30 05:56:19 +00:00
Brandon Low
dbcc9c25d5
Add comments, and avoid throw-away calculations in crossfade buffer process
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9352 a1c6a512-1295-4272-9138-f99709370657
2006-03-30 00:47:05 +00:00
Brandon Low
a9c168834d
Fix lockups people have been having with track skipping during buffer fill, this is a reversion of a previous commit pending more fixes to playback engine
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9250 a1c6a512-1295-4272-9138-f99709370657
2006-03-25 18:37:31 +00:00
Brandon Low
86f1e2ead2
Convert playback.c to use unsigned byte counters, and _minor_ refactoring of buffer callbacks
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9227 a1c6a512-1295-4272-9138-f99709370657
2006-03-24 13:43:15 +00:00
Brandon Low
8307d0b388
Fix weirdness caused by not stopping buffering during pause, and generally use a more sane pause behavior on swcodec targets
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9221 a1c6a512-1295-4272-9138-f99709370657
2006-03-24 02:38:57 +00:00
Brandon Low
9535a9a639
Fix some of the voice and beep bugs that people have noticed since my new pcmbuf code went in, reduce code duplication, and improve performance while I'm at it
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8775 a1c6a512-1295-4272-9138-f99709370657
2006-02-22 01:56:44 +00:00
Brandon Low
3bbd93b260
Add comments, and prevent a nearly impossible wrapping bug. There's always enough space for the next whole audio chunk now, so it's faster too
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8678 a1c6a512-1295-4272-9138-f99709370657
2006-02-13 17:08:53 +00:00
Brandon Low
3a37faee57
Don't boost from inside the DMA interrupt, ever
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8677 a1c6a512-1295-4272-9138-f99709370657
2006-02-13 16:55:25 +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
8f369c2d22
Fixed the previous commit.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8610 a1c6a512-1295-4272-9138-f99709370657
2006-02-07 19:40:17 +00:00
Miika Pekkarinen
4408b6b70c
Reduce latency when configuring the EQ.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8609 a1c6a512-1295-4272-9138-f99709370657
2006-02-07 19:17:51 +00:00
Miika Pekkarinen
a4f8d1c621
Don't use crossfader mix mode when skipping tracks manually.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8470 a1c6a512-1295-4272-9138-f99709370657
2006-01-27 16:25:44 +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
Brandon Low
ee6a95a7d1
Initialize callback for safety
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8411 a1c6a512-1295-4272-9138-f99709370657
2006-01-22 00:03:20 +00:00
Brandon Low
a3868d35d3
Continue to update playback status after decoding is complete (the progress bar makes it to 100%!)
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8407 a1c6a512-1295-4272-9138-f99709370657
2006-01-21 22:42:44 +00:00
Brandon Low
d8a6c0665d
Improve performance by putting more of the code and variables that are called by the DMA0 interrupt into IRAM (3% boost improvement on my test track).
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8404 a1c6a512-1295-4272-9138-f99709370657
2006-01-21 16:47:36 +00:00
Miika Pekkarinen
0e159f13cf
Fixed a few iriver playback quirks and issues with previous fixes.
...
Also fixed "TST.." bug when seeking and possible an enhancement to mp3
gapless playback also.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8402 a1c6a512-1295-4272-9138-f99709370657
2006-01-20 22:02:44 +00:00
Miika Pekkarinen
b770d53cb4
Fixed the crossfade and track skipping glitches.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8292 a1c6a512-1295-4272-9138-f99709370657
2005-12-28 21:13:52 +00:00
Miika Pekkarinen
07fd5d9534
Fixed a division by zero problem with simulator when crossfade is
...
disabled.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8245 a1c6a512-1295-4272-9138-f99709370657
2005-12-15 18:44:59 +00:00
Daniel Stenberg
f981ea93fb
kill gcc4 warnings
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8162 a1c6a512-1295-4272-9138-f99709370657
2005-12-05 22:44:42 +00:00
Miika Pekkarinen
e7461b3609
iRiver: New crossfader with more configuration capability. Might still
...
have small bugs, but those will be fixed as soon as possible. Config
block version bumped; please SAVE YOUR SETTINGS.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7765 a1c6a512-1295-4272-9138-f99709370657
2005-11-06 16:40:20 +00:00
Miika Pekkarinen
bdf558ca53
Fixed the voice codec when no audio is playing. Now attenuating audio
...
instead of making the voice louder.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7653 a1c6a512-1295-4272-9138-f99709370657
2005-10-22 21:07:35 +00:00
Miika Pekkarinen
c52f7f1b5e
iRiver: Fixed broken items skipping on playlist: Now skipping and
...
marking them as bad instead of deleting the entries from playlist.
Faster buffered track skipping and preventing glitches from previous
tracks (still something might occur though, please report them).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7647 a1c6a512-1295-4272-9138-f99709370657
2005-10-21 06:40:45 +00:00
Miika Pekkarinen
65d43a2d22
Define empty macros for cpu boosting on targets with no such a feature.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7412 a1c6a512-1295-4272-9138-f99709370657
2005-08-28 19:55:30 +00:00
Miika Pekkarinen
29aad55d97
Fixed iriver cpu boosting problems.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7410 a1c6a512-1295-4272-9138-f99709370657
2005-08-28 14:16:03 +00:00
Linus Nielsen Feltzing
7c8c0a6fb6
Fixed a rounding error in the PCM buffer latency calculation
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7386 a1c6a512-1295-4272-9138-f99709370657
2005-08-22 21:54:34 +00:00
Miika Pekkarinen
159c52dd36
Initial voice ui support for software codec platforms. Added also a
...
beep when changing tracks.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7360 a1c6a512-1295-4272-9138-f99709370657
2005-08-20 11:13:19 +00:00
Miika Pekkarinen
90161c92dd
It's now possible to select the crossfading mode: "Off, Crossfade,
...
Mix". If set to mix, no fading is applied but tracks are mixed up.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7224 a1c6a512-1295-4272-9138-f99709370657
2005-07-22 16:46:27 +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
ab2163bdf5
Fixed the crossfade setting: Resuming stopped playback automatically
...
when changing values, setting crossfade amount correctly and pcm
drivers should not be re-initialized.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7214 a1c6a512-1295-4272-9138-f99709370657
2005-07-21 15:47:29 +00:00
Miika Pekkarinen
f090dc3829
Crossfade (and pcm buffer size) length is now configurable.
...
Implemented anti-skip buffer setting for iriver also. Settings block
bumped up, PLEASE SAVE YOUR SETTINGS BEFORE UPGRADING.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7210 a1c6a512-1295-4272-9138-f99709370657
2005-07-21 11:44:00 +00:00
Miika Pekkarinen
d83b659fa7
Fixed track changing problems.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7201 a1c6a512-1295-4272-9138-f99709370657
2005-07-19 19:57:23 +00:00
Miika Pekkarinen
34a25a6a3b
Fixed a problem that caused playback to stutter when changing tracks
...
fast.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7157 a1c6a512-1295-4272-9138-f99709370657
2005-07-15 16:42:01 +00:00
Miika Pekkarinen
2159811c66
Fixed a problem that cpu boost didn't always reset when stopping the
...
playback.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7153 a1c6a512-1295-4272-9138-f99709370657
2005-07-15 07:57:09 +00:00
Miika Pekkarinen
3ba52e2a7d
Removed an unnecessary logf call.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7132 a1c6a512-1295-4272-9138-f99709370657
2005-07-13 12:53:01 +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