Thomas Martitz
1b7ff725c6
Revert "Introduce bsearch() and use it in tagtree.c."
...
It was committed by accident (it's on FS still).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30157 a1c6a512-1295-4272-9138-f99709370657
2011-07-18 18:57:50 +00:00
Thomas Martitz
74ab227b58
Introduce bsearch() and use it in tagtree.c.
...
bsearch() is a general purpose binary search function for arrays.
It's supposedly faster than looping over arrays.
The array needs to be sorted in ascending order under the provided
comparison function. If the key and array element are of the same kind,
then the same compare function can be used for qsort() and bsearch().
Code taken from glibc.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30155 a1c6a512-1295-4272-9138-f99709370657
2011-07-18 18:55:20 +00:00
Marcin Bukat
cad91ed938
rk27xx - fix backlight driver - now one can set brightness
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30138 a1c6a512-1295-4272-9138-f99709370657
2011-07-14 17:06:44 +00:00
Amaury Pouly
5a2681161b
imx233/fuze+: make SOURCES more correct, implement i2c for fmradio
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30135 a1c6a512-1295-4272-9138-f99709370657
2011-07-09 17:14:05 +00:00
Miika Pekkarinen
e06bb54d12
Initialize the d_names_start pointer correctly in dircache. This should
...
prevent d_names data from being overwritten (likely causing garbage in
file browser and other strange symptoms).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30122 a1c6a512-1295-4272-9138-f99709370657
2011-07-04 17:13:48 +00:00
Amaury Pouly
86c64d4151
imx233: add missing i2c file
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30121 a1c6a512-1295-4272-9138-f99709370657
2011-07-03 15:22:09 +00:00
Amaury Pouly
e36b20c4a1
imx233/fuze+: replace software i2c by hardware i2c, make some code more correct, reduce code size of lcd init sequences
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30120 a1c6a512-1295-4272-9138-f99709370657
2011-07-03 15:18:41 +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
Rafaël Carré
a1e1892b0f
as3525: make interrupts struct static and merge declaration & definition
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30116 a1c6a512-1295-4272-9138-f99709370657
2011-07-02 02:49:09 +00:00
Amaury Pouly
e34eaf300c
imx233/fuze+: simplify ssp pin code
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30113 a1c6a512-1295-4272-9138-f99709370657
2011-07-02 02:28:06 +00:00
Amaury Pouly
88f75d096e
imx233/fuze+: don't compile {touchpad code,sd} in bootloader mode, fix style in mmc
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30112 a1c6a512-1295-4272-9138-f99709370657
2011-07-02 02:21:06 +00:00
Amaury Pouly
82ecc75e68
imx233/fuze+: make config.h more correct, remove logo from bootloader, update linker file and crt0 to produce a single blob into dram
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30111 a1c6a512-1295-4272-9138-f99709370657
2011-07-02 02:12:10 +00:00
Miika Pekkarinen
563a185ff4
Fixed incorrect dircache reallocation during tagcache commit.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30108 a1c6a512-1295-4272-9138-f99709370657
2011-07-01 13:38:20 +00:00
Amaury Pouly
617d1e9f6b
imx233/fuze+: ssp, dma, mmc now work properly, partially implement cpu frequency changing, implement panic waiting
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30104 a1c6a512-1295-4272-9138-f99709370657
2011-06-30 17:31:40 +00:00
Michael Sevakis
8c47ed15e9
Get M5 building again by moving the downmix buffer out of IRAM for now. Everything should still work. It doesn't have any apparently measurable effect on pure playback CPU usage as seen from the buffering thread screen compared to earlier tests on the same file.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30101 a1c6a512-1295-4272-9138-f99709370657
2011-06-29 13:43:47 +00:00
Michael Sevakis
5ff641fb81
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.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30100 a1c6a512-1295-4272-9138-f99709370657
2011-06-29 09:39:13 +00:00
Michael Sevakis
40ff07140d
Get android to build. Forgo optimized mixing code for app builds for the moment; work it out later.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30099 a1c6a512-1295-4272-9138-f99709370657
2011-06-29 07:47:29 +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
Bertrik Sikken
f0a601dab6
Define an LCD_DPI for the mini2440 (this change makes the mini2440 compile again)
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30068 a1c6a512-1295-4272-9138-f99709370657
2011-06-25 15:29:32 +00:00
Thomas Martitz
88234fa921
Fix loading dircache stat on h100. Relocating the data was broken due to struct alignment problems.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30051 a1c6a512-1295-4272-9138-f99709370657
2011-06-22 14:18:22 +00:00
Frank Gevaerts
7763869e10
Workaround/fix (I'm not sure!) for buffer_alloc() returning unaligned addresses in case other parts of the code increase audiobuf behind buffer.c's back.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30049 a1c6a512-1295-4272-9138-f99709370657
2011-06-21 22:04:17 +00:00
Miika Pekkarinen
2bc133dce9
Try to handle dircache rebuild event properly. Playlist should now
...
cache new pointers to dircache items when dircache goes
offline and comes back onlineagain (during tagcache commit). This
should prevent wrong filenames to appear in playlist.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30047 a1c6a512-1295-4272-9138-f99709370657
2011-06-21 17:42:31 +00:00
Thomas Martitz
2b61f7ce64
Use ALIGN_UP() macro for alignment, in a more correct way also.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30041 a1c6a512-1295-4272-9138-f99709370657
2011-06-20 20:12:58 +00:00
Thomas Martitz
287d69d7c4
Dircache: A bit of follow-up code cleanup suggested by Amaury Pouly.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30040 a1c6a512-1295-4272-9138-f99709370657
2011-06-20 20:12:52 +00:00
Thomas Martitz
3b29aa49d3
Optimize new dircache_copy_path so that the helper (strlcat) doesn't need to walk through the entire string repeatedly.
...
Also fix a off-by-one.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30039 a1c6a512-1295-4272-9138-f99709370657
2011-06-20 20:12:47 +00:00
Thomas Martitz
af7aaae478
Dircache: Don't expose struct dircache_entry and pointers into the cache, use IDs instead.
...
Only integer IDs are exposed from dircache with this. This way the cache is isolated from other modules.
This is needed for my buflib gsoc project.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30038 a1c6a512-1295-4272-9138-f99709370657
2011-06-20 20:12:42 +00:00
Thomas Martitz
0b9c57d33e
Dircache: Move struct maindata declaration to dircache.c and actually check for DIRCACHE_MAGIC when loading from disk.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30037 a1c6a512-1295-4272-9138-f99709370657
2011-06-20 20:12:35 +00:00
Thomas Martitz
52abbb186d
Dircache: Change internal cache layout.
...
The dircache_entry structs are now allocated subsequently from the front, allowing to treat them as an array. The d_names are allocated from the back (in reverse order, growing downwards).
This allows the cache to be moved around (needed for my buflib gsoc project). It is utilized when loading the cache from disk (on the h100), now the pointer to the cache begin doesn't need to be the same across reboots anymore.
This should save a bit memory usage, since there's no need for aligning padding bytes after d_names anymore.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30036 a1c6a512-1295-4272-9138-f99709370657
2011-06-20 20:12:30 +00:00
Thomas Martitz
b67f4a1824
Fix dircache_size calculation bug introcuced 3 revisions ago.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30035 a1c6a512-1295-4272-9138-f99709370657
2011-06-20 20:12:26 +00:00
Thomas Martitz
e063725534
Dircache: Return the size of the result string in dircache_copy_path() so that callers don't need to call strlen on it.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30034 a1c6a512-1295-4272-9138-f99709370657
2011-06-20 20:12:15 +00:00
Thomas Martitz
38da400e58
Dircache: Rework and simplify dircache_copy_path().
...
Use a recursive helper function with strlcat to build up the path backwards. This way the tree doesn't need to be walked twice and no extraneous size calculation is needed.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30033 a1c6a512-1295-4272-9138-f99709370657
2011-06-20 20:12:10 +00:00
Thomas Martitz
60e4f20c38
Dircache: Remove dircache_entry::name_len.
...
It's reduntant, and enlarges the dircache unnecessarily. Saves 4 byte per file in the whole filesystem.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30032 a1c6a512-1295-4272-9138-f99709370657
2011-06-20 20:07:35 +00:00
Thomas Martitz
26ec41b028
Move buffer.h to firmware/include.h to replace a useless malloc header.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30026 a1c6a512-1295-4272-9138-f99709370657
2011-06-20 19:32:43 +00:00
Andree Buschmann
8d7eb5d59e
Submit final part of FS#12154. Optimization for WM8758 used in iPod Video: Significantly reduce popping noise during startup. Additionally improve crosstalk, THD and noise level. Thanks to Seheon Ryu.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30025 a1c6a512-1295-4272-9138-f99709370657
2011-06-20 18:52:31 +00:00
Andree Buschmann
f0c032a523
Submit first part of FS#12154. Whitespace removal and correction of several defines in WM8758 driver according to data sheet, no functional change. Thanks to Seheon Ryu.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30024 a1c6a512-1295-4272-9138-f99709370657
2011-06-20 18:37:51 +00:00
Jens Arnold
91ce4b2a60
Optional dual-boot support in iAudio X5 and M5 bootloader, based on FS#5289.
...
In order to enable it, #define HAVE_DUALBOOT when building the bootloader.
Do not use the automatically created x5_fw.bin or m5_fw.bin, but use mkboot
to create a new firmware file from an OF x5_fw.bin resp. m5_fw.bin and
bootloader.bin.
The dual-boot bootloader boots the OF when pressing Play (main or remote) for
more than 3 seconds. Hold it a bit longer because the OF also checks buttons.
Short press boots rockbox.
As a bonus, the Play button read (for hold check) is done a bit earlier for
single-boot mode as well.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30018 a1c6a512-1295-4272-9138-f99709370657
2011-06-19 17:23:18 +00:00
Amaury Pouly
2cf3313382
fuze+: add more clocking code, add dma code, add ssp code, add stub usb code, update storage to SD + MMC, beginning of the driver
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30010 a1c6a512-1295-4272-9138-f99709370657
2011-06-17 22:30:58 +00:00
Michael Sevakis
d4800fa385
Coldfire: Fix the modification of IMR. Interrupts must be masked at the core level at at least the level of the interrupt being masked. Not following the datasheet and relying strictly on and/or_l causes unhandled 'Levelx' exceptions (showing itself quite often in PCM mixer work which more greatly stresses PCM lockout).
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30009 a1c6a512-1295-4272-9138-f99709370657
2011-06-17 03:09:47 +00:00
Thomas Martitz
d43e8ea5a2
Slightly more typesafe ALIGN_DOWN/UP macros.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30004 a1c6a512-1295-4272-9138-f99709370657
2011-06-14 14:21:43 +00:00
Torne Wuff
754b1572fb
Remove superfluous executable bits on a bunch of files.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29986 a1c6a512-1295-4272-9138-f99709370657
2011-06-08 14:22:03 +00:00
Bertrik Sikken
6672766dfe
rda5802: don't use the si4700-specific exceptions for putting the tuner to sleep
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29984 a1c6a512-1295-4272-9138-f99709370657
2011-06-07 21:07:49 +00:00
Peter D'Hoye
82f4c60db4
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.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29969 a1c6a512-1295-4272-9138-f99709370657
2011-06-05 12:36:27 +00:00
Marcin Bukat
1fd7ad8861
fix red
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29966 a1c6a512-1295-4272-9138-f99709370657
2011-06-05 10:33:42 +00:00
Marcin Bukat
dceceef052
Move dbg_hw_info() into target tree. FS#11735 by me
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29964 a1c6a512-1295-4272-9138-f99709370657
2011-06-05 10:26:06 +00:00
Thomas Martitz
dace72166e
Android: Greatly simplify the pcm callback mechanism on both, the Java and the C side. Should be more reliable now (if the old wasn't already).
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29963 a1c6a512-1295-4272-9138-f99709370657
2011-06-05 09:44:57 +00:00
Bertrik Sikken
1c22bbb1c2
FS#12094 - RDA5802 tuner: clean up register 0x4 handling, drop implicitly enabled soft-mute by Stephan Grossklass and me
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29959 a1c6a512-1295-4272-9138-f99709370657
2011-06-04 20:18:10 +00:00
Dominik Riebeling
d25a61f01c
Android: listen to ACTION_AUDIO_BECOMING_NOISY for headphone (FS#12097).
...
This event is sent before the audio is routed back to the speaker so we
get the information about the unplugged headphone notably earlier.
Decrease the debouncing of the headphone status from 1s to 0.5s to work
around audio still getting played back via the speaker due to the pause
delay by debouncing. On Android we shouldn't need the debouncing at all.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29957 a1c6a512-1295-4272-9138-f99709370657
2011-06-04 19:17:51 +00:00
Dominik Riebeling
6c22be4a3d
Android: implement headphone detection thus enabling pause on unplug (FS#12097).
...
Listen to headphone plug events. There are currently two glitches with this:
- Android takes a while until it reports the unplug event, so there will be
some delay until playback gets paused. This is an Android limitation.
- Rockbox debounces headphone state changes for one second. Therefore playback
will shortly be routed to the speaker on unplug until Rockbox does the actual
pause.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29956 a1c6a512-1295-4272-9138-f99709370657
2011-06-04 19:17:47 +00:00
Jens Arnold
304312dc2f
iAudio boot: Unify common macro values
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29955 a1c6a512-1295-4272-9138-f99709370657
2011-06-04 19:17:06 +00:00
Marcin Bukat
27ebf86abc
rk27xx - missing semicolon
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29953 a1c6a512-1295-4272-9138-f99709370657
2011-06-04 16:00:55 +00:00