Commit graph

131 commits

Author SHA1 Message Date
Miika Pekkarinen
6ab1c90513 FS#8707 - Enable "Load to RAM" (HAS_TC_RAMCACHE) compilation without Directory Cache (HAS_DIRCACHE).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16594 a1c6a512-1295-4272-9138-f99709370657
2008-03-09 20:33:19 +00:00
Miika Pekkarinen
9eec03faa5 FS#8565 - fix for runtime data causing extra spin ups. Included a debug menu update also.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16330 a1c6a512-1295-4272-9138-f99709370657
2008-02-17 18:35:27 +00:00
Marcoen Hirschberg
2d12b253ae add support for database.unignore files (adds dirs to the database which would be skipped because of a database.ignore file)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16214 a1c6a512-1295-4272-9138-f99709370657
2008-02-04 21:20:04 +00:00
Peter D'Hoye
b4f80fb93f Fix a bug in tagcache tag length check, thanks to Rhino Banga.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16166 a1c6a512-1295-4272-9138-f99709370657
2008-01-25 21:21:41 +00:00
Miika Pekkarinen
784112a075 Fixed the red.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16083 a1c6a512-1295-4272-9138-f99709370657
2008-01-13 19:34:49 +00:00
Miika Pekkarinen
39c597b5e1 Always check for deleted files, no matter how slow it might be when DB autoupdate is enabled. Also simplified code a bit. Fixed a crash when search is performaed and dircache has been vanished and DB is still exists ram.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16081 a1c6a512-1295-4272-9138-f99709370657
2008-01-13 19:13:37 +00:00
Miika Pekkarinen
f008da7db4 FS#8423 - Fixes quirks in routine used to remove obsolote entries from tagcache. This might fix FS#8414 and should fix FS#8384. Thanks to Lee Kang Hyuk.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16016 a1c6a512-1295-4272-9138-f99709370657
2008-01-07 15:10:49 +00:00
Miika Pekkarinen
21735eb91b Preserve song statistics when moving files or altering metadata. Conditions required to apply: song length must not change AND either filenames (with path) must match or two of the following tags matches: artist, album, title. IMPORTANT: Currently dircache enabled and DB loaded to RAM is required for reliable operation of this feature.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15955 a1c6a512-1295-4272-9138-f99709370657
2007-12-18 21:50:29 +00:00
Miika Pekkarinen
f6039466fb Added file modify time field to the DB. Now metadata changes should be detected with database autoupdate enabled. Runtime statistics are not yet preserved. Preserving statistics over moving of files and altering metadata is going to be implemented next. IMPORTANT: Export database before upgrading.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15946 a1c6a512-1295-4272-9138-f99709370657
2007-12-16 21:10:26 +00:00
Miika Pekkarinen
ded6554cb0 Free resources properly. Fixes all kind of strange issues (shutdown problems with dircache and dirfds running out) with the newly added database.ignore -feature.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15780 a1c6a512-1295-4272-9138-f99709370657
2007-11-23 18:32:00 +00:00
Robert Kukla
d87b037efe consolidate the 3 file_exists() functions into one; use the version that explicitly uses dircache; give dir_exists() the same treatment for consistency
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15742 a1c6a512-1295-4272-9138-f99709370657
2007-11-21 21:28:27 +00:00
Jonathan Gordon
c31ffae440 FS#5690 - folders with a file named database.ignore will be skipped by the database when it rebuilds, (this includes any subdirs in that fodler)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15738 a1c6a512-1295-4272-9138-f99709370657
2007-11-21 13:37:45 +00:00
Miika Pekkarinen
caff835d78 Fixed debug menu crashing. Show last file processed by tagcache engine in debug menu. Enabled autoupdating of deleted files for flash storage devices.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15244 a1c6a512-1295-4272-9138-f99709370657
2007-10-21 11:06:30 +00:00
Michael Sevakis
84f5c5c3e3 Take out some NOCACHEBSS_ATTR's that were accidentally left. Put some threading code in IRAM that should be there on PP502x.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15155 a1c6a512-1295-4272-9138-f99709370657
2007-10-16 22:00:51 +00:00
Michael Sevakis
a9b2fb5ee3 Finally full multicore support for PortalPlayer 502x targets with an eye towards the possibility of other types. All SVN targets the low-lag code to speed up blocking operations. Most files are modified here simple due to a name change to actually support a real event object and a param change to create_thread. Add some use of new features but just sit on things for a bit and leave full integration for later. Work will continue on to address size on sensitive targets and simplify things if possible. Any PP target having problems with SWP can easily be changed to sw corelocks with one #define change in config.h though only PP5020 has shown an issue and seems to work without any difficulties.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15134 a1c6a512-1295-4272-9138-f99709370657
2007-10-16 01:25:17 +00:00
Nicolas Pennequin
67f5082710 Use a struct mp3entry instead of a struct trackinfo for temporary storage of the metadata.
In the same spirit as r14326, it makes MoB "easier".


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14943 a1c6a512-1295-4272-9138-f99709370657
2007-10-01 20:06:21 +00:00
Thom Johansen
294ec1d110 Remove the ID3 tag version priority setting on the grounds of it being pretty pointless. ID3v2 tags are superior to ID3v1 tags, and needs less seeking around to find.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14750 a1c6a512-1295-4272-9138-f99709370657
2007-09-19 10:40:55 +00:00
Miika Pekkarinen
e461f2ec18 Fixed an out of buffer boundaries lookup when database has been loaded in ram.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14720 a1c6a512-1295-4272-9138-f99709370657
2007-09-15 22:45:08 +00:00
Nicolas Pennequin
6a92e475ac Make get_metadata act on a struct mp3entry rather than a struct track_info.
This should make it easy to use a buffer handle to put the ID3 data in.
The changes in get_metadata are mostly search and replace. The only thing
it actually used to do on the struct track_info was set taginfo_ready to
true.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14326 a1c6a512-1295-4272-9138-f99709370657
2007-08-14 11:56:13 +00:00
Dan Everton
eecfe9f1cb Add support for grouping tags. From FS#7362.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14242 a1c6a512-1295-4272-9138-f99709370657
2007-08-08 10:19:56 +00:00
Dan Everton
f4a61f0c4a Add support for parsing the disc number tag from metadata and use of it in the database. Patch originally from FS#4961 with some minor tweaks by me.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14154 a1c6a512-1295-4272-9138-f99709370657
2007-08-03 10:00:42 +00:00
Miika Pekkarinen
9d756e2760 Queue song statistical data to the tagcache system and update entirely in background. Fixes ratings disappearing or not saving in the DB at all. Fixes also UI delay when stopping playback and new statistics are committed to DB.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13955 a1c6a512-1295-4272-9138-f99709370657
2007-07-21 17:35:19 +00:00
Kevin Ferrare
011a325e32 Makes apps and plugins interract with directories using a posix-like api instead of calling dircache / simulator functions (no additionnal layer added, only a cosmetic change)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13943 a1c6a512-1295-4272-9138-f99709370657
2007-07-20 17:06:55 +00:00
Dan Everton
00dd14922b When building the database and a track doesn't have an album artist tag, copy the value from the artist tag. This should make browsing through album artist in the database a bit nicer. Same as FS# 7342 but different. You may need to rebuild your database to actually see any change.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13710 a1c6a512-1295-4272-9138-f99709370657
2007-06-25 11:33:21 +00:00
Miika Pekkarinen
4cee8d9354 Prevent destroying dircache pointers in tagcache DB while updating runtime stats.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13498 a1c6a512-1295-4272-9138-f99709370657
2007-05-27 11:40:55 +00:00
Dave Chapman
1feb8bd4a1 Minor header file cleanup - try and include the minimal number of files, and only where they are needed.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13344 a1c6a512-1295-4272-9138-f99709370657
2007-05-07 13:32:56 +00:00
Miika Pekkarinen
b1ff1ea303 Improved speed when deleting tags and prevent remaining ghost entries with database loaded in ram.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13284 a1c6a512-1295-4272-9138-f99709370657
2007-04-29 14:40:59 +00:00
Miika Pekkarinen
5e47daa944 Now track total playtime should be accessible as well by using Pm and Ps virtual tags.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13133 a1c6a512-1295-4272-9138-f99709370657
2007-04-12 20:21:56 +00:00
Miika Pekkarinen
9d9937a0ad Added virtual tags in database to break track length to minutes and seconds.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13132 a1c6a512-1295-4272-9138-f99709370657
2007-04-12 20:14:05 +00:00
Robert Kukla
226cb7b0b8 Rating support for database and WPS (based on FS# 6301). A value between 0 and 10 can be assigned to the currently playing track using the WPS context menu. This value is displayed in the WPS using the %rr tag (replacing autoscore) and can be used as "rating" in tagnavi.config (examples provided).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12922 a1c6a512-1295-4272-9138-f99709370657
2007-03-26 15:08:59 +00:00
Michael Sevakis
3354531614 More logf fixes. speex.c wants to format 64bit args so I didn't change that one nor add any formatting for that.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12858 a1c6a512-1295-4272-9138-f99709370657
2007-03-20 13:53:23 +00:00
Magnus Holmgren
01a010fd19 Fix several printf-style warnings in logf builds.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12830 a1c6a512-1295-4272-9138-f99709370657
2007-03-18 09:50:53 +00:00
Miika Pekkarinen
408dfd65ad Fixed database displaying duplicate entries after deleting tracks and database not loaded to ram.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12720 a1c6a512-1295-4272-9138-f99709370657
2007-03-11 08:52:33 +00:00
Steve Bavin
6d7f68c030 Yield regularly during commits so the UI doesn't lock up
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12709 a1c6a512-1295-4272-9138-f99709370657
2007-03-10 14:34:56 +00:00
Steve Bavin
149bc03d86 Really don't try to initialise while the database status is unknown
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12684 a1c6a512-1295-4272-9138-f99709370657
2007-03-08 08:20:30 +00:00
Steve Bavin
8137489e2b Lead user through database initialisation
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12678 a1c6a512-1295-4272-9138-f99709370657
2007-03-07 19:56:15 +00:00
Steve Bavin
5eb2967428 Sort tagcache so that <Untagged> appears alongside <All tracks>
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12667 a1c6a512-1295-4272-9138-f99709370657
2007-03-07 10:52:19 +00:00
Daniel Ankers
82f9056988 Dual core support for PP502x players (iPod G4 and later, iriver h10, Sansa - iPod G3 will be coming soon.) This allows threads to be run on either core provided that all communications between the cores is done using uncached memory. There should be no significant change in battery life from doing this. Documentation (on the RockboxKernel wiki page) will follow shortly.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12601 a1c6a512-1295-4272-9138-f99709370657
2007-03-04 20:06:41 +00:00
Magnus Holmgren
74e572c9d6 Do the '<Untagged>' check in a more compact way.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12600 a1c6a512-1295-4272-9138-f99709370657
2007-03-04 19:54:49 +00:00
Linus Nielsen Feltzing
416218660a Ignore me. I am silly.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12599 a1c6a512-1295-4272-9138-f99709370657
2007-03-04 19:30:03 +00:00
Linus Nielsen Feltzing
55e1b531db You can not use sizeof to find the length of a string
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12598 a1c6a512-1295-4272-9138-f99709370657
2007-03-04 19:26:41 +00:00
Robert Kukla
ce63fcf6ab don't hard code size
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12597 a1c6a512-1295-4272-9138-f99709370657
2007-03-04 19:14:13 +00:00
Robert Kukla
28530bc61a don't display "<Untagged>" (tagcache place holder for empty string) in wps
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12595 a1c6a512-1295-4272-9138-f99709370657
2007-03-04 17:30:12 +00:00
Robert Kukla
79a2a936a2 remove numerical genre and use genre_string consistently:
- fix spurious display of "blues" genre for missing genre tag 
- simplify code/use less code
- numerical->string conversion only once instead of at every use

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12552 a1c6a512-1295-4272-9138-f99709370657
2007-03-02 21:49:42 +00:00
Jonathan Gordon
91cb68a1fb Introducing the root menu!
Blind users: get a new voice file as there are lots of lang changes and new strings.
FS#6630 or RootMenu on the wiki for more info. complaints to /dev/null :)



git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12528 a1c6a512-1295-4272-9138-f99709370657
2007-03-01 11:14:46 +00:00
Jonathan Gordon
8ca99d3288 Code Police: Remove tabs throught apps/ . Hopefully no actual code
change


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12504 a1c6a512-1295-4272-9138-f99709370657
2007-02-27 11:09:09 +00:00
Miika Pekkarinen
f5184f34bf Cleaned up code a bit, fixed possible bug during committing numeric indices and made code more fault tolerant. Added a new numeric tag making it possible to list recently added tracks. Export your DB.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12482 a1c6a512-1295-4272-9138-f99709370657
2007-02-25 20:41:51 +00:00
Miika Pekkarinen
fcf8145fee Fixed database export crashing with long tags. And failing without DB loaded to RAM due to the recently added new tags in DB, thus reaching the fd limit.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12481 a1c6a512-1295-4272-9138-f99709370657
2007-02-25 19:01:32 +00:00
Linus Nielsen Feltzing
aa8761fccc Shave a few bytes off the binary size, especially on hwcodec targets
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12323 a1c6a512-1295-4272-9138-f99709370657
2007-02-15 22:55:22 +00:00
Miika Pekkarinen
9b9539c8d3 Make database endianess independent.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12297 a1c6a512-1295-4272-9138-f99709370657
2007-02-13 21:51:18 +00:00