diff options
author | Miika Pekkarinen <miipekk@ihme.org> | 2007-12-16 21:10:26 +0000 |
---|---|---|
committer | Miika Pekkarinen <miipekk@ihme.org> | 2007-12-16 21:10:26 +0000 |
commit | f6039466fb275f55be16113bbbf46872f90862c8 (patch) | |
tree | 5ab33d8b5b933266f5dcdcffe8e7711e25e5b6a8 /apps/tagcache.h | |
parent | 646d39ec4e51c2736737a5689f37256e31db2620 (diff) | |
download | rockbox-f6039466fb275f55be16113bbbf46872f90862c8.tar.gz rockbox-f6039466fb275f55be16113bbbf46872f90862c8.zip |
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
Diffstat (limited to 'apps/tagcache.h')
-rw-r--r-- | apps/tagcache.h | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/apps/tagcache.h b/apps/tagcache.h index 39f0c61f7e..879cf66fbd 100644 --- a/apps/tagcache.h +++ b/apps/tagcache.h | |||
@@ -25,13 +25,13 @@ | |||
25 | enum tag_type { tag_artist = 0, tag_album, tag_genre, tag_title, | 25 | enum tag_type { tag_artist = 0, tag_album, tag_genre, tag_title, |
26 | tag_filename, tag_composer, tag_comment, tag_albumartist, tag_grouping, tag_year, | 26 | tag_filename, tag_composer, tag_comment, tag_albumartist, tag_grouping, tag_year, |
27 | tag_discnumber, tag_tracknumber, tag_bitrate, tag_length, tag_playcount, tag_rating, | 27 | tag_discnumber, tag_tracknumber, tag_bitrate, tag_length, tag_playcount, tag_rating, |
28 | tag_playtime, tag_lastplayed, tag_commitid, | 28 | tag_playtime, tag_lastplayed, tag_commitid, tag_mtime, |
29 | /* Virtual tags */ | 29 | /* Virtual tags */ |
30 | tag_virt_length_min, tag_virt_length_sec, | 30 | tag_virt_length_min, tag_virt_length_sec, |
31 | tag_virt_playtime_min, tag_virt_playtime_sec, | 31 | tag_virt_playtime_min, tag_virt_playtime_sec, |
32 | tag_virt_entryage, tag_virt_autoscore }; | 32 | tag_virt_entryage, tag_virt_autoscore }; |
33 | 33 | ||
34 | #define TAG_COUNT 19 | 34 | #define TAG_COUNT 20 |
35 | 35 | ||
36 | /* Maximum length of a single tag. */ | 36 | /* Maximum length of a single tag. */ |
37 | #define TAG_MAXLEN (MAX_PATH*2) | 37 | #define TAG_MAXLEN (MAX_PATH*2) |
@@ -43,7 +43,7 @@ enum tag_type { tag_artist = 0, tag_album, tag_genre, tag_title, | |||
43 | #define IDX_BUF_DEPTH 64 | 43 | #define IDX_BUF_DEPTH 64 |
44 | 44 | ||
45 | /* Tag Cache Header version 'TCHxx'. Increment when changing internal structures. */ | 45 | /* Tag Cache Header version 'TCHxx'. Increment when changing internal structures. */ |
46 | #define TAGCACHE_MAGIC 0x5443480b | 46 | #define TAGCACHE_MAGIC 0x5443480c |
47 | 47 | ||
48 | /* How much to allocate extra space for ramcache. */ | 48 | /* How much to allocate extra space for ramcache. */ |
49 | #define TAGCACHE_RESERVE 32768 | 49 | #define TAGCACHE_RESERVE 32768 |
@@ -72,10 +72,23 @@ enum tag_type { tag_artist = 0, tag_album, tag_genre, tag_title, | |||
72 | #define TAGCACHE_MAX_CLAUSES 32 | 72 | #define TAGCACHE_MAX_CLAUSES 32 |
73 | 73 | ||
74 | /* Tag database files. */ | 74 | /* Tag database files. */ |
75 | |||
76 | /* Temporary database containing new tags to be committed to the main db. */ | ||
75 | #define TAGCACHE_FILE_TEMP ROCKBOX_DIR "/database_tmp.tcd" | 77 | #define TAGCACHE_FILE_TEMP ROCKBOX_DIR "/database_tmp.tcd" |
78 | |||
79 | /* Database containing deleted entries with runtime statistics. */ | ||
80 | #define TAGCACHE_FILE_DELETED ROCKBOX_DIR "/database_del.tcd" | ||
81 | |||
82 | /* The main database master index and numeric data. */ | ||
76 | #define TAGCACHE_FILE_MASTER ROCKBOX_DIR "/database_idx.tcd" | 83 | #define TAGCACHE_FILE_MASTER ROCKBOX_DIR "/database_idx.tcd" |
84 | |||
85 | /* The main database string data. */ | ||
77 | #define TAGCACHE_FILE_INDEX ROCKBOX_DIR "/database_%d.tcd" | 86 | #define TAGCACHE_FILE_INDEX ROCKBOX_DIR "/database_%d.tcd" |
87 | |||
88 | /* ASCII dumpfile of the DB contents. */ | ||
78 | #define TAGCACHE_FILE_CHANGELOG ROCKBOX_DIR "/database_changelog.txt" | 89 | #define TAGCACHE_FILE_CHANGELOG ROCKBOX_DIR "/database_changelog.txt" |
90 | |||
91 | /* Serialized DB. */ | ||
79 | #define TAGCACHE_STATEFILE ROCKBOX_DIR "/database_state.tcd" | 92 | #define TAGCACHE_STATEFILE ROCKBOX_DIR "/database_state.tcd" |
80 | 93 | ||
81 | /* Flags */ | 94 | /* Flags */ |