1
0
Fork 0
forked from len0rd/rockbox
Commit graph

14846 commits

Author SHA1 Message Date
Frank Gevaerts
053722a573 Don't trigger a skin refresh from skinlist_draw()
Thiskin refresh trigger apparently causes the skin and list to continuously
refresh, with the side effect that buttons no longer work.

Change-Id: I4439406176890ac46a3f217bfff43c6935a03a7c
Reviewed-on: http://gerrit.rockbox.org/240
Reviewed-by: Jonathan Gordon <rockbox@jdgordon.info>
2012-05-18 09:48:31 +02:00
Michael Sevakis
8bbd4d91a0 Zero out voice buffer memory immediately after allocation.
Can't wait for the voice thread to initialize it since it concievably
could be moved before the voice thread actually does so and the move
callback accesses data that must be first set up in the voice thread
function.

Change-Id: Ia0d09539854db85e132e09d26cb129f02f5d93ff
2012-05-17 11:16:20 -04:00
Jonathan Gordon
7909bf039f (hopefully) Fix FS#12639 and other skin related buflib corruption issues.
Kudos to funman for figuring out the problem - skin_find_item() rather
stupidly uses the global skin_buffer variable in skin_parser.c which is
fine in the parser EXCEPT it gets changed in skin_render when the sbs
is being redrawn while another skin is loading, so fix this by makeing
skin_find_item() use a local data pointer so a skin_render() during
parsing won't break anything.

Change-Id: I80e1c0efe569c18225e5772159c18ebb21e07332
2012-05-16 22:33:40 +10:00
Dominik Riebeling
642f523320 Remove < and > from voice strings.
Some strings indicate a special meaning by being surrounded with < and > (like
"<All tracks>" in the database view). There is no point in having those
characters in the voice strings, most translations have them removed. Remove
them on the remaining ones since they were causing problems with creating
voicefiles.

Change-Id: I22cfa251b141cb765020e3222624671399d3c133
2012-05-14 23:02:21 +02:00
Thomas Martitz
8689bcc186 Touchscreen: Check if click is outside of list. Fixes FS#12669
Change-Id: Ic036f4c399b89c65bdc43bfdf7111bf4a13be484
2012-05-13 19:15:19 +02:00
Michael Sevakis
80d5267a9b More strictly enforce "no PCM insert" rules for codecs.
Takes care of when codecs try to sneak-in another PCM buffer insert
at the wrong time. Codecs are wiley and just can't always be trusted
to cooperate.

Change-Id: Idc2f51238a5fd69a9d9c0741fbc29addc6615bdf
2012-05-13 03:25:55 -04:00
Nils Wallménius
d29a11b7a8 Rename HAVE_PITCHSCREEN to HAVE_PITCHCONTROL
Also move the definition to config.h

Change-Id: I36bb5020c5e06b2344292bc05e8c13ccc7a6a1ff
Reviewed-on: http://gerrit.rockbox.org/234
Reviewed-by: Nils Wallménius <nils@rockbox.org>
2012-05-09 14:32:38 +02:00
Marcin Bukat
b371b705c7 fix yellow introduced in 10829b2
Change-Id: Ice66e976f90ad5d37c116b27f94c96e17e97e70f
2012-05-08 21:59:01 +02:00
Nils Wallménius
158aeb5087 Add more #ifdefs
Change-Id: I46a1eb7e012363cc7337282497c62f86fd16c8dc
2012-05-08 15:39:24 +02:00
Marcin Bukat
10829b2f78 Fix fat test program not compiling (FS#12646).
This changes the way creat() is wrapped around in native builds
so more experienced devs should look at it.

This patch forces to compile fat test in 32bit mode. Building
natively on x86-64 works just fine but our fat code apparently
can't deal with 64bit pointers/ints correctly.

Change-Id: I000015094f7db957ce826c22672608cd419908b0
Reviewed-on: http://gerrit.rockbox.org/228
Reviewed-by: Thomas Martitz <kugel@rockbox.org>
2012-05-08 13:00:14 +02:00
Nils Wallménius
7803f31c53 Don't reinvent ctype.h functions
Remove ctype.h functions in text_editor and rockboy,
fix #define name clash in mpegplayer.

Change-Id: Icb40cf45e27b793c62cb095197757a27f508f344
2012-05-07 18:43:12 +02:00
Nils Wallménius
3f61caa0cd rbcodec: abstract tdspeed buffer allocation
Move code dealing with rockbox specific buflib allocations into a
rockbox specific file and implement buffer allocation with
malloc/free for warble/stand alone lib.
Based on patch by Sean Bartell.

Change-Id: I8cb85dad5890fbd34c1bb26abbb89c0b0f6b55cf
Reviewed-on: http://gerrit.rockbox.org/144
Tested-by: Nils Wallménius <nils@rockbox.org>
Reviewed-by: Michael Sevakis <jethead71@rockbox.org>
Reviewed-by: Nils Wallménius <nils@rockbox.org>
2012-05-07 10:29:07 +02:00
Michael Sevakis
51a73d81cd Stop clickiness on manual track changes as best as possible.
Get the DSP_FLUSH sprinkled in the right spot so that history-
keeping prcessing stages are cleared on a forced stop. They already
were on a seek.

Change-Id: I560f1bc5fd813a4142fa099bf53ee1658e49cd8c
2012-05-07 04:13:50 -04:00
Rafaël Carré
7ca2081036 remove debug-target.h 2012-05-07 00:55:59 -04:00
Rafaël Carré
65bb8e4452 Remove extraneous parens 2012-05-06 23:13:34 -04:00
Rafaël Carré
aaf9a1be49 get_image_filename() return value is never used 2012-05-06 23:00:52 -04:00
Rafaël Carré
675f171cf1 skin_parser: simplify skin_buffer_alloc
- no need to cast void * return value (it is not C++)
- use sizeof(*var) instead of sizeof(struct foobar), it is shorter and will
  stay correct if the type is changed but forgotten in the sizeof()
2012-05-06 22:43:21 -04:00
Michael Sevakis
dbe5e5f2df rbcodec: Hooks for target specific functions in dsp_process loop
Use them to move tick counting, yielding and coldfire macsr handling
code to a rockbox specific file.

Change-Id: Id7417dc98c08a342eba45ba56b044a276e50564b
Reviewed-on: http://gerrit.rockbox.org/229
Tested-by: Nils Wallménius <nils@rockbox.org>
Reviewed-by: Nils Wallménius <nils@rockbox.org>
2012-05-03 23:47:46 +02:00
Sean Bartell
cadb3627fc Add rbcodecplatform.h and rbcodecconfig.h.
librbcodec users must provide these two files when the library is built.
rbcodecconfig.h provides configuration #defines and basic types, and
will be included by public librbcodec headers, so it must not conflict
with the user's code. rbcodecplatform.h provides various OS functions,
and will only be included by source files and private headers. This
system is intended to provide maximum flexibility for use on embedded
systems, where no operating system headers are included. Unix systems
can just copy rbcodecconfig-example.h and rbcodecplatform-unix.h with
minimal changes.

Change-Id: I350a2274d173da391fd1ca00c4202e9760d91def
Reviewed-on: http://gerrit.rockbox.org/143
Reviewed-by: Nils Wallménius <nils@rockbox.org>
Tested-by: Nils Wallménius <nils@rockbox.org>
2012-05-03 14:49:35 +02:00
Michael Sevakis
e189b33ff4 Clean up peak calculating code.
Mixer needn't keep peak data around that will never be used. Just
pass pcm_peaks structure to it instead of allocating for every
channel. Plugin API becomes incompatible.

vu_meter digital mode was still using global peak calculation;
switch it to playback channel like the rest.

Remove some accumulated soil peaks inside pcm.c and make it more
generic.

Change-Id: Ib4d268d80b6a9d09915eea1c91eab483c1a2c009
2012-05-02 20:53:07 -04:00
Michael Sevakis
c0208f0f64 Oops, need to init the voice_buf indexes too. :-)
Change-Id: I12e48e9e7d70e779511aac05be6e6145d30f456a
2012-05-02 18:25:34 -04:00
Michael Sevakis
da6cebb6b0 Use buflib for the allocation of voice PCM resources.
Buffers are not allocated and thread is not created until the first
call where voice is required.

Adds a different callback (sync_callback) to buflib so that other
sorts of synchonization are possible, such as briefly locking-out the
PCM callback for a buffer move. It's sort of a messy addition but it
is needed so voice decoding won't have to be stopped when its buffer
is moved.

Change-Id: I4d4d8c35eed5dd15fb7ee7df9323af3d036e92b3
2012-05-02 17:22:28 -04:00
Andrew Ryabinin
3d3a144cf6 hm801: Tweak keymap.
Change-Id: I5e4f8eeae0f6d6eb836dc75570589e4d5c961a3d
2012-05-02 23:20:31 +04:00
Sean Bartell
4bef502d4d rbcodec refactoring: autoresumable
Moved to playback.c, since it doesn't use metadata from the music file.

Change-Id: I5c3ad7750d94b36754f64eb302f96ec163785cb9
Reviewed-on: http://gerrit.rockbox.org/142
Reviewed-by: Nils Wallménius <nils@rockbox.org>
2012-05-01 11:28:38 +02:00
Michael Sevakis
57a20d2d63 Make DSP's replaygain independent of global_settings.
Moves replaygain definitions to lib/rbcodec/dsp/dsp_misc.h.
Intermediate functions in misc.c handle any adjustment and calling
the rbcodec APIs.

Change-Id: I9f03561bca9aedd13760cf19c4e19aa3c68e7024
Reviewed-on: http://gerrit.rockbox.org/140
Reviewed-by: Michael Sevakis <jethead71@rockbox.org>
2012-04-30 22:47:37 +02:00
Wieland Hoffmann
84355f3493 brickmania: Disable resuming after game over 2012-04-30 12:06:05 +02:00
Michael Sevakis
56f17c4164 Make rbcodec/dsp includes more specific.
Change-Id: Idb6af40df26f5b8499a40e8b98602261ef227044
2012-04-29 17:31:30 -04:00
Michael Sevakis
4928810354 M5/X5 (MCF5250): Scoot the core/plugin IRAM boundary forward by 0x800.
Change-Id: I482fe3f4f2f59a3f17026e796c245c4efa8279f3
2012-04-29 14:35:53 -04:00
Michael Sevakis
737e92f4f5 Oops forgot to remove test_codec from plugin SOURCES.
Change-Id: I2730db9430ff688f74a86e6ea8818d0c306aa511
2012-04-29 04:13:10 -04:00
Michael Sevakis
c9bcbe202d Fundamentally rewrite much of the audio DSP.
Creates a standard buffer passing, local data passing and messaging
system for processing stages. Stages can be moved to their own source
files to reduce clutter and ease assimilation of new ones. dsp.c
becomes dsp_core.c which supports an engine and framework for effects.

Formats and change notifications are passed along with the buffer so
that they arrive at the correct time at each stage in the chain
regardless of the internal delays of a particular one.

Removes restrictions on the number of samples that can be processed at
a time and it pays attention to destination buffer size restrictions
without having to limit input count, which also allows pcmbuf to
remain fuller and safely set its own buffer limits as it sees fit.
There is no longer a need to query input/output counts given a certain
number of input samples; just give it the sizes of the source and
destination buffers.

Works in harmony with stages that are not deterministic in terms of
sample input/output ratio (like both resamplers but most notably
the timestretch). As a result it fixes quirks with timestretch hanging
up with certain settings and it now operates properly throughout its
full settings range.
Change-Id: Ib206ec78f6f6c79259c5af9009fe021d68be9734
Reviewed-on: http://gerrit.rockbox.org/200
Reviewed-by: Michael Sevakis <jethead71@rockbox.org>
Tested-by: Michael Sevakis <jethead71@rockbox.org>
2012-04-29 10:00:56 +02:00
Sean Bartell
fe3d58004c rbcodec refactoring: get_audio_base_data_type
This function has been changed to rbcodec_format_is_atomic, which
doesn't require an enum from the kernel.

Change-Id: I1d537605087fe130a9b545509d7b8a340806dbf2
Reviewed-on: http://gerrit.rockbox.org/141
Reviewed-by: Nils Wallménius <nils@rockbox.org>
Tested-by: Nils Wallménius <nils@rockbox.org>
2012-04-28 09:07:40 +02:00
Michael Sevakis
fdd363481f Fix up some more type stuff in pcmbuf.c.
(Never seem to find it all at once :-)

Change-Id: I4b3d145c6d90be13f9afc8a72d8d87a92de88d88
2012-04-27 16:51:54 -04:00
Sean Bartell
a6dea9e13d rbcodec refactoring: dsp_set_eq_coefs
dsp_set_eq_coefs now has parameters for the band settings, so it doesn't
need to access global_settings.

Change-Id: I29ac19fc353b15a79cb25f0e45132aef0881e4c9
Reviewed-on: http://gerrit.rockbox.org/138
Reviewed-by: Nils Wallménius <nils@rockbox.org>
2012-04-27 16:33:27 +02:00
Michael Sevakis
0842d7f7e1 Consolidate compressor settings into a struct.
Doing that makes things cleaner for later on.

Change-Id: I4e279aa57ace16a348acc0fc09059592325ec95f
2012-04-26 17:19:16 -04:00
Michael Sevakis
97a535d83c Oops, Shoulda been "int16_t" not "uint16_t".
Change-Id: Ic2a54e9f283acb1c362857a3f1422ed3c532249f
2012-04-26 16:24:12 -04:00
Michael Sevakis
cfc32fe75f Adjust some typing in voice_thread.c. Constants are also counts, not sizes.
Change-Id: I05700f6c87c775e98f05323d2ab0550fad8befd7
2012-04-26 16:04:44 -04:00
Michael Sevakis
c51fe40a7d test_codec: Fix some problems with writing WAV with DSP
On big-endian architecture, DSP output must be coverted to little-
endian first. DSP output is also always interleaved stereo, 16 bit,
NATIVE_FREQUENCY and wavinfo should be correct for this.

Also, use standard clip_sample_16 already available.

Change-Id: Ifa7b9fc77f0573070c7e79f059dc3000c437c42e
2012-04-26 16:04:43 -04:00
Michael Sevakis
263955e3f0 MPEGPlayer: Fixup typecasting for PCM buffer a bit.
Change-Id: I96cca97c1effe5fe2cf84271b123928ebe38e2a7
2012-04-26 16:04:42 -04:00
Sean Bartell
f40bfc9267 Add codecs to librbcodec.
Change-Id: Id7f4717d51ed02d67cb9f9cb3c0ada4a81843f97
Reviewed-on: http://gerrit.rockbox.org/137
Reviewed-by: Nils Wallménius <nils@rockbox.org>
Tested-by: Nils Wallménius <nils@rockbox.org>
2012-04-25 22:13:20 +02:00
Bertrik Sikken
0ca7b83595 cook: fix incorrect memset size argument
Change-Id: I927380cd789c1a86ac2d4d6af667c6f39cf933d9
2012-04-22 16:21:12 +02:00
Bertrik Sikken
f3211e6461 libgme: fix incorrect memset size argument
Change-Id: If663b3881cedaefd837a06e3f60e4d28938c2295
2012-04-22 16:20:51 +02:00
Bertrik Sikken
7901aa6f19 Simplify warning suppression for unused argument
Change-Id: If8d6e3669dca3ba8351e949ef901809e87f94366
2012-04-22 16:20:31 +02:00
Marty Miller
84f7f60b8f Fix Rockblox plugin display issues on Clip Zip
Added Rockblox background, layout and detection for 96x96x16 displays

Change-Id: I4585d5e679851b5696542269fe2123cf7df200de
2012-04-22 12:33:12 +02:00
Andrew Ryabinin
95a333b57d hm801: Update keymaps.
Change-Id: Ie1ecf4bcffd59493f6c8c0031a25b34b147984cd
2012-04-19 17:31:13 +04:00
Andrew Ryabinin
17930909ed hm60x: Update keymaps.
Change-Id: I0d4d8c7cc739154e879bb01e1e9efa0f1095f8ce
2012-04-19 17:31:13 +04:00
Andrew Ryabinin
6ee3fc81d9 hm801: Add support for plugins.
Change-Id: I81654db87d38324d8680a56bcdb7e9922ee5b619
2012-04-19 17:31:13 +04:00
Andrew Ryabinin
397863ab3d hm60x: Add support for plugins.
Change-Id: I4cad0881c8249f163680a280f70d1a0b36248da8
2012-04-19 17:31:13 +04:00
Andrew Ryabinin
8361c1d901 hm60x/hm801: Buttons rework.
- Add BUTTON_POWER.
 - hm60x: Rename BUTTON_PLAY to more proper BUTTON_SELECT, which will make it
   possible to unify hm60x and hm801 keymaps in some plugins.

Change-Id: I84715cdbc79d00c1bc2e8e6bd492159ad3c3422b
2012-04-19 17:31:13 +04:00
Thomas Martitz
4269934588 touchscreen/lists: fix two regressions
* fix potential stack overflow through recursion
* fix using using the scrollbar during active kinetic scrolling animation

Change-Id: Iaf124970a60d3f0c2ee7919ac278f2d6ac329e47
2012-04-17 17:19:31 +02:00
Bertrik Sikken
c26ab37aca mikmod plugin: make functions static when possible
Change-Id: Ic0102071318c55c19952029be6998ecf5f33eb98
2012-04-14 17:31:14 +02:00