summaryrefslogtreecommitdiffstats
path: root/apps/main.c
AgeCommit message (Collapse)AuthorFilesLines
2010-08-01Rockbox as an application: add get_user_file_path().Thomas Martitz1-4/+13
For RaaA it evaluates user paths at runtime. For everything but codecs/plugins it will give the path under $HOME/.config/rockbox.org if write access is needed or if the file/folder in question exists there (otherwise it gives /usr/local/share/rockbox). This allows for installing themes under $HOME as well as having config.cfg and other important files there while installing the application (and default themes) under /usr/local. On the DAPs it's a no-op, returing /.rockbox directly. Not converted to use get_user_file_path() are plugins themselves, because RaaA doesn't build plugins yet. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27656 a1c6a512-1295-4272-9138-f99709370657
2010-07-29FS#11470 - new skin code, finally svn uses the new parser from the theme ↵Jonathan Gordon1-0/+2
editor. This means that a skin that passes the editor WILL pass svn and checkwps (unless the target runs out of skin buffer or something. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27613 a1c6a512-1295-4272-9138-f99709370657
2010-07-25Rockbox as an application: Fix a few yellowsThomas Martitz1-1/+2
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27558 a1c6a512-1295-4272-9138-f99709370657
2010-06-29Remove some redundant #include'sBertrik Sikken1-1/+0
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27183 a1c6a512-1295-4272-9138-f99709370657
2010-06-21Rockbox as an application: Replace many occurences of #ifdef SIMULATOR with ↵Thomas Martitz1-1/+3
#if (CONFIG_PLATFORM & PLATFORM_HOSTED) (or equivalently). The simulator defines PLATFORM_HOSTED, as RaaA will do (RaaA will not define SIMULATOR). The new define is to (de-)select code to compile on hosted platforms generally. Should be no functional change to targets or the simulator. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27019 a1c6a512-1295-4272-9138-f99709370657
2010-06-17Switch iPod 3G to use EABI toolchain. Make necessary threading changes to ↵Michael Sevakis1-4/+2
avoid use of stack after switching to idle stack. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26898 a1c6a512-1295-4272-9138-f99709370657
2010-06-06Don't initialise disk_* for the sim, and make sure disk.c isn't built at allFrank Gevaerts1-1/+0
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26630 a1c6a512-1295-4272-9138-f99709370657
2010-06-06Remove card_enable_monitoring() and use a mutex instead. The ↵Frank Gevaerts1-0/+3
card_enable_monitoring() method actually didn't eliminate the possible race conditions it was meant to fix. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26627 a1c6a512-1295-4272-9138-f99709370657
2010-05-27Generate C file / header for svn version stringRafaël Carré1-2/+0
It's now easier to force rebuild of files depending on the svn revision version.c/version.h are generated once with new tools/genversion.sh Changes in the VCS are still not auto detected, so you'll have to remove builddir/version.* if you want to change the string in your binaries APPSVERSION is now called RBVERSION and is defined in the generated header instead of being defined by the Makefiles appsversion is now called rbversion (the plugin api number didn't change since old modules are still binary compatible) Change some bootloaders to use knwon-at-buildtime RBVERSION instead of "%s" + rbversion You'll need to run make clean to regenerate dependencies after the removal of apps/version.h To build binaries with a different version string, hand-edit tools/version.sh or tools/genversion.sh (which calls the former) git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26320 a1c6a512-1295-4272-9138-f99709370657
2010-05-15- Move uisimulator/sdl/*.[ch] into the target tree, under ↵Thomas Martitz1-3/+10
firmware/target/hosted/sdl, uisdl.c is split up across button-sdl.c and system-sdl.c. - Refactor the program startup. main() is now in main.c like on target, and the implicit application thread will now act as our main thread (previously a separate one was created for this in thread initialization). This is part of Rockbox as an application and is the first step to make an application port from the uisimulator. In a further step the sim bits from the sdl build will be separated out. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26065 a1c6a512-1295-4272-9138-f99709370657
2010-05-06Move c/h files implementing/defining standard library stuff into a new libc ↵Thomas Martitz1-1/+0
directory, also standard'ify some parts of the code base (almost entirely #include fixes). This is to a) to cleanup firmware/common and firmware/include a bit, but also b) for Rockbox as an application which should use the host system's c library and headers, separating makes it easy to exclude our files from the build. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25850 a1c6a512-1295-4272-9138-f99709370657
2010-04-06Fix typo in a bootchart messageTorne Wuff1-1/+1
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25504 a1c6a512-1295-4272-9138-f99709370657
2010-04-01Boot charting support.Torne Wuff1-1/+47
Select (B)ootchart in advanced options in configure, and logf will record timings for various stages of boot, for performance comparisons. Format logged is: BC:>function_name,123,80 where 123 is the line number, 80 is the number of ticks since boot. This can be loaded as CSV into a spreadsheet. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25426 a1c6a512-1295-4272-9138-f99709370657
2010-03-20Submit FS#11065. Introduce a new system setting for en-/disabling the ↵Andree Buschmann1-0/+3
Line-out. For now only implemented on iPod Video. This allows to save power if the user does not use the player's Line-out. On iPod 5G the saving is ~0.5 mA. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25257 a1c6a512-1295-4272-9138-f99709370657
2010-03-07revert part of r25042 so boot error splashes are localised, and so there ↵Jonathan Gordon1-4/+2
isnt a boot slowdown (which was the origional reason for r24922) git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25050 a1c6a512-1295-4272-9138-f99709370657
2010-03-06Restore the 'read_disk' flag for settings_apply that was removed in r24922. ↵Magnus Holmgren1-2/+4
It is still needed to prevent uncessary disk I/O for fonts etc. Should fix FS#11071 (I haven't tested it on a HD-based player). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25042 a1c6a512-1295-4272-9138-f99709370657
2010-03-04Add a few warning comments about the INIT_ATTR stuff.Thomas Martitz1-0/+6
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25024 a1c6a512-1295-4272-9138-f99709370657
2010-03-04Don't forget to initialize the wps.Thomas Martitz1-0/+2
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25021 a1c6a512-1295-4272-9138-f99709370657
2010-03-03FS#10756 - Free unused init codeThomas Martitz1-1/+4
Introduce a new .init section for initialisation code, so that it can be copied to an area which is later overwritten before calling. The stack/bss can then overwrite that code, effectively freeing the code size that the initialisation routines need. Gives a few kB ram usage back. Only implemented for PP and as3525 so far. More targets could be added, as well as more functions. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25013 a1c6a512-1295-4272-9138-f99709370657
2010-02-26split the theme settings apply() sutff out of settings_apply(). this should ↵Jonathan Gordon1-8/+4
fix splashes not being loc'ed, statusbar over the splash (fixed in sim, not on my mini2g though), and the supposed boot time slowdown. What this also does is remove a bunch of unnecessary settings_Apply()'s from the ipod accessory code, and causes all non-skin settings to get applied each time (this includes font and langs which we wernt doing to stop disk access) git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24922 a1c6a512-1295-4272-9138-f99709370657
2009-12-09FS#10824 - viewport/statusbar API rework.Jonathan Gordon1-2/+6
Hopefully the only user visible changes are: - fm and recording screens go by the statusbar setting (sbs or inbuilt) - plugins go back to using the theme as they should for menus and lists - splash screens might get cut a bit... entirely theme and splash dependant.. if there is a problematic one we can look at it later. - hopefully nothing more than very minor screen flickerings... let me know exactly where they are so they can be fixed New GUI screen rules: * Screens assume that the theme (sbs+ui viewport+ maybe background image) are always enabled. They may be disabled on a per display basis, but MUST be re-enabled on exit * Screens must not be coded in a way that requires a statusbar of any type.. the inbuilt bar will be removed shortly. ALWAYS RESPECT THE USERS SETTINGS unless the screen requires the full display to fit. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23904 a1c6a512-1295-4272-9138-f99709370657
2009-11-25Add HAVE_HOTSWAP_STORAGE_AS_MAIN to detect changed binary after re-inserting ↵Thomas Martitz1-0/+3
the storage on targets that run rockbox from hotswappable storage. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23752 a1c6a512-1295-4272-9138-f99709370657
2009-11-10Revert r23599 and r23600 and fix the early usb problem at the root. The the ↵Thomas Martitz1-9/+16
viewportmanager and custom statusbar was initialized too late. Now, call it earlier and remove parts of it that caused the need to call it later. Removing that is OK since it's done again on settings loading. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23603 a1c6a512-1295-4272-9138-f99709370657
2009-11-10hopefully fix "early usb"Jonathan Gordon1-2/+2
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23599 a1c6a512-1295-4272-9138-f99709370657
2009-11-03root_menu() can't return, tell gcc about itRafaël Carré1-13/+2
Since it can't return, app_main() can't either, tell gcc about it. Remove dead archos code (present if root_menu() would return erroneously), and rename app_main() to main() on target git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23494 a1c6a512-1295-4272-9138-f99709370657
2009-11-01Fix FS#10745 - %mv not working in sbs...Jonathan Gordon1-0/+1
This fix is as good as we can do, but not perfect. Because the sbs is only updated when a button is pressed it will stay in the "volume changing" state probalby longer than expected.. which isnt terrible, but useful to remember. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23455 a1c6a512-1295-4272-9138-f99709370657
2009-10-25No need for this to be staticNils Wallménius1-2/+3
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23342 a1c6a512-1295-4272-9138-f99709370657
2009-10-19Fix yellow: Another try at fixing aggressive includes removalTomer Shalev1-0/+1
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23276 a1c6a512-1295-4272-9138-f99709370657
2009-10-19Extract usb_screen logic out of screens.c into apps/gui/usb_screen.cTomer Shalev1-3/+3
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23273 a1c6a512-1295-4272-9138-f99709370657
2009-10-19Initial custom statusbar commit.Thomas Martitz1-0/+3
The custom statusbar can be used as a WPS for the main UI, using .(r)sbs files. It's using the skin engine and knows all tags the WPS also knows. The default folder for .sbs is the wps folder to reuse images used in the WPS. As it can be shown in the WPS also, it's useful to move shared parts to the custom statusbar in order to save skin buffer space. There are a few restrictions/TODOs: *) Peak meter doesn't redraw nicely(not frequent enough), as very frequent updates would slow the UI down as hell (some targets fight with it in the WPS already: FS#10686) *) No touchregion support as the statusbar doesn't have any action handling (it won't fail to parse though). *) Drawing stuff into the default VP is forbidden (loading images in it is not). You *need* to use viewports for the displaying stuff (parsing fails if no viewport is used). *) Themes that don't use a custom ui viewport can be fixed up using the new %Vi tag to avoid nasty redraw effectts (you must not draw into it as well, it's used to fix up the ui viewport). %Vi describes the viewport that the lists can use without getting in the way of the statusbar. Otherwise, it behaves like the classic statusbar, it can be configured in the theme settings, and can be turned off in the wps using %wd. Note to translaters: When translating LANG_STATUSBAR_CUSTOM, please consider using the same translation as for LANG_CHANNEL_CUSTOM if it's compatible. They could be combined later then. Flyspray: FS#10566 Author: myself git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23258 a1c6a512-1295-4272-9138-f99709370657
2009-10-18Change the .lng files to contain strings from multiple users. Still ↵Tom Ross1-2/+4
hard-coded to only output the core strings for now. Should be the majority of the core changes needed for translatable plugins. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23241 a1c6a512-1295-4272-9138-f99709370657
2009-10-17Revise r23225 a bit, removing the debug_printf function and implementing ↵Nils Wallménius1-8/+2
more generic lcd_(remote)_putsf function(s) instead and use those in more places git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23233 a1c6a512-1295-4272-9138-f99709370657
2009-10-17Change lang_init() to take a source, destination, and count. Needed for ↵Tom Ross1-2/+2
translatable plugins. Minor stylist changes as well. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23221 a1c6a512-1295-4272-9138-f99709370657
2009-10-16Revert r23212, I committed it accidentally.Thomas Martitz1-1/+0
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23214 a1c6a512-1295-4272-9138-f99709370657
2009-10-16initial custom statusbar commitThomas Martitz1-0/+1
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23212 a1c6a512-1295-4272-9138-f99709370657
2009-10-16Change %mp tag to use current_playmode(). It has upto 9 values now, ↵Thomas Martitz1-1/+0
including recording and radio states. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23206 a1c6a512-1295-4272-9138-f99709370657
2009-10-08RTL: Add support for DB init messageTomer Shalev1-3/+10
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23020 a1c6a512-1295-4272-9138-f99709370657
2009-10-03Fix crash in early USB introduced in r22365 by moving the ↵Jens Arnold1-1/+5
gui_syncstatusbar_init() back to where it needs to be. The comment clearly stated that it needs to happen that early. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22903 a1c6a512-1295-4272-9138-f99709370657
2009-09-07Fix buttonbar handling/theme changed handling in lists.Thomas Martitz1-0/+3
The lists need to copy to a local parent if a list passes NULL as parent in the init. This was before the commit of custom ui vp, but I removed it since I (wrongly) thought using the ui vp as parent would be fine. Let the viewportmanager fire a event in case when a theme-related setting changed and simply the handling in the lists code. However the buttonbar handling didn't work before anyway, since list code didn't know if the buttonbar was active (it asked a variable which was always false....). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22651 a1c6a512-1295-4272-9138-f99709370657
2009-08-27fix FS#10550. Start autostart.rock after gui_syncstatusbar_init().Teruaki Kawashima1-13/+13
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22517 a1c6a512-1295-4272-9138-f99709370657
2009-08-16User definable UI viewport, to be able to restrict the UI into a viewport ↵Thomas Martitz1-8/+3
for all bitmap displays. Flyspray: FS#8799 This will allow for pretty themes, for example those with nice glass effects on their backdrops (some might argue they're wasting screen space but it's upto them), as well as allowing for future background WPS updates in the main UI. Plugins are not converted yet, they simply use the full screen. Ideally, any plugin that does *not* want the UI viewport, should take care of that itself (i.e. plugins should normally use the UI viewport). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22365 a1c6a512-1295-4272-9138-f99709370657
2009-08-03part two of the grand overall wps/skinning engine cleanup work:Jonathan Gordon1-1/+1
* rename wps_engine to skin_engine as that was agreed on * rename music_screen back to wps * clean up the skin display/update functions a bit * make skin_data_load setup the hardcoded default if a skin cant be loaded for whatever reason instead of doing it when it is first displayed ignore any gui_wps or wps_ or gwps_ nameing in skin_engine/ ... these will be renamed as this work gets finished git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22135 a1c6a512-1295-4272-9138-f99709370657
2009-07-27Start of some apps/ and wps cleanup work... Move everything related to the ↵Jonathan Gordon1-1/+1
actual drawing of the wps into apps/gui/wps_engine, things related to the actual screen are in apps/gui/music_screen.c (names are temporary unless noone comes up with anything better) No real code changes. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22062 a1c6a512-1295-4272-9138-f99709370657
2009-07-20rework cuesheet support:Jonathan Gordon1-4/+0
swcodec: search for a .cue during buffering (with the possibility of adding embedded cuesheets later) hwcodec: search for a .cue when the id3 info for the current track is requested for the first time (disk should be spining so non issue) major beenfit from this is simplofy cuesheet handling code a bit... if mp3entry.cuesheet != NULL then there is a valid cuesheet.. no need to worry about if its enabled and preloaded. There is the possibility of putting the next/prev subtrack handling inside the playback code (as well as the id3 updating stuff (see FS#9789 for more info), but thats probably not a good idea. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21978 a1c6a512-1295-4272-9138-f99709370657
2009-06-15...and fixify *that* yellow too.Steve Bavin1-0/+1
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21295 a1c6a512-1295-4272-9138-f99709370657
2009-06-15Fix FS#10331 and get mpegplayer working again.Steve Bavin1-0/+6
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21293 a1c6a512-1295-4272-9138-f99709370657
2009-05-21revert r21016, as it doesn't solve anythingFrank Gevaerts1-1/+5
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21019 a1c6a512-1295-4272-9138-f99709370657
2009-05-21Re-order usb init a bit, so software and hardware usb are the same. This ↵Frank Gevaerts1-5/+1
fixes FS#9957 git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21016 a1c6a512-1295-4272-9138-f99709370657
2009-04-06Fix FS#10091 - On Archos targets properly detect charger at startup, so ↵Boris Gjenero1-1/+3
charging screen can be entered git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20634 a1c6a512-1295-4272-9138-f99709370657
2009-03-24Add a Touchscreen Mode setting to switch between 3x3 grid and absolute point ↵Rob Purchase1-3/+0
modes. Note that many screens have not yet been adjusted to absolute point mode, so use with caution. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20520 a1c6a512-1295-4272-9138-f99709370657