summaryrefslogtreecommitdiffstats
path: root/lib
AgeCommit message (Collapse)AuthorFilesLines
2012-03-18Build librbcodec with DSP and metadata.Sean Bartell72-43/+15257
All associated files are moved to /lib/rbcodec. Change-Id: I572ddd2b8a996aae1e98c081d06b1ed356dce222
2012-03-15skin_engine: Reenable skin debugging in the sim (use --debugwps)Jonathan Gordon3-5/+5
Change-Id: I2881edda45cd3ea69f5284d93bc93c47bb63b3f2
2012-03-15skin_engine: New tag to draw a rectangle (optionally with a gradient)Jonathan Gordon2-0/+3
%dr(x, y, width, height, [colour1[, colour2]]): x,y - viewport relative pixel coordinates to start the rectangle. width, height - obvious. can be '-' to fill the viewport if both colours are left out the viewports foreground colour will be used if one colour is specified it will fill the rectangle that colour. if both colours are specified it will gradient fill the rectangle. Change-Id: Iad451e99ded663bc7c5d182443659db7d909b388
2012-03-04Re-add -DDEBUG to the warble makefileFrank Gevaerts1-1/+1
Change-Id: I515d2299b0de39092fbae3b070bd2d6d19a43ec5
2012-03-03Remove standalone makefile. Use configure to buildFrank Gevaerts1-74/+0
Change-Id: Ifa4fac02100da17b16199ac63cad1f6fe569667f
2012-03-03Move includes of other makefiles around to make GCCFLAGS work properly.Frank Gevaerts1-2/+3
Change-Id: Ic6aed06298dcb668a2c0f2c09d25612437893d1b
2012-03-03Integrate the warble tool in the regular build system.Frank Gevaerts3-0/+90
Only sdl app builds work properly for now. Change-Id: I7807d42f69b8577b401e48cdc63de71e54f49217
2012-03-03Add the warble test program.Sean Bartell3-0/+928
Warble uses Rockbox's codecs to play files with SDL or convert them to WAV or raw formats. It also prints metadata and supports some of the DSP effects. In the future, warble could be used to implement an automated test suite for codecs, metadata, and DSP. Change-Id: Ife1a63d2354496016277bfcbae4a9c23423ebd86 Reviewed-on: http://gerrit.rockbox.org/135 Reviewed-by: Nils Wallménius <nils@rockbox.org> Tested-by: Nils Wallménius <nils@rockbox.org>
2012-03-02Fix sanity check in UnwStartThumb() using the wrong registerThomas Jarosch1-1/+1
cppcheck reported: [lib/unwarminder/unwarm_thumb.c:399] -> [lib/unwarminder/unwarm_thumb.c:399]: (style) Same expression on both sides of '&&'. Patch will also be sent to the upstream project. Change-Id: I57033f290135f4dc09ac7e9b07c31461bc5b471a Reviewed-on: http://gerrit.rockbox.org/157 Reviewed-by: Thomas Jarosch <tomj@simonv.com>
2012-02-29Call skinlist_set_cfg() unconditionally, i.e. also if do_refresh==falseFrank Gevaerts1-1/+1
This call is cheap (except if the list config changes, but then it should be called anyway), and do_refresh isn't always set appropriately, e.g. when the screen has just changed, which could cause the list config to be null at bad times, which caused the standard list to be shown instead of the desired skinned list. Change-Id: I47dd2552d6d1062456ede4529c4891e80a8159ea Reviewed-on: http://gerrit.rockbox.org/113 Reviewed-by: Frank Gevaerts <frank@gevaerts.be>
2012-02-29skin_engine: ease the restrictions on %x/%xlJonathan Gordon1-2/+2
%x and %xl only require the id and filename now. If you leave off the x,y it will default to 0,0. If you want to use the default x,y you can still put in the num_subimages param on the end (e.g %xl(a, file, 3) ) Change-Id: I8eff793dfdd037e302ace8deec9dc16dcea264a7
2012-02-28skin_engine: Clean up %x() handling - beware theme issuesJonathan Gordon1-1/+1
Internally remove some hacks around how %x() is handled. %x() inside the default viewport will no longer work if other viewports are used, so if you are using viewports and %x() make sure it is in a viewport! Change-Id: I8ecab805d55fc0f8476ff0516cba38e23400aa20
2012-02-28lcd/skin_engine: Add the ability to draw onto the backdrop layerJonathan Gordon2-1/+3
The framebuffer the lcd driver uses can now be changed on the fly which means that regular lcd_* drawing functions can draw onto the "backdrop" buffer. The skin engine can use this to create layered effects. Add the tag %VB to a viewport to draw that viewport onto the backdrop layer. If you want to draw an image onto the backdrop framebuffer use %x(backdrop filename) instead of %X() inside a viewport with %VB. Change-Id: I741498e2af6d4f2d78932cabe8942317893e7cfc
2012-02-25Add %LR and %LC to get at the current row and columm in skinned lists.Frank Gevaerts2-0/+4
This allows list items to be rendered differently depending on their on-screen position, allowing things like gradients or nonlinear alignment Change-Id: I1d9c080f97e83707f0e80f57abc762cb2b94f6ed
2012-02-26FS#12586 - Modify %ss to be able to use numbers for conditionalsJonathan Gordon1-1/+1
i.e %?ss(1,1,%cM)<|one|two|three|...|> or %xd(numbers, %ss(1,1%cM) Change-Id: I74ecb3f253f3be1fd270f75c0ef79addd364a7de
2012-02-22Arm stack unwinderMarcin Bukat15-0/+2555
Simplified stack unwinder for ARM. This is port of http://www.mcternan.me.uk/ArmStackUnwinding/ backtrace() is called from UIE() on native targets and from panicf() on both native and ARM RaaA. Change-Id: I8e4b3c02490dd60b30aa372fe842d193b8929ce0
2012-02-21skin engine: Add 'touch' command to the %vs() tagJonathan Gordon1-1/+1
%vs(label, touch, -) will reset the timeout for the variable without changing the variables value. Change-Id: Idba03f454a82ac7460bb53a4de3aa6903656c585
2012-02-21skin engine: Make %vs() dynamic so it updated every screen updateJonathan Gordon1-1/+1
This makes it easier to use %?vl() (variable last changed) in a sensible manner. Change-Id: I0bf9ae24bc4516d2fd5691af236cc4439a0863c8
2012-02-14Fix FS#12585 - bar tags stopped workingJonathan Gordon1-1/+1
Change-Id: I9e466bcc407a3fda06d8a9f9c6f39afef592824e
2012-02-07skin engine: New logical 'and' and 'or' tags to evaluate multiple tags in a ↵Jonathan Gordon3-27/+39
single conditional. Use these tags to stop having multiple conditionals.. e.g: OLD: %?C<%?Ia<something>> NEW: %?and(%C, %Ia)<something> Change-Id: Ia3bbe4611cf808e87dcd1b1147181461fa08294a
2012-02-01skin parser: Allow the first character after conditional seperators to be \nJonathan Gordon1-1/+10
This hopefully makes difficult conditionals more easy to read: i.e OLD: %?bp<%?bc<%xd(Ba)|%xd(Bb)>|%?bl<|%xd(Bc)|%xd(Bd)|%xd(Be)|%xd(Bf)|%xd(Bg)|%xd(Bh)|%xd(Bi)|%xd(Bj)>> NEW: %?bp< %?bc< %xd(Ba)|%xd(Bb) >| %?bl<|%xd(Bc)|%xd(Bd)| %xd(Be)|%xd(Bf)| %xd(Bg)|%xd(Bh)| %xd(Bi)|%xd(Bj) > > Change-Id: Ic89d2c95562b27e7427c3a5d528340f9aec55cf2
2012-02-01skin parser: skip \t characters at the begining of lines to allow for more ↵Jonathan Gordon1-0/+5
readable skins Change-Id: I8f3154d17807ad202fc65d462e85da2195ce605c
2012-01-22Fix native arm builds. arm_support couldn't build properly.Thomas Martitz1-0/+2
Change-Id: I34526a015357e36ffd612bf2fabf78a0354066ca
2012-01-21Move supprt-arm.S to separate library.Thomas Martitz2-0/+720
Core, codecs and plugins link it separately so this gets rid of SOURCES trickery. Don't build it for hosted targets. Change-Id: If15ef90e93cd218a4352ae8e89eea95d3122452f
2011-11-15Use buflib for all skin engine allocations.Jonathan Gordon5-163/+165
Massive thanks to Michael Chicoine and other testers for finding the early bugs. This removes all skin memory limitations git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30991 a1c6a512-1295-4272-9138-f99709370657
2011-10-16Fix FS#12320 - need substitute to /.rockbox/skin_buffer_size.txtThomas Martitz1-15/+16
Since recent skin engine related commits images aren't stored on the skin buffer anymore. The buffer was decreased accordingly. Now some themes used that buffer more for tokens than images and are now broken. To fix, increase the max token count, while optimizing the two most often allocated structs for size (so no net ram usage increase). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30762 a1c6a512-1295-4272-9138-f99709370657
2011-10-08de-tabifyNils Wallménius1-39/+39
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30734 a1c6a512-1295-4272-9138-f99709370657
2011-09-25Add a simple perl script to display info about what is allocating skin buffer.Jonathan Gordon3-0/+50
To use it enable DEBUG_SKIN_ALLOCATIONS in skin_buffer.h and pipe the rockboxui output to the script git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30597 a1c6a512-1295-4272-9138-f99709370657
2011-09-25Partial fix for FS#12289 - comment lines would waste lots of buffer space. ↵Jonathan Gordon1-3/+23
Still not perfect but should get 90+% of comments completly ignored now. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30596 a1c6a512-1295-4272-9138-f99709370657
2011-09-18Add "%LN" tag to retrieve the list item number of the current item. This ↵Frank Gevaerts2-0/+2
allows e.g. putting item numbers in skinned lists. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30568 a1c6a512-1295-4272-9138-f99709370657
2011-09-11Rework how the skin gets the list item text to save some ram. Also allow the ↵Jonathan Gordon1-2/+2
%LI and %LT tags to take 2 optional parameters to get a different items text/icon: %LT(offset, nowrap) - get the text for the "being drawn"+offset item (offset being + or -). if the second param is "nowrap" (Without quotes) the text will be blank if the item would need to wrap. Same for the icon e.g: %LT(-1) %LT << %LT(1, nowrap) will display: Four Five << Six (or nothing if Five is the last item) git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30502 a1c6a512-1295-4272-9138-f99709370657
2011-09-11New tag %ss() which lets you get a substring of another tag.Jonathan Gordon2-1/+4
%ss(start, length, tag) - i.e %ss(0,1,%TL) will get the first letter of the current lines text. use - for the length to get the rest of the tag (e.g %ss(1,-,%TL) will get everything after the first letter). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30500 a1c6a512-1295-4272-9138-f99709370657
2011-09-06Lists can now be completly draw using the skin engine!Jonathan Gordon2-0/+12
due to lack of user feedback the actual tags may change, hopefully not though. The way it works is the skin specifies a rectangle and a viewport label. For each item in the list that is being displayed all viewports with the specified label are drawn. However, instead of the viewport x/y position being offset from the top left corner like normal they are offset from the rectangle position in the list (so think of them as child-viewports of the rectangle which moves). Normally the rectangle will move down the screen to show a normal list, this can be changed to move across the screen in a grid pattern. The UI viewport is used to bound the items (i.e %Vi() ) Scrolling is completly disabled in all items except the currently selected item. This works well in combination with the %cs tag to show differently styled lists based on the current screen :) New tags: %LT - Get the current items text %LI - Get the current items icon number %Lc - Use as a conditional to determine if the current item is the selected item %LB - BAR TAG to show the scroll bar, params/options like other bar types. It still needs a bit of work though. Use as a conditional to find out if the bar is actually needed %Lb(viewport, width, height [,tile]) - specify the viewport label to draw for each item and the size of each item. if the last param is 'tile' it will form a grid instead of a list example.sbs: %?cs<%Lb(a,100,20)|> %V(0,0,10,-,1)%Vf(aabbcc) %?LB<%LB(0,0,10,185, invert)> %Vi(-,10,0,-,-35,1) %Vl(a,5,5,160,12,1) %s%?Lc<%Vg(00ffaa, ff0000, 000000)%Vs(gradient)%>%>%>%ac>zzzzzzz %LT zzzzz%s%?Lc<%ar%<%<%<> %V(0,185,-,-,1) %s%LT git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30461 a1c6a512-1295-4272-9138-f99709370657
2011-08-14New skin tags: %Vs() to set the text style and %Vg() to get the viewports ↵Jonathan Gordon2-0/+4
gradient colours %Vs(mode[, param]) : mode can be "invert", "color" (where param is the colour to use", "clear" to disable the current style, "gradient" where param is the number of lines the gradient should draw over. %Vg(start colour, end colour, [text colour]), if this tag isnt used the list selection colours from the settings will set the gradient colours git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30302 a1c6a512-1295-4272-9138-f99709370657
2011-05-01Fix further 'variable set but not used' warnings reported from GCC 4.6.0.Andree Buschmann1-3/+0
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29809 a1c6a512-1295-4272-9138-f99709370657
2011-04-17Remove duplicate #include in skin_parser.cBertrik Sikken1-1/+0
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29736 a1c6a512-1295-4272-9138-f99709370657
2011-03-27Skin variables for touchscreen targets (origional implementation by Jens Theeß)Jonathan Gordon2-1/+10
%vs(name, [set|inc|dec], value [,max]) - name is the id, set sets the value, inc increments by value, dec decrements by value %vg(name) - get the current value %vl(name [,timeout]) - 'has it changed in [timeout]'? values start at 1 and are all reset to 1 on skin load git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29655 a1c6a512-1295-4272-9138-f99709370657
2011-03-05Theme Editor: make cross compiling on OS X work.Dominik Riebeling1-1/+2
The attempt to detect if building a fat library is necessary for libskin_parser makes cross compiling fail on OS X. Allow overriding the target platform for libskin_parser to fix that. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29515 a1c6a512-1295-4272-9138-f99709370657
2011-03-01Add an ability to set a setting to a specific value with a touchscreen action.Jonathan Gordon1-2/+2
example: %T(0,0,20,12, setting_set, repeat, off) That will set the repeat mode to "off" when it is pressed. "setting_set" is the action name "repeat" is the name of the setting in the config files "off" is the value to set it to (same values as the legal values in the config files) Not all settings are supported, outright unsupported settings will fail to parse. Some settings might not work too well if they don't apply instantly (Any that work well int he quickscreen should work well here) git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29483 a1c6a512-1295-4272-9138-f99709370657
2011-03-01Remove code duplication in some generic skin touch action handling.Jonathan Gordon1-2/+2
fix a bug which stopped the setting_inc/dec touch actions from parsing git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29477 a1c6a512-1295-4272-9138-f99709370657
2011-02-28Add the option of linking the %Tl (last touch) tag to a specific ↵Jonathan Gordon1-3/+10
touchregion. Both tags now accept an optional label param as the first param. %Tl([label,][timeout]) %T([label,] x, y, width, height, action) git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29459 a1c6a512-1295-4272-9138-f99709370657
2011-01-27fix buildJonathan Gordon1-0/+1
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29145 a1c6a512-1295-4272-9138-f99709370657
2011-01-27Add some better debug info for when checkwps erros out because of full skin ↵Jonathan Gordon2-0/+6
buffer git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29144 a1c6a512-1295-4272-9138-f99709370657
2011-01-13FS#11867 - Add 2 new tags to allow skins to display themed peakmetersJonathan Gordon2-0/+7
%pL for the left channel, %pR for the right channel... usable as a value, conditional or bar (exactly the same as %pv/%bl/etc) git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29043 a1c6a512-1295-4272-9138-f99709370657
2010-12-24Fix FS#11829 - %?xx<....> Crashes on targets where the %xx feature tag isnt ↵Jonathan Gordon1-27/+45
avilable. rather hacky fix though better than crashing. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28890 a1c6a512-1295-4272-9138-f99709370657
2010-11-18Make the %tr (radio RSSI) tag work as a bar tag or as a conditional.Jonathan Gordon2-1/+2
As a conditional it scales its value to the number of options you give it (like volume) git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28613 a1c6a512-1295-4272-9138-f99709370657
2010-11-11Signal strength meter for FM radio - FS#8151 by Przemysław HołubowskiBertrik Sikken2-0/+6
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28559 a1c6a512-1295-4272-9138-f99709370657
2010-11-11clean up checkwps' verbose output a bitJonathan Gordon1-41/+31
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28556 a1c6a512-1295-4272-9138-f99709370657
2010-11-11Add a bit more debug output to checkwpsJonathan Gordon1-0/+2
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28552 a1c6a512-1295-4272-9138-f99709370657
2010-11-06Half the number of malloc() calls on APPLICATION builds in ↵Jonathan Gordon1-7/+5
skin_buffer_alloc(). these are still presumably wasteing alot of RAM and could be merged further git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28520 a1c6a512-1295-4272-9138-f99709370657