1
0
Fork 0
forked from len0rd/rockbox
Commit graph

4186 commits

Author SHA1 Message Date
Marcin Bukat
071c95be70 gif viewer: remove max frames count constraint
Change-Id: I0be2f86234cfc5fd4ab6bb21fb918e507c608f2f
Reviewed-on: http://gerrit.rockbox.org/380
Reviewed-by: Thomas Martitz <kugel@rockbox.org>
Reviewed-by: Marcin Bukat <marcin.bukat@gmail.com>
2013-01-25 16:51:12 +01:00
Björn Stenberg
1501df045f Deprecate the EXTRA_LIBS variable.
Instead specify explicit library dependencies for codecs and plugins.
2013-01-24 16:06:45 +01:00
Richard Quirk
212e7808d5 Use crc32 of filename to resume tracks
As well as using an index, which breaks when a file is added or
removed, use the crc32 of the filename. When the crc32 check passes the
index is used directly. When it fails, the slow path is taken checking
each file name in the playlist until the right crc is found. If that fails
the playlist is started from the beginning.

See http://www.rockbox.org/tracker/6411

Bump plugin API and nvram version numbers

Change-Id: I156f61a9f1ac428b4a682bc680379cb6b60b1b10
Reviewed-on: http://gerrit.rockbox.org/372
Tested-by: Jonathan Gordon <rockbox@jdgordon.info>
Reviewed-by: Jonathan Gordon <rockbox@jdgordon.info>
2013-01-02 08:29:38 +01:00
Jean-Louis Biasini
5caaf70f34 [Fuze+] imageviewer: update/complete keymaps
1) update/complete keymaps (now handle slideshow)
2) update/complete manual

Change-Id: I1baf2598941bb781a2f2777f23eb543bd6bf5848
Reviewed-on: http://gerrit.rockbox.org/354
Reviewed-by: Amaury Pouly <amaury.pouly@gmail.com>
2012-12-26 17:30:54 +01:00
Jean-Louis Biasini
0f0adfac71 [Fuze+] PictureFlow: complete keys mapping
1) add quit and menu binding
2) complete manual

Change-Id: Iceee6354c788b8baeefeea2d2d8914e1df83d4a7
Reviewed-on: http://gerrit.rockbox.org/353
Reviewed-by: Amaury Pouly <amaury.pouly@gmail.com>
2012-12-26 17:30:31 +01:00
Jean-Louis Biasini
7c488f5053 [FUZE+] Rockblox plugin slight keymaps update
1) slight keymaps update
Remove mapping of BUTTON_BACK reseting game to avoid pressing it
involuntary.
Direct mapping of BUTTON_POWER to go into menu.
2) manual updated
Change-Id: I28875104c4a4058216532b9aa12bb2defabcca6d
Reviewed-on: http://gerrit.rockbox.org/352
Reviewed-by: Amaury Pouly <amaury.pouly@gmail.com>
2012-12-26 17:30:08 +01:00
Michael Sevakis
a6409c8686 Adapt FFT plugin to use floating on-screen display.
Helps appearance especially with the spectrogram view since it no longer
must be scrolled out of the way to avoid artifacts.

Additionally, allow settings to be saved and clean up some misellaneous
stuff to help graphics performance.

Still other "pointless" work to do on it... :-)

Change-Id: Iff2f725b0237ffb430e85f591675c2062b159abc
2012-12-18 20:32:23 -05:00
Michael Sevakis
371c86bf3f Adapt OSD in plugin lib to be greylib compatible.
Requires addition of viewports and alternate framebuffers to greylib
which are essentially similar to the core implementation except that
the framebuffer can be any size and relationship to a viewport. Drawing
is always fully clipped to the intersecting area.

Adapt oscilloscope.c to the API change. FFT will use the new features
(later update).

Get rid of silly and wrong lcd_bmp_part use in OSD. Remove it from
plugin API (must be made incompatible now).

Change-Id: Iafa5e2174148fb8ad11db6b9d4add0dcabc5c563
2012-12-18 19:16:26 -05:00
Michael Sevakis
708bf1aca3 Revert a couple keymaps from 0f8aedb.
M200v4 doesn't have enough plugin RAM for waveform view. HD300 I was
clueless about, created a duplicated case. Will just leave for now.

Targets still need GRAPHMODE key defined to access.

Change-Id: Ib21f46f25c1121ebee78bd26c856446ac7720b37
2012-12-04 20:40:00 -05:00
Michael Sevakis
0f8aedbe94 Add a true waveform display to the oscilloscope plugin.
* Adds some additional niftyness like a floating popup display that
is implemented in an OSD library for use by other plugins.

* Speed changes are now gradual for both views and follow a curve
derived from some fiddling around to get a nice feel.

* Refined a few behavioral things overall.

It needs a bit of help from a direct PCM channel callback so it may
capture PCM for waveform display. Also need a few other core routines
to help out for the OSD.

Messes with some keymaps. Some targets need keymaps to access the
different views. Some devices can't support the additional view
because it requires a large buffer ( > 1 s) for samples.

If the plugin buffer is small, they can still use the popup display
since the plugin is also much smaller in that case.

Slow speed waveform needs some refining so it draws gradually like
a real oscilloscope but I'll stick with what it is, for the moment.

Change-Id: Ieb5b7922a2238264e9b19a58cb437739194eb036
Reviewed-on: http://gerrit.rockbox.org/245
Reviewed-by: Michael Sevakis <jethead71@rockbox.org>
Tested-by: Michael Sevakis <jethead71@rockbox.org>
2012-12-05 02:03:58 +01:00
Jean-Louis Biasini
3a39f77ed6 Pacbox: add fuze+ to the targets that can manage full frames
Like gigabeat s and f, Fuze+ also handles dysplaying all frames
even with sound on.

Change-Id: Ib92062e378869c1687d6a7658ec23be60e168ccf
Reviewed-on: http://gerrit.rockbox.org/186
Reviewed-by: Amaury Pouly <amaury.pouly@gmail.com>
2012-11-21 11:26:39 +01:00
Jean-Louis Biasini
8296d493f2 Fuze+ demo plugin's keymaps upgrade
1)  keymaps reviewed
2)  manual updated/created accordingly

Change-Id: I38dd178466a390e9badeda4f44ac275041b313f1
Reviewed-on: http://gerrit.rockbox.org/132
Reviewed-by: Amaury Pouly <amaury.pouly@gmail.com>
2012-11-21 11:26:01 +01:00
Marcin Bukat
5e4aa4637a imageviewer: compile gif addon with -O2
Change-Id: I38ce91fec50147c0bc2705da4aa362a917bf02b3
2012-11-21 08:30:48 +01:00
Marcin Bukat
0ceaff2b65 imageviewer: gif viewer based on giflib-5.0.2
This adds ability to view gif images in rockbox.
Works both on color and gray/monochrome targets (greylib).
Aspect correction is supported as well.

Limitations:
- animated gifs are restricted to 32 frames
- animated gifs loop always (loopcount is ignored)
- plain text extension is not supported
- animated gifs with interframe delay = 0 are treated as still
  images (web browsers usually treat delay 0 as 100ms to prevent
  exhaustive CPU load by such images)

Change-Id: I61501f801ddcd403410e38d83e6bddc9883e7ede
2012-11-13 18:13:10 +01:00
Marcin Bukat
5dec7af1ec Revert "SH gcc 4.6.3 with link-time optimization, for Archos targets"
This was commited by accident, sorry.
2012-10-24 14:05:39 +02:00
Boris Gjenero
c975de1534 SH gcc 4.6.3 with link-time optimization, for Archos targets
This is work from FS#12431 synced to current HEAD and slightly
tweaked (gcc 4.6.2 -> 4.6.3, binutils 2.21.1 -> 2.22)

Change-Id: I76af91e80ac2a9c16a776c7f0a33cc51603bbf9b
2012-10-24 14:02:41 +02:00
Ophir LOJKINE
e86991f484 Implements exponential and logarithm in calculator plugin
exponential implementation uses the series
e^x = 1 + x + x^2/2 + x^3/6 + ...

natural logarithm uses
ln(a) = 2 * ( (a-1)/(a+1) + 1/3 * ((a-1)/(a+1))^3 +... )

log10 uses
log10(a) = ln(a)/ln(10)

Change-Id: I7303404b2b5a2bf60aad0706ca964a7cea19a27c
Reviewed-on: http://gerrit.rockbox.org/333
Reviewed-by: Frank Gevaerts <frank@gevaerts.be>
2012-10-19 23:05:25 +02:00
Marcin Bukat
71778bd21e pdbox: Always use fixedpoint version of math functions
Change-Id: Ie5671d8f425804c9cf3265bad86eadadaf73ea1c
2012-10-07 15:04:24 +02:00
Marcin Bukat
ef4bf8a9f0 pdbox: fix makefile
Change-Id: I52260e4b17348c039f958ff9fa661367d3a31eac
2012-10-07 13:55:52 +02:00
Richard Quirk
055c92cf42 snake2: fix maze size for sansa clip zip
Change-Id: I43bd0a7217c7f0dcd0dda4fe102582fc5ae61c9f
Reviewed-on: http://gerrit.rockbox.org/322
Reviewed-by: Michael Giacomelli <mgiacomelli@gmail.com>
2012-10-03 17:01:36 +02:00
Bertrik Sikken
bc657b5163 brickmania: adapt to 96x96 screen of sansa clip zip
Change-Id: I298e989f4b1ae274eb9a28d97c453cc473609176
2012-06-19 21:09:51 +02:00
Michael Giacomelli
2ca6fe1a77 Fix stop watch plugin from inserting 0 second laps if a new lap is started with the timer off.
Change-Id: I3d23d6dd47bb3b78a51d8a42b052403f7bf7665c
Reviewed-on: http://gerrit.rockbox.org/276
Reviewed-by: Michael Giacomelli <mgiacomelli@gmail.com>
Tested-by: Michael Giacomelli <mgiacomelli@gmail.com>
2012-06-14 04:24:54 +02:00
Thomas Martitz
66b6fdbb73 wpsbuild: Rewrite to fix various issues and support .fms
wpsbuild.pl is enhanced to produce fallback themes that were previously
hardcoded in buildzip.pl. It also recognizes resolution strings as
regular expressions now so you can specify resolution dependant settings
as <setting>.<regex>: <value> (needed to support single themes on multiple
resolutions). The WPSBUILD syntax completely changed as
well and it includes the fallback themes as well. Ultimately wpsbuild is
also able to install .fms files.

Change-Id: Idf5994f17b9750983d7bc3ef583540a8cdae1dde
2012-06-10 21:20:36 +02:00
Bertrik Sikken
0fd04941a3 matrix plugin: Fix out-of-bounds array access. Unify for-loop style.
Change-Id: I74ec8e559b80bee6c7de02193e943244dcf352c4
2012-06-03 23:37:33 +02:00
Bertrik Sikken
afc96087f8 New crossfeed algorithm for Rockbox: "Meier" crossfeed
Emulates the basic "Meier" crossfeed (2 capacitors, 3 resistors)
as discussed in
http://www.meier-audio.homepage.t-online.de/passivefilter.htm

This crossfeed blends a bit of low-pass filtered L signal into
the R signal (and vice versa) while adding about 300 us delay
to the crossfed-signal. A difference with the crossfeed already
present in rockbox, is that this algorithm keeps the total
spectrum flat (the one currently in rockbox accentuates
low-frequency signals, making it sound a bit muffled).

This implementation is quite lightweight, just 3 multiplies per
left-right pair of samples. Has a default C implementation and
optimized assembly versions for ARM and Coldfire.

The crossfeed effect is quite subtle and is noticeable mostly
one albums that have very strong left-right separation (e.g.
one instrument only on the left, another only on the right).

In the user interface, the new crossfeed option appears as
"Meier" and is not configureable. The existing crossfeed is
renamed to "Custom" as it allows itself to be customised.

There is no entry for the user manual yet.

Change-Id: Iaa100616fe0fcd7e16f08cdb9a7f41501973eee1
2012-05-28 11:34:15 +02:00
Thomas Martitz
d523fd6e64 load_code/overlay: Don't close plugin handle before calling the plugin.
Doesnt fix an actual bug because closing a handle is a no-op on all
native targets and others dont use overlay.

Change-Id: Ie55e3fd4abd08b174d86ca25aed54a970dddbebd
2012-05-26 22:57:21 +02:00
Bertrik Sikken
d01a182e65 Creative Zen x-fi: fix battery bench plugin
Change-Id: Iaab6353b94cc4462b5953a9fbec315d2e19f47b3
2012-05-20 17:06:14 +02:00
Frank Gevaerts
9db0cf0f93 Fix typo in error message
Change-Id: I69c87fac21b034b639fbce4324397b273d66d41b
2012-05-19 18:53:17 +02:00
Amaury Pouly
12c64a4b79 Initial commit for the Creative ZEN X-Fi2 and X-Fi3 ports
These are really similar devices so one commit for both is ok.

Change-Id: I8bd1d3fef1eb6d00aaadfb7af56c771f62d0c9c3
2012-05-19 16:10:52 +02:00
Bertrik Sikken
4a6b875eda Make lbitlib.c include its own header (for the luaopen_bit prototype)
Change-Id: I6da9d6ff084b89c519f1abfc50ba3375a7d0f958
2012-05-19 01:19:20 +02: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
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