AVS Forum banner
Status
Not open for further replies.
1 - 20 of 24 Posts

·
Registered
Joined
·
919 Posts
Discussion Starter · #1 ·
Can someone recommend a really good database manager for Winamp.


What I would like to find is a database front end that would give me functionality similar to MusicMatch or better yet, SIREN Jukebox.


Ideally, it would let me display and edit all the standard ID3v2 tags (or equivalent for other formats) and let me add an unlimited number of custom fields.


A couple of custom field types that would be important would be a 'rating' field. Which would let me set a range, like 1 - 10, or 0 -5 with 1/2 step interval. I would also like to apply ratings to genres, artists and albums. This would require some sort of multi-level functionality. Another type would let me create a selection list - for example, you could have a field called 'mood' and it would have a list of moods to choose from like happy, mellow, depressing, etc. (kind of like what MusicMatch has).


It would be really important that the database records the user's play history. First, it would allow you to identify the listener(s) through some sort of log-in procedure, then it would record when the tracks were played, including time of day, and keep a count of how many times it was played.


I would like to display tracks dynamically with filters, groups and sorts.


For example, with filters, I could display only tracks that were produced between 'years' 1980 and 1990. Or, I could create a filter for all songs I haven't played on my system ( 'played' = 0). I would be allowed to have an unlimited number of filters active at one time.


With groups, I could organize my lists as 'by album', 'by artist', 'by genre', 'by artist/by album', 'by genre/by artist/by album', etc. I could use any database field as a group identifier and unlimited nesting would be allowed.


With sorts, I can control the sort order of the lists. The database would support unlimited sort nesting as well.


I could then use any combination of filters, groups and sorts to create custom, dynamic views of my collection. From these views, I could initiate play and use Winamp's transports to control play, pause, stop, next, previous, etc.


It would be great if this was a networkable, multi-user database. So if I had several systems networked in my home, I could use one as a server that stores my music collection. From another system(s) I could initiate play -- it would record who was listening, and what I played, etc., while someone else could be doing the same thing from another system.


Any ideas???



[This message has been edited by greggplummer (edited 05-15-2001).]


[This message has been edited by greggplummer (edited 05-15-2001).]
 

·
Registered
Joined
·
1,687 Posts
Greg


This sounds like almost exactly what I was working on before I got sidetracked by DScaler.


I was focused on a album randomizer that would give me a list of albums I haven't played for a while to select from. There was also a simple song randomizer as well.


Anyway as part of that I built two COM components one to access id3v2 tags and one to control Winamp. This means writing a program in VB to do this was pretty easy. If anybody wants to pick up either component let me know.


The main thing I would say is to avoid using a database as such, you don't need one, just load up all the info you need from the file structure and the tags.


John
 

·
Registered
Joined
·
919 Posts
Discussion Starter · #4 ·
Looks pretty interesting. Do you know when the Winamp v3 beta is going to be available to the public?

Quote:
Originally posted by twentworth:
You might want to take a look at Winamp v3.0 which is currently in beta: http://www.winamp.com/nsdn/winamp3x/.


I think it has a lot of what you're looking for, and if it doesn't, you might be able to make suggestions to the Winamp developers.
 

·
Registered
Joined
·
919 Posts
Discussion Starter · #6 ·
Soren -


I'm really interested in learning more about XML. I know there are a ton of books out there, but not sure which ones are useful. Any advice for getting me started?


Thanks,

Gregg

Quote:
Originally posted by soren:


I agree with John... skip DB and use XML instead.

Fast and less problems.


Use MS DOM object to parse the XML file.

 

·
Registered
Joined
·
729 Posts


I agree with John... skip DB and use XML instead.

Fast and less problems.


Use MS DOM object to parse the XML file.




------------------

/Sören
 

·
Registered
Joined
·
1,286 Posts
I know of an app that's right along the lines of what you're talking about. It's MP3 Organiser . It's designed to remote control Winamp, maintains its own database of your MP3 files that you can view by artist, genre, etc, allows mass editing of MP3 tags, and, best of all (for me at least), supports remote control of Winamp from another computer, via Ethernet. I'm interested in using it to control an HTPC to play music via a Compaq Ipaq PDA. The ultimate remote control, because it's two way - you could view all your music on the remote, and pick what you want. The developer is working on this, too!


And, (don't know why the user would care, though), it's even written in Java and uses XML.


So, check it out!


- Dave
 

·
Registered
Joined
·
485 Posts
I want one feature in a jukebox that isn't present in any of the apps I've looked at: tagging a song as belonging to multiple genres. For example, I want to be able to tag "The Blue Danube" as both "classical" and "waltz". I'd settle for a list of keywords I could search on. Right now I maintain separate playlists for classical music and waltzes and I have to remember to put the aforementioned track on both lists -- and it's difficult to go from there to "play me a non-classical waltz."


If I had a flexible search system like that, I probably wouldn't need playlists per se.

MuzicMan comes close but it's not quite there (and has an obnoxiously intrusive UI).
 

·
Registered
Joined
·
485 Posts
Not to derail the thread too much, but I'm curious why people think XML is a good fit for this kind of application. By way of background, I've done XML coding at a couple of jobs and database programming at several. XML is fantastic for data interchange and for feeding to transformation and formatting tools, but those aren't relevant concerns here. I don't see what advantages it'd have given the requirements for searching on arbitrary fields, etc. Seems like you'd end up writing a bunch of code to simulate functions that your average off-the-shelf RDBMS already has, and for very large music collections, parsing and traversing a DOM tree will probably be slower than doing queries against a well-indexed database. (For small collections the performance difference will be too small to notice, of course.) Then there's having to write out the whole XML document every time the user corrects a typo in a track title, unless you want to do custom parsing and output code... just seems to me like XML is the wrong tool for this job.


Someone please clue me in!
 

·
Registered
Joined
·
919 Posts
Discussion Starter · #13 ·
Quote:
Originally posted by Dave T:
I know of an app that's right along the lines of what you're talking about. It's MP3 Organiser . It's designed to remote control Winamp, maintains its own database of your MP3 files that you can view by artist, genre, etc, allows mass editing of MP3 tags, and, best of all (for me at least), supports remote control of Winamp from another computer, via Ethernet.

- Dave
Does it record play history or other listener data in a database, like who is listening; how many times it was played, etc.?
 

·
Registered
Joined
·
729 Posts


Gregg,


Of course a good normalized DB would be the best thing if you intend to do advanced searches etc.


For what he wanted to do, I would still go with a flat XML file, just for the easy and fast implementation.




------------------

/Sören
 

·
Registered
Joined
·
5 Posts
Hi There,


I'm the guy writing MP3Organiser, its a pet hobby of mine so the feature list will grow over time.


FYI On the XML/DB side, it's fairly well documented @ http://www.mp3organiser.com/mp3organiser/xml.asp , it also

houses an XSLT engine (SAXON) which allows a infinite variety of outputs to be produced using XSLT which has similar features to SQL queries although a very different syntax. It's all written in Java although there nothing stopping you using it to simply create an XML file of your MP3s then using MSXML and C++/VB to create your own utility.


Cheers


Kevin
 

·
Registered
Joined
·
919 Posts
Discussion Starter · #16 ·
Quote:
Originally posted by kbruton1:
I'm the guy writing MP3Organiser, its a pet hobby of mine so the feature list will grow over time.

Kevin
But... does it keep track of listener info? Do you record how many times a track has been played?


Do you think it would be possible to track non-metadata info and use that as criteria parameters in a transformation?


You see, I'm not really interested in creating a static list. What I would like is something that looks at the collection and gives me a dynamic view (a set of display rules) that uses filters to match my specific criteria (and includes listener info). The view would always work, even a month later after ripping dozens of CDs onto my system.


Eventually, I would like to carry this into the active playlist and provide some mechanism for weighted play. Weighted play would let me do things like shuffle a playlist and play songs with a higher user rating more frequently and play songs that haven't been played recently, etc., etc., etc...
 

·
Registered
Joined
·
5 Posts
Hi Dave,


I'm still working on it ! , I'll release the playlist (winamp integration) additions this week on the site, the ID3 editing and IPAQ stuff is still being developed and I'll try to push changes out as they are complete.


In regards to gregs questions, Currently there is no tracking of a users playing style (frequency,favorites, weighting etc), but being an XML format there nothing stopping an additional application adding this kind of information as extra attributes (or elements) for a song or album and updating them as a song is choosen. I would love to add this but I'll first concentrate on finishing what I've started and promised (thats you Dave !) to people who commented on the organiser.


A well behaved XML app will ignore elements/attributes it does not understand and use the ones it does. So it would be

great to see other utilities using a standard format which could easily be shared amongst users.


The reason I like XML over a Database is that its easy for humans to read/understand it, very easily to convert to other formats using XSLT or a DOM (web pages, CSV , other utils formats etc) , It's one plain text file which can be easily emailed or put on a web site, performs well (I have over 10,000 songs with no performance probs).


Cheers


Kevin

 

·
Registered
Joined
·
2,912 Posts
Quote:
Originally posted by soren:


I agree with John... skip DB and use XML instead.

Fast and less problems.


Use MS DOM object to parse the XML file.
<rant>

I've heard XML called a lot of things, bug fast is not one of them. To say that XML is faster than a database is pretty funny.


Right now XML seems to be getting the same amount of buzz that Java was getting a couple years ago, with people claiming it's the perfect solution for every problem imaginable. MS has contributed to this with .NET's emphasis on XML (another technology I think is overhyped).


XML is great if you need to get through a firewall or go cross-platform, or to act as a layer to communicate between disparate software systems (ie B2B). But the notion that it should be the unversal data format and marshalling layer is just crazy. XML is extremely inefficient in storage space, and slow to boot. Not to mention it's insecure, as anyone can view your data (and makes changes that screw it up) with a text editor.


I believe it was 25 years ago that Fred Brooks said there's no silver bullet for software development, but people still haven't learned that lesson.

</rant>


Jeff
 
1 - 20 of 24 Posts
Status
Not open for further replies.
Top