rockbox/apps
Thomas Martitz baa070cca6 GSoC/Buflib: Enable compaction in buflib.
This enables the ability to allocate (and free) memory dynamically
without fragmentation, through compaction. This means allocations can move
and fragmentation be reduced. Most changes are preparing Rockbox for this,
which many times means adding a move callback which can temporarily disable
movement when the corresponding code is in a critical section.

For now, the audio buffer allocation has a central role, because it's the one
having allocated most. This buffer is able to shrink itself, for which it
needs to stop playback for a very short moment. For this,
audio_buffer_available() returns the size of the audio buffer which can
possibly be used by other allocations because the audio buffer can shrink.

lastfm scrobbling and timestretch can now be toggled at runtime without
requiring a reboot.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30381 a1c6a512-1295-4272-9138-f99709370657
2011-08-30 14:01:45 +00:00
..
bitmaps Initial framework for the Sandisk Sansa Clip Zip 2011-08-27 16:21:19 +00:00
codecs Introduce CPU dependent IRAM configuration for libgme. Use ICODE_ATTR for an emu2413-function to speed up PP5022 by up to 6%. 2011-08-30 12:35:12 +00:00
eqs
gui GSoC/Buflib: Add buflib memory alocator to the core. 2011-08-30 14:01:33 +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: Enable compaction in buflib. 2011-08-30 14:01:45 +00:00
metadata FS#12163 by Sean Bartell 2011-08-27 12:34:21 +00:00
player
plugins GSoC/Buflib: Enable compaction in buflib. 2011-08-30 14:01:45 +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
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
apps.make Android: use APPEXTRA instead of makefile hack 2011-03-11 16:08:36 +00:00
audio_path.c
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
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
debug_menu.c GSoC/Buflib: Enable compaction in buflib. 2011-08-30 14:01:45 +00:00
debug_menu.h
dsp.c GSoC/Buflib: Enable compaction in buflib. 2011-08-30 14:01:45 +00:00
dsp.h
dsp_arm.S
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: Enable compaction in buflib. 2011-08-30 14:01:45 +00:00
filetree.h
filetypes.c GSoC/Buflib: Enable compaction in buflib. 2011-08-30 14:01:45 +00:00
filetypes.h Fix yellow. Shouldn't have reordered struct members here. 2011-06-20 19:33:08 +00:00
fixedpoint.c
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: Enable compaction in buflib. 2011-08-30 14:01:45 +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 GSoC/Buflib: Enable compaction in buflib. 2011-08-30 14:01:45 +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 Restore functionality of pcmbuf_is_lowdata. It fell out of sync since the mixer code and then an incorrect change unintentionally remained in r30366. 2011-08-28 14:26:59 +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 GSoC/Buflib: Enable compaction in buflib. 2011-08-30 14:01:45 +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 GSoC/Buflib: Enable compaction in buflib. 2011-08-30 14:01:45 +00:00
playlist.h GSoC/Buflib: Enable compaction in buflib. 2011-08-30 14:01:45 +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: Enable compaction in buflib. 2011-08-30 14:01:45 +00:00
plugin.h GSoC/Buflib: Enable compaction in buflib. 2011-08-30 14:01:45 +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
screen_access.h
screens.c imx233/fuze+: huge rework 2011-07-23 11:45:22 +00:00
screens.h
scrobbler.c GSoC/Buflib: Enable compaction in buflib. 2011-08-30 14:01:45 +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
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
tagcache.c GSoC/Buflib: Enable compaction in buflib. 2011-08-30 14:01:45 +00:00
tagcache.h GSoC/Buflib: Enable compaction in buflib. 2011-08-30 14:01:45 +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 GSoC/Buflib: Enable compaction in buflib. 2011-08-30 14:01:45 +00:00
tagtree.h GSoC/Buflib: Enable compaction in buflib. 2011-08-30 14:01:45 +00:00
talk.c GSoC/Buflib: Add buflib memory alocator to the core. 2011-08-30 14:01:33 +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 GSoC/Buflib: Enable compaction in buflib. 2011-08-30 14:01:45 +00:00
tdspeed.h GSoC/Buflib: Enable compaction in buflib. 2011-08-30 14:01:45 +00:00
tree.c GSoC/Buflib: Enable compaction in buflib. 2011-08-30 14:01:45 +00:00
tree.h GSoC/Buflib: Enable compaction in buflib. 2011-08-30 14:01:45 +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