Re: xmltree and mdb
kristian kvilekval <[email protected]> Mon, 23 May 2005 14:24:27 -0700
| Newsgroups | gmane.comp.audio.zinf.devel |
|---|---|
| Message-ID | <[email protected]> |
Yes, I see your point.. I didn't try it on directories. We need a way to know that the cache is incomplete and therefore other sources should be searched again for the incomplete tags. The cache should also be a union of queries instead of simply a cache of the last query. I had thought of time stamping the keys. The first time a key is searched on the timestamp would be 0, and after that the timestamp would come from the winning metadata source. However, I didn't want to add the complexity. Another way would be to allow searches based on the original algorithm: look at all the sources until the set of keys is fulfilled combined with a good default meta datasource (fill all unknown keys with a default value). I'll look into it. On Mon, 2005-05-23 at 21:57 +0100, David Hough wrote: > On Fri, 20 May 2005 20:58:38 +0100, kristian kvilekval <[email protected]> > wrote: > > > > I've added checks to make sure we don't search data sources > > that have not been updated since the last time we cached. > > > ... > > > > Kris > > I've just been playing around with this, and I've come across a > potentionally serious problem. Effectively the metadata tags requested for > a particular url the first time a request on that url is made, are the > only ones that can be looked up if others weren't found while looking for > them. > For example, if you are browsing a directory in the tree that contains a > subdirectory of music, and you double click the sub dir without opening > it, the tracks appear blank on the playlist. > > This is becasuse the tree does a request for expandable;playable tags on > each track first to check if they should be added to the playlist. MusicDb > will then search Cache->MkDatabase->TreeDb and store the > expandable;playable metadata in the cache. (Note: I'm assuming the tracks > aren't in MkDatabase). > > When the playlist then searchs for title;album;... the MusicDb searchs the > Cache and gets a response. However, it then doesn't search any of the > other sources as they're all older then the cache, so title;album;... is > never found. > > Basically, it's assuming that newer sources always have all the metadata > from all the older sources which isn't always true. > > Unfortunatly, I'm at a loss on how to solve this if we don't store a list > of sources that we're searched to generate the cache. Any ideas? > > Cheers, > David -- Kristian Kvilekval [email protected] http://www.cs.ucsb.edu/~kris w:805-893-2526 h:504-9756 ------------------------------------------------------- This SF.Net email is sponsored by Oracle Space Sweepstakes Want to be the first software developer in space? Enter now for the Oracle Space Sweepstakes! http://ads.osdn.com/?ad_id=7412&alloc_id=16344&op=click