Commit graph

65 commits

Author SHA1 Message Date
Miika Pekkarinen
36e3081e8c Fixed the following critical bugs in tagcache engine: #5934 (or #5529,
thanks Uchida for the idea), deleting songs causes tagcache to corrupt
or fail and duplicate entries after commit with ramcache enabled.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11061 a1c6a512-1295-4272-9138-f99709370657
2006-09-26 11:23:18 +00:00
Miika Pekkarinen
45ab2a9126 Oops, fixed the errors.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11031 a1c6a512-1295-4272-9138-f99709370657
2006-09-23 11:02:09 +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
a85044bf9e New scheduler, with priorities for swcodec platforms. Frequent task
switching should be more efficient and tasks are stored in linked
lists to eliminate unnecessary task switching to improve performance.
Audio should no longer skip on swcodec targets caused by too CPU
hungry UI thread or background threads.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10958 a1c6a512-1295-4272-9138-f99709370657
2006-09-16 16:18:11 +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
9812765086 Fixed: With dircache+tagcache in RAM using Search by filename->Player
freezes.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10769 a1c6a512-1295-4272-9138-f99709370657
2006-08-27 14:58:46 +00:00
Miika Pekkarinen
6523ba44a9 Fixed performance problems when initializing tagcache.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10754 a1c6a512-1295-4272-9138-f99709370657
2006-08-26 09:24:20 +00:00
Miika Pekkarinen
93bbd44ccc Browse by year (now numeric tags are fully supported too).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10750 a1c6a512-1295-4272-9138-f99709370657
2006-08-25 21:13:49 +00:00
Miika Pekkarinen
53d26e5bbf Use uniqbuf for unique tags only.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10748 a1c6a512-1295-4272-9138-f99709370657
2006-08-25 15:20:10 +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
Peter D'Hoye
c4a59a290b eeprom driver for the h3x0 series, cleaned up the h1x0 series driver a bit, added debug entry for h3x0 that allows to write to the eeprom
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10597 a1c6a512-1295-4272-9138-f99709370657
2006-08-15 22:54:06 +00:00
Miika Pekkarinen
0c5ec36c7a Fixed a problem when using filename tag as a search clause.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10571 a1c6a512-1295-4272-9138-f99709370657
2006-08-14 15:35:23 +00:00
Miika Pekkarinen
e5059a7b0d FS#5806 with code cleanup.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10559 a1c6a512-1295-4272-9138-f99709370657
2006-08-13 14:53:19 +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
54ec1f5f6d Better UI response with playlist operations.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10544 a1c6a512-1295-4272-9138-f99709370657
2006-08-12 11:00:39 +00:00
Miika Pekkarinen
3b52bb9c68 Properly handle early USB mode, dircache and tagcache state files with
flashed rockbox.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10525 a1c6a512-1295-4272-9138-f99709370657
2006-08-11 10:13:16 +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
Jens Arnold
a5f42cba10 Fix warning when building without HAVE_TC_RAMCACHE.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10405 a1c6a512-1295-4272-9138-f99709370657
2006-08-02 06:57:13 +00:00
Miika Pekkarinen
7136fd9bb6 Nice diagram explaining better tagcache internals.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10316 a1c6a512-1295-4272-9138-f99709370657
2006-07-25 10:44:19 +00:00
Miika Pekkarinen
dafa0d4a70 Don't corrupt runtimedb when tagcache is loaded in ram.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10308 a1c6a512-1295-4272-9138-f99709370657
2006-07-24 15:35:46 +00:00
Miika Pekkarinen
9c0b54a80c Fixed bug in finding entry from disk by filename and not starting auto
update unless proper setting has been enabled.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10307 a1c6a512-1295-4272-9138-f99709370657
2006-07-24 12:10:50 +00:00
Miika Pekkarinen
4f93b30192 Don't write ram flags to disk (causes internal error).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10297 a1c6a512-1295-4272-9138-f99709370657
2006-07-23 17:31:35 +00:00
Miika Pekkarinen
86f07c7ccb Automatically import the changelog after initializing tagcache.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10295 a1c6a512-1295-4272-9138-f99709370657
2006-07-23 15:35:53 +00:00
Miika Pekkarinen
9161425b08 Fixed a bug in tagcache initialization.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10292 a1c6a512-1295-4272-9138-f99709370657
2006-07-23 14:28:12 +00:00
Miika Pekkarinen
29fa15f521 Better header checking. Only manually remove incorrect entries. Fixed
a bug and performance issue with find entry from disk by filename.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10291 a1c6a512-1295-4272-9138-f99709370657
2006-07-23 11:15:28 +00:00
Miika Pekkarinen
2a7aebdc48 Only ignore deleted entries (previously was corrupting the master
index).


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10286 a1c6a512-1295-4272-9138-f99709370657
2006-07-22 18:58:28 +00:00
Miika Pekkarinen
42d9b1593d Initialize the status structure correctly.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10280 a1c6a512-1295-4272-9138-f99709370657
2006-07-22 08:04:28 +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
0c5c7f2647 Killed one warning.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10220 a1c6a512-1295-4272-9138-f99709370657
2006-07-16 20:12:38 +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
df5d722c42 Filename tags were incorrectly retrieved from dircache when tagcache was loaded in
ram.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10202 a1c6a512-1295-4272-9138-f99709370657
2006-07-12 12:50:26 +00:00
Miika Pekkarinen
3bddace4f8 Don't skip before data has been read in.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10201 a1c6a512-1295-4272-9138-f99709370657
2006-07-12 08:58:18 +00:00
Miika Pekkarinen
4e19e6d20a Tagcache autoupdate without dircache was not functional at all.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10200 a1c6a512-1295-4272-9138-f99709370657
2006-07-12 06:59:08 +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
26ffc619a4 Need to reload tagcache in ram if dircache buffer has been stolen.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10025 a1c6a512-1295-4272-9138-f99709370657
2006-05-31 06:07:28 +00:00
Miika Pekkarinen
5127cfad1d Fixed incorrect memory allocation bug with tagcache.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10023 a1c6a512-1295-4272-9138-f99709370657
2006-05-30 18:13:18 +00:00
Miika Pekkarinen
d6af04ba91 Load uniqued tags correctly at commit (should fix duplicates). Try
first dircache buffer as it's usually bigger.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10003 a1c6a512-1295-4272-9138-f99709370657
2006-05-28 09:59:24 +00:00
Miika Pekkarinen
196b770a96 Init dircache after applying settings and use a splash. Possible prevent
some type of buffer overflow with tagcache.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9997 a1c6a512-1295-4272-9138-f99709370657
2006-05-27 11:21:08 +00:00
Miika Pekkarinen
5a33784ba3 Fixed a problem with tagcache search skipping long tags. Thanks for
Gaetano for finding the problem and providing a fix.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9914 a1c6a512-1295-4272-9138-f99709370657
2006-05-11 19:21:20 +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
f9bfd73a24 Fixed: Generate chunked playlist correctly, don't sort <All tracks>
entry and don't return a NULL file pointer and crash.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9733 a1c6a512-1295-4272-9138-f99709370657
2006-04-19 18:56:59 +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
3b31346103 Commit tagcache in background when possible (at least dircache enabled).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9686 a1c6a512-1295-4272-9138-f99709370657
2006-04-16 17:32:54 +00:00
Miika Pekkarinen
24bf89259e Fixed a bug in retrieving track filename when tagcache is loaded in ram.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9641 a1c6a512-1295-4272-9138-f99709370657
2006-04-13 07:15:30 +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
Miika Pekkarinen
58fe4dea05 Major improvement in playlist creation speed with tagcache. Fixed also
the sorting bug.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9592 a1c6a512-1295-4272-9138-f99709370657
2006-04-10 10:26:24 +00:00