Commit graph

15307 commits

Author SHA1 Message Date
Thomas Martitz
124e9c1cb6 Fix put_line via multiscreen API on remotes. Stupid me.
Change-Id: Id75dfd6ab3957dd27cb7db6f8776f754d85c19b4
2014-01-08 10:45:00 +01:00
Thomas Martitz
81be2016bb Fix Player red and icons on mono displays.
Change-Id: Ib8adcb4c70f2dd3ddd25da8f0606f48926dfd89e
2014-01-07 23:39:37 +01:00
Thomas Martitz
4f5894de52 Bump plugin API and ABI for put_line and struct viewport related changes.
Change-Id: I891e3c612ec0fb27e393561dababfc5ef7eb6e46
2014-01-07 23:02:52 +01:00
Thomas Martitz
e766e6d9f3 reversi: Update viewport initialization to new member fields.
Change-Id: I37f77e4ad5abf04006dd6ee2a82de115ef204e3a
2014-01-07 23:01:07 +01:00
Thomas Martitz
10a2e6738d Oops, pasted to the wrong place.
Change-Id: Icb07ddd04171699e997eca171bf8756b5fd9f024
2014-01-07 22:46:45 +01:00
Thomas Martitz
0e6d86e4fe Fix a few reds and yellows.
Change-Id: I9ad2aca494f2ea3ca5453082ec5491ec031f9ae5
2014-01-07 22:41:00 +01:00
Thomas Martitz
d146970ca1 lcd/grey: Enable viewport fg_pattern and bg_pattern for all bitmap targets.
Greylib performed a horrible hack and stored fg and bg patterns in other
struct viewport fields. One of them was just removed. So instead of
this hack simply enable the *_pattern fields for mono targets as well,
so that greylib can use them normally.

Change-Id: Ib0842ebcc97f5bf9d9382b4471903afa2f96f39f
2014-01-07 22:14:41 +01:00
Thomas Martitz
e1c7b3b8f7 lcd-16bit: Remove {lss,lse,lst}_pattern fields from struct viewport.
These where used for line styling during scrolling, which is now done in apps/,
The  viewport struct doesn't need to record these anymore.

Change-Id: I810d9dcb2644b00a798c6e75acab69c74a78e77f
2014-01-07 14:13:48 +01:00
Thomas Martitz
36e469db8b lcd-common: Remove direct style (line decorations) from lcd-puts* functions.
This logic is moved into apps (put_line()) which can better handle line
decorations with respect to scrolling, mulitline and other complications.

Firmware doesn't need this. The remaining drawing function know only one style,
that is foreground on background/backdrop (changing drawmode is still supported).

Change-Id: I707060edc388a7d723a7d09b0cf5cbda6ec56708
2014-01-07 14:13:48 +01:00
Thomas Martitz
4978094480 lcd-common: Remove support for custom line heights from viewport.
Since scrolling is now pixel-based this is not necessary anymore. custom line
height is handled by put_line() but can also possible to implement with
lcd_puts_scroll_func().

Change-Id: Iee9b12bf99afac93d95d2a1a6f5d5b4db237b21c
2014-01-07 14:13:48 +01:00
Thomas Martitz
9a4686b563 lcd-common/scroll_engine: Remove unused functions lcd_puts_style_xyoffset() and lcd_puts_scroll_style_xyoffset().
With this functions removed there is no exported function in firmware left
that draws line decorations. Also no function supports specifying an y-offset
anymore (was used for pixel accurate positioning of otherwise strictly line-based
API calls).

Both should be handled in apps/ now.

Change-Id: Iba4b28ccc6e686c7db63e34b51ad4badae983fce
2014-01-07 14:13:48 +01:00
Thomas Martitz
775ebe4ff6 lcd-common/scroll_engine: Remove unused functions lcd_puts_scroll_style().
Change-Id: Ia4f943b3738ab6e66b0e3f1507c629b36d7eba94
2014-01-07 14:13:48 +01:00
Thomas Martitz
7cd07290e6 lcd-common: Remove unused function lcd_puts_style_offset().
Change-Id: I24da23d132f933fe647416dc58e8f50879715423
2014-01-07 14:13:48 +01:00
Thomas Martitz
1e324aac36 lcd-common: Remove unused function lcd_puts_style().
Change-Id: Id2c64c116f79b8e61a7af49b9072b3e884ffb455
2014-01-07 14:13:48 +01:00
Thomas Martitz
8f64625888 lcd-common: Remove unused function lcd_puts_offset().
Change-Id: I39749bf3db915e5a8ddb6e6f25eb201ea0aaf981
2014-01-07 14:13:48 +01:00
Thomas Martitz
a422604435 lcd-common/scroll_engine: Remove unused functions lcd_puts_scroll_offset() and lcd_puts_scroll_style_offset().
Change-Id: Ia84ae88020d06a1cb634942ab5e635fd5d10ac66
2014-01-07 14:13:48 +01:00
Thomas Martitz
2ef9aa51f3 test_gfx: Add benchmark for put_line().
Change-Id: I94cd5cec5ce169a4ddb60fcb3c09e2ffb50a3401
2014-01-07 14:13:41 +01:00
Thomas Martitz
5aa5a923f3 splitedit: Adapt put_line().
This plugin had a (broken) poor-mans list implementation which can be
better achieved through put_line().

Change-Id: I4ba92ba3a01b84a273b3f0a5d067b24c622ddc9e
2014-01-07 14:13:40 +01:00
Thomas Martitz
91ef65306b skin_engine: Adapt put_line().
This allows for code unification and removal of a workaround (STYLE_XY_PIXELS).

Change-Id: Ie92d377414cad943cdb06976af10b4f315f32710
2014-01-07 14:13:40 +01:00
Thomas Martitz
eec89a90ff lists: Adapt put_line().
This enables removing large portions of code, simplifiyng the drawing routine.
All of the removed code is functionaltiy now available through put_line().

Change-Id: Ib8e61772134189a8c3c6d22345c0b45e912bea76
2014-01-07 14:13:40 +01:00
Thomas Martitz
5d6974641b Introduce put_line().
This function is a fully-fletched, high-level pixel-based line printer, that
combines functionality of several firmware and list functions. It can
draw spacing, icons and text in a single call, in any order and each multiple
times. It can also apply line decorations at the same time.

It features printf-like semantics by accepting a format string that contain
format tags as well as inline text.

It's accessible directly, but also through the multi-screen api for plugins.

Change-Id: I70f5a77bbf4b0252521f2e47ead377b9d6d29b54
2014-01-07 14:13:17 +01:00
Thomas Martitz
5752d029fd icons: Provide accessors to the icon format (mono or native).
This is needed by the upcoming put_line() api to apply different drawmodes
depending on the format.

Change-Id: I626a7369a6e75c9c46af1ca5e4f1a9d401899b68
2014-01-07 11:49:53 +01:00
Thomas Martitz
bc9a45b05f icons: Remove automatic left padding if x == 0.
Since x is viewport-relative the icon isn't necessarily placed at the physical
display boundaries so that the padding isn't always useful. In fact it does
more harm if one wants to place an icon exactly at 0 of a (non-default)
viewport.

Calling code looks still mostly fine. I've only modified list drawer to include
the padding in the call-site.

Change-Id: I6b16b3d4377c3553234667b79837adde10e0edf2
2014-01-07 11:36:00 +01:00
Thomas Martitz
76476751d7 lcd-charcell: Correct get_icon_width() stub, everything is 1 char wide.
Change-Id: I2a76c306be8f11827cb8d1f12641d710f49274aa
2014-01-07 11:36:00 +01:00
Thomas Martitz
acee675a5e lcd-charcell: Add set_drawmode() wrapper to multi-screen API.
Change-Id: Idb6477aca8b19cb346ba2c2f5b91074e4679b0dd
2014-01-07 11:36:00 +01:00
Thomas Martitz
77836e5736 lcd-16bit: Introduce lcd_gradient_fillrect_part().
It is similar to lcd_gradient_fillrect(), except that it only draws a part
of the complete gradient. This can be used to draw only the bottom half
of a full gradient.

Change-Id: Ib47cc5237f6966e35ba07988bddbb00fd97adf96
2014-01-07 11:36:00 +01:00
Thomas Martitz
6630958533 lcd-common/scroll_engine: Introduce lcd_putsxy_scroll_func().
This function supports installing a custom scroll callback. This will be
called when the scrollengine redraws the line. It allows to draw extended
styles (or anything your can possible imagine) along with the text.

It is also strictly pixel-based, the first pixel-based function that supports
scrolling.

Change-Id: I57f81ac7b3d08b877aea4cb8afa882f175ebcdfc
2014-01-07 11:36:00 +01:00
Thomas Martitz
2f4a94189d bmp.c: Undo debug stuff that got in by accident.
Change-Id: Ic37658ab8d81405e28a4097d38785900fd0951cd
2014-01-05 19:37:48 +01:00
Thomas Martitz
281d1fadb3 Do not include kernel.h in system.h.
system.h doesn't need it on its own and this change makes it less
dependant on Rockbox internals.

Change-Id: I4e1e4108a52a7b599627a829204eb82b392fc6d6
2014-01-05 19:35:23 +01:00
Thomas Martitz
dd7b141736 apps/bitmaps: Replace pseudo-native default icons with mono ones.
The old icons looked exactly like the mono version, and all >1 bpp drivers
support rendering mono bitmaps. Therefore a mono bitmap can be used which
requires less ram.

This affects only the builtin icons, not the ones used by cabbiev2.

Change-Id: I3b02b5b04fe8b4bcc69e83310871254d336b648a
2014-01-05 19:35:23 +01:00
PurlingNayuki
7602f10423 Fix Chinese translation and missing "Attack Time" string
Change-Id: Ia4ae29bfe8739da93369a497a55680c7d445f730
Reviewed-on: http://gerrit.rockbox.org/700
Reviewed-by: Purling Nayuki <cyq.yzfl@gmail.com>
Tested: Purling Nayuki <cyq.yzfl@gmail.com>
Reviewed-by: Bertrik Sikken <bertrik@sikken.nl>
2014-01-05 15:47:34 +01:00
Thomas Martitz
042d8bf9eb Revert "Fix data abort introduced by ef92ed4a."
This reverts commit 61a096499b.

The original issue was caused by a new structure member which caused
bmp_args::buf to be unaligned for 2-byte reads. Enforcing that alignment
should be the faster fix. Aligning to cache (while at it) should
improve bmp loading times even more.

Change-Id: I58a2caaf08c0ce46e2fb9666de628a30a36ea5f4
2014-01-05 01:19:44 +01:00
Frank Gevaerts
61a096499b Fix data abort introduced by ef92ed4a.
Change-Id: I3e1bf2434238835d2d2b8f5f2a8f44b0df97b33d
2014-01-04 22:15:02 +01:00
Jonathan Gordon
124c969f49 Fix build error
Change-Id: I32e06cc41c70e225622c87539feaca5f92131065
2013-12-30 23:35:23 +11:00
Jonathan Gordon
00b3fd2a66 skin_engine: unload skin backdrops when the skins are reset
Hopefully this will fix various skin related bugs which happen
on usb plug/unplug!

Change-Id: Ie1d8378fca38dae02e42ed02a68bdb3663651b4d
2013-12-29 18:00:38 +11:00
Thomas Martitz
a56837b46d recording: Fix sloppy return value check. This caused an OOM panic.
Change-Id: I30bbc5623d81ad7cbbee52a439fb5909af2761b7
2013-12-24 10:20:13 +01:00
Thomas Martitz
5827e41904 hwcodec: core_alloc_maximum() returned 0 bytes if talk.c controls the audio buffer.
On hwcodec talk.c has the entire audio buffer (not just parts of it), therefore
it must give up everything and cannot count on core_alloc_maximum() to return
the remaining space. This is equivalent to it was handled before 22e802e.

You could probaby do smarter and shrink for example the .talk clip buffer
but is it really worth it?

Change-Id: Idc3431c59fb41b05338559c615093358c5d8ed9b
2013-12-24 01:16:10 +01:00
Thomas Martitz
10d71bb910 Fix more reds.
Change-Id: I13e9a0398efe0dab222f2a9c4f5d9295570e4dfd
2013-12-23 13:02:59 +01:00
Thomas Martitz
a4d1849e24 Fix yellow.
Change-Id: Ib46e4d0896de4227a508abf5806c00ec3d59db51
2013-12-23 12:54:36 +01:00
Thomas Martitz
ee7c13514e hwcodec: Need to grab audio buffer before recording.
This was missed in 22e802e because I didn't realize that hwcodec doesn't
compile pcm_record.c.

Change-Id: I48cd4c2beec0a3d01caf06f2a2ced98be22a3673
2013-12-23 12:53:06 +01:00
Thomas Martitz
ec6258f936 fix some reds.
Change-Id: Iecb1305dbd1519434e0f476d2199e728b96091f9
2013-12-23 12:35:52 +01:00
Thomas Martitz
22e802e800 playback,talk: Share audiobuffer via core_alloc_maximum().
This fixes the radioart crash that was the result of buffering.c working
on a freed buffer at the same time as buflib (radioart uses buffering.c for the
images). With this change the buffer is owned by buflib exclusively so this
cannot happen.

As a result, audio_get_buffer() doesn't exist anymore. Callers should call
core_alloc_maximum() directly. This buffer needs to be protected as usual
against movement if necessary (previously it was not protected at all which
cased the radioart crash), To get most of it they can adjust the willingness of
the talk engine to give its buffer away (at the expense of disabling voice
interface) with the new talk_buffer_set_policy() function.

Change-Id: I52123012208d04967876a304451d634e2bef3a33
2013-12-23 12:17:38 +01:00
Thomas Martitz
9f878b105d Fix errors introduced by a62bd92.
Change-Id: I3f65ca5347d08e1b77196c73ccb3a0951f14c850
2013-12-22 21:05:54 +01:00
Thomas Martitz
a62bd9282e Fix warning and re-order code a bit.
Change-Id: I1d733b3d0bd17cc541218f9a2b7712712ad314dd
2013-12-22 20:15:03 +01:00
Thomas Martitz
ef92ed4a6a Support GIMP bmp files.
Change-Id: I7380ceeaf696b67e1641d24e7b932e3d74770932
2013-12-22 19:55:55 +01:00
Ryan Billing
d0918b98fa DSP Compressor: Sidechain, Exponential Atk/Rls
This is an improvement to the current compressor which I have added
to my own Sansa Fuze V2 build.  I am submitting here in case others
find it interesting.

Features added to the existing compressor:
Attack, Look-ahead, Sidechain Filtering.
Exponential attack and release characteristic response.

Benefits from adding missing features:
Attack:
Preserve perceived "brightness" of tone by letting onset transients
come through at a higher level than the rest of the compressed program
material.

Look-ahead:
With Attack comes clipping on the leading several cycles of a transient
onset.  With look-ahead function, this can be pre-emptively mitigated with
a slower gain change (less distortion).  Look-ahead limiting is implemented
to prevent clipping while keeping gain change ramp to an interval near 3ms
instead of instant attack.

The existing compressor implementation distorts the leading edge of a
transient by causing instant gain change, resulting in log() distortion.
This sounds "woofy" to me.

Exponential Attack/Release:
eMore natural sounding.  On attack, this is a true straight line of 10dB per
attack interval.  Release is a little different, however, sounds natural as
an analog compressor.

Sidechain Filtering:
Mild high-pass filter reduces response to low frequency onsets.  For example,
a hard kick drum is less likely to make the whole of the program material
appear to fade in and out.  Combined with a moderate attack time, such a
transient will ride through with minimal audible artifact.

Overall these changes make dynamic music sound more "open", more natural.  The
goal of a compressor is to make dyanamic music sound louder without necessarily
sounding as though it has been compressed.  I believe these changes come closer to this goal.

Enjoy.  If not, I am enjoying it

Change-Id: I664eace546c364b815b4dc9ed4a72849231a0eb2
Reviewed-on: http://gerrit.rockbox.org/626
Tested: Purling Nayuki <cyq.yzfl@gmail.com>
Reviewed-by: Michael Giacomelli <giac2000@hotmail.com>
2013-12-15 22:24:08 +01:00
Andrew Ryabinin
5b5f0755d6 Introduce IHIFI760/960 targets.
Change-Id: Ie36e48742c0ed9aa3fd6f49aa034a11d2492327c
2013-12-16 00:45:18 +04:00
Thomas Martitz
ed5b853c18 Fix more reds.
Change-Id: Ie62386a8f3e9986381f96eb83abb69bfc42b42e1
2013-12-15 00:47:21 +01:00
Thomas Martitz
1fc19042f7 Bump plugin api and sort.
Change-Id: I8b8ab58abbd40726326b8b47bd6bbb07580b5ce4
2013-12-14 23:15:45 +01:00
Thomas Martitz
50eb528bc1 scroll_engine: Major rework to support pixel-based scrolling and scroll callbacks.
Much of the scrolling work is moved from lcd-bitmap-common to lcd-scroll.c,
a small scroll callback routine remains. This callback can potentially be
overridden by more extensive scrollers.

The callback also gets fed with pixel-based scrolling information, which
finally removes the strict line-based nature of the scroll engine. Along with
this is the change from scroll_stop_viewport_line() to scroll_stop_viewport_rect()
which works on a pixel-based rectangle instead of lines.

The ultimate goal is to move most of the scroll work to apps, which can
much better decide which line decorations to apply etc. This work is laying
the ground work.

Change-Id: I3b2885cf7d8696ddd9253d5a9a73318d3d42831a
2013-12-14 23:11:31 +01:00
Thomas Martitz
1c5d0b41ee scroll_engine: Rename scroll_stop* functions to be more consistent with the lcd api.
Change-Id: I8ada10b96bfb628cca0331689e8b936ae47c7e1c
2013-12-14 23:11:30 +01:00
Lorenzo Miori
1deab73980 Initial commit for the YP-Z5 port
The port uses the imx233 soc, it's a STMP3650 based Samsung player

Change-Id: I50b6d7e77fd292fab5ed26de87853cd5aaf9eaa4
Reviewed-on: http://gerrit.rockbox.org/490
Reviewed-by: Amaury Pouly <amaury.pouly@gmail.com>
2013-12-02 20:48:21 +01:00
Amaury Pouly
193753aa1f Introduce volume_{present,removable} and fix invalid calls in apps/
The code was trying to probe for volume presence by calling drive layer
with volume index. It is a miracle it get unnoticed so far. Introduce
proper volume probing using the vol->drive map in the disk layer.

Change-Id: I463a5bcc8170f007cad049536094207d2ba3c6fc
Reviewed-on: http://gerrit.rockbox.org/669
Reviewed-by: Amaury Pouly <amaury.pouly@gmail.com>
2013-11-20 21:34:04 +01:00
Amaury Pouly
262479173b sonynwz: rework keymap based on lebellium's work and enable volume in list
Change-Id: Ieb015e78d1c0aa74c61591e442bfdf5f883f3811
2013-11-20 13:40:16 +00:00
Benjamin Brown
8b06039541 Fix typo in apps/plugins/lib/pluginlib_actions.c
BUTOTN_REL should be BUTTON_REL

Change-Id: I5b4aaeb87f31c5c0779656651b074512e22bcc4e
Reviewed-on: http://gerrit.rockbox.org/663
Reviewed-by: Benjamin Brown <foolshperson@gmail.com>
Reviewed-by: Marcin Bukat <marcin.bukat@gmail.com>
2013-11-17 21:27:18 +01:00
Amaury Pouly
e387a746d2 sonynwz: add pluginlib keymap
Change-Id: I7753fb8d9a5f9e2e95dfaa03ce8d2469ae0bd74a
2013-11-14 16:44:16 +00:00
Amaury Pouly
42452d0fbd sonynwz: add battery_bench keymap
Change-Id: I7be9131356b8655f2dbb90f203b44b2225257450
2013-11-14 16:43:56 +00:00
Ralf Ertzinger
b170c73f92 Updated IAP commands.
Originally written and uploaded by Lalufu (Ralf Ertzinger) in Feb 2012.
They have been condensed into a single patch and some further additions
by Andy Potter.

Currently includes Authentication V2 support from iPod to Accessory,
RF/BlueTooth transmitter support, selecting a playlist and selecting a
track from the current playlist. Does not support uploading Album Art
or podcasts. Has been tested on the following iPods,
4th Gen Grayscale, 4th Gen Color/Photo, Mini 2nd Gen, Nano 1st Gen and
Video 5.5Gen.

Change-Id: Ie8fc098361844132f0228ecbe3c48da948726f5e
Co-Authored by: Andy Potter <liveboxandy@gmail.com>
Reviewed-on: http://gerrit.rockbox.org/533
Reviewed-by: Frank Gevaerts <frank@gevaerts.be>
2013-11-10 18:41:24 +01:00
Andrew Ryabinin
500b137308 playback: Fix build with LOGF_ENABLE.
Change-Id: I01154d4a9441f44852748c910c267419f7f4149e
2013-11-10 15:36:18 +04:00
Amaury Pouly
d3bc64833c Initial commit for the Creative ZEN Mozaic
Change-Id: Ib65aad9f5de37e514047955cad7ca40dc0af4f74
2013-10-22 00:34:44 +02:00
Amaury Pouly
b1a6a24ed7 debug_menu: add tea5760uk tuner debug info
Change-Id: I18ee5374a312335498777713c20f5de9014dacf3
2013-10-21 23:50:55 +02:00
Amaury Pouly
7ba802b1b4 Add missing keymap
Change-Id: Ica8738905e7666f4e76621a84fa9ee18c7c2ac6e
2013-09-25 16:48:56 +02:00
Amaury Pouly
9392d036c4 Initial commit for the sony NWZ-E360 and NWZ-E370
Change-Id: I52d21e136a98eaf481615d641795cf7ecf325465
2013-09-25 14:31:39 +02:00
Amaury Pouly
f67d9bd14f apps: factor depth3d capability in features.txt
Currently the 3 possible sources for this setting are: imx233, wm8750, wm8978

Change-Id: I4f2b23dbe203f2b357a264b77f801c7b4c28bdee
2013-09-25 14:31:39 +02:00
Jean-Louis Biasini
c40a8219ac fuze+/keymaps: Add action_std_cancel to bookmark and recording screen
This fix FS#12902 and prevent same bug in bookmark screen.
thanks to Julian67 for reporting

Change-Id: Ifd2a383fd0f24aa3e242a8c72668de85526f0a70
Reviewed-on: http://gerrit.rockbox.org/622
Reviewed-by: Amaury Pouly <amaury.pouly@gmail.com>
2013-09-20 10:56:38 +02:00
Jean-Louis Biasini
4f3f639c73 fuze+/keymaps: define Cancel over Menu in EQ context
This fix FS#12895, Menu has no effect in EQ context anyway...

Change-Id: I31f8e1fdfea1479efd75cb411125e08eafade403
Reviewed-on: http://gerrit.rockbox.org/620
Reviewed-by: Amaury Pouly <amaury.pouly@gmail.com>
2013-09-18 12:40:47 +02:00
Jonathan Gordon
acf3af4ae3 radio: fix FS#12747
Change-Id: I57448a29d986cca0535c47c0ebfa2f4f3846a936
Reviewed-on: http://gerrit.rockbox.org/614
Reviewed-by: Dominik Riebeling <Dominik.Riebeling@gmail.com>
Tested-by: Dominik Riebeling <Dominik.Riebeling@gmail.com>
2013-09-09 18:22:07 +02:00
Jean-Louis Biasini
df6eb82f51 touch devices: Disable touch on softlock.
Target that have a touchpad/touchscreen should disable it while
being locked (In order to avoid LCD to drain battery power due to
"key locked" constant reporting messages. If they a have a keylock
button this was already handled at driver level. If not (e.g. fuze+),
they will have to implement a switch at driver level that action.c
can operate on softlock.
This patch does the following for any target having a touchpad
or a touchscreen and no HAS_BUTTON_HOLD (ie any softlock target)
1) it implements the code to call button_enable_touch(bool en) in
action.c.
2) button_enable_touch is implemented in button.c and call
either touchpad_enable or touchscreen_enable
3) those two function are implemented respectively in touchscreen.c
and a new touchpad.c file. They provide a generic way to silents touch's
device and call a function at driver level where target specific code
can be implemented if possible/needed (for power saving for instance).
Those function name are touchpad_enable_device and touchscreen_enable_device
4) we implement an empty function at driver level of targets that need it
to have them still being able to compiled.

Change-Id: I9ead78a25bd33466a8533f5b9f259b395cb5ce49
Reviewed-on: http://gerrit.rockbox.org/569
Reviewed-by: Thomas Martitz <kugel@rockbox.org>
Reviewed-by: Amaury Pouly <amaury.pouly@gmail.com>
2013-09-05 20:02:07 +02:00
Jean-Louis Biasini
ef2dd06d5e fuze+/keymaps: Implement the ACTION_STD_MENU
ACTION_STD_MENU seems to be an important keymaps. We map it to
BUTTON_BACK and keep cancel on the BUTTON_LEFT

Change-Id: Iea4a1e4671faee376ad4200b08ca82c2d00d1ff9
Reviewed-on: http://gerrit.rockbox.org/571
Reviewed-by: Thomas Martitz <kugel@rockbox.org>
Reviewed-by: Amaury Pouly <amaury.pouly@gmail.com>
2013-09-05 20:01:33 +02:00
Amaury Pouly
74761b70ac zenxfi2: use sensible keymap and simulator keys
Change-Id: Icd718b34924e1d228bbd6662617152646ef0c3a5
2013-08-28 13:06:46 +02:00
Marcin Bukat
a2a2e14e0d lua: Switch memory allocator from dl to tlsf
Instead of providing yet another memory allocator implementation
use tlsf and simply link tlsf library.

Another small improvement is to *grow* memory pool by grabbing
audiobuffer instead of just switching to use audiobuf exclusively.
Tested with simple lua 'memory eater' script.

This patch extends tlsf lib slightly. You can provide
void *get_new_area(size_t * size) function which will override
weak dummy implementation provided in lib itself. This allows to
automaticaly initialize memory pool as well as grow memory
pool if needed (for example grab audiobuffer when pluginbuffer
is exhaused).

Change-Id: I841af6b6b5bbbf546c14cbf139a7723fbb982f1b
2013-08-26 09:42:47 +02:00
Nils Wallménius
b2e80edd16 Change CODECFLAGS to a "simply-expanded" var to give the individual
codec makefiles larger freedom in what they can do to it.
Use this in libopus to prepend the libopus searchpaths to
CODECFLAGS so that its internal config.h will be picked up before
our global one. This avoids having to do a s/config.h/opus_config.h/
when syncing which will be handy soon.

Change-Id: I018d729aa0c8300fa3149f22a5a8c5668b339dfa
Reviewed-on: http://gerrit.rockbox.org/496
Reviewed-by: Nils Wallménius <nils@rockbox.org>
2013-08-23 18:34:30 +02:00
Amaury Pouly
fbc4ef7822 zenxfi2: rework keymap to add softlock
Map power button to soft key lock in WPS and radio screen, also
correct fallback of WPS.

Change-Id: If257e4b4f9f37848ba9f81dc2e8b52f020d4cde0
2013-08-23 00:30:40 +02:00
Michael Sevakis
a56f1ca1ed Cleanup MV/MD macros a little.
When using variadic macros there's no need for IF_MD2/IF_MV2 to deal
with function parameters. IF_MD/IF_MV are enough.

Throw in IF_MD_DRV/ID_MV_VOL that return the parameter if MD/MV, or 0
if not.

Change-Id: I7605e6039f3be19cb47110c84dcb3c5516f2c3eb
2013-08-17 12:18:22 -04:00
Amaury Pouly
c13f21a4d5 Fix logdisk
The code was broken in a subtle but crucial way: storage idle
callbacks are oneshot so after the first flush everything would
stay in the buffer forever and would never be written to the disk
thus resulting into many events being lost. This changed correctly
registers the idle callback each time the buffer is not empty.
Note that the idle storage code checks if a callback
has is in the queue already so we don't register twice.

Change-Id: Ifdf331d4b757e05b8a6902bf5926cbc7689f5109
2013-08-16 21:59:16 +02:00
Lorenzo Miori
c01a728c5a Cube plugin fix
This small patch aims to fix a trivial
problem: when exiting the "cube" plugin
in a hosted environment (at least on YP-R0)
this caused the whole program, and consequently
also the player, to be turned off.
I don't know why the exit() function was
used here...

Change-Id: I7b58d4ca5c01c230f2c53204b51ec553c5fe1287
Reviewed-on: http://gerrit.rockbox.org/321
Reviewed-by: Bertrik Sikken <bertrik@sikken.nl>
2013-08-12 10:35:48 +02:00
Jean-Louis Biasini
f285a0f28b [ONDAV VX777][simulator] fix missing keymaps in test_touchscreen
Missing  TOUCHSCREEN_QUIT and TOUCHSCREEN_TOGGLE define

Change-Id: I3b9b3a1afc8e95ae95ca73ee9c31057d6e72098d
Reviewed-on: http://gerrit.rockbox.org/531
Reviewed-by: Frank Gevaerts <frank@gevaerts.be>
2013-07-29 19:07:19 +02:00
Tiago Medeiros
4596f51c90 FS#12882 - Updated translation for PT-PT
Signed-off-by: Bertrik Sikken <bertrik@sikken.nl>

Change-Id: I473e2c53f7333b94fbda7786cbb506732466eb1c
2013-07-18 20:57:21 +02:00
Jean-Louis Biasini
a9f20862a7 [Fuze+][Keymaps] Application and viewer keymaps update
Last core update for keymaps and manual. Manual is now 100% complete

Change-Id: I9ad33206ecea41a88cba7a355da911fa7ab0455d
Reviewed-on: http://gerrit.rockbox.org/521
Reviewed-by: Amaury Pouly <amaury.pouly@gmail.com>
2013-07-18 20:24:06 +02:00
Jean-Louis Biasini
5ba7e2ca72 [Fuze+][Keymaps] keymaps for radio and recorder update
1) Now that recording is working a few keymaps update are required.
2) also implement the radio.c file so that fm dedicated keymaps
works.
3) implement some missing fm keymaps
4) manual updated accordingly

Change-Id: I40be3e245853ccb9ed7a5bc5a76fe4ed90772272
Reviewed-on: http://gerrit.rockbox.org/513
Reviewed-by: Amaury Pouly <amaury.pouly@gmail.com>
2013-07-16 15:06:31 +02:00
Jean-Louis Biasini
43e52e34ed [Fuze+][lang] keymaps hint update
A few keymaps hint were wrong, this correct them:
- database/filemanager on cancelling songs insertion
- alarm clock
- set alarm

Change-Id: Ifb50a9452c208a7d5c28bdac96c825030b943c25
Reviewed-on: http://gerrit.rockbox.org/508
Reviewed-by: Amaury Pouly <amaury.pouly@gmail.com>
2013-07-16 15:00:02 +02:00
Jean-Louis Biasini
a8cea3b71c Add an alternative analogic touchpad sensitivity setting
Set an alternative touchpad sensitivity setting if
the 3 following variables are defined:
DEFAULT_TOUCHPAD_SENSITIVITY_SETTING
MIN_TOUCHPAD_SENSITIVITY_SETTING
MAX_TOUCHPAD_SENSITIVITY_SETTING
aside from the usual:
HAVE_TOUCHPAD
HAVE_TOUCHPAD_SENSITIVITY_SETTING

In such a case the setting will allow the user to set a precise
value within the defined range unstead of the boolean choice
HIGH/NORMAL

Change-Id: Iba8140285317077381191e494df0d3f6ab556872
Reviewed-on: http://gerrit.rockbox.org/123
Reviewed-by: Amaury Pouly <amaury.pouly@gmail.com>
2013-07-15 09:22:32 +02:00
Jean-Louis Biasini
3dd5e983db Add FM softlock to the FM Ondio.
This change activate the newly implemented fm softlock (thanks to
Pamaury) on the FM Ondio target. Thanks to Lebellium for testing.

Change-Id: I903f05be892e7537a34ba40bc0f3c65541a497a4
Reviewed-on: http://gerrit.rockbox.org/498
Reviewed-by: Amaury Pouly <amaury.pouly@gmail.com>
2013-07-13 12:33:45 +02:00
Michael Sevakis
023f6b6efd Get rid of some superfluous single-purpose functions in playback.
* Remove explicit tracking of elapsed time of previous track.
* Remove function to obtain auto skip flag.
* Most playback events now carry the extra information instead and
  pass 'struct track_event *' for data.
* Tweak scrobbler to use PLAYBACK_EVENT_TRACK_FINISH, which makes
  it cleaner and removes the struct mp3entry.

Change-Id: I500d2abb4056a32646496efc3617406e36811ec5
2013-07-13 00:08:51 -04:00
Michael Sevakis
ffa8626b0c Fix whitespace in files for following commit.
Change-Id: I4adb8a152e9b99fcd26d95da7334d7d0cbe2a036
2013-07-12 21:39:06 -04:00
Michael Sevakis
1329cc29de Fix .ncbss from possibly overlapping .ncdata in plugins/codecs.
(Take #2)

If .bss wasn't large enough, and .ncdata was empty, .ncbss would be
at an address overlapping the alignment-padded end of .ncdata and
and linking would fail with an overlap error.

Adds plugin load end address that accounts for IRAM going past
the final .bss sections, making IRAM overlay compatible. load_code
could also use this instead of the file size.

The .lds becomes a bit more straightforward and explicit when
assigning addresses.

Change-Id: Id0c33f257710e97ece2c831e0feaaa32c1a14e05
2013-07-11 04:32:23 -04:00
Michael Sevakis
2948cb42ae Revert "Fix .ncbss from possibly overlapping .ncdata in plugins/codecs."
This reverts commit 5c2ad2fd36.

The .ncbss bug is still showing up. Will try again shortly.
2013-07-11 00:28:39 -04:00
Michael Sevakis
5c2ad2fd36 Fix .ncbss from possibly overlapping .ncdata in plugins/codecs.
If .bss wasn't large enough, and .ncdata was empty, .ncbss would be
at an address overlapping the alignment-padded end of .ncdata and
and linking would fail with an overlap error.

There also should no longer be an issue that needs special correction
with iramcopy and empty .bss. The .maps look good in that case.

Change-Id: I02bf73a0acef2c0c04b5d135ecf4e18fb97ee339
2013-07-10 22:37:17 -04:00
Roman
1fa3f5906e Swap over a position of cursor while reaching the end of filename in keyboard
In sansa clip + with virtual keyboard you can write/rename a stuff and move
your cursor in the filename field. But while your cursor reaches the end/start
of filename it just blocks the movement of cursor and beeps if you enabled the
"Voice Menu" feature. This patch swaps over cursor to the start/end of filename
instead of just blocking movement.

Change-Id: I37450df062df60ef4c0d747c13e448d0adbde05b
Reviewed-on: http://gerrit.rockbox.org/503
Reviewed-by: Michael Giacomelli <giac2000@hotmail.com>
2013-07-09 18:43:10 +02:00
Michael Sevakis
5f0692b98c SWCODEC recording: Boost CPU frequency before doing flush on stop
If CPU is not boosted for some reason already, then the stop flush
can take longer than it really ought to.

Change-Id: I0572cc83067749e9945b3eb825f976db21d914f9
2013-07-09 07:36:22 -04:00
Michael Sevakis
f9e47c6886 19b289a somehow missed one last LANG_RECORDING_FREQUENCY.
Did grep fail me?

Change-Id: Id8254aa542d57204e265ef06829b4e034f032137
2013-07-06 17:37:08 -04:00
Michael Sevakis
19b289a1b9 Reuse frequency string from recording for playback frequency.
Update all .lang files and change the id from LANG_RECORDING_FREQUENCY
to LANG_FREQUENCY. Also update description and target.

It will throw things off for targets without recording but that do
have 48KHz, possibly older iPods. I'm not sure what else it might be
off hand. Regenerate voice files and replace .lang files in that case.

Change-Id: I9ab396ecfcca9206054bde34aa2cc23b505dabff
2013-07-06 17:14:02 -04:00
Lorenzo Miori
228372c38d Bugfix: (un)locking state message(s) did not disappear
after unlocking the device while being into FM
radio screen. This patch restores expected behaviour by
forcing screen refresh when receiving the proper event.

Change-Id: Ibe0864ab78619ddf235912d06a2efe3203b5042a
Reviewed-on: http://gerrit.rockbox.org/505
Reviewed-by: Lorenzo Miori <memorys60@gmail.com>
Tested-by: Lorenzo Miori <memorys60@gmail.com>
Reviewed-by: Thomas Martitz <kugel@rockbox.org>
2013-07-06 14:21:36 +02:00
Lorenzo Miori
8fcce9653f Samsung YP-R0: small patch to enable support to new keylock-in-FM feature.
Change-Id: I965550753bdd65ef4b02ef24e44e0faad2c74289
Reviewed-on: http://gerrit.rockbox.org/504
Reviewed-by: Lorenzo Miori <memorys60@gmail.com>
Reviewed-by: Thomas Martitz <kugel@rockbox.org>
2013-07-06 12:38:41 +02:00
Michael Sevakis
91ff99c2ad ...and mixer_set/get_frequency is SWCODEC only! :-)
Change-Id: I6badf687ef330abf79f2e1a809d8b2f93ba4e911
2013-07-05 22:54:02 -04:00
Michael Sevakis
74f90bdb18 Oops, two test plugins were left in apps/plugins/SOURCES.
Change-Id: I1df74c535a8c054223e8687e7c28bc6a130070d0
2013-07-05 22:32:56 -04:00
Michael Sevakis
d37bf24d90 Enable setting of global output samplerate on certain targets.
Replaces the NATIVE_FREQUENCY constant with a configurable frequency.

The user may select 48000Hz if the hardware supports it. The default is
still 44100Hz and the minimum is 44100Hz. The setting is located in the
playback settings, under "Frequency".

"Frequency" was duplicated in english.lang for now to avoid having to
fix every .lang file for the moment and throwing everything out of sync
because of the new play_frequency feature in features.txt. The next
cleanup should combine it with the one included for recording and
generalize the ID label.

If the hardware doesn't support 48000Hz, no setting will be available.

On particular hardware where very high rates are practical and desireable,
the upper bound can be extended by patching.

The PCM mixer can be configured to play at the full hardware frequency
range. The DSP core can configure to the hardware minimum up to the
maximum playback setting (some buffers must be reserved according to
the maximum rate).

If only 44100Hz is supported or possible on a given target for playback,
using the DSP and mixer at other samperates is possible if the hardware
offers them.

Change-Id: I6023cf0c0baa8bc6292b6919b4dd3618a6a25622
Reviewed-on: http://gerrit.rockbox.org/479
Reviewed-by: Michael Sevakis <jethead71@rockbox.org>
Tested-by: Michael Sevakis <jethead71@rockbox.org>
2013-07-06 04:22:04 +02:00
Michael Sevakis
bb87590e05 Temporarily disable keyclick in recording screen.
Those who have keyclick enabled and are really eagar to record upon
boot can get the samplerate messed up because who gets to set the sample
rate last (recording or mixer) is not currently deterministic.

Change-Id: Icc43ed789cf23f928ca49657cb146445b0c558cb
2013-06-30 20:14:06 -04:00
Michael Sevakis
9b990bdab1 SWCODEC Audio: Add some INIT_ATTR's to get a few bytes back.
Change-Id: Ie7b04ecf3b3535e0ed45a6e0e8d81af89e38378e
2013-06-29 22:29:23 -04:00
Michael Sevakis
89b05af496 Fix whitespace
Change-Id: I2072c355f05b6e709a5c179512bc2b71756163a5
2013-06-29 22:29:03 -04:00
Michael Sevakis
59abdb5190 Fix strlcpy warnings in 4888131.
Change-Id: Ibd355ee1cf39d1a4b07def94634f0316468bf727
2013-06-29 19:27:21 -04:00
Michael Sevakis
4888131972 Update software recording engine to latest codec interface.
Basically, just give it a good rewrite.

Software codec recording can be implemented in a more straightforward
and simple manner and made more robust through the better codec
control now available.

Encoded audio buffer uses a packed format instead of fixed-size
chunks and uses smaller data headers leading to more efficient usage.
The greatest benefit is with a VBR format like wavpack which needs
to request a maximum size but only actually ends up committing part
of that request.

No guard buffers are used for either PCM or encoded audio. PCM is
read into the codec's provided buffer and mono conversion done at
that time in the core if required. Any highly-specialized sample
conversion is still done within the codec itself, such as 32-bit
(wavpack) or interleaved mono (mp3).

There is no longer a separate filename array. All metadata goes
onto the main encoded audio buffer, eliminating any predermined
file limit on the buffer as well as not wasting the space for
unused path queue slots.

The core and codec interface is less awkward and a bit more sensible.
Some less useful interface features were removed. Threads are kept
on narrow code paths ie. the audio thread never calls encoding
functions and the codec thread never calls file functions as before.

Codecs no longer call file functions directly. Writes are buffered
in the core and data written to storage in larger chunks to speed up
flushing of data. In fact, codecs are no longer aware of the stream
being a file at all and have no access to the fd.

SPDIF frequency detection no longer requires a restart of recording
or plugging the source before entering the screen. It will poll
for changes and update when stopped or prerecording (which does
discard now-invalid prerecorded data).

I've seen to it that writing a proper header on full disk works
when the format makes it reasonably practical to do so. Other cases
may have incorrect data sizes but sample info will be in tact. File
left that way may play anyway.

mp3_enc.codec acquires the ability to write 'Info' headers with LAME
tags to make it gapless (bonus).

Change-Id: I670685166d5eb32ef58ef317f50b8af766ceb653
Reviewed-on: http://gerrit.rockbox.org/493
Reviewed-by: Michael Sevakis <jethead71@rockbox.org>
Tested-by: Michael Sevakis <jethead71@rockbox.org>
2013-06-30 00:40:27 +02:00
Michael Sevakis
a9ea1a4269 Fix some whitespace in files changed in following commit.
Change-Id: Ie3f43e43076e0dcae9a10f1b0b9e4698b398acee
Reviewed-on: http://gerrit.rockbox.org/492
Reviewed-by: Michael Sevakis <jethead71@rockbox.org>
Tested-by: Michael Sevakis <jethead71@rockbox.org>
2013-06-30 00:40:09 +02:00
Amaury Pouly
bc3a079522 clip+/zip: add FMS soft lock action
Change-Id: Iba5cb8b29ad06080d04105d6f9ef2c62e81d4f36
Reviewed-on: http://gerrit.rockbox.org/491
Reviewed-by: Amaury Pouly <amaury.pouly@gmail.com>
2013-06-29 11:39:35 +02:00
Michael Sevakis
662f7576bf Fix a bug in pcmbuf.c when doing offset with modulus.
Causes the track change to go in the wrong buffer (and even be missed
by playback) if the current descriptor for the write index is descriptor
0 because the offset used is "-1" upon track change.

Got nailed by implicit conversion of the % operator dividend to unsigned.

Change-Id: I32538db801ac9d790c8b1b5bd041b09ad4b64d2e
2013-06-28 02:17:58 -04:00
Michael Sevakis
363f96b95b Fix whitespace for next commit
Change-Id: I8773ff7275372882321ebf2e66462781735cddc6
2013-06-28 02:17:17 -04:00
Thomas Martitz
be5fadff94 skin_engine: Fix crash on skin_reset (e.g. on language change).
Change-Id: Ie2da1a1ba9d2dad76e2f1c45abd907c3ede4f56c
2013-06-23 20:55:46 +02:00
Frank Gevaerts
abb7d1dcfe plugin_midi: expand gustable[] to 128 entries
The code assumes that gustable[] has 128 entries, while it
only had 120. Since the entries follow a simple pattern (they
seem to be note frequencies, so each entry is the previous one
multiplied by the 2^(1/12)), expanding the table is the simple
fix.

Change-Id: If5b5a50378afd3206c9d550227dd9aac8e355c96
2013-06-16 18:33:57 +02:00
Frank Gevaerts
d4061a46d8 Silence some (harmless) warnings.
Change-Id: I8d1278b8cfaa376d2ad5a99dd552dc980c66e1da
2013-06-16 18:23:18 +02:00
Rafaël Carré
ab56afefc1 test_mem: silence -Wunused-but-set-variable warning
Change-Id: I4a14c8b0cf1a8c822166ce01087b31c06722d8ae
2013-06-13 18:56:23 +02:00
Amaury Pouly
3f4eeb850e Enable key lock in radio screen
Change-Id: I75efbf1077359e4218ad33f4c1d885b24c0b7b01
Reviewed-on: http://gerrit.rockbox.org/421
Reviewed-by: Jonathan Gordon <rockbox@jdgordon.info>
Reviewed-by: Thomas Martitz <kugel@rockbox.org>
2013-06-10 15:19:45 +02:00
Max Zerzouri
575cb63a92 Fix rockblox instadrop behaviour
Prevents the player from moving an instadropped block (could happen
before the next game tick when using left/right buttons anticipatorily).

Change-Id: Id62168842d8458f864a2e05c5d236f054bf54f65
Reviewed-on: http://gerrit.rockbox.org/473
Reviewed-by: Thomas Martitz <kugel@rockbox.org>
2013-06-09 21:44:01 +02:00
Thomas Martitz
4263f67e4b Fix warning (move variable into #ifdef section).
Change-Id: Ic6ba4b786eef00eab7f20abd5fbf2bcb8977993a
2013-06-09 21:08:49 +02:00
Thomas Martitz
770fadddd6 Fix reds (this code needs #ifdef HAVE_ALBUMART)
Change-Id: Ia50cd846d5451b0cb5cf3a6f8097ea9fe3b3c60a
2013-06-09 21:01:47 +02:00
Thomas Martitz
836cf14860 Fix multiple problems in radioart.c
The code was pretty broken with regard to the handle management of radio art
images, e.g. passing the wrong data to bufopen().

Change-Id: I3480f40bce81af05d14dbf045a78485c857fb261
2013-06-09 17:44:11 +02:00
Thomas Martitz
58b4e71d32 skin_engine: Fix albumart logic on skin reloading.
This logic checks whether the skin's albumart dimensions differ from the
previous skin to force rebuffering if necessary. This was broken since
a while as the necessary information was reset.

Change-Id: I3b9f3a819c6af202af8ad66c13742f704ce45ab1
Reviewed-on: http://gerrit.rockbox.org/476
Tested-by: Thomas Martitz <kugel@rockbox.org>
Reviewed-by: Thomas Martitz <kugel@rockbox.org>
2013-06-09 17:39:08 +02:00
Boris Gjenero
15fa7f866f Fix color of files with no extension.
Based on all other references, unknown_file.color is a color, not an
index into custom_colors[]. Previously, custom_colors[-1] was returned
for files without an extension, accessing outside array boundaries
and making files without an extension black, which is hard to see.

Change-Id: Ia0883aba929582324b767df7828a36a84c0b36b9
2013-06-05 18:35:09 -04:00
Michael Sevakis
98c34d8723 Argh, move a comment to the (now) proper location. :)
Change-Id: I13847b99d9aeaa05efa5b22a8e4842f193f01a3c
2013-05-31 19:01:24 -04:00
Michael Sevakis
e62cb56644 Have voice fire an event when it starts and stops playing.
Further decouples voice_thread.c from other playback areas. Also allows
other audio sources, such as FM radio, to be attenuated when voice is
playing by implementing a callback.

Defined as another playback event rather than a new event class:
PLAYBACK_EVENT_VOICE_PLAYING

Change-Id: I2e3e218be6cd6bebbf39e7883a8c0e4ed42b62bb
2013-05-31 18:45:51 -04:00
Michael Sevakis
1b4135ec0d Should use HAVE_RECORDING, not AUDIO_HAVE_RECORDING in playback.c
SIM should work like target, sort of, when recording is initialized.

Change-Id: I12314bb98cec53d574f4b25984ef803b2c038a96
2013-05-31 06:24:06 -04:00
Michael Sevakis
92f1ecfc7b Just init audio thread event with Q_NULL instead of SYS_TIMEOUT.
What was I thinking? Anyway, it's a little nicer and it's reserved so
shouldn't end up as a case value anywhere.

Change-Id: If745c24951518608e3f4fc51f7419ef07d7cf2ac
2013-05-31 05:17:11 -04:00
Michael Sevakis
344b9d0986 Some corrections after 5857c44.
Playback needs to receive a couple of settings-related messages even
when not playing.

Put the message reply back where it was when loading an encoder for
recording.

Change-Id: I8cc80f46e42a0afd119991d698510e1ebef38ead
2013-05-31 04:13:39 -04:00
Michael Sevakis
5857c44017 Refactor audio thread to run both recording and playback.
Eliminates the pcmrec thread and keeps playback and recording engine
operation mutually-exclusive.

audio_thread.c contains the audio thread which branches to the
correct engine depending upon the request. It also handles the main
audio initialization.

Moves pcm_init into main.c just before dsp_init because I don't want
that one in audio_init in the new file.

(Also makes revision df6e1bc pointless ;)

Change-Id: Ifc1db24404e6d8dd9ac42d9f4dfbc207aa9a26e1
2013-05-31 03:20:35 -04:00
Michael Sevakis
df6e1bcce5 pcm_record: Track initialization state
It should not access audio hardware and change settings unless it has
been initialized first and given control of it.

Change-Id: I5004602d7caa604ded751f6838b792d1ff24b3fb
2013-05-30 18:42:59 -04:00
Andrew Ryabinin
0519f7e5ab Add DAC's oversampling filter roll-off selection to sound settings.
Change-Id: I1258ba50dd9308f49d97965562f3a423c9bfb785
2013-05-24 11:18:16 +04:00
Michael Sevakis
6e211ab3ac Remove dsp_callback because DSP is now library code, not app code.
Yep, nope, not necessary anymore. Just call functions directly.

Change-Id: I21dc35f8d674c2a9c8379b7cebd5613c1f05b5eb
2013-05-23 14:25:37 -04:00
Michael Sevakis
39946a56d8 Fix CPU boosting in test_codec.
Boost only for tests and unboost immediately afterwards. It was leaving
the CPU boosted after exiting.

Change-Id: I010c4b975bd27e8990dc057ddd244dab233411ca
2013-05-21 22:19:57 -04:00
Andrew Ryabinin
fa4e1baa83 Introduce HiFi E.T MA9 port.
Change-Id: I79aadc958fd5222f26f91ed127f8c6fb2c465dc2
2013-05-06 14:09:24 +04:00
Michael Sevakis
3fd25dcbed Purge the usage of DSP_SWITCH_FREQUENCY.
DSP_SWITCH_FREQUENCY has been deprecated and the same enumerated value
as DSP_SET_FREQUENCY since major DSP revisions were committed. This
task should have been performed much earlier but, oh well, do it now.

Change-Id: I3f30d651b894136a07c7e17f78fc16a7d98631ff
2013-05-05 00:48:40 -04:00
Frank Gevaerts
aa801b5e0f European Portuguese update by Tiago Roque Medeiros
Change-Id: Ifab5276fa746d7c989913428a30d408987ee23f4
2013-04-29 21:13:58 +02:00
Michael Sevakis
95e23defb0 Make fixepoint.c as a shared library (libfixedpoint.a).
Change-Id: Icc10d6e85f890c432f191233a4d64e09f00be43d
Reviewed-on: http://gerrit.rockbox.org/456
Reviewed-by: Michael Sevakis <jethead71@rockbox.org>
Tested-by: Michael Sevakis <jethead71@rockbox.org>
2013-04-26 00:11:04 +02:00
Michael Sevakis
e61e9c61d0 Do some cleanup, adjustment and a couple fixes to recent sound changes.
* SOUND_x enum can be generated by audiohw_settings.h along with settings
entries and sound_val2phys.

* VOLUME_MIN and VOLUME_MAX are no longer necessary within sound.c. If
you need them, they are for target-defined purposes.

* Fix up SDL volume implementation in sdl.c. Move sim volume calculation
code to pcm-sdl.c.

* Min trigger tresholds were based upon VOLUME_MIN for some reason.
These setting have nothing to do with playback volume. Since it is no
longer present, set these at -89dB which is the minimum peak meter
sensitivity setting.

* Fix an oversight in wm8758.c. I forgot to add the dB->register
conversion to audiohw_set_volume.

Change-Id: Ie1df33f1793eee75e6793f16bc7bddd16edb7f75
2013-04-22 20:38:17 -04:00
Marcin Bukat
62cb84a57c imageviewer: fix animated gifs handling
If disposal method is set to BACKGROUND one would expect that
canvas should be restored to global background color. That is
what gif standard suggests. Most (all?) decoders however treat
this as reseting canvas to transparency or fixed, decoder
specific background color. Virtually all gifs are prepared with
this in mind so to not break them we can't follow standard here.

Change-Id: I90ca712bba89d4190771eb5320eabda353d3e2bb
2013-04-18 09:42:48 +02:00
Michael Sevakis
540e5d103f Forget about fixedpoint.c in any HWCODEC bin.
It bloats to much just for one simple use. Just use a simple function
for shifting sound setting decimal places.

Change-Id: I1a7d37cce6ada3c6e6600dc0d301f354ffeff231
2013-04-15 16:11:28 -04:00
Michael Sevakis
5261b19bdf Still at it for 0c7b787. Might be done now.
Change-Id: Idf45731dc6554954747f6036dc6dfcd4b63981a1
2013-04-15 14:58:00 -04:00
Michael Sevakis
0c7b787398 Straighten out the mad twisted state of sound.c and related areas.
This is going right in since it's long overdue. If anything is goofed,
drop me a line or just tweak it yourself if you know what's wrong. :-)

Make HW/SW codec interface more uniform when emulating HW functionality
on SWCODEC for functions such as "audiohw_set_pitch". The firmware-to-
DSP plumbing is in firmware/drivers/audiohw-swcodec.c. "sound_XXX"
APIs are all in sound.c with none in DSP code any longer.

Reduce number of settings definitions needed by each codec by providing
defaults for common ones like balance, channels and SW tone controls.

Remove need for separate SIM code and tables and add virtual codec header
for hosted targets.

Change-Id: I3f23702bca054fc9bda40f49824ce681bb7f777b
2013-04-15 12:02:05 -04:00
Thomas Martitz
fd9e256890 Use equivalent puts_scroll() call.
Change-Id: I09e5046f153a276fa6eb047e040b8f752e73d03c
2013-04-14 18:04:46 +02:00
Amaury Pouly
a924df8d6d rk27xx: implement radio support
Change-Id: I59d3905e9b2a3df8aa235e424c7a6e0eff6d73e9
Reviewed-on: http://gerrit.rockbox.org/427
Reviewed-by: Marcin Bukat <marcin.bukat@gmail.com>
Tested-by: Marcin Bukat <marcin.bukat@gmail.com>
2013-04-11 11:18:23 +02:00
Michael Sevakis
f49e750531 Move fixedpoint.h to be accessible in /firmware.
Will need it soon enough.

Combine the contents of all the various fixedpoint.h files.
Not moving fixedpoint.c for now since I'm not sure where it
should be and it causes some dependency issues.

Change-Id: Ideacbca2ca78f9158c2b114b113c274f68e908d5
2013-04-10 13:28:35 -04:00
Michael Sevakis
f5b7134f59 Consolidate identical fixedpoint exp and ln functions.
grey_core.c and fixedpoint.c each had their own copies. grey_core.c
can use the ones fixedpoint.c. fixedpoint.c gets the more complete and
optimized version of fp_16exp from grey_core.c.

Change-Id: I43ee3add60796b06ed12012fbbd91815d64675a6
2013-04-09 19:07:35 -04:00
Richard Quirk
dcba74155e bookmark: add cancelling of autoload bookmark
When autoload bookmark is set to "Ask", navigate to a file with
bookmarks in that directory. Select the file and the bookmark list
appears. Even if you chose to cancel, the track started prior to this
patch.

Change-Id: I453999a9bc20faae97f9cf2080ef613c602ad8e1
Reviewed-on: http://gerrit.rockbox.org/416
Reviewed-by: Jonathan Gordon <rockbox@jdgordon.info>
2013-04-06 11:35:36 +02:00
Jonathan Gordon
9add11d79a woops, revert test code
Change-Id: Ida0ef9e4d81520314d3757009d18f7b22accc1e4
2013-03-28 22:36:49 +11:00
Jonathan Gordon
83d3f1d3f6 simplelist: Fix simplelist_set_line_count() so it actually sets the count
(hopefully) Fixes FS#12838

Change-Id: I932184afaf7b65121a0c459cd03c8482e3bad22b
2013-03-28 22:32:57 +11:00
Bertrik Sikken
0de2a85ae1 Change audio_set_cuesheet parameter from int to bool (fixes cppcheck warning)
Change-Id: Icb31c8bd8605aca27765a94b609c41f1f706426f
2013-03-24 14:58:40 +01:00
Alex Parker
1b90645003 Update bulgarian.lang by Zahari Yurukov
Change-Id: Ie1f94244975e394dd384e04d2ace6c130ce214ed
2013-03-05 19:09:15 +00:00
Alex Parker
30f2990224 Sort bulgarian.lang into english.lang order
Change-Id: I80c0231de6e71128d30505b9ed947f84f61077a8
2013-03-05 19:09:15 +00:00
PurlingNayuki
aba69ebf1e update Chinese(Simplified) translation
added a missing string and some other fixes

Change-Id: I153f42687cf855835b7a41b5b3adc4bf120f7f61
Reviewed-on: http://gerrit.rockbox.org/413
Reviewed-by: Purling Nayuki <cyq.yzfl@gmail.com>
Tested-by: Purling Nayuki <cyq.yzfl@gmail.com>
Reviewed-by: Alex Parker <rockbox@aeparker.com>
Tested-by: Alex Parker <rockbox@aeparker.com>
2013-03-05 19:15:55 +01:00
Hayden Pearce
e4040d930f EQ: - Fine grained EQ configuration
- Reduce the minimum step for EQ 'Gain' and EQ 'Q' values to .1dB
 - Reduce the minimum step for EQ 'Precut' value to .1dB

Change-Id: I20712b3c769f9da4d6ed53c62d6a2a8352b6b269
Reviewed-on: http://gerrit.rockbox.org/414
Reviewed-by: Jonathan Gordon <rockbox@jdgordon.info>
2013-03-05 03:19:34 +01:00
Hayden Pearce
cdf5429ead Debug Screen: - Skin Engine RAM usage - fix a small typo
- s/Ram/RAM/

Change-Id: I65ea87b5b2fce85d8d1a0cfaec06fb2c47aaa79f
Reviewed-on: http://gerrit.rockbox.org/415
Reviewed-by: Jonathan Gordon <rockbox@jdgordon.info>
2013-03-05 03:17:45 +01:00
Amaury Pouly
d8a38714c3 update French translation
Change-Id: I3728f62142182f0b5a786c55ad83c07b339a2d55
2013-03-04 13:39:20 +01:00
Jonathan Gordon
3a13150a81 Revert "skin tags: fix the id3 track/disc numbers in conditionals"
This reverts commit a395a34671.
And fixes FS#12836 - need to rethink how to do this later.
2013-02-28 16:53:41 +11:00
Jonathan Gordon
d76dca165b checkwps: show a helpful error if the parser callback errors out
Change-Id: Ie3e35292ba8d74f0ff3d1bb3483a5e83aae0e6b6
2013-02-26 21:18:16 +11:00
Jonathan Gordon
657b91acfa skin engine: Relax the AA load width/height checks
d6c6c07 changed the AA load tag to make sure the image width/heights
fit in the viewport, Revert this because it doesn't actually make
sense to check it here.

Change-Id: I3fe4b074ef8fe88560f2f894ec651027ea3642f4
2013-02-26 20:47:46 +11:00
Stephane Moutard-Martin
8df11853b2 FS#12828 : french update
Change-Id: I586d0f08db08761f3949727b30eb120588d67fdc
Signed-off-by: Rafaël Carré <funman@videolan.org>
2013-02-24 18:39:25 +01:00
Frank Gevaerts
88656a522e Make the git viewer use the global libtlsf.a
Change-Id: Id529858f902aa7ffd3a63e4e335db2ac3c411430
2013-02-23 20:51:03 +01:00
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
Jonathan Gordon
a395a34671 skin tags: fix the id3 track/disc numbers in conditionals
Fix the %in tag so %xd(a, %in) works as expected

Change-Id: I33dd3ae092a66b1363c9cf3afa08075e4534af7c
2013-02-21 21:14:58 +11:00
Alex Mayer
ee758c5a97 Theme Engine: Fix progress bar slider (FS#12823)
Fix the need to resize progress bar when using a slider.
Slider stays in bounds. Progress bar is not resized.
Works well with square sliders that should not overlap
edge of progress bar. also works with rounded sliders.

You can also make progress bar the full width of screen
while using a slider. Before if you would make the
progress bar the full width of the screen and add a slider
the progress bar would look like it was padded on both ends.

This fixes FS#12823

Change-Id: I60345efc5cd0f46286f2591ed032f0d9320d1c3e
Reviewed-on: http://gerrit.rockbox.org/402
Reviewed-by: Hayden Pearce <saint.lascivious@gmail.com>
Tested-by: Hayden Pearce <saint.lascivious@gmail.com>
Reviewed-by: Jonathan Gordon <rockbox@jdgordon.info>
2013-02-19 07:27:54 +01:00
Rafaël Carré
2c193f8608 snake2: clip/m200 use same keypad than e200/c200
Change-Id: Ie9c75e14717c14f7670e093d0d637b8d238f3fd0
2013-02-18 09:20:27 +01:00
Rafaël Carré
56d9efd112 blackjack: c200 keymap is identical to clip keymap
Change-Id: I8f9036d541e04c869ca7e981331ffb91a13f5218
2013-02-18 09:20:27 +01:00
Jonathan Gordon
371b142b4b Fix advanced EQ menu
Change-Id: Ie2c3db2299fa2c34277e2118c922a93fa2420b9a
2013-02-18 18:54:14 +11:00
Rafaël Carré
fda2ce63f0 blackjack: adapt to narrow clip zip screen
Change-Id: I5d45d202bc63c7cf36cfb97c98579e83a4720fbf
2013-02-18 08:22:27 +01:00
Stefan Moisei
527b1885a1 FS#12757 - Romanian translation patch
Change-Id: Ia3e042149f8e950d55effd0ea4480b695db2ad01
2013-02-16 14:29:25 +01:00
Jean-Louis Biasini
d4139c868a [Fuze+] redo osciloscope keymaps update that was canceled lately
thanks to pixelma for pointing this out

Change-Id: Ie50fc44acb51d9e0364f960c421996b0b8f297d9
Reviewed-on: http://gerrit.rockbox.org/403
Reviewed-by: Amaury Pouly <amaury.pouly@gmail.com>
2013-02-14 14:39:18 +01:00
Jonathan Gordon
1cc0809ca2 list widget: undo part of aaf3065
It fixed a simulator warning in the skin debug screen but broke
the icons in the database folder chooser. Proper fix shortly.

Change-Id: If366daacc440f937c40960112477b8f6136b72b9
2013-02-13 09:22:24 +11:00
Jonathan Gordon
cb9258ef0f and fix the last compile errors
Change-Id: I6e1608276afdaf04705b333fc3e96c8b90ff5233
2013-02-12 21:14:56 +11:00
Jonathan Gordon
aaf30651df skin_engine: Add a debug screen to display skin ram usage
Change-Id: Ida9c33211d9360ac88e30a2cf8df9f191bee8b45
2013-02-12 21:01:13 +11:00
Jonathan Gordon
69228f92db simplelist: Make better use of the static buffer and simplify API
Change-Id: I1327fcd01d6f817be6c7018d30d33446c9b57287
2013-02-12 21:01:13 +11:00
Jonathan Gordon
e41aed633f Fix (c) notice which was apparently copy/pasted from a completly unrelated file
Change-Id: I465bd6a70e911c7a56213af82b4db64c25c294f7
2013-02-12 21:01:13 +11:00
Thomas Martitz
ca634a0ac0 bitmap drawing: Negate alpha channel to match alpha information format of font files.
The comment about the format was actually incorrect. The alpha information
is now negated during conversion to native format, according to the
corrected comment.

Change-Id: Ifdb9ffdf9b55e39e64983eec2d9d60339e570bd9
2013-02-12 10:29:25 +01:00
Jonathan Gordon
948dbed0af remove unused members
Change-Id: Ic0a0d300c9b7701c9173121d9d36a4dd4a28d8bd
2013-02-11 00:11:25 +11:00
Jonathan Gordon
1eb17dc9f4 EQ settings: Rework the settings to clean up the config file.
Instead of 3 cfg lines per eq band there is now a single line
for each:
<config name>: <cutoff/center freq>, <q>, <gain>

In addition, the config value names make a bit more sense.

The old settings are still readable but config.cfg and any new
settings files will be written with the new config values. (The
old settings will be removed completly sometime after the next
stable release).

Also a slight rework of the advanced EQ menu UI

Change-Id: I9008658d36ded442a5f2f825916df42a3934cbef
Reviewed-on: http://gerrit.rockbox.org/394
Reviewed-by: Jonathan Gordon <rockbox@jdgordon.info>
2013-02-09 13:05:32 +01:00
Jonathan Gordon
d06779d987 gui: Fix \t indenting for RTL langs in the lists (DB folder chooser)
Change-Id: If033547ad979a2ebdd463723a31eb15e718e6f8b
2013-02-06 19:57:21 +11:00
Jonathan Gordon
db251fa7b6 eq settings: fix the lang string used for the center band string
Change-Id: Id8d14a547fc2ec8005a8df44ca311c3e171a4b37
2013-02-05 22:37:57 +11:00
Hayden Pearce
93fb11683e Additional colors for lamp.rock
- Available colors (in order of display):
    white - default
    red
    orange
    yellow
    green
    blue
    indigo
    violet
    black
 - More colors combined with the existing brightness control (also added by myself)
   allow for a much wider range of light to suit the user's current mood or
   environment
 - ToDo(?):
    * add a color picker for custom colors
    * allow custom colors to be saved for later user

Change-Id: I0b2f6376a408acaa9b2459b2fa56b43f5427b965
Reviewed-on: http://gerrit.rockbox.org/390
Tested-by: Hayden Pearce <saint.lascivious@gmail.com>
Reviewed-by: benjamin brown <foolshperson@gmail.com>
Tested-by: benjamin brown <foolshperson@gmail.com>
Reviewed-by: Jonathan Gordon <rockbox@jdgordon.info>
2013-02-04 09:08:16 +01:00
Hayden Pearce
d73c20933b 10 Band EQ w/Presets
- A 10 Band EQ for Rockbox w/ presets adapted
   from VLC
 - frequency stepping at 32, 64, 125, 250, 500
   1K, 2K, 4K, 8K, 16K

Change-Id: I85ad84d70a534edfc66c6ad9af8a76f022a02ec7
Reviewed-on: http://gerrit.rockbox.org/386
Reviewed-by: Jonathan Gordon <rockbox@jdgordon.info>
2013-01-29 06:53:41 +01:00
Kirill Stryaponoff
6a6e7ea26a Created graphics for the numbers in Sudoku and fixed layout for Sansa Clip Zip.
Added three bitmaps with the new 70x14 graphics and added link to them in /apps/plugins/bitmaps/native/SOURCES

Change-Id: I1f4b9e3504011b80a7cd40e0fcd71ba8fd100424
Reviewed-on: http://gerrit.rockbox.org/389
Reviewed-by: Jonathan Gordon <rockbox@jdgordon.info>
Tested-by: Jonathan Gordon <rockbox@jdgordon.info>
2013-01-27 13:57:27 +01:00
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
Jonathan Gordon
0c87e02631 And use the unknown file colour if there is no extension
Change-Id: I35e16643fa655b7d1e006ea85be5c351427bca14
2013-01-21 09:38:19 +11:00
Jonathan Gordon
3b6b5130c9 fix yellow
Change-Id: I269c1c3caa57ba3f0368f58da9501fc29be3dc0c
2013-01-21 09:07:04 +11:00
Jonathan Gordon
70595a278a filetree: Support ??? in viewers.config for unsupported filetypes
This will allow the user to set the file colour and icon for all
unknown files in the file browser.

Change-Id: I4e601f9d2ea31ac972d8066252bf80b6c0d22268
2013-01-20 22:44:03 +11:00
Thomas Martitz
48bc762db1 lists: Fix item indentation in RTL to match LTR behavior (which is no indentation when the scrollbar isn't shown, apparently).
Change-Id: I5c36d34638fa7a9cba9468b7ee07a07a836fadec
2013-01-18 18:02:47 +01:00
Thomas Martitz
2ffde90c69 touchscreen: Fix kinetic and swipe scrolling outside of the list viewport.
There were some bugs, especially when the user scrolled above the
list viewport. One bug made Rockbox completely unusable once triggered.

Change-Id: I9bb4722ff4381db189058e9a19ea30b2c69e87d9
2013-01-17 23:29:35 +01:00
Thomas Jarosch
5db5341deb Fix possible readlink() buffer overflow
readlink() might return the full size of the target buffer
and we write a '\0' to the returned length offset.

cppecheck reported:
[rockbox/apps/tagcache.c:4335]: (warning, inconclusive) readlink() might return the full size of 'target'. Lower the supplied size by one.

(the check was actually written by me)

Change-Id: Ibb42f732aa42c38bb6cb92cdccd3e6a0d3aa9b9f
2013-01-15 22:04:18 +01:00
Jonathan Gordon
d6c6c0767c album art display: Fix RTL handling for the album art skin tag
AA was broken when an RTL language is used, causing it to not
be displayed.

Also fix th out of bounds handling when width/height > viewport

Change-Id: I4899cd32ec58107c987e3cc0e8df582963bdcf62
2013-01-15 23:10:37 +11:00
Frank Gevaerts
b90316cab7 Bump the plugin api version. This should have been in 212e7808.
Change-Id: I4525d62782af1ad1c0e5e92605421063b8c9b72b
2013-01-04 00:34:12 +01:00
Jonathan Gordon
c500f4efe5 radio screen: Disable displaying radio art, FS#12797
With radioart enabled there appears to be buffer corruption when
the image is loaded causing the player to data abort in skin_render_line()

So, disable the code untill someone can fix it.

Change-Id: I6acf3f76ce38aa2784b1b24ed6da29a9c5bee479
2013-01-03 23:09:01 +11: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
Frank Gevaerts
18f0ba003c Revert 64d048be. It breaks h300.
HAVE_USB_CHARGING_ENABLE is not only used for software usb, so checking
for HAVE_USBSTACK is wrong.

Change-Id: I422796b517c262f33f35623e992434219e288424
2012-12-26 18:01:19 +01:00
Frank Gevaerts
64d048be2b Make code that depends on HAVE_USB_CHARGING_ENABLE check HAVE_USBSTACK.
This fixes building without HAVE_USBSTACK

Change-Id: If8fec87a3ed4de583864ed2bab69be1f2ad8ac52
2012-12-26 17:52:15 +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
Ivan Pesic
f668c36241 FS#12792 - Update of Serbian translation
Signed-off-by: Bertrik Sikken <bertrik@sikken.nl>

Change-Id: I9985ae3a8be3eaef7c073f07aa1ef3fe5c1127dc
2012-12-18 19:34:59 +01:00
Jonathan Gordon
3ac7af95a9 root menu setting: make the setting handles whitespace
Change-Id: Id981bb518017e272dd7a230ae7d799ef0f55847c
2012-12-16 14:26:03 +11:00
Jonathan Gordon
b0263be48e Add the 9 segment lcd funciton to remote lcds
Change-Id: I00f9a067522624a87befcf95a811b49ad685029c
2012-12-09 17:27:11 +11:00
Jonathan Gordon
685cf59008 9 segment bitmap drawing:
Use %x9(id) to draw an image in the whole current viewport using the
9 segment drawer (which draws the corners as normal and *tiles*
the middle segments to the needed width/height).

Future work is to make it scale instead of tile

Change-Id: Ic3ed1cad93f96091694801eb442e0da5a2401203
2012-12-09 17:11:19 +11:00