Commit graph

3737 commits

Author SHA1 Message Date
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
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
Bertrik Sikken
7210d04603 battery bench: fix redundant '#' in the battery bench instruction header
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30211 a1c6a512-1295-4272-9138-f99709370657
2011-07-25 18:52:09 +00:00
Michael Sevakis
5663e1cd0a 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.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30130 a1c6a512-1295-4272-9138-f99709370657
2011-07-08 22:31:15 +00:00
Michael Sevakis
22b6def065 Use playback channel directly for peakmeters and plugins using peak calculation. Also, for now, don't allow mixer playback to overlap recording, even if full duplex works.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30119 a1c6a512-1295-4272-9138-f99709370657
2011-07-02 11:55:38 +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
Thomas Martitz
6e8ffa92af Fix red in fft plugin.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30044 a1c6a512-1295-4272-9138-f99709370657
2011-06-20 20:45:39 +00:00
Rafaël Carré
7b605f0416 Fix 'unused-but-set-variable' warnings (doom, lua)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30008 a1c6a512-1295-4272-9138-f99709370657
2011-06-17 00:14:58 +00:00
Thomas Martitz
3b18158688 Fix FS#11387 - PictureFlow runs jerkily while playing music on Nano2G after the recent feature addition
The problem r26713 addressed was not caused by missing yields but by too high
priority of the background loader thread. Undoing the yield() change and decreasing
the priority fixes the audio drop as well but doesn't cause jerkiness.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30000 a1c6a512-1295-4272-9138-f99709370657
2011-06-13 16:50:10 +00:00
Nils Wallménius
331b23d15b FS#12144, Use -fPIC -fvisibility=hidden only for plugins on sim and app builds and enable it for 32 bit too. Fixes linking errors on simbuilds.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29983 a1c6a512-1295-4272-9138-f99709370657
2011-06-07 11:56:23 +00:00
Thomas Martitz
62e06cc2a4 Accept FS#5153 - Doom Scrollwheel Patch
It hardcodes the scrollwheel for straving left/right.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29968 a1c6a512-1295-4272-9138-f99709370657
2011-06-05 11:23:53 +00:00
Michael Giacomelli
0497adffcf Commit FS#12130 - Fix ADX decoding on 64-bit systems by Sean Bartell. Fixes an incorrect assumption in the ADX decoder that sizeof(int) == 32 when performing fixed point math. Update comments in the fixed point library to correct this.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29927 a1c6a512-1295-4272-9138-f99709370657
2011-05-26 21:22:29 +00:00
Andree Buschmann
ecb4d2d9a7 Remove next reported 'set but unused' warnings.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29920 a1c6a512-1295-4272-9138-f99709370657
2011-05-23 19:09:04 +00:00
Andree Buschmann
8531380de4 Fix unintentional removal of an if-statement.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29912 a1c6a512-1295-4272-9138-f99709370657
2011-05-22 14:10:05 +00:00
Andree Buschmann
96b21753bc Fix some residual 'defined but not used' warnings by GCC 4.6.0 for touchscreen targets.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29910 a1c6a512-1295-4272-9138-f99709370657
2011-05-22 13:53:31 +00:00
Rafaël Carré
a2c2589247 don't install boomshine.lua if lua.rock isn't built
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29895 a1c6a512-1295-4272-9138-f99709370657
2011-05-17 22:29:36 +00:00
Michael Sevakis
c949d69f4b test_codec: Allow user to abort tests using target-defined TESTCODEC_EXITBUTTON.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29881 a1c6a512-1295-4272-9138-f99709370657
2011-05-15 01:41:25 +00:00
Robert Menes
7169e49798 Disktidy: New default files and folders for disktidy.config;
.fseventsd/ folders from OS X 10.6, and several system
files created by Mac OS 9 and under.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29879 a1c6a512-1295-4272-9138-f99709370657
2011-05-14 00:24:54 +00:00
Michael Hohmuth
593d520a00 mpegplayer: Adapt to new pause_rewind setting and apply it for all
kinds of pause, not just pause on headphone unplug.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29878 a1c6a512-1295-4272-9138-f99709370657
2011-05-13 22:51:10 +00:00
Andree Buschmann
0a070c5420 Fix last known 'set but not used' warning by GCC 4.6.1.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29875 a1c6a512-1295-4272-9138-f99709370657
2011-05-13 19:40:17 +00:00
Andree Buschmann
d9098707f8 Fix another 'set but not used' warning.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29874 a1c6a512-1295-4272-9138-f99709370657
2011-05-13 19:34:11 +00:00
Andree Buschmann
2aa0759077 Fix even more 'set but not used' warnings and a regression.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29873 a1c6a512-1295-4272-9138-f99709370657
2011-05-13 19:23:27 +00:00
Andree Buschmann
4f4edd89e4 Fix further 'set but not used' warnings.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29872 a1c6a512-1295-4272-9138-f99709370657
2011-05-13 19:06:04 +00:00
Andree Buschmann
f7808c1fe5 Fix several 'variable set but not used' warnings reported by GCC 6.4.1.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29871 a1c6a512-1295-4272-9138-f99709370657
2011-05-13 18:47:42 +00:00
Andree Buschmann
9befc2e747 Remove tabs.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29842 a1c6a512-1295-4272-9138-f99709370657
2011-05-08 21:21:02 +00:00
Andree Buschmann
67f215032d Fix a bunch of 'variable set but not used' warnings reported from GCC 4.6.0.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29841 a1c6a512-1295-4272-9138-f99709370657
2011-05-08 21:06:38 +00:00
Andree Buschmann
d6accacc60 Fix last known 'variable set but not used' warning reported from GCC 4.6.0.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29820 a1c6a512-1295-4272-9138-f99709370657
2011-05-04 06:11:59 +00:00
Andree Buschmann
f19d6a5e1d Fix even more 'variable set but not used' warnings reported from GCC 4.6.0.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29819 a1c6a512-1295-4272-9138-f99709370657
2011-05-03 20:28:56 +00:00
Andree Buschmann
27d153db93 Fix nearly all residual 'variable set but not used' warnings reported from GCC 4.6.0.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29810 a1c6a512-1295-4272-9138-f99709370657
2011-05-01 14:44:20 +00:00
Andree Buschmann
f7c4594134 Fix further 'variable set but not used' warnings reported from GCC 4.6.0.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29809 a1c6a512-1295-4272-9138-f99709370657
2011-05-01 13:48:28 +00:00
Andree Buschmann
e75018ad66 Fix several 'variable set but not used' warnings reported from GCC 4.6.0.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29805 a1c6a512-1295-4272-9138-f99709370657
2011-05-01 11:42:41 +00:00
Michael Sevakis
c537d5958e Commit FS#12069 - Playback rework - first stages. Gives as thorough as possible a treatment of codec management, track change and metadata logic as possible while maintaining fairly narrow focus and not rewriting everything all at once. Please see the rockbox-dev mail archive on 2011-04-25 (Playback engine rework) for a more thorough manifest of what was addressed. Plugins and codecs become incompatible.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29785 a1c6a512-1295-4272-9138-f99709370657
2011-04-27 03:08:23 +00:00
Michael Giacomelli
8166ce75c8 Commit FS#12056 by Noe Lojkinse. Fixes a bug in Xobox where old key presses were left on the buffer too long.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29781 a1c6a512-1295-4272-9138-f99709370657
2011-04-24 23:44:58 +00:00
Bertrik Sikken
81d67d0dda Revert accidental commit of apps/plugins/SOURCES
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29661 a1c6a512-1295-4272-9138-f99709370657
2011-03-29 20:44:09 +00:00
Bertrik Sikken
8351a1aa9d AMSv2 sd: do not try to switch sd cards into high-speed mode.
High-speed mode is only half implemented (sd controller still uses normal speed) and causes card detection problems.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29660 a1c6a512-1295-4272-9138-f99709370657
2011-03-29 20:37:40 +00:00
Rafaël Carré
cde3c9a08e maze: fix warning spotted by gcc 4.6.0
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29658 a1c6a512-1295-4272-9138-f99709370657
2011-03-28 21:44:23 +00:00
Andree Buschmann
0258895faa Fix error in Ohm's law formula as provided in FS#12023. Thanks to Leif Andersen.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29644 a1c6a512-1295-4272-9138-f99709370657
2011-03-25 07:22:38 +00:00
Nils Wallménius
5aaabbfd12 FS#12014 by Huan Zhang fixing some link errors with a recent mips toolchain.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29615 a1c6a512-1295-4272-9138-f99709370657
2011-03-19 10:14:12 +00:00
Michael Sevakis
a4098e6174 Sync test_codec to r29595.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29596 a1c6a512-1295-4272-9138-f99709370657
2011-03-16 05:59:46 +00:00
Thomas Martitz
9edd6d4ee9 Anti-Aliased Fonts support.
This enables Rockbox to render anti-aliased fonts using an alpha blending method.
The input font bitmaps are 4bit, i.e. 4x larger, but the metadata size stays the same.

A tool, convttf, for converting ttf fonts directly to the Rockbox fnt format is provided.
It has a useful help output, but the parameter that works best is -c1 or -c2 (2 for larger font sizes).

Flyspray: FS#8961
Author: Initial work by Jonas Hurrelmann, further work by Fred Bauer, Andrew Mahone, Teruaki Kawashima and myself.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29523 a1c6a512-1295-4272-9138-f99709370657
2011-03-05 18:36:51 +00:00
Thomas Martitz
cc889e9d60 Change the thread api a bit.
* Remove THREAD_ID_CURRENT macro in favor of a thread_self() function, this allows thread functions to be simpler.
* thread_self_entry() shortcut for kernel.c.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29521 a1c6a512-1295-4272-9138-f99709370657
2011-03-05 17:48:06 +00:00
Thomas Jarosch
f9f89cf5cb RaaA: Fix write locations of plugins
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29506 a1c6a512-1295-4272-9138-f99709370657
2011-03-02 23:43:54 +00:00
Jonathan Gordon
9501986047 Blindly forcing stylus mode on plugin entry for an arbitrary subset of touch targets is a *REALLY BAD IDEA* so do it properly so we dont have to revert any commits.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29417 a1c6a512-1295-4272-9138-f99709370657
2011-02-27 09:30:33 +00:00
Thomas Jarosch
93b1b8e158 Include config.h for strncmp RaaA maemo fix
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29393 a1c6a512-1295-4272-9138-f99709370657
2011-02-24 23:59:24 +00:00
Thomas Jarosch
e3a3e2c9c2 RaaA: Enable plugins for application builds
Use own plugins/SOURCES and plugins/SUBDIRS file to avoid
ifdef hell for disabled plugins without a keymap.

This finally brings the credits screen to RaaA.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29392 a1c6a512-1295-4272-9138-f99709370657
2011-02-24 23:35:16 +00:00
Michael Sevakis
6510973223 Give playback engine better control over the codec. Codec simply follows commands and doesn't concern itself with audio state. Get track change notification in on the actual last buffer insert of the track because now audio simply waits for a track change notify from PCM on the last track and it must be sent reliably. This is still at an intermediate stage but works. Codecs and plugins become incompatible.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29387 a1c6a512-1295-4272-9138-f99709370657
2011-02-23 14:31:13 +00:00
Michael Sevakis
652463ecc0 mpegplayer: Move libmpeg2 files into their own subdirectory so things are less cluttered.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29381 a1c6a512-1295-4272-9138-f99709370657
2011-02-22 21:44:15 +00:00
Michael Sevakis
6cc07f1466 FFT plugin: remove redundant NUM_CORES checks.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29366 a1c6a512-1295-4272-9138-f99709370657
2011-02-21 14:54:08 +00:00
Andree Buschmann
bb5a1dc6cb Revert unwanted submit.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29350 a1c6a512-1295-4272-9138-f99709370657
2011-02-20 16:14:41 +00:00
Andree Buschmann
a7e25a01ba FS#11920: Do not overwrite already existing metadata and take into account string termination. This can save several bytes of the metadata buffer when tags have multiple entries (e.g. multiple gerne tags)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29349 a1c6a512-1295-4272-9138-f99709370657
2011-02-20 16:12:05 +00:00