Commit graph

57 commits

Author SHA1 Message Date
Miika Pekkarinen
d8bb6701e7 Fixed a possible index id destruction and temporary problems with the DB when DB has been loaded to ram, dircache enabled and statistics gathering ON. Fixed serial (affecting last played song order) being one too low after importing the changelog. A bit of code cleanup and comments also.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18363 a1c6a512-1295-4272-9138-f99709370657
2008-08-29 21:14:58 +00:00
Daniel Stenberg
2acc0ac542 Updated our source code header to explicitly mention that we are GPL v2 or
later. We still need to hunt down snippets used that are not. 1324 modified
files...
http://www.rockbox.org/mail/archive/rockbox-dev-archive-2008-06/0060.shtml


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17847 a1c6a512-1295-4272-9138-f99709370657
2008-06-28 18:10:04 +00:00
Bertrik Sikken
f8a641d6f8 Renamed build_tagcache to tagcache_build to make it consistent with the function naming of the other functions in tagcache.c
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17331 a1c6a512-1295-4272-9138-f99709370657
2008-05-03 16:23:37 +00:00
Bertrik Sikken
e15f8a21a9 Made source files #include the header file that they implement to make sure they are in sync. Made some local functions static.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17312 a1c6a512-1295-4272-9138-f99709370657
2008-05-03 08:35:14 +00:00
Steve Bavin
565de61222 Tiny fix of spelling in comment.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16800 a1c6a512-1295-4272-9138-f99709370657
2008-03-25 15:47:31 +00:00
Miika Pekkarinen
025d1e291a Fixed red, forgot to commit header changes.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16332 a1c6a512-1295-4272-9138-f99709370657
2008-02-17 19:11:16 +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
Robert Kukla
c436657571 some improvements to FS#8008 - see tracker entry for details
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15371 a1c6a512-1295-4272-9138-f99709370657
2007-10-30 10:02:57 +00:00
Jonathan Gordon
75eff7af5e rework my previous commit (FS#8008) to be able to work for any of the strings in the id3 info struct, new ones need to be added to tagtree.c and tagnavi.config
*currently available tags are* #title# #artist# #album# #genre# #composer# #albumartist# and #directory# 


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15358 a1c6a512-1295-4272-9138-f99709370657
2007-10-29 14:10:24 +00:00
Jonathan Gordon
4d18aa3546 Accept FS#8008 - allows the current artist or album to be used in databse searches (use the #artist# or #album# keywords in tagnavi.config)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15354 a1c6a512-1295-4272-9138-f99709370657
2007-10-29 12:02:55 +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
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
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
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
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
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
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
Miika Pekkarinen
4e9766477b FS#6638 - Album artist and comment patch for WPS and tagcache. Export
your database before updating because initialization is needed.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12255 a1c6a512-1295-4272-9138-f99709370657
2007-02-10 12:09:28 +00:00
Jonas Häggqvist
6b1d2cbd82 Tag cache renamed to the less cryptic "Database" throughout the UI and manual. No functional changes.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11588 a1c6a512-1295-4272-9138-f99709370657
2006-11-25 09:42:06 +00:00
Miika Pekkarinen
f752a5aa90 Check if file has already been removed from DB when manually invoking
reverse scan.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11556 a1c6a512-1295-4272-9138-f99709370657
2006-11-19 19:11:30 +00:00
Miika Pekkarinen
0dd7ea2d71 Support building tagcache db natively on PC using the core of the
Rockbox tagcache database engine. Only host endian support at the
moment and no command line parameters. Mainly for developers for
debugging at the moment.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11497 a1c6a512-1295-4272-9138-f99709370657
2006-11-10 08:03:33 +00:00
Miika Pekkarinen
649fc77aea Don't fail with very long lines.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11342 a1c6a512-1295-4272-9138-f99709370657
2006-10-25 15:14:15 +00:00
Jonathan Gordon
710ccb7b48 ifdef all the tagcache code, allows rombox to be compiled again, Thanks Austin Appel
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11338 a1c6a512-1295-4272-9138-f99709370657
2006-10-25 10:17:57 +00:00
Miika Pekkarinen
02df5a8068 Allow all tag type in formatting string. Included example with
tagnavi.config.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11324 a1c6a512-1295-4272-9138-f99709370657
2006-10-24 16:20:48 +00:00
Miika Pekkarinen
b89b5ba2ee (1) New syntax to support conditional formatting.
(2) Reduced tagnavi memory consumption.
(3) There was a bug that splash screen counter was counting down when
inserting tracks next. But in fact that might be preferred, so always
count down after successful tagcache query.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11223 a1c6a512-1295-4272-9138-f99709370657
2006-10-15 11:01:18 +00:00
Miika Pekkarinen
3b7111e6ea FS#6155: "oneof" oeprator limited to a list of 3 or less values.
Increased clause string length to 128.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11166 a1c6a512-1295-4272-9138-f99709370657
2006-10-10 10:29:42 +00:00
Miika Pekkarinen
be2eb02d7a FS#6137: add "oneof" operator to tagnavi.conf syntax.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11157 a1c6a512-1295-4272-9138-f99709370657
2006-10-09 10:23:35 +00:00
Miika Pekkarinen
812cbad890 Fixed find_index returning incorrect entry unless entries are found.
Commit all numeric tags at once and set a flag if tracknumber has been
guessed. Cleaned up temporary file creation.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11122 a1c6a512-1295-4272-9138-f99709370657
2006-10-04 09:05:01 +00:00
Miika Pekkarinen
6ee82e702c Properly shutdown audio playback early and flush system, including not
hanging tagcache. Fixed also tagcache line buffer running out when
importing a changelog with very long lines.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11030 a1c6a512-1295-4272-9138-f99709370657
2006-09-23 10:29:14 +00:00
Miika Pekkarinen
4294615192 Fixed tagcache returning incorrect entries.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10810 a1c6a512-1295-4272-9138-f99709370657
2006-08-30 18:18:37 +00:00
Miika Pekkarinen
e308064353 Tagcache: Don't show duplicate entries and automatically inherit
clauses for correct search results.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10746 a1c6a512-1295-4272-9138-f99709370657
2006-08-25 13:22:46 +00:00
Miika Pekkarinen
33d9104078 FS#5805 NOT operator for tagnavi.config by Jochen Kemnade.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10558 a1c6a512-1295-4272-9138-f99709370657
2006-08-13 12:33:34 +00:00
Miika Pekkarinen
c2eb67bc9f Unload tagcache from ram when entering USB mode.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10496 a1c6a512-1295-4272-9138-f99709370657
2006-08-09 07:41:28 +00:00
Miika Pekkarinen
954b732654 Initial support and use for EEPROM memory on H120 & H140 players when
Rockbox firmware has been flashed over original firmware (not yet
possible to do). Dircache & tagcache serialization for fast bootup
without the need to scan disk when Rockbox is in flash.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10464 a1c6a512-1295-4272-9138-f99709370657
2006-08-05 20:19:10 +00:00
Miika Pekkarinen
d8ac607418 Tagcache: Fixed runtime stats not being gathered when tagcache is kept
on disk. Initial attempt to make tagcache thread safe. Replaced a few
direct buffer allocations with buffer_alloc from tagcache and dircache
where possible.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10415 a1c6a512-1295-4272-9138-f99709370657
2006-08-02 17:39:34 +00:00
Miika Pekkarinen
a47bd73f3e Removed the 10000 files static commmit-time limit from tagcache.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10278 a1c6a512-1295-4272-9138-f99709370657
2006-07-22 07:09:57 +00:00
Miika Pekkarinen
cb8c795415 Support importing runtimedb data from ascii files.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10260 a1c6a512-1295-4272-9138-f99709370657
2006-07-20 12:19:31 +00:00
Miika Pekkarinen
0042201bb3 Initial changelog support (only export, no import yet) and added
an option to search by filename.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10219 a1c6a512-1295-4272-9138-f99709370657
2006-07-16 15:04:46 +00:00
Miika Pekkarinen
45dfe2a36f Initial runtimedb support for tagcache. Only for developers,
statistical data will be lost in future until changelogs has been
implemented.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10217 a1c6a512-1295-4272-9138-f99709370657
2006-07-15 17:36:25 +00:00
Miika Pekkarinen
9cd5c3e119 Tagcache update: Support removal of entries and no longer the need for
dircache to load tagcache in ram (however, dircache with tagcache is
still strongly recommended).


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10192 a1c6a512-1295-4272-9138-f99709370657
2006-07-10 16:22:03 +00:00
Miika Pekkarinen
4142710a47 Much faster optimized version of tagcache commit. Added a few items to
the debug menu (still buggy) and fixed a problem with partial tagcache
updates.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9775 a1c6a512-1295-4272-9138-f99709370657
2006-04-23 18:47:26 +00:00
Miika Pekkarinen
fa893c6b88 Performance optimizations for tagcache commit. Still more left to be done.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9721 a1c6a512-1295-4272-9138-f99709370657
2006-04-18 18:56:56 +00:00
Miika Pekkarinen
1b18dd0f17 Show progress while committing tagcache.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9637 a1c6a512-1295-4272-9138-f99709370657
2006-04-12 10:31:24 +00:00