Anyone know of a good DLL with mpeg functions, like bitrate, samplerate, legnth, etc? I know mIRC has these functions built-in but it's still too slow, takes about 40 seconds to construct my mp3 database (using a hashtable) on a p4 1.4GHz 512MB Ram.
A function intergrated into mirc is always going to run faster than a dll that mirc has to make a call out to (And load if not already so) then process, then return.
Not really. mIRC only needs to call the DLL once and it should be able to take care of the rest. Whether a DLL for reading MPEG details would be any faster is difficult to tell.
I have about 1400 mp3s. I agree with starbucks, a DLL is much faster, I use one to output the files in the mp3 directory to a file and I benchmarked it using $findfile, the DLL was more efficient. I guess I could always run another instance of mIRC for the database building or maybe store all the files of the mp3 directory into a hash table and save it for later use. Then match upon those, may speed up the process a little..
Keep in mind that each call to $sound tells mIRC to open the file, read the data then close the file. So if you're going to retrieve the artist, title and bitrate information out of an mp3 file, mIRC will open & close it 3 times. It could be much faster if all the necessary information would be read in one instance, which is what a DLL can efficiently do.