Commit graph

3955 commits

Author SHA1 Message Date
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
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
Wieland Hoffmann
84355f3493 brickmania: Disable resuming after game over 2012-04-30 12:06:05 +02: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
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
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
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
Bertrik Sikken
c26ab37aca mikmod plugin: make functions static when possible
Change-Id: Ic0102071318c55c19952029be6998ecf5f33eb98
2012-04-14 17:31:14 +02:00
Bertrik Sikken
cf1e54b21e superdom plugin: make functions/variables static where possible
Change-Id: Ibe0d8daacd9b7b9da506b3efe46092b9433d52ef
2012-04-14 17:19:02 +02:00
Dominik Riebeling
b7bc240489 Use two lined display in properties.
Depending on the length of the values to display having both entry title and
value in the same line can be hard to read if the display isn't wide enough.
Similar to the metadata view use two lines for each entry.

Change-Id: I9a2dfe78e02b0460add1681115b0c4781d74af17
2012-04-09 18:56:08 +02:00
Thomas Martitz
4b56ee048a Refactor and unify objcopy calls in the build system. Also now properly handles DEBUG builds on hosted targets to keep debug symbols if necessary.
Change-Id: I884031b79c6d49479e4d95752f35ced68872dd5d
2012-04-04 21:48:19 +02:00
Thomas Martitz
c56950ea3a tlsf: move to /lib (it's also used by plugins).
Change-Id: I5e37b28c1ce4608d60b036343f280af3311ad490
2012-03-28 23:02:39 +02:00
Thomas Martitz
d26bbb9cfb (Hopefully) fix overlay plugins.
Change-Id: I210db2109493d296dcc644d643e8814862101652
2012-03-26 23:41:38 +02:00
Thomas Martitz
f269aa0060 build system: unify/simplify library handling a bit.
libs in $ROOT/lib now add to $(CORE_LIBS) and $(EXTRA_LIBS) and are
automatically linked by the core and codecs/plugins respectively.

Change-Id: Iff482c792a8c8142718f6a16a450c6e2f1497c9a
2012-03-26 22:27:40 +02:00
Marcin Bukat
b0df323391 Don't hardcode cpu frequency in test_codec
Change-Id: Idcd7b024edb7a550b42b935fadfb3d869bab14c6
2012-03-22 18:41:05 +01:00
Marcin Bukat
313034df29 revert changes in test_disk.c introduced by accident in r30459
Change-Id: Ib133070e8f307be7d54b422c37a33ddac67ec639
2012-03-22 18:37:55 +01:00
Nick Peskett
be10817e1c Option to constrain get_next_dir() to directories below global_settings.start_directory.
When enabled, if the user has set "Start File Browser Here" (config.cfg:
start directory) to anything other than root and "Auto-Change Directory"
is set to "Yes" or "Random", the directory returned when an auto change
is required will be constrained to the value of "start directory" or below.

Change-Id: Iaab773868c4cab5a54f6ae67bdb22e84642a9e4b
Reviewed-on: http://gerrit.rockbox.org/182
Reviewed-by: Nick Peskett <rockbox@peskett.co.uk>
Tested-by: Nick Peskett <rockbox@peskett.co.uk>
2012-03-19 11:49:55 +01:00
Sean Bartell
b5716df4cb Build librbcodec with DSP and metadata.
All associated files are moved to /lib/rbcodec.

Change-Id: I572ddd2b8a996aae1e98c081d06b1ed356dce222
2012-03-18 12:00:39 +01:00
Jean-Louis Biasini
dcc78cb867 Fuze+/calendar's plugin update keymaps and manual
- fuze+ keymaps for calculator updated
- manual updated accordingly
- also correct a little problem with a line only used by mpio hd300
manual but that appears on all other target's manual.

Change-Id: I9c4d3c21dc6174079edbde8035bad318e09ec74a
Reviewed-on: http://gerrit.rockbox.org/125
Reviewed-by: Amaury Pouly <amaury.pouly@gmail.com>
2012-03-15 11:31:19 +01:00
Michael Sevakis
d18a5cad7f Tweak paramters of mp3_play_data and callback.
Use generic void * and size_t and make mp3_play_data and its callback
agree on types. Use mp3_play_callback_t instead of prototyping
right in the function call (so it's not so messy to look at). Change
doesn't appear to require plugin API version increment.

Change-Id: Idcab2740ee316a2beb6e0a87b8f4934d9d6b3dd8
2012-03-04 14:50:47 -05:00
Jean-Louis Biasini
db856890df test_X plugins PLA integration
1) change all keymaps to PLA
2) add alternative exit keymaps

Change-Id: I5cb8b1fcc515d2b6f9934482e72b80767b2c2fb0
Reviewed-on: http://gerrit.rockbox.org/158
Reviewed-by: Thomas Martitz <kugel@rockbox.org>
2012-03-03 19:55:51 +01:00
Thomas Martitz
8eb36cfe85 matrix: shorten statement.
Change-Id: I08ac097cab4c2378a4e042b47934ef5870df003d
2012-03-03 16:45:59 +01:00
Jean-Louis Biasini
36c84f9a90 Plugin Matrix PLA integration (code)
This commit changes:
1) replace all keymaps with PLA ones and remove all
now useless precompiler instruction.
2) add an alternative exit button (PLA_EXIT or PLA_CANCEL)
3) add the possibility to change values repeatily by holding key
pressed.
note: no manual for matrix yet

Change-Id: Id3ace2863dd407dd5e5ab9b7b5b460c88bb007ad
Reviewed-on: http://gerrit.rockbox.org/128
Reviewed-by: Thomas Martitz <kugel@rockbox.org>
Tested-by: Thomas Martitz <kugel@rockbox.org>
2012-03-03 16:42:13 +01:00
Jean-Louis Biasini
693af46f6d Plugin mosaique PLA integration (code + manual)
This commit change:
1) replace all keymaps with PLA ones.
2) add an alternative exit button (PLA_EXIT or PLA_CANCEL)
3) do the required change to the manual in order to match
code's changes.
4) add a missing key in the manual and show them in a table

Change-Id: Ie983c7673c9dec1a9daeb34f5edaaa3c8be7dd5e
Reviewed-on: http://gerrit.rockbox.org/129
Reviewed-by: Thomas Martitz <kugel@rockbox.org>
Tested-by: Thomas Martitz <kugel@rockbox.org>
2012-03-03 16:37:47 +01:00
Michael Sevakis
d05db0a90c Correct actionable offense for misappropriation of action context.
Just use a bool to indicate raw button instead of action code. No
bother with plugin version yet again so soon.

Change-Id: I4aa075c0c1fb5308c9d49bebb30ac76f671b2335
2012-03-03 07:52:13 -05:00
Michael Sevakis
f688710707 Change keyclick_click so that it may accept raw buttons or actions.
Adds a new context, CONTEXT_RAWBUTTON, that I hope is out of the way
of everything. Unfortunately have to increment min plugin API version
for the second time today to accomodate additional parameter.

Change-Id: Iaa46b926e57cf377fd4906f2d42bb98e87215033
2012-03-03 07:10:56 -05:00
Jean-Louis Biasini
a92696d40d Plugin Starfield PLA integration (code + manual)
This commit changes:
1) replace all keymaps with PLA ones.
2) do the required changes to the manual in order to match
code's changes.
3) add an alternative exit button (PLA_EXIT or PLA_CANCEL)

Change-Id: I0cea909dd2ff44b8c5a2daba11c192965c4a02c7
Reviewed-on: http://gerrit.rockbox.org/131
Reviewed-by: Thomas Martitz <kugel@rockbox.org>
Tested-by: Thomas Martitz <kugel@rockbox.org>
2012-03-03 12:10:53 +01:00
Jean-Louis Biasini
10c566ed94 Plugin logo PLA integration (code + manual)
This commit changes:
1) replace all keymaps with PLA ones.
2) do the required change to the manual in order to match
code's changes.
3) add an alternative exit button (PLA_EXIT or PLA_CANCEL)
4) add the possibility to change values repeatily by holding key
pressed.

Change-Id: Ie68fd4e94830bba8a592941ee4e8b10aeacda923
Reviewed-on: http://gerrit.rockbox.org/127
Reviewed-by: Thomas Martitz <kugel@rockbox.org>
Tested-by: Thomas Martitz <kugel@rockbox.org>
2012-03-03 12:05:58 +01:00
Jean-Louis Biasini
f1e1ab8d41 Plugin snow PLA integration (code + manual)
this commit changes:
1) replace all keymaps with PLA ones.
2) do the required change to the manual in order to match
code's changes.
3) add an alternative exit button (PLA_EXIT or PLA_CANCEL)

Change-Id: I8a064b98c118e369f8464de5e43c7641d8a08e9e
Reviewed-on: http://gerrit.rockbox.org/130
Reviewed-by: Thomas Martitz <kugel@rockbox.org>
Tested-by: Thomas Martitz <kugel@rockbox.org>
2012-03-03 10:48:22 +01:00
Michael Sevakis
286a4c5caa Revise the PCM callback system after adding multichannel audio.
Additional status callback is added to pcm_play/rec_data instead of
using a special function to set it. Status includes DMA error
reporting to the status callback. Playback and recording callback
become more alike except playback uses "const void **addr" (because
the data should not be altered) and recording  uses "void **addr".
"const" is put in place throughout where appropriate.

Most changes are fairly trivial. One that should be checked in
particular because it isn't so much is telechips, if anyone cares to
bother. PP5002 is not so trivial either but that tested as working.

Change-Id: I4928d69b3b3be7fb93e259f81635232df9bd1df2
Reviewed-on: http://gerrit.rockbox.org/166
Reviewed-by: Michael Sevakis <jethead71@rockbox.org>
Tested-by: Michael Sevakis <jethead71@rockbox.org>
2012-03-03 07:23:38 +01:00
Dimitar Dimitrov
3f82f3aca1 Sansa Clip Zip: Bubble now shows a proper background image
Change-Id: If595378d58a4602bdc6b101c062c6974f6debf62
Reviewed-on: http://gerrit.rockbox.org/167
Reviewed-by: Dimitar Dimitrov <mitakas@gmail.com>
Tested-by: Dimitar Dimitrov <mitakas@gmail.com>
Tested-by: Bertrik Sikken <bertrik@sikken.nl>
Reviewed-by: Bertrik Sikken <bertrik@sikken.nl>
Reviewed-by: Rafaël Carré <rafael.carre@gmail.com>
2012-03-03 02:54:26 +01:00
Jean-Louis Biasini
5bfbc64151 Fuze+: All games plugins keymaps
revert all games plugins keymaps that had mysteriouly disapeared

Change-Id: I648ea4c13ddacc49995254fbb79a0dbb75b2fcbc
Reviewed-on: http://gerrit.rockbox.org/160
Reviewed-by: Amaury Pouly <amaury.pouly@gmail.com>
2012-03-02 11:40:02 +01:00
Thomas Martitz
3a4f8cd5d7 fireworks: ues PLA_EXIT to exit without going through the menu.
Change-Id: I0902ce839b7eab4c7e1311ef797f19f91ebc582a
2012-02-24 15:06:18 +01:00
Jean-Louis Biasini
a60bc256ab fireworks's plugin PLA integration
1) this patch replace all keymaps with PLA ones. It also clean some optionnal
compiling that are not needed anymore througt PLA
2) it also add an alternative exit button (PLA_EXIT or PLA_CANCEL)

Note: no patch for manual here as there isn't a manual for fireworks yet

Change-Id: I460096a018ce8d3890425f8b6b98194c4e3f9d76
Reviewed-on: http://gerrit.rockbox.org/114
Reviewed-by: Thomas Martitz <kugel@rockbox.org>
Tested-by: Thomas Martitz <kugel@rockbox.org>
2012-02-24 13:20:24 +01:00
Jean-Louis Biasini
7c215b1be8 bounce's plugin PLA integration (main code + manual)
1) this patch replace all keymaps with PLA ones.

2) the patch also do the required change to the manual in order to match
code's changes.

3) it also add an alternative exit button (PLA_EXIT or PLA_CANCEL)

4) Also cut out the remote control related mapping as PLA handle remote controls
his own way so that we don't need them anymore

5) change scrollwheel mapping in order to have it controlling the value of selected field unstead of field selection

Change-Id: I023122d45a8337fad1e8ed8be12d4c928bdd1292
Reviewed-on: http://gerrit.rockbox.org/106
Reviewed-by: Thomas Martitz <kugel@rockbox.org>
Tested-by: Thomas Martitz <kugel@rockbox.org>
2012-02-24 13:11:51 +01:00
Jean-Louis Biasini
d8fd988cf2 stats's plugin PLA integration (main code + manual)
1) this patch replace all keymaps with PLA ones. It also clean some optionnal
 compiling that are not needed anymore througt PLA

2) the patch also made required change to the manual in order to match code's
 change.

3) it also add an alternative exit button (PLA_EXIT or  PLA_CANCEL)

TO TEST:
I'm not sure if remote control works anymore and cannot test it. I'm not
sure about the way PLA handle those so if that doesn't work let me know ;)

Change-Id: I3fb81e75ef6e4d49e19be24f09c0413599ed0c9c
Reviewed-on: http://gerrit.rockbox.org/90
Tested-by: Thomas Martitz <kugel@rockbox.org>
Reviewed-by: Thomas Martitz <kugel@rockbox.org>
2012-02-22 09:15:50 +01:00
Nathan Korth
bf4edb3614 Fixed clock bitmaps for Sansa Clip Zip (96x96x16)
clock_binary, clock_logo, and clock_messages are new; the rest are
provided by 132x80 and 128x128, which already had the correct sizes

Change-Id: Ib34b605705b8a21a784faea8adc9ec448dfa7457
Reviewed-on: http://gerrit.rockbox.org/110
Reviewed-by: Bertrik Sikken <bertrik@sikken.nl>
Tested-by: Bertrik Sikken <bertrik@sikken.nl>
2012-02-21 20:59:17 +01:00
Jean-Louis Biasini
d5bd4ec682 Fuze+: fractals's plugin keymaps reworks
1) Multitouch does not work on Fuze+. Unstead we can take advantage of
bottomleft and bottomright button.

2) Manual completed accordingly

Change-Id: I9535865773a2d1e21b1a71af63e4d377abcbc752
Reviewed-on: http://gerrit.rockbox.org/115
Reviewed-by: Amaury Pouly <amaury.pouly@gmail.com>
2012-02-21 18:08:08 +01:00
Jean-Louis Biasini
e5b1b0f998 rockblox1d's plugin PLA integration (main code + manual)
1) this patch replace all keymaps with PLA ones. It also clean some optionnal
compiling that are not needed anymore througt PLA.

2) the patch also made required change to the manual in order to match code's
change.

3) it also add an alternative exit button (PLA_EXIT or PLA_CANCEL).

Change-Id: If6e78711eaab1dd2c907b418ba72c8789ceaa72b
Reviewed-on: http://gerrit.rockbox.org/105
Reviewed-by: Thomas Martitz <kugel@rockbox.org>
Tested-by: Thomas Martitz <kugel@rockbox.org>
2012-02-18 23:57:22 +01:00
Magnus Holmgren
488f6229c0 libarm_support references code in libplugin, so put libarm_support first of the two when linking. There may be better solutions, but this fixes linking problems for me (on Cygwin).
Change-Id: I5b2c87d5986cf5cba6652aad4ece0647e1178474
2012-02-18 16:51:50 +01:00
Bertrik Sikken
8a87b663ed midi plugin: make local functions static where possible
Change-Id: I702755529f98015586b5b9592ced75cf7591880c
2012-02-18 12:06:48 +01:00
Thomas Martitz
af4f2157b8 Fix lua unused-variable warning by introducing UNUSED_ATTR.
Change-Id: If19393db123e89e58545c9e0736e6fa32fccb810
2012-02-17 12:08:27 +01:00
Albert Bloomfield
885ecf8327 Add playlist wrappers for lua
adds wrappers for the functions playlist_sync, playlist_remove_all_tracks, and playlist_insert_track, playlist_insert_directory
playlist_{sync,remove_all_tracks} take no arguments
playlist_insert_{track,directory} only have one required argument (either the filename or directory name)
They take as optional arguments position, queue, and either sync or recurse

They all just pass NULL to work with the current playlist

also adds constants for:
PLAYLIST_PREPEND,
PLAYLIST_INSERT,
PLAYLIST_INSERT_LAST,
PLAYLIST_INSERT_FIRST,
PLAYLIST_INSERT_SHUFFLED,
PLAYLIST_REPLACE, and
PLAYLIST_INSERT_LAST_SHUFFLED

Change-Id: Ib7464cba50e7a250edf092e50668f11010f2b737
Reviewed-on: http://gerrit.rockbox.org/109
Reviewed-by: Thomas Martitz <kugel@rockbox.org>
2012-02-17 12:02:22 +01:00
Bertrik Sikken
b193b75f62 zxbox: make source files include their header file and make function static where possible
Change-Id: I0c87563ee29f46948e3a559c27b1b22d4404cec1
2012-02-15 22:32:43 +01:00
Jean-Louis Biasini
c978665025 Fuze+ PLA_EXIT slight mapping cleanup
1) On all non PLA plugin, power button is used for exit. For consistency,
we set PLA_EXIT to power button.
2) Manual updated accordingly

Change-Id: Ia4b8fce13bad2f8dc0710cdb29ccf6c74b3fd9c4
Reviewed-on: http://gerrit.rockbox.org/91
Reviewed-by: Thomas Martitz <kugel@rockbox.org>
Reviewed-by: Amaury Pouly <amaury.pouly@gmail.com>
2012-02-09 16:43:53 +01:00