rockbox/apps
Michael Sevakis 7ad2cad173 Commit work started in FS#12153 to put timing/position information in PCM
buffer chunks.

* Samples and position indication is closely associated with audio data
  instead of compensating by a latency constant. Alleviates problems with
  using the elapsed as a track indicator where it could be off by several
  steps.

* Timing is accurate throughout track even if resampling for pitch shift,
  whereas before it updated during transition latency at the normal 1:1 rate.

* Simpler PCM buffer with a constant chunk size, no linked lists.

In converting crossfade, a minor change was made to not change the WPS until
the fade-in of the incoming track, whereas before it would change upon the
start of the fade-out of the outgoing track possibly having the WPS change
with far too much lead time.

Codec changes are to set elapsed times *before* writing next PCM frame because
 time and position data last set are saved in the next committed PCM chunk. 


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30366 a1c6a512-1295-4272-9138-f99709370657
2011-08-28 07:45:35 +00:00
..
bitmaps Initial framework for the Sandisk Sansa Clip Zip 2011-08-27 16:21:19 +00:00
codecs Commit work started in FS#12153 to put timing/position information in PCM 2011-08-28 07:45:35 +00:00
eqs
gui Fix FS#12238 - WPS delay on pause introduced by r30097 which was the excuse I wanted anyway to do a better PCM fade on stop/pause implementation. New fade is asynchronous tick-based. Restores skin update points in the WPS that were removed when fading mechanism was changed. 2011-08-23 01:37:59 +00:00
hosted/android Copy yesno_pop to hosted/yesno,c which is mildly annoying, maybe do a better fix later 2011-07-21 06:51:55 +00:00
keymaps HD300: RECTRIGGER keymap 2011-03-16 20:24:35 +00:00
lang FS#12207 - Fast second july update of Czech language by Marek Salaba 2011-08-27 10:24:30 +00:00
menus GSoC/Buflib: Replace all direct accesses to audiobuf with buffer API functions. 2011-08-14 15:13:00 +00:00
metadata FS#12163 by Sean Bartell 2011-08-27 12:34:21 +00:00
player Fix remaining reds/yellows. 2010-05-14 13:21:40 +00:00
plugins Utterly pointless fix for an unused Doom module (but while the code is in our source it ought not to have buffer overrides in, right?). 2011-08-26 16:12:51 +00:00
radio Fix FS#12239, data abort after going from FMS to WPS. 2011-08-23 18:43:17 +00:00
recorder Fix errors and warnings. 2011-08-14 15:37:05 +00:00
abrepeat.c abrepeat: drop some inline's and rearrange code to save some size since this stuff is hardly speed critical. 2011-01-18 16:11:33 +00:00
abrepeat.h abrepeat: drop some inline's and rearrange code to save some size since this stuff is hardly speed critical. 2011-01-18 16:11:33 +00:00
action.c Have mpegplayer use the mixer (the playback channel, since it's mutually exclusive to audio playback) so the clicks and skip beep can be used according to user settings. Introduce some system sound functions to make easier playing event sounds from various places and convert files calling 'beep_play' to use 'system_sound_play' and 'keyclick_click'. Event sound could be become themeable. 2011-07-08 22:31:15 +00:00
action.h skin engine softlock support for touchscreens: 2011-07-28 11:26:01 +00:00
alarm_menu.c Wakeup alarm screen is unusuable with large fonts or small screens 2010-05-22 00:28:10 +00:00
alarm_menu.h
appevents.h Workaround an occasional problem where album art or cuesheets might not be ready by the time the track change event is send which can result in the WPS not immediately being aware that the handles are ready. A better solution will be sought that hopefully doesn't require the additional event. 2011-05-25 08:35:31 +00:00
applimits.h Remove two unused defines. 2010-08-21 15:49:42 +00:00
apps.make Android: use APPEXTRA instead of makefile hack 2011-03-11 16:08:36 +00:00
audio_path.c Rockbox as an application: Replace many occurences of #ifdef SIMULATOR with #if (CONFIG_PLATFORM & PLATFORM_HOSTED) (or equivalently). 2010-06-21 16:53:00 +00:00
beep.c Do some adjustments to alleviate IRAM congestion on some targets from r30097. Include removing pointless IRAM declarations in pcmbuf.c because that callback code runs at a fairly relaxed pace. M5 is still the biggest problem. 2011-06-29 09:39:13 +00:00
bookmark.c Bookmarking no longer need worry about inability to speak while paused on SWCODEC. 2011-08-21 21:21:40 +00:00
bookmark.h Rename functions so that the code is easier to read 2010-07-06 16:53:52 +00:00
buffering.c Provide a reasonable fix for FS#12093 - Playback hanging after codec/playback rework. Also, get rid of an impossible buffering case (BUF_USED is always less than buffer_len) and remove a buffering API that is not used anywhere and shouldn't be needed (plugin API has to be incompatible). 2011-05-09 21:19:11 +00:00
buffering.h Provide a reasonable fix for FS#12093 - Playback hanging after codec/playback rework. Also, get rid of an impossible buffering case (BUF_USED is always less than buffer_len) and remove a buffering API that is not used anywhere and shouldn't be needed (plugin API has to be incompatible). 2011-05-09 21:19:11 +00:00
codec_thread.c Commit work started in FS#12153 to put timing/position information in PCM 2011-08-28 07:45:35 +00:00
codec_thread.h is_codec_thread() is not needed anymore since PCM buffer calls other than volume level are no longer made by the voice thread. 2011-07-21 22:25:09 +00:00
codecs.c Android: install codecs as native libs instead of extracting them (FS#12134). 2011-05-31 21:26:18 +00:00
codecs.h Add the codec_main declaration to apps/codecs.h 2011-08-25 20:52:50 +00:00
core_asmdefs.c
cuesheet.c Change the cuesheet fix from r30359 to have a minor binsize increase on SH1. 2011-08-26 16:46:23 +00:00
cuesheet.h Fix Database red, move the cuesheet->token code into the skin engine 2010-07-29 13:23:33 +00:00
debug_menu.c ipod nano 1g: enable readout of battery current through ADC channel 4066_ISTAT 2011-07-24 17:32:50 +00:00
debug_menu.h
dsp.c Rework parts of the replaygain code to be able to differentiate between 0.00 dB set intentionally and having no replaygain information at all. Bump codec api. 2011-04-04 15:21:44 +00:00
dsp.h
dsp_arm.S FS#11335 by me: make ARM assembly functions thumb-friendly 2010-06-11 04:41:36 +00:00
dsp_arm_v6.S
dsp_asm.h
dsp_cf.S
enc_config.c Fix different enum comparison warning when building with gcc 4.5 2010-12-20 20:56:22 +00:00
enc_config.h
eq.c Reduce FRACMUL calls in equalizer. 2011-05-18 20:06:37 +00:00
eq.h
eq_arm.S Avoid an obvious stall on everything newer then arm7tdmi. Note: this can probably be made a lot faster on newer arm targets. 2010-12-16 19:45:59 +00:00
eq_cf.S
features.txt Make the histogram code usable for playback as well. Move the recording histogram code to peakmeter, rename it to remove the recording reference, and rename anything referring to it as well. Change the drawing code so there are more options to position them. This may change your histogram settings, so check after upgrading. 2011-06-05 12:36:27 +00:00
filetree.c GSoC/Buflib: Replace all direct accesses to audiobuf with buffer API functions. 2011-08-14 15:13:00 +00:00
filetree.h
filetypes.c Submit initial patch from FS#12176. Adds support for several new game music formats (AY, GBS, HES, KSS, SGC, VGM and VGZ) and replaces the current NSF and NSFE with a new implementation based on a port of the Game Music Emu library 'GME'. This first submit does not cover the full functionality provided by the author's original patch: Coleco-SGV is not supported, some GME-specific m3u-support has been removed and IRAM is not used yet. Further changes are very likely to follow this submit. Thanks to Mauricio Garrido. 2011-08-07 20:01:04 +00:00
filetypes.h Fix yellow. Shouldn't have reordered struct members here. 2011-06-20 19:33:08 +00:00
fixedpoint.c Improve accuracy of NR-based fp_sqrt with better initial estimation and using one more bit internally. More reliable early termination. Good enough until better method is completed. 2010-06-08 04:51:00 +00:00
fixedpoint.h
fracmul.h Relax constraints for arm asm to not break when gcc decides to not inline the function but also throw in a FORCE_INLINE for good measure. Remove a redundant 'inline'. 2011-06-30 08:22:56 +00:00
iap.c iap: pass length and data pointer to iap_handlepkt functions, this prepares for iap large packet support. 2011-05-02 21:55:13 +00:00
keyboard.h
language.c Add stdio.h include for SEEK_SET define to various files. 2010-12-25 18:43:34 +00:00
language.h
logfdisp.c
logfdisp.h
main.c GSoC/Buflib: Replace all direct accesses to audiobuf with buffer API functions. 2011-08-14 15:13:00 +00:00
menu.c FS#11925 - Add a proper system to keep track of the current screen/activity to make %cs far more useful 2011-06-01 14:41:49 +00:00
menu.h
metadata.c Extension entries need an extra nul byte. 2011-08-14 11:23:01 +00:00
metadata.h Redo 30225 differently to not break the audio formats order for skins. 2011-08-14 11:18:03 +00:00
misc.c Fix panic after usb extraction if lastfm logging is enabled. 2011-08-17 11:27:33 +00:00
misc.h %cs (current screen) changes: 2011-08-07 08:39:56 +00:00
mp3data.c GSoC/Buflib: Replace all direct accesses to audiobuf with buffer API functions. 2011-08-14 15:13:00 +00:00
mp3data.h GSoC/Buflib: Replace all direct accesses to audiobuf with buffer API functions. 2011-08-14 15:13:00 +00:00
mpeg.c Fix remaining problems. 2011-08-14 15:43:43 +00:00
mpeg.h
onplay.c Add a %cs item for the context menus 2011-08-05 00:47:11 +00:00
onplay.h FS#11808 - Major playlist handling changes (on disk playlists) 2011-07-20 14:11:15 +00:00
pcmbuf.c Commit work started in FS#12153 to put timing/position information in PCM 2011-08-28 07:45:35 +00:00
pcmbuf.h Commit work started in FS#12153 to put timing/position information in PCM 2011-08-28 07:45:35 +00:00
playback.c Commit work started in FS#12153 to put timing/position information in PCM 2011-08-28 07:45:35 +00:00
playback.h GSoC/Buflib: Replace all direct accesses to audiobuf with buffer API functions. 2011-08-14 15:13:00 +00:00
playlist.c Fix file descriptor leak on error 2011-08-25 19:39:01 +00:00
playlist.h Dircache: Don't expose struct dircache_entry and pointers into the cache, use IDs instead. 2011-06-20 20:12:42 +00:00
playlist_catalog.c FS#11808 - Major playlist handling changes (on disk playlists) 2011-07-20 14:11:15 +00:00
playlist_catalog.h FS#11808 - Major playlist handling changes (on disk playlists) 2011-07-20 14:11:15 +00:00
playlist_menu.h
playlist_viewer.c GSoC/Buflib: Replace all direct accesses to audiobuf with buffer API functions. 2011-08-14 15:13:00 +00:00
playlist_viewer.h FS#11808 - Major playlist handling changes (on disk playlists) 2011-07-20 14:11:15 +00:00
plugin.c GSoC/Buflib: Replace all direct accesses to audiobuf with buffer API functions. 2011-08-14 15:13:00 +00:00
plugin.h Fix tempbuf assignment in tagcache and bump plugin API/ABI for r30308. 2011-08-14 18:08:40 +00:00
README
replaygain.c Display the correct sign of replaygain for levels from -0.99 to -0.01 dB. 2011-05-01 21:12:40 +00:00
replaygain.h Rework parts of the replaygain code to be able to differentiate between 0.00 dB set intentionally and having no replaygain information at all. Bump codec api. 2011-04-04 15:21:44 +00:00
root_menu.c %cs (current screen) changes: 2011-08-07 08:39:56 +00:00
root_menu.h FS#11925 - Add a proper system to keep track of the current screen/activity to make %cs far more useful 2011-06-01 14:41:49 +00:00
screen_access.c Rename {draw,fill}_viewport once more (to draw_border_viewport and fill_viewport) and remove the viewport parameter as suggested by Dave Chapman. 2010-10-11 01:19:55 +00:00
screen_access.h Rename {draw,fill}_viewport once more (to draw_border_viewport and fill_viewport) and remove the viewport parameter as suggested by Dave Chapman. 2010-10-11 01:19:55 +00:00
screens.c imx233/fuze+: huge rework 2011-07-23 11:45:22 +00:00
screens.h
scrobbler.c Make scrobbler_flush_cache() static 2011-08-01 19:43:13 +00:00
scrobbler.h Make scrobbler_flush_cache() static 2011-08-01 19:43:13 +00:00
settings.c Listen to and follow external Android volume changes. (Based on FS#11914 by Maurus Cuelenaere) 2011-03-14 12:25:48 +00:00
settings.h Make the histogram code usable for playback as well. Move the recording histogram code to peakmeter, rename it to remove the recording reference, and rename anything referring to it as well. Change the drawing code so there are more options to position them. This may change your histogram settings, so check after upgrading. 2011-06-05 12:36:27 +00:00
settings_list.c Remove to top/bottom quickscreen defaults. 2011-07-20 01:30:29 +00:00
settings_list.h
sound_menu.h Remove unneeded include. 2010-08-21 16:07:34 +00:00
SOURCES Submit initial patch from FS#12176. Adds support for several new game music formats (AY, GBS, HES, KSS, SGC, VGM and VGZ) and replaces the current NSF and NSFE with a new implementation based on a port of the Game Music Emu library 'GME'. This first submit does not cover the full functionality provided by the author's original patch: Coleco-SGV is not supported, some GME-specific m3u-support has been removed and IRAM is not used yet. Further changes are very likely to follow this submit. Thanks to Mauricio Garrido. 2011-08-07 20:01:04 +00:00
status.c
status.h Rockbox as an application: Replace many occurences of #ifdef SIMULATOR with #if (CONFIG_PLATFORM & PLATFORM_HOSTED) (or equivalently). 2010-06-21 16:53:00 +00:00
tagcache.c Fix file descriptor leak on error 2011-08-25 19:42:00 +00:00
tagcache.h FS#12132 patch 6, part 2: tagnavi.config: Add support for "basename" 2011-07-31 16:26:35 +00:00
tagnavi.config FS#12132 patch 7: Add a new default format for untagged tracks: 2011-07-31 16:26:39 +00:00
tagtree.c FS#12132 patch 8: retrieve_entries: Decrease binsize by reenabling 2011-08-04 10:23:18 +00:00
tagtree.h
talk.c Move stuff a bit down to fix red on TALK_PARTIAL_LOAD. 2011-08-22 10:23:11 +00:00
talk.h GSoC/Buflib: Replace all direct accesses to audiobuf with buffer API functions. 2011-08-14 15:13:00 +00:00
tdspeed.c
tdspeed.h
tree.c Fix oops in r30242. I didn't want to change/reduce the buffer size. 2011-08-03 10:39:46 +00:00
tree.h Cleanup tree.c cache handling a bit. 2011-08-03 09:49:25 +00:00
usb_keymaps.c
usb_keymaps.h
voice_thread.c Voice doesn't have to consume 100% CPU while waiting for an output buffer to be available. Use 'sleep(0)' instead of 'yield()' while polling. 2011-07-08 23:39:01 +00:00
voice_thread.h 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. 2011-06-29 06:37:04 +00:00

For general information see: docs/README
For API information see: docs/API