Jump to content

[request] Cd Icon Recognition


Recommended Posts

is it possible to have the program setup a small flat-file database (a .ini maybe) that stores the CD name or ID and the location of the icon for that CD, and then have an icon on the desktop that changes to the icon for the CD currently in the drive?

I would really appreciate this with PowderMount. It would make it so much easier.

Link to comment

@kerin - your link topics media player -> CD Cover guessing. Acaeris asked for CDs.

@acaeris - what kind of CDs do you have in mind?

1. Audio CDs

Difficult. An Audio CD does not have names or covers in it.

However, A script could calculate a checksum (your "ID"), submit it to

CDDB like iTunes does, find out the Artist / Album name and download

an image from Amazon. Who listens to CDs on his PC these days?

2. Setup or Game CDs

They mostly have an AutoRun.inf, where an on CD 16x16 Icon is referenced.

Would that help? It would look ugly when scaled.

Link to comment
Originally posted by Acaeris@May 3 2004, 09:10 PM

I was thinking more where it could reference a database (user made) where they could put their own .png icons in it so that those icons could be used on AveDesk instead of the standard CD Drive icon.

In theory I think this is very possible - each CD has its own referencing ID/tag/name and that could be assigned an image from something as simple as a .txt file which would then load the appropriately linked .png image.

This, coming from the master coder DoubleD - :smartass: - so don't take anything I say as possible.

Link to comment
Originally posted by Acaeris@May 3 2004, 09:10 PM

I was thinking more where it could reference a database (user made) where they could put their own .png icons in it so that those icons could be used on AveDesk instead of the standard CD Drive icon.

that avatar is so cool. got to love HIM...

Link to comment

Any uptakes would be nice, all my posts seem to be ignored lately.

I really would like this as it's all I actually need. I don't really need a clock on my desktop orwhat the weather is like as i can tell that by looking towards the window, however it would be helpful to have the icons change based on the cds as I have 3 drives that usually have a disc in for 3 months before I change it (remembering which is which is becoming increasingly difficult and tedious).

Link to comment
  • 3 weeks later...

You still haven't declared what you want to recognize:

a ) Audio CDs

b ) Data CDs

a ) is no problem, I'd do that.

Like the Gracenote CDDB or FreeDB, summing up tracks and their lengths

and calculating the famous CDPlayer.ini numbers is a matter of seconds.

b ) can't do that at all - the only solution I can think of would be

scanning all files on the CD to create an unique checksum, hash or fingerprint.

Data CD manufacturers don't store an ID for that purpose, I'm afraid.

You might not want your entire CD be read to show a single icon, I guess...

Brief:

CDs don't have IDs. You must calculate them yourself.

hth,

herd

Link to comment
can't do that at all - the only solution I can think of would be

scanning all files on the CD to create an unique checksum, hash or fingerprint.

Data CD manufacturers don't store an ID for that purpose, I'm afraid.

You might not want your entire CD be read to show a single icon, I guess...

It is possible to do this ofcourse by the obvious CD title/label. Only you'll end up with lots of duplicates, I guess.

Another possibility is, instead of creating a hash of the entire cd, just read autorun.ini, obtain the file where the icon lives in and hash that one. Just a thought, I don't have any plans to do that. :brucelee:

Link to comment

Didn't think of the labels. If that's all to it, consider it done

with the next release of MMD.

I'll add that to my to do list.

it's as easy as:

Dim fso, drive, dict
Set dict = CreateObject("Scripting.Dictionary")
'Load previous known into dictionary code omitted
Set fso = CreateObject("Scripting.FileSystemObject")
For Each drive in fso.Drives
 If drive.DriveType = CDRom Then
   If dict.Exists(drive.VolumeName)  Then
     'Layer won't load the same image twice
     Layer1.LoadImage(dict(drive.VolumeName))
   Else
     Layer1.LoadImage("Default.png")
   End If
 End If
Next

Link to comment

and if you take a look at the WMI WIN32 classes, you also got it:

Win32_LogicalDisk {

....

string VolumeName;

string VolumeSerialNumber;

};

HEHE, it may be unic for each volume allowing you to set it up for CD, DVD, Removable Storages!!!!!! :)

I guess you can have this propertie somewhere else than WMI

Link to comment

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...