Commit graph

72 commits

Author SHA1 Message Date
Thomas Jarosch
079d7fbb8b Revert "PictureFlow: Add move callback for buflib allocations"
It's not needed as picture flow has it's own buffer.

This reverts commit 9076b433d1.

Detailed explanation from Thomas Martiz (thanks!):

buflib buffers can be passed to yielding functions just fine. Problems
only arise if the are concurrent allocations, for example if two threads
allocate from the same context simultaneously or if the callee does it's
own allocations. This can't happen in the pictureflow case, it has it's
own context and a single thread allocating from it.

Therefore the problem isn't yield() itself, but possible concurrent
buflib_alloc() calls that result from the thread switch. This is because
compaction only ever happens on allocation (and not in a backgroud
thread or so).
2015-03-01 18:23:17 +01:00
Thomas Jarosch
9076b433d1 PictureFlow: Add move callback for buflib allocations
If we don't provide a callback to buflib_alloc(),
the buffer is always movable (to reduce fragmentation).

Since we pass our buffer to functions that call yield(),
this could lead to memory corruption on buflib compaction.

Change-Id: Id1fad1822479d692551c55cb8bc87cea7b78f759
2015-01-01 23:49:41 +01:00
Szymon Dziok
ce33d4f48b YH820/YH92X: Improve some keymaps for plugins.
Change-Id: Ib598737327043809f60127f7c538f2d45ddabb87
2014-10-22 09:59:26 +02:00
Thomas Martitz
a1842c04f9 lcd-24bit: Introduce a 24-bit mid-level LCD driver
With LCD driver all calculation will be performed on RGB888 and the hardware/OS
can display from our 24bit framebuffer.

It is not yet as performance optimized as the existing drivers but should be
good enough.The vast number of small changes is due to the fact that
fb_data can be a struct type now, while most of the code expected a scalar type.

lcd-as-memframe ASM code does not work with 24bit currently so the with 24bit
it enforces the generic C code.

All plugins are ported over. Except for rockpaint. It uses so much memory that
it wouldnt fit into the 512k plugin buffer anymore (patches welcome).

Change-Id: Ibb1964545028ce0d8ff9833ccc3ab66be3ee0754
2014-06-21 00:15:53 +02:00
Sebastian Leonhardt
7f7aee3f24 Separate keymaps for YH-820 and YH-920/925
Although both players basically have the same keys, the
differences in the layout is rather big, so I think both
deserve their own keymaps.

(On the yh820 the FFWD/PLAY/REW buttons are located above the
direction keys, on the yh920 at the side of the player.
Furthermore the yh920/925 has a REC switch, whereas
yh820 has a push button.)

Change-Id: I0e62a1b101c387646c0bdb07ea142d9d2430ca15
Reviewed-on: http://gerrit.rockbox.org/814
Reviewed-by: Szymon Dziok <b0hoon@o2.pl>
2014-05-24 00:50:11 +02:00
David Jilke
d489444119 Complete Plugin Keymaps for Creative Zen X-Fi3
This patch completes the plugin keymaps for the Zen X-Fi3 and enables those plugins for compilation.
One key was changed in "button-target.h" for compatibility with Rockboy.
This also caused the changes to "keymap-zenxfi3.c", to keep the stock functionality (no further changes in here).

Change-Id: Ic222faf89e9a9a2332a49d6e532cedb6eb16d3d7
Reviewed-on: http://gerrit.rockbox.org/762
Reviewed-by: Amaury Pouly <amaury.pouly@gmail.com>
2014-04-06 20:51:12 +02:00
Michael Sevakis
31b7122867 Implement time-based resume and playback start.
This complements offset-based resume and playback start funcionality.
The implementation is global on both HWCODEC and SWCODEC.

Basically, if either the specified elapsed or offset are non-zero,
it indicates a mid-track resume.

To resume by time only, set elapsed to nonzero and offset to zero.
To resume by offset only, set offset to nonzero and elapsed to zero.

Which one the codec uses and which has priority is up to the codec;
however, using an elapsed time covers more cases:

* Codecs not able to use an offset such as VGM or other atomic
formats

* Starting playback at a nonzero elapsed time from a source that
contains no offset, such as a cuesheet

The change re-versions pretty much everything from tagcache to nvram.

Change-Id: Ic7aebb24e99a03ae99585c5e236eba960d163f38
Reviewed-on: http://gerrit.rockbox.org/516
Reviewed-by: Michael Sevakis <jethead71@rockbox.org>
Tested: Michael Sevakis <jethead71@rockbox.org>
2014-03-10 04:12:30 +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
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
Marcin Bukat
5863361fbf MPIOs: keymap tweaks
Change-Id: Ic96900c83ffb90df4f6c68a26238f0543cba61cd
2012-02-02 14:55:51 +01:00
Bertrik Sikken
a7a78b3b52 Fix warnings from r31453
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31454 a1c6a512-1295-4272-9138-f99709370657
2011-12-28 11:47:35 +00:00
Bertrik Sikken
d2cdd80f5c plugins: another round of making local things static and adding missing #includes
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31453 a1c6a512-1295-4272-9138-f99709370657
2011-12-28 11:32:13 +00:00
Thomas Martitz
a102253cf2 Make pictureflow compile again.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30941 a1c6a512-1295-4272-9138-f99709370657
2011-11-08 22:23:29 +00:00
Thomas Martitz
5296af838c Buflib: Clarification about invalid handles
* Enhance allocation function comments to better state the return value and what an invalid value is
* Change clients to check for "< 0" instead of "<= 0" or "== 0"
* Return -1 or -2 depending on the exact failure in buflib_alloc_ex.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30469 a1c6a512-1295-4272-9138-f99709370657
2011-09-07 23:16:29 +00:00
Thomas Martitz
42f10e04df Remove buflib from the pluginlib and use the core one.
buflib_get_data() isn't inlined for plugins anymore, but can be if really needed.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30387 a1c6a512-1295-4272-9138-f99709370657
2011-08-30 16:48:36 +00:00
Thomas Martitz
3b18158688 Fix FS#11387 - PictureFlow runs jerkily while playing music on Nano2G after the recent feature addition
The problem r26713 addressed was not caused by missing yields but by too high
priority of the background loader thread. Undoing the yield() change and decreasing
the priority fixes the audio drop as well but doesn't cause jerkiness.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30000 a1c6a512-1295-4272-9138-f99709370657
2011-06-13 16:50:10 +00:00
Andree Buschmann
e75018ad66 Fix several 'variable set but not used' warnings reported from GCC 4.6.0.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29805 a1c6a512-1295-4272-9138-f99709370657
2011-05-01 11:42:41 +00:00
Thomas Jarosch
f9f89cf5cb RaaA: Fix write locations of plugins
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29506 a1c6a512-1295-4272-9138-f99709370657
2011-03-02 23:43:54 +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
Teruaki Kawashima
8371d78519 pictreflow: tweak alpha value for the case number of slides < 3 so that fading looks a bit more smooth.
do not save settings when it is not so needed.
make sliding animation better when you press right then left quickly.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28529 a1c6a512-1295-4272-9138-f99709370657
2010-11-07 14:37:02 +00:00
Teruaki Kawashima
45fa8245ea FS#11673: picture flow: improve scrolling text, by myself.
implement scroll engine in the plugin similar to the one in core.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28474 a1c6a512-1295-4272-9138-f99709370657
2010-11-03 13:34:58 +00:00
Teruaki Kawashima
5832254289 fix sorting of track list when tracks with track number and tracks without track number are in the same list.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28267 a1c6a512-1295-4272-9138-f99709370657
2010-10-13 12:13:59 +00:00
Teruaki Kawashima
775fbaf780 pictureflow:
-fix calculation of track_list_y when the display area isn't filled with tracks.
-reset scroll position of album title text when the text is changed so that it doesn't jump.
-enables theme in the menu so that it is consistent to playback control item and
 other plugins' menu, instead of solid color background from the theme.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28209 a1c6a512-1295-4272-9138-f99709370657
2010-10-05 12:05:42 +00:00
Teruaki Kawashima
23718ad646 picture flow: clean up code. no functional changes.
-use upper case for enum constants.
-rename variables to match it's use.
-remove tabs and fix indents.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28192 a1c6a512-1295-4272-9138-f99709370657
2010-10-02 14:28:46 +00:00
Teruaki Kawashima
55a63609ef use correct condition for #if for tagcache_fill_tags().
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28188 a1c6a512-1295-4272-9138-f99709370657
2010-09-30 13:09:50 +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
Thomas Martitz
57613ea5fa Rename/change SIMVER to APP_TYPE in the Makefiles.
SIMVER was really only used to detect a simulator build. With APP_TYPE you can
now differentiate between simulator, application, checkwps and database builds.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27372 a1c6a512-1295-4272-9138-f99709370657
2010-07-10 13:49:49 +00:00
Jens Arnold
2f67cdc3e8 Make unnecessarily static local variables non-static. It's more efficient, and it also fixes the weird lines with EABI on ARM7TDMI, although it doesn't explain them.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26995 a1c6a512-1295-4272-9138-f99709370657
2010-06-20 16:33:00 +00:00
Jonathan Gordon
6efc8d5bc1 remainder of FS#11270 - bug fixes and updates for picureflow
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26713 a1c6a512-1295-4272-9138-f99709370657
2010-06-09 06:24:22 +00:00
Jonathan Gordon
4017fd2928 fix errors
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26711 a1c6a512-1295-4272-9138-f99709370657
2010-06-09 05:37:56 +00:00
Jonathan Gordon
d871ff8cce FS#11270 by Chris Savery - WPS integration for pictureflow
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26710 a1c6a512-1295-4272-9138-f99709370657
2010-06-09 04:25:41 +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
Thomas Martitz
c61e89c0ed Make creat() posix compliant API-wise. Shouldn't affect the core as it's wrapped via a static inline.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25843 a1c6a512-1295-4272-9138-f99709370657
2010-05-06 17:35:04 +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
Thomas Martitz
5629d551d7 Accept the last patch FS#10797 with a few changes by me (fixing side effects and adding the new backdrop_hide() to the multi screen api). It changes the hide_bars parameter to mean hide_theme.
This makes plugins show the menu backdrop in their backdrop so that they don't look like crap if you have an sbs and look more integrated. I've test about all plugins and all work fine.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24335 a1c6a512-1295-4272-9138-f99709370657
2010-01-26 20:14:42 +00:00
Teruaki Kawashima
e3fc65cfff change dependencies in make files:
* apps.make: depends on ctype.o instead of errno.o to depend on config-*.h so that it works for simulator.
* lang.make: add dependency of lang.h to make it sure that the file is updated properly when needed.
* plugins.make: object files don't depend on libpluginbitmaps.a.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24256 a1c6a512-1295-4272-9138-f99709370657
2010-01-17 13:03:10 +00:00
Tomer Shalev
47ddbaa47b Cowon D2: Rename COWOND2_PAD -> COWON_D2_PAD to match macro used in manual, and
to target naming conventions in general


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24010 a1c6a512-1295-4272-9138-f99709370657
2009-12-15 20:51:41 +00:00
Tomer Shalev
cfe82de670 PictureFlow: Add PF_MENU action to touchscreen
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23976 a1c6a512-1295-4272-9138-f99709370657
2009-12-13 20:27:55 +00:00
Karl Kurbjun
0ba0fbb3e7 Pictureflow: Fix define
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22608 a1c6a512-1295-4272-9138-f99709370657
2009-09-02 12:04:11 +00:00
Karl Kurbjun
f0becad4a1 Pictureflow: Add support for vertical strides.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22604 a1c6a512-1295-4272-9138-f99709370657
2009-09-02 03:32:50 +00:00
Teruaki Kawashima
dbce22dc68 use set_option instead of menu api for some settings of plugins to make it clear it's a setting.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22189 a1c6a512-1295-4272-9138-f99709370657
2009-08-06 14:01:47 +00:00
Nils Wallménius
3d4701a6e4 FS#10080
* Move strncpy() from core to the pluginlib
* Introduce strlcpy() and use that instead in most places (use memcpy in a few) in core and some plugins
* Drop strncpy() from the codec api as no codec used it
* Bump codec and plugin api versions


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21863 a1c6a512-1295-4272-9138-f99709370657
2009-07-14 13:57:45 +00:00
Thomas Martitz
f4c31ae309 Adapt pictureflow and random_folder_advance_config to make use of the new goto-wps exit feature.
For pictureflow a menu item is added, but the key press that works in the filetree works also (unless it's already remapped),
rfa will go to the wps after selecting "Play Shuffled", as it needs to exit then anyway.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21681 a1c6a512-1295-4272-9138-f99709370657
2009-07-05 22:15:04 +00:00
Andrew Mahone
a967308799 Replace HAVE_SCROLLWHEEL in PictureFlow with USE_CORE_PREVNEXT, defined on targets where special horizontal-scroll mappings are broken or make no sense.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21636 a1c6a512-1295-4272-9138-f99709370657
2009-07-04 16:59:49 +00:00
Alexander Levin
5ba9fe0fc3 Fix case in the constant
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21217 a1c6a512-1295-4272-9138-f99709370657
2009-06-08 17:26:25 +00:00
Thomas Martitz
995f64c227 Pictureflow: Don't show the playback control one targets that can't have playback in pictureflow.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21216 a1c6a512-1295-4272-9138-f99709370657
2009-06-08 16:39:24 +00:00
Andrew Mahone
840ab7c724 Fix red.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21173 a1c6a512-1295-4272-9138-f99709370657
2009-06-03 06:06:11 +00:00
Andrew Mahone
19ac88475d PictureFlow: subtract space used to load plugin from available audio buffer space if needed.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21172 a1c6a512-1295-4272-9138-f99709370657
2009-06-03 00:54:53 +00:00