GargoyleMT wrote:[snipped quote]
But it doesn't work very well in the VGM hub I'm a part of, at least not for MP3s. There are ~ 60 - 80 people with ~ 1.5 - 3.5 tb of music, and you're lucky if there are three sources for the same file. Everyone has their own styles of tagging, and, quite honestly, since some of the releases by the "official" mp3 groups contain simple typographical errors, re-tagging is necessary. I also use iTunes for my iPod, and it relies heavily on correct (or at least uniform) tags to organize music, and more generally, function properly.
I am sorry to hear this, but I do not want feature/protocol bloating being introduced into DC++. It is better to solve this outside the protocol, because, once more, what if people a) disables this and b) uses a non-DC++ client.
This would (in my opinion at least) be better if solved by another application who took an audio "fingerprint" and retrieved the information from some kind of global server. This way, nothing would be needed to add to DC++ and you could still get your audio files with the correct tags et cetera.
Yes, I know, creating a whole new program/project is a bit daunting but imagine how much you would gain by it - a P2P independent retagging system!
GargoyleMT wrote:[snipped quote]
Well, I'm certainly not going to count on anyone else implementing this. I think that DC can be a good network for trading MP3s, but to be great for trading them, some things may be needed. The tag exchange is one of the more out there ideas, but fingerprinting just the audio portion of the mp3s is not. WinMX does this to an extent, by ignoring the last 128 bytes of the MP3. Fetching the variable length, prepended, ID3v2 tags would be very difficult to do client side.
Hmmm... well, you could make few special cases for MP3 files in DC++, I guess, to handle the ID3v1 tags (which are, I think, appended to the end... or am I wrong in this, too?). If you make a some more code in the client it could scan the file for ID3v2 tags too, I think.
However, never forget that while you might download and upload your fully legal MP3 files, others might be sending documents (PDF/DOC/TXT/LIT), movies and even (gasp!) pictures.
Thus, your problem is a problem, but it should be solved along with all the others. If we keep an audio "fingerprint", why not do the same for the different streams in AVI files? What about the chunks in JPEG files? And so on and so forth...
This would quickly bloat DC++ since it would become a content manager in addition to being a filesharing application... and I dislike combination programs - they seldom do anything as good as program coded for just one purpose.
GargoyleMT wrote:[snipped example]
That's it. With XML, if someone doesn't want to parse tags (or there hasn't been enough spare CPU cycles to do it), you could leave those fields out. This could also be largely in the same format as the meta-information cache on disk, absent the real file path and modification times (and perhaps search hit count, download count, and bytes trasferred [for multi-source downloads]). Re-tagging wouldn't be elegant, because that'd be another dependency (libmad's tagger, perhaps, since libid3 doesn't support v2.4.0 tags yet). But it's not outrageous, at least to me.
Where/when would this information be transmitted?
GargoyleMT wrote:Honestly, I can't think of another file type other than MP3 that has so much end-user modification involved (while keeping the actual data untouched). MP3s are the driving force behind many P2P applications, and I think they deserve a little special attention.
I can think of a few, among them video files which are being ripped to different formats (I don't want to download a movie in MPEG format which I already have as an AVI/DIVX file, for instance).
The redeeming quality of MP3/audio files are that they are (relatively speaking) small, much smaller than video files, while at the same time being large enough to stop the GIF/JPEG/PNG "megadirectory" thingy where thousands of pictures are shoved into one directory - simply put, such a directory would be... very large.
By the by, are we forgetting about the OGG files? The WMA files?
I dislike adding features that "cry out" for even more features to be added.
If this was done as a plugin of some sort I would have no problem with it (even if the plugin was bundled with the default distribution of DC++) but it should be kept and developed seperate from the main DC++ code and arnetheduck. I would prefer him to work on
my nifty features, thank you very much.
Adding "only" MP3 file handling would lead to yet more feature requests "hey, why don't you support the Nifty FileFormat?! its really k00l! totally! fix it plz".
I dislike making the feature request spammers tasks even easier than they are.
Give me one file format independent meta-data solution, and I'm all for it. It could even be supported by DC++ but powered by plugins files written by people whom live and breathe their own private file format.
Sarf
---
Oh dear, I've gone and inflated my ego.