summaryrefslogtreecommitdiff
path: root/apps/filetree.c (follow)
Commit message (Collapse)AuthorAge
* Use crc32 of filename to resume tracksRichard Quirk2013-01-02
| | | | | | | | | | | | | | | | | 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>
* playlist handling: revert part of r30177.Jonathan Gordon2011-11-28
| | | | | | loading a .m3u from the filebrowser now just runs it like it used to, selecting a playlist from inside the catalogue viewer opens it instead. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31083 a1c6a512-1295-4272-9138-f99709370657
* Update filetree.c to use global_settings.glyphs_to_cacheFred Bauer2011-11-20
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31035 a1c6a512-1295-4272-9138-f99709370657
* Redo r30826 (and hopefully not reintroduce font issues) which cleans up the ↵Jonathan Gordon2011-11-08
| | | | | | font API. FONT_UI is deprecated, use screens[screen].getuifont() instead (and .setuifont() to set it after a font has been loaded) git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30932 a1c6a512-1295-4272-9138-f99709370657
* Add functions font_set_ui() and font_get_ui(). The font returned by FONT_UI ↵Fred Bauer2011-10-22
| | | | | | used to be fixed at zero but since buflib-fonts (r30589) can be different, depending on the order of loads and unloads. Fixes broken behavoir in virtual keyboard (FS#12336), lyrics player (FS#12306), and hopefully, FS#12337 git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30826 a1c6a512-1295-4272-9138-f99709370657
* FS#12273 - use buflib for font storage. thanks to the testers :)Jonathan Gordon2011-09-24
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30589 a1c6a512-1295-4272-9138-f99709370657
* GSoC/Buflib: Enable compaction in buflib.Thomas Martitz2011-08-30
| | | | | | | | | | | | | | | | | | | This enables the ability to allocate (and free) memory dynamically without fragmentation, through compaction. This means allocations can move and fragmentation be reduced. Most changes are preparing Rockbox for this, which many times means adding a move callback which can temporarily disable movement when the corresponding code is in a critical section. For now, the audio buffer allocation has a central role, because it's the one having allocated most. This buffer is able to shrink itself, for which it needs to stop playback for a very short moment. For this, audio_buffer_available() returns the size of the audio buffer which can possibly be used by other allocations because the audio buffer can shrink. lastfm scrobbling and timestretch can now be toggled at runtime without requiring a reboot. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30381 a1c6a512-1295-4272-9138-f99709370657
* GSoC/Buflib: Replace all direct accesses to audiobuf with buffer API functions.Thomas Martitz2011-08-14
| | | | | | | | | | | | | | | | | | | | | | | Namely, introduce buffer_get_buffer() and buffer_release_buffer(). buffer_get_buffer() aquires all available and grabs a lock, attempting to call buffer_alloc() or buffer_get_buffer() while this lock is locked will cause a panicf() (doesn't actually happen, but is for debugging purpose). buffer_release_buffer() unlocks that lock and can additionally increment the audiobuf buffer to make an allocation. Pass 0 to only unlock if buffer was used temporarily only. buffer_available() is a replacement function to query audiobuflen, i.e. what's left in the buffer. Buffer init is moved up in the init chain and handles ipodvideo64mb internally. Further changes happened to mp3data.c and talk.c as to not call the above API functions, but get the buffer from callers. The caller is the audio system which has the buffer lock while mp3data.c and talk mess with the buffer. mpeg.c now implements some buffer related functions of playback.h, especially audio_get_buffer(), allowing to reduce #ifdef hell a tiny bit. audiobuf and audiobufend are local to buffer.c now. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30308 a1c6a512-1295-4272-9138-f99709370657
* Cleanup tree.c cache handling a bit.Thomas Martitz2011-08-03
| | | | | | | | * Rename stuff to not re-use the term dircache * Move cache to own struct * Encapsulate retrieving entries a bit git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30242 a1c6a512-1295-4272-9138-f99709370657
* FS#11808 - Major playlist handling changes (on disk playlists)Jonathan Gordon2011-07-20
| | | | | | | | | | | * Playlists are treated similar to directories in the browser, they now open in the viewer when selected instead of automatically starting the playlist. * Make the "Playlists" main menu item useful, it now displays the playlist catalog (and has been renamed accordingly) * Default to storing playlists in the catalog * Add a UI to move the catalog directory (other minor stuff too) git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30177 a1c6a512-1295-4272-9138-f99709370657
* Avoid false warnings of full dirs when the number of visible entries in a ↵Magnus Holmgren2011-05-04
| | | | | | dir equals the limit. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29823 a1c6a512-1295-4272-9138-f99709370657
* Don't (partially) apply changes to max entries in the file browser ↵Magnus Holmgren2011-04-30
| | | | | | immediately. The setting affects a buffer that is allocated during boot, so code using that buffer should use the value that was in effect during boot. Add a note to the manual that a reboot is needed for the changes to be applied. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29798 a1c6a512-1295-4272-9138-f99709370657
* remaining of FS#11777. Use rockbox_browse() to display playlists in Playlist ↵Teruaki Kawashima2010-12-15
| | | | | | Catalog. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28836 a1c6a512-1295-4272-9138-f99709370657
* FS#11777: enhancement for rockbox_browse()Teruaki Kawashima2010-12-14
| | | | | | | | | | * Add struct browse_context to be passed to rockbox_browse. * Show proper title when selecting e.g. .wps file or .sbs file from the settings menu. * Add select only mode to rockbox_browse(). when a file is selected, it's path is stored to buffer and the browser exits without 'playing' the file. this will allow to use the browser in more places to select file including plugins. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28831 a1c6a512-1295-4272-9138-f99709370657
* Oops, remove left-over DEBUGFs.Thomas Martitz2010-09-08
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28051 a1c6a512-1295-4272-9138-f99709370657
* Revert r27972 to fix FS#11610 (but in a way android builds still work).Thomas Martitz2010-09-08
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28050 a1c6a512-1295-4272-9138-f99709370657
* Ged rid of uisimulator/common/io.c for android builds.Thomas Martitz2010-09-01
| | | | | | | | | | | Use host's functions for file i/o directly (open(), close() ,etc.), not the sim_* variants. Some dir functions need to be wrapped still because we need to cache the parents dir's path (host's dirent doesn't let us know). For the same reason (incompatibility) with host's dirent) detach some members from Rockbox' dirent struct and put it into an extra one, the values can be retrieved via the new dir_get_info(). Get rid of the sim_ prefix for sleep as well and change the signature to unix sleep(). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27968 a1c6a512-1295-4272-9138-f99709370657
* "Fix" FS#11349... %cs got confused because for some reason when the root ↵Jonathan Gordon2010-08-16
| | | | | | menu was introduced the fm preset loading was never fixed to go back through that menu... problem is do_menu() is getting in the way now, so be like other files and dont try to reload the screen after loading... i.e go into the fms manually git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27830 a1c6a512-1295-4272-9138-f99709370657
* Rockbox as an application: add get_user_file_path().Thomas Martitz2010-08-01
| | | | | | | | | | | 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
* Rockbox as an application: Replace many occurences of #ifdef SIMULATOR with ↵Thomas Martitz2010-06-21
| | | | | | | | | | | #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
* FS#10853 - Skin support in the radio screen! Check CustomWPS for the new tagsJonathan Gordon2010-05-12
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25964 a1c6a512-1295-4272-9138-f99709370657
* Move c/h files implementing/defining standard library stuff into a new libc ↵Thomas Martitz2010-05-06
| | | | | | | | 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
* cleanup statusbar+base skin relationship...Jonathan Gordon2010-03-06
| | | | | | | | * remove the "custom" option from the statusbar setting. if a sbs file is set then statusbar setting is ignored, no other user visible change there. * new tag, %wi - use to draw the inbuilt statusbar in the current viewport git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25038 a1c6a512-1295-4272-9138-f99709370657
* FS#10984 - multifont! 2 major additions:Jonathan Gordon2010-02-14
| | | | | | | | | | 1) seperate UI font for the remote and main displays 2) allow individual skins to load additional fonts for use in the skin (Uo to 7 extra in this first version) see CustomWPS for info on how to load a font in the skins. Code should always use FONT_UI+screen_number to get the correct user font git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24644 a1c6a512-1295-4272-9138-f99709370657
* skin rework (FS#10922) notable changes:Jonathan Gordon2010-01-29
| | | | | | | | | | - simplify the setting/skin relationship. settings are used as the fallback if it's not specified in the skin - backdrop buffers are now in the skin buffer (which has also increased slightly to accomodate 1 backdrop for each skin and 2 full colour screens for bmps (up for 1.5)) - if no %X is specified in a skin then the backdrop setting will be used. use %Xd to explicitly disable a skin from displaying a backdrop - the base skin can now specify a backdrop. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24366 a1c6a512-1295-4272-9138-f99709370657
* RTL language enhancements by Tomers Shalev and I.Jonathan Gordon2010-01-07
| | | | | | | | | | | | 3 new tokens: %ax - the next token should follow the language direction (what that means is defined by the individual tokens) %aL - align left on LTR language (same as %al), right on RTL languages %aR - align right on LTR language (same as %ar), left on RTL languages This commit adds %ax support to the %V and %Cl tokens. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24193 a1c6a512-1295-4272-9138-f99709370657
* FS#10824 - viewport/statusbar API rework.Jonathan Gordon2009-12-09
| | | | | | | | | | | | | | | | 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
* Fix some drawing problems when displaying the WPS initially with sbs ↵Thomas Martitz2009-11-16
| | | | | | | | enabled. Move initial display of the wps to wps.c too. Should fix bug 3 of FS#10771. Also change GUI_EVENT_REFRESH event handling so that the passed drawing function is always called, not only when sbs or custom ui vp are used. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23644 a1c6a512-1295-4272-9138-f99709370657
* Add support for running Lua games/apps from the Plugins menuMaurus Cuelenaere2009-10-28
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23390 a1c6a512-1295-4272-9138-f99709370657
* Remove a few superfluous calls and use the correct symbol.Thomas Martitz2009-10-19
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23262 a1c6a512-1295-4272-9138-f99709370657
* Add a browse (remote) custom statusbar item in the theme settings.Thomas Martitz2009-10-19
| | | | | | Uses the same icon that browse wps uses for now. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23261 a1c6a512-1295-4272-9138-f99709370657
* Don't introduce a new string, instead reuse LANG_FAILED.Tomer Shalev2009-10-19
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23260 a1c6a512-1295-4272-9138-f99709370657
* Splash error message when loading language from dir browser failsTomer Shalev2009-10-19
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23259 a1c6a512-1295-4272-9138-f99709370657
* Initial custom statusbar commit.Thomas Martitz2009-10-19
| | | | | | | | | | | | | | | | | | | | 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
* Change the .lng files to contain strings from multiple users. Still ↵Tom Ross2009-10-18
| | | | | | 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
* Revert r23212, I committed it accidentally.Thomas Martitz2009-10-16
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23214 a1c6a512-1295-4272-9138-f99709370657
* initial custom statusbar commitThomas Martitz2009-10-16
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23212 a1c6a512-1295-4272-9138-f99709370657
* Fix a few problems with RTL, statusbar and custom ui viewport.Thomas Martitz2009-10-09
| | | | | | | *text in statusbar jumped around *custom ui vp wasn't refreshed properly on language changing. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23053 a1c6a512-1295-4272-9138-f99709370657
* Redraw the list after exiting the context menu to get rid of various ↵Thomas Martitz2009-09-20
| | | | | | non-blocking splashes in it if custom ui vp is used. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22744 a1c6a512-1295-4272-9138-f99709370657
* User definable UI viewport, to be able to restrict the UI into a viewport ↵Thomas Martitz2009-08-16
| | | | | | | | | | | | | 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
* Fix loading of multiple .wps/.rwps files in a row, by reloading all wpses ↵Thomas Martitz2009-08-16
| | | | | | upon loading one so that the skin buffer can be reset properly. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22354 a1c6a512-1295-4272-9138-f99709370657
* Add backdrop functions to the multiscreen api and add a enum backdrop_type ↵Thomas Martitz2009-08-06
| | | | | | parameter for different backdrops (main, wps), symplifying calls and removing dozens of #ifdefs (stubs added for non-backdrop displays that can't do backdrops). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22176 a1c6a512-1295-4272-9138-f99709370657
* A bit mroe wps/skin engine cleanup so that the structs the wps uses can be ↵Thomas Martitz2009-08-03
| | | | | | | | | static: -add wrappers wps_data_load() and wps_data_init() so that other code doesn't need the structs for that -change (and rename) gui_sync_wps_uses_albumart() to take points to be filled as parameter to get the AA size of a wps git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22139 a1c6a512-1295-4272-9138-f99709370657
* part two of the grand overall wps/skinning engine cleanup work:Jonathan Gordon2009-08-03
| | | | | | | | | | | | * 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
* Start of some apps/ and wps cleanup work... Move everything related to the ↵Jonathan Gordon2009-07-27
| | | | | | | | | 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
* Add a possibility for plugins to go directly to the WPS after exiting.Thomas Martitz2009-07-05
| | | | | | | It only works for plugins executed via the filebrowser for now. Those executed from the context menu or a simplelist (such as "Open With...") need additional hacking. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21680 a1c6a512-1295-4272-9138-f99709370657
* Fix a problem that the statusbar was redrawn to late and not really in sync ↵Thomas Martitz2009-06-08
| | | | | | with the lists when changing loading a (theme) .cfg or changing the colors witht the color picker. Now both, the statusbar and the tree lists are redrawn instantly after settings_apply() (even before the "Theme loaded" splash). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21222 a1c6a512-1295-4272-9138-f99709370657
* Don't go back to the settings after selecting a .cfg via the theme or cfg ↵Thomas Martitz2009-05-11
| | | | | | browser, as it's done for fonts. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20913 a1c6a512-1295-4272-9138-f99709370657
* Clean up some more #includesBertrik Sikken2009-03-08
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20243 a1c6a512-1295-4272-9138-f99709370657
* Commit FS#8314. This adds strnat[case]cmp written by Martin Pool, which ↵Thomas Martitz2009-03-01
| | | | | | | | | | respects numbers within strings, and gives a more intuitive sorting. This also adds a setting, so that the sorting can be used in the file browser. The implementation is very generic, and can possibly be used in other places. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20155 a1c6a512-1295-4272-9138-f99709370657