pfarrell;274934 Wrote: 
> 
> The key to doing this is to not only stop using the genre/artist/album
> structure, but to not expect that the tags are the be-all and end-all.
> 
> Its a relational database, focusing on flat tags is a severe
> limitation. It does mean that some actions are harder, a 'rescan' can't
> just throw away the whole database.
> 
> I want to use the files and their tags as just one data source. This
> will mean that we have to define concepts of external data, how we sync
> the external data to the flac files, etc. But its all doable, its just a
> SMOP
> 
> (Small matter of programming).
> 
Even though I completely agree with you, I've got the impression that
Logitech wants to avoid letting SlimServer be a library manager. This
is something that has been stated several times unless I've totally
misunderstood things. Unless I misunderstand what you are saying, you
are basically saying that you like to start the road into making
SlimServer a library manager. Of course, a library manager could mean
several things, one is to not discard data during rescan, another it
making data editable from SlimServer even though not changing the tags
in the files and a third is making it possible for SlimServer to
actually manage the music files.

I've done some work in this direction with TrackStat and Custom Scan
plugin. When doing this as plugins I had to create separate tables to
make sure SlimServer didn't clear my data during a rescan. The number
of hooks to hook into the scanning operation is also currently a bit
limited and hard-coded, but it is getting better for every release.
On of the main problem you will get into is that there is no unique id
for the objects in the standard SlimServer database that will survive a
rescan. The id-columns in the database will change in a rescan, the url
will also change if you have moved or renamed a file. The only partly
unique id is the musicbrainz tag information, but not all people are
using musicbrainz tag.

TrackStat makes sure ratings, play counts and last played time
statistics is persisted over rescans. It does this by handling this
information my it self and synchronizing it with the standard
SlimServer tables at the end of a rescan. The main problem with the
TrackStat solution today is that it uses the url as a key which is
defined as a 'text' field in the standard SlimServer tables which
results in pretty poor performance when joining the data with the
standard SlimServer tables.

Custom Scan scans information from external sources, it contains
scanning modules to scan information from custom tags in the music
files, from amazon.com, from lastfm.com. The information is currently
stored in a number of flat tables. The major problem here is that these
flat tables is getting pretty large if you have a large library, the
result is poor performance when using the information for browsing the
library. It would be possible to change the database layout to a more
relational based structure and this should improve the performance, but
I haven't got the time to do this yet.

I've stated earlier that if anyone is interesting in taking over or
helping to implement functionality or changing my plugins this is very
welcome, just let me know.
http://forums.slimdevices.com/showthread.php?t=41583

However, I also feel that as long as these things are done through
plugins it won't get integrated enough into the SlimServer standard
functions. The main problem is that if you use separate tables this
also means that they won't be used by the standard SlimServer browsing
and searching mechanisms, so you basically end up re-implementing all
browsing and searching code currently available in SlimServer. This is
what I had to do for browsing in the Custom Browse plugin which
provides the browsing mechanism for the data scanned with the Custom
Scan plugin.
IMO, the best way would really be if the standard SlimServer started to
use the database as a real relational database and not just a cache for
the tag information in the music files. However, this require that
Logitech also plans to go into this direction,  which I've got the
impression that they currently don't.

As a side note, I think vrobin is doing some work outside SlimServer
that is going to make it possible to retrieve different information
from various online internet sites and store it into XML files.


-- 
erland

Erland Isaksson
'My homepage' (http://erland.homeip.net) 'My download page'
(http://erland.homeip.net/download)
(Developer of 'TrackStat, SQLPlayList, DynamicPlayList, Custom Browse,
Custom Scan,  Custom Skip, Multi Library and Database Query plugins'
(http://wiki.erland.homeip.net/index.php/Category:SlimServer))
------------------------------------------------------------------------
erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=43851

_______________________________________________
ripping mailing list
[email protected]
http://lists.slimdevices.com/lists/listinfo/ripping

Reply via email to