Commit graph

14127 commits

Author SHA1 Message Date
Thomas Martitz
2c07d238db Fix tempbuf assignment in tagcache and bump plugin API/ABI for r30308.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30314 a1c6a512-1295-4272-9138-f99709370657
2011-08-14 18:08:40 +00:00
Andree Buschmann
d559492603 Remove further float operations from emu2413 in libgme to speed up synthesis.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30313 a1c6a512-1295-4272-9138-f99709370657
2011-08-14 18:04:40 +00:00
Thomas Martitz
89c8cbebf2 Add change that got lost somehow in r30308.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30312 a1c6a512-1295-4272-9138-f99709370657
2011-08-14 15:51:08 +00:00
Thomas Martitz
b8fabfef84 Fix remaining problems.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30311 a1c6a512-1295-4272-9138-f99709370657
2011-08-14 15:43:43 +00:00
Thomas Martitz
8a701e5488 Fix errors and warnings.
The buffer_offset paramter of audio_init_recording() is removed as it
was unused in both implementations.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30310 a1c6a512-1295-4272-9138-f99709370657
2011-08-14 15:37:05 +00:00
Thomas Martitz
d1322b7159 GSoC/Buflib: Replace all direct accesses to audiobuf with buffer API functions.
Namely, introduce buffer_get_buffer() and buffer_release_buffer().
buffer_get_buffer() aquires all available and grabs a lock, attempting to
call buffer_alloc() or buffer_get_buffer() while this lock is locked will cause
a panicf() (doesn't actually happen, but is for debugging purpose).
buffer_release_buffer() unlocks that lock and can additionally increment the
audiobuf buffer to make an allocation. Pass 0 to only unlock if buffer was
used temporarily only.
buffer_available() is a replacement function to query audiobuflen, i.e. what's
left in the buffer.
Buffer init is moved up in the init chain and handles ipodvideo64mb internally.

Further changes happened to mp3data.c and talk.c as to not call the above API
functions, but get the buffer from callers. The caller is the audio system
which has the buffer lock while mp3data.c and talk mess with the buffer.
mpeg.c now implements some buffer related functions of playback.h, especially
audio_get_buffer(), allowing to reduce #ifdef hell a tiny bit.

audiobuf and audiobufend are local to buffer.c now.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30308 a1c6a512-1295-4272-9138-f99709370657
2011-08-14 15:13:00 +00:00
Frank Gevaerts
9b9bd73dfb Fix last charcell warning
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30307 a1c6a512-1295-4272-9138-f99709370657
2011-08-14 14:13:16 +00:00
Jonathan Gordon
c3fe7b0f88 need... sleep... try again to fix red
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30306 a1c6a512-1295-4272-9138-f99709370657
2011-08-14 14:12:21 +00:00
Jonathan Gordon
810e9c4dcb fix charcell again.... wouldnt it be nice to remove charcell support all together? :)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30305 a1c6a512-1295-4272-9138-f99709370657
2011-08-14 14:04:46 +00:00
Jonathan Gordon
4ed1340a7c Fix player errors
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30303 a1c6a512-1295-4272-9138-f99709370657
2011-08-14 13:56:10 +00:00
Jonathan Gordon
281f1a1ed6 New skin tags: %Vs() to set the text style and %Vg() to get the viewports gradient colours
%Vs(mode[, param]) : mode can be "invert", "color" (where param is the colour to use", "clear" to disable the current style, "gradient" where param is the number of lines the gradient should draw over.
%Vg(start colour, end colour, [text colour]), if this tag isnt used the list selection colours from the settings will set the gradient colours

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30302 a1c6a512-1295-4272-9138-f99709370657
2011-08-14 13:50:07 +00:00
Bertrik Sikken
b2d0ea204c Remove a couple of duplicate #includes
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30301 a1c6a512-1295-4272-9138-f99709370657
2011-08-14 13:42:32 +00:00
Thomas Martitz
dbdbc242ac Remove hosted_get_volume(), as event data is available in button_get_data().
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30300 a1c6a512-1295-4272-9138-f99709370657
2011-08-14 13:38:10 +00:00
Thomas Martitz
baa9c48a66 Extension entries need an extra nul byte.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30297 a1c6a512-1295-4272-9138-f99709370657
2011-08-14 11:23:01 +00:00
Thomas Martitz
e20ff44e9d Redo 30225 differently to not break the audio formats order for skins.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30296 a1c6a512-1295-4272-9138-f99709370657
2011-08-14 11:18:03 +00:00
Michael Hohmuth
5c6fe5da9c Properly export sleep_timer_call from main_menu.c in exported_menus.h
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30292 a1c6a512-1295-4272-9138-f99709370657
2011-08-13 22:55:04 +00:00
Andree Buschmann
a1145a1d04 Remove all IRAM attributes from libGME to be able to restart the IRAM optimization on a clean code base. As first step move the sample buffers to IRAM which results in a 1-5% speedup for all codecs.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30284 a1c6a512-1295-4272-9138-f99709370657
2011-08-13 16:41:14 +00:00
Andree Buschmann
724a2d2514 6th part of FS#12176. Reduce memory consumption of libgme emulators to allow enabling of NSF and SGC codecs for low memory targets. The main lookup table only requires byte precision and can be used by 2413 and 8950 emulators. Update the manual accordingly.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30283 a1c6a512-1295-4272-9138-f99709370657
2011-08-12 21:36:29 +00:00
Andree Buschmann
5f6d8bfcc0 Remove unused sources from libgme.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30282 a1c6a512-1295-4272-9138-f99709370657
2011-08-12 05:57:27 +00:00
Andree Buschmann
1b9f9fb465 5th part of FS#12176. Further fixed point migration. Only two emulators (ym2413, ym2612) still use floating point.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30281 a1c6a512-1295-4272-9138-f99709370657
2011-08-11 21:06:16 +00:00
Bertrik Sikken
b127949860 libgme: make local functions static where possible
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30280 a1c6a512-1295-4272-9138-f99709370657
2011-08-11 19:04:28 +00:00
Andree Buschmann
39e4987ea5 Reduce gain of VGM codec to avoid clipping.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30279 a1c6a512-1295-4272-9138-f99709370657
2011-08-11 06:22:56 +00:00
Andree Buschmann
631d22b8e5 4th part of FS#12176. Volume settings migrated to fixed point for libgme.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30278 a1c6a512-1295-4272-9138-f99709370657
2011-08-11 06:18:39 +00:00
Andree Buschmann
4ca2367e34 3rd part of FS#12176. Gain setting migrated to fixed point for libgme.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30277 a1c6a512-1295-4272-9138-f99709370657
2011-08-10 17:58:36 +00:00
Andree Buschmann
012df14a5f 2nd part of FS#12176. Tempo setting migrated to fixed point for libgme.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30274 a1c6a512-1295-4272-9138-f99709370657
2011-08-09 20:21:55 +00:00
Andree Buschmann
c23f576a1c Remove a floating point calculation from ay codec.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30268 a1c6a512-1295-4272-9138-f99709370657
2011-08-08 18:06:03 +00:00
Andree Buschmann
d14c96dc9a Remove 'set but not used' warning.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30267 a1c6a512-1295-4272-9138-f99709370657
2011-08-07 21:19:27 +00:00
Andree Buschmann
b8ae97fe58 Fix yellow and red. Disable NSF, VGM, SGC and KSS formats for low memory targets for now.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30265 a1c6a512-1295-4272-9138-f99709370657
2011-08-07 20:28:47 +00:00
Andree Buschmann
acb0917556 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.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30264 a1c6a512-1295-4272-9138-f99709370657
2011-08-07 20:01:04 +00:00
Andree Buschmann
93c6f1329a Submit FS#12218. Add support for embedded album art for ASF tags. For now the support is limited to embedded pictures of max 64 KB size.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30263 a1c6a512-1295-4272-9138-f99709370657
2011-08-07 15:23:57 +00:00
Jonathan Gordon
0bba82bf94 woops
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30262 a1c6a512-1295-4272-9138-f99709370657
2011-08-07 09:35:50 +00:00
Jonathan Gordon
835683b442 %cs (current screen) changes:
* Every top level menu item now has a different screen number
* Playlist viewer and Playlist Catalogue browsers no longer share the same number

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30261 a1c6a512-1295-4272-9138-f99709370657
2011-08-07 08:39:56 +00:00
Andree Buschmann
a668072d9e Fix replaygain for wma files which was broken since r29388.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30259 a1c6a512-1295-4272-9138-f99709370657
2011-08-06 09:20:52 +00:00
Jonathan Gordon
e918b7b973 Add a %cs item for the context menus
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30258 a1c6a512-1295-4272-9138-f99709370657
2011-08-05 00:47:11 +00:00
Michael Hohmuth
c027dc20be Database: Bug fix: The filename seek index is invalid if FLAG_DIRCACHE
is set on a database entry and the dircache went offline.  In this
case, retrieve() and get_next() need to abort and take the ramcache
offline as well.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30255 a1c6a512-1295-4272-9138-f99709370657
2011-08-04 23:03:43 +00:00
Michael Hohmuth
fa81cdc61a Database: find_entry_ram: Avoid dircache use if it's not ready
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30254 a1c6a512-1295-4272-9138-f99709370657
2011-08-04 23:03:27 +00:00
Jonathan Gordon
32dfc0cdc1 Add a plugin activity which to the %cs screen option list
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30253 a1c6a512-1295-4272-9138-f99709370657
2011-08-04 13:40:24 +00:00
Michael Hohmuth
8207a4a267 FS#12132 patch 8: retrieve_entries: Decrease binsize by reenabling
inlining format_str() and avoiding a string copy by printing directly
into the name buffer.

Also uses quite a bit less stack space.

En passant, made basename printing more robust by not limiting the
buffer into which the file pathname is fetched by the max size of the
resulting basename string.  Also, fixed a potential buffer overrun in
format_str.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30248 a1c6a512-1295-4272-9138-f99709370657
2011-08-04 10:23:18 +00:00
Michael Hohmuth
e7c2449d07 Database: Fix array-bounds calculation when applying a format using
%strip to partially loaded (chunked) database results.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30247 a1c6a512-1295-4272-9138-f99709370657
2011-08-04 10:21:52 +00:00
Michael Hohmuth
4cb473562e Database: Fix memory-area bounds checking during database reload.
Check free space before reading new data from disk, and do not forget
to account for the RAM-cache header.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30246 a1c6a512-1295-4272-9138-f99709370657
2011-08-04 10:21:40 +00:00
Thomas Martitz
95c1e7d8b0 Fix oops in r30242. I didn't want to change/reduce the buffer size.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30244 a1c6a512-1295-4272-9138-f99709370657
2011-08-03 10:39:46 +00:00
Thomas Martitz
589879bb3d Plugin API/ABI got incompatible r30242. Bump and sort.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30243 a1c6a512-1295-4272-9138-f99709370657
2011-08-03 09:52:23 +00:00
Thomas Martitz
98096970e0 Cleanup tree.c cache handling a bit.
* Rename stuff to not re-use the term dircache
 * Move cache to own struct
 * Encapsulate retrieving entries a bit

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30242 a1c6a512-1295-4272-9138-f99709370657
2011-08-03 09:49:25 +00:00
Michael Hohmuth
fa5cf8edea Database: Fix to support case-sensitive file systems containing audio
files with names differing only in capitalization.  Thanks to Slasheri
for the fix.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30241 a1c6a512-1295-4272-9138-f99709370657
2011-08-02 22:10:06 +00:00
Andree Buschmann
7155be6ca4 Sync rockbox to r475 of musepack's svn.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30240 a1c6a512-1295-4272-9138-f99709370657
2011-08-02 19:08:29 +00:00
Thomas Martitz
7bbd7daaf7 Tagcache: Rename global static variable for better readability.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30239 a1c6a512-1295-4272-9138-f99709370657
2011-08-02 14:35:10 +00:00
Frank Gevaerts
68e066f400 #ifdef hell makes effectively suppressing this warning impossible, so stop trying
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30238 a1c6a512-1295-4272-9138-f99709370657
2011-08-01 20:21:34 +00:00
Frank Gevaerts
038a608bb7 Move the "warning suppression" down, so it comes after the last write to "remote", to ensure better warning avoidance
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30237 a1c6a512-1295-4272-9138-f99709370657
2011-08-01 20:13:43 +00:00
Frank Gevaerts
bd3056cb38 Suppress a "variable 'remote' set but not used" warning that some gcc versions (rightly) emit for the m:robe 100 sim. The "correct" solution would be to add about twenty five more #ifdefs to a function that already has way too many of them, or to rewrite the entire function.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30236 a1c6a512-1295-4272-9138-f99709370657
2011-08-01 20:07:05 +00:00
Frank Gevaerts
00c0221800 Make scrobbler_flush_cache() static
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30235 a1c6a512-1295-4272-9138-f99709370657
2011-08-01 19:43:13 +00:00