Commit graph

41 commits

Author SHA1 Message Date
Michael Sevakis
5fc82f023e Fix FS#12824 : Malfunctioning FFT plugin in Sansa Clip Zip
The "plot" variable was left NULL when FFT_FREQ_SCALE key wasn't defined.

Please add FFT_FREQ_SCALE keys to targets missing them! I added the key
for Clip Zip and reminders for others.

Change-Id: I49c0dc2ea2e5bc494db793da7a2f3059b4fb20df
2013-02-21 20:20:52 -05: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
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
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
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
Thomas Martitz
7013d0c48d application: Enable chipper and fft plugins.
They force grid mode but don't need graphics so good enough for now.

Change-Id: I711a1a22f1866ed25196614f343ab51967bf3a4b
2012-01-27 09:15:05 +01:00
Thomas Martitz
249bba03f1 Initial commit of the Samsung YP-R0 port.
This port is a hybrid native/RaaA port. It runs on a embedded linux system,
but is the only application. It therefore can implement lots of stuff that
native targets also implement, while leveraging the underlying linux kernel.

The port is quite advanced. User interface, audio playback, plugins work
mostly fine. Missing is e.g. power mangement and USB (see SamsungYPR0 wiki page).

Included in utils/ypr0tools are scripts and programs required to generate
a patched firmware. The patched firmware has the rootfs modified to load
Rockbox. It includes a early/safe USB mode.

This port needs a new toolchain, one that includes glibc headers and libraries.
rockboxdev.sh can generate it, but e.g. codesourcey and distro packages may
also work.

Most of the initial effort is done by Lorenzo Miori and others (on ABI),
including reverse engineering and patching of the original firmware,
initial drivers, and more. Big thanks to you.

Flyspray: FS#12348
Author: Lorenzo Miori, myself

Merry christmas to ypr0 owners! :)

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31415 a1c6a512-1295-4272-9138-f99709370657
2011-12-24 11:56:46 +00:00
Michael Sevakis
6a67707b5e Commit to certain names for cache coherency APIs and discard the aliases.
Wouldn't surprise me a bit to get some non-green.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31339 a1c6a512-1295-4272-9138-f99709370657
2011-12-17 07:27:24 +00:00
Tomasz Moń
e8a8a1be43 Sandisk Sansa Connect port (FS #12363)
Included are drivers for buttons, backlight, lcd, audio and storage.



git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31000 a1c6a512-1295-4272-9138-f99709370657
2011-11-16 14:08:01 +00:00
Amaury Pouly
c8f483a360 fuze+: add fft keymap
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30689 a1c6a512-1295-4272-9138-f99709370657
2011-10-02 17:34:47 +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
Michael Sevakis
6cc07f1466 FFT plugin: remove redundant NUM_CORES checks.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29366 a1c6a512-1295-4272-9138-f99709370657
2011-02-21 14:54:08 +00:00
Teruaki Kawashima
01313d5039 * Rename backlight_force_on to backlight_ignore_timeout to make it clear what the function does.
* Add backlight_force_on() which forces to turn on backlight even when the setting is set to Off. use this in lamp.
No functional change except lamp.
See aslo FS#9883.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29128 a1c6a512-1295-4272-9138-f99709370657
2011-01-24 12:29:16 +00:00
Marcin Bukat
dd61702fb0 HD300 - plugins keymaps
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28712 a1c6a512-1295-4272-9138-f99709370657
2010-11-30 10:52:14 +00:00
Robert Menes
98ed07bcf8 Okay, this should be the last few "prevent red" fixes to be
done on the GoGear HDD6330 plugin keymaps.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28470 a1c6a512-1295-4272-9138-f99709370657
2010-11-03 03:23:14 +00:00
Robert Menes
82d322c201 More plugin keymaps for the GoGear HDD6330.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28447 a1c6a512-1295-4272-9138-f99709370657
2010-11-02 14:36:08 +00:00
Marcin Bukat
59ba8fea22 MPIO HD200: rename button defines to adhere how they are labeled on the device.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28443 a1c6a512-1295-4272-9138-f99709370657
2010-11-02 10:44:34 +00:00
Robert Menes
0c8b5594ae Add plugin keymaps to fft for the GoGear SA9200.
Also fix some errors in pluginlib_actions.c which
were causing the SA9200 build to crap out when
building plugins, and also disable plugins for the
SA9200 in the configure script (no idea why they
were enabled in the first place!)


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28316 a1c6a512-1295-4272-9138-f99709370657
2010-10-21 02:45:06 +00:00
Thomas Martitz
cae4ae2c71 Second try: Introduce plugin_crt0.c that every plugin links.
It handles exit() properly, calling the handler also when the plugin returns
normally (also make exit() more standard compliant while at it).
It also holds PLUGIN_HEADER, so that it doesn't need to be in each plugin anymore.

To work better together with callbacks passed to rb->default_event_handler_ex() introduce exit_on_usb() which will call the exit handler before showing the usb screen and exit() after it.
In most cases rb->default_event_handler_ex() was passed a callback which was manually called at all other return points. This can now be done via atexit().

In future plugin_crt0.c could also handle clearing bss, initializing iram and more.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27873 a1c6a512-1295-4272-9138-f99709370657
2010-08-24 14:30:46 +00:00
Thomas Martitz
93cb949372 Revert "Introduce plugin_crt0.c that every plugin links."
Too much errors and no time to fix them now.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27863 a1c6a512-1295-4272-9138-f99709370657
2010-08-23 17:12:26 +00:00
Thomas Martitz
abdc5935be Introduce plugin_crt0.c that every plugin links.
It handles exit() properly, calling the handler also when the plugin returns
normally (also it makes exit() more standard compliant while at it).
It also holds PLUGIN_HEADER, so that it doesn't need to be in each plugin anymore.

To work better together with callbacks passed to rb->default_event_handler_ex introduce exit_on_usb() which will call the exit handler before showing the usb screen and exit() after it.
In most cases it was passed a callback which was manually called at all other return points. This can now be done via atexit().

In future plugin_crt0.c could also handle clearing bss, initializing iram and more.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27862 a1c6a512-1295-4272-9138-f99709370657
2010-08-23 16:56:49 +00:00
Michael Sevakis
e63e84a5df Convert some more stuff to mylcd_ and support pgfx as well.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26543 a1c6a512-1295-4272-9138-f99709370657
2010-06-04 13:22:50 +00:00
Michael Sevakis
bc26fe7a96 Add a wrapper header, mylcd.h, in the lib subdirectory, which lets plugins' code automatically call the proper functions depending if compilation is for greylib or color display, also forms proper call to grey_ and xlcd_. mylcd_ub_ call greylib unbuffered routines, regular lcd routines otherwise. Form is mylcd_<fnname>, <fnname> is the symbol name stripped of prefixes lcd_, grey_, or xlcd_. Convert a couple plugins I know well (easy job).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26542 a1c6a512-1295-4272-9138-f99709370657
2010-06-04 08:43:32 +00:00
Michael Sevakis
e0af34cb5f More FFT fun: No point in computing and combining the 2nd FFT if it's just being made null. Use the regular complex FFT (called by fftr anyway) and save ram and computation for a given number of bins.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26507 a1c6a512-1295-4272-9138-f99709370657
2010-06-03 08:55:36 +00:00
Michael Sevakis
7e538995a5 FFT plugin: Some speed regulation for too-fast targets. (50FPS)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26503 a1c6a512-1295-4272-9138-f99709370657
2010-06-03 04:21:27 +00:00
Michael Sevakis
e208b74915 FFT plugin: give everything in the main file a nice 'static'-ing. Saves approx. 1-3K size depending upon the target and so should speed it up a bit.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26499 a1c6a512-1295-4272-9138-f99709370657
2010-06-03 01:38:50 +00:00
Michael Sevakis
cc38700b7a FFT plugin: Use worker thread only on multiprocessor targets.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26498 a1c6a512-1295-4272-9138-f99709370657
2010-06-03 00:59:05 +00:00
Michael Sevakis
ff2d224ae7 FFT Plugin: Should use scale_factor, not LCD_WIDTH/HEIGHT to break the spectrogram loop.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26471 a1c6a512-1295-4272-9138-f99709370657
2010-06-02 08:59:37 +00:00
Michael Sevakis
30e2f42c82 FFT Plugin: Revamp the main code to rid it of 64-bit math. Use 32-bit kiss_fft_scalar because 16-bit integers are generally a poor choice for computation on-target. Simplify display code to speed it up. Add logarithmic frequency display (need keymappings, guessed on some). On dual-core, perform FFT on COP. Add some support function to fixedpoint.c. ... and stuff.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26470 a1c6a512-1295-4272-9138-f99709370657
2010-06-02 08:34:10 +00:00
Rafaël Carré
9b935b2888 fft: use long home button to exit on fuze
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26443 a1c6a512-1295-4272-9138-f99709370657
2010-06-01 09:01:13 +00:00
Rafaël Carré
dcbd8d74c6 fft: always enable spectrogram, gray mode works with LCD_DEPTH == 1
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26140 a1c6a512-1295-4272-9138-f99709370657
2010-05-18 12:46:44 +00:00
Delyan Kratunov
af466f3cbf FFT plugin: eliminate 64-bit math. This should result in faster and probably more accurate calculations.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25790 a1c6a512-1295-4272-9138-f99709370657
2010-05-02 20:30:44 +00:00
Marcin Bukat
b09d3aec39 Add MPIO HD200 port - changed files
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25724 a1c6a512-1295-4272-9138-f99709370657
2010-04-26 21:40:00 +00:00
Maurus Cuelenaere
0feeb6e8b7 FFT plugin: init mutex
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24973 a1c6a512-1295-4272-9138-f99709370657
2010-02-28 14:58:37 +00:00
Dave Hooper
f7a30a4b08 kiss_fftr appears to perform two real-valued ffts in parallel -- so feed it only one signal of size N/2 (as opposed to splitting a single signal of size N into two interleaved parts which is what it seemed to be doing before)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24865 a1c6a512-1295-4272-9138-f99709370657
2010-02-22 23:45:38 +00:00
Szymon Dziok
7074a64d8a Packard Bell Vibe 500: Finish plugin keymaps. Rockbox compiles clean now for the target.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24658 a1c6a512-1295-4272-9138-f99709370657
2010-02-14 21:56:53 +00:00
Tomer Shalev
248969fd46 fft: fix yellow
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24613 a1c6a512-1295-4272-9138-f99709370657
2010-02-12 00:07:00 +00:00
Tomer Shalev
f6526bdde2 fft: fix red
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24612 a1c6a512-1295-4272-9138-f99709370657
2010-02-11 23:27:44 +00:00
Tomer Shalev
726088f9e6 fft plugin: add touchscreen key-mapping and enable plugin for touchscreen targets
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24611 a1c6a512-1295-4272-9138-f99709370657
2010-02-11 23:10:09 +00:00
Frank Gevaerts
43264a946f New plugin: FFT, A frequency analyzer plugin
There is some more work needed:
- Keymaps are definitely not perfect, touchscreen targets are disabled due to no keymap
- There is no manual yet

Author: Delyan Kratunov 
Flyspray: FS#10065



git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24587 a1c6a512-1295-4272-9138-f99709370657
2010-02-10 19:44:11 +00:00