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>
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>
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
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
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
* 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>
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>
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
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
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
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
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
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>
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
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>
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
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
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