1) How does one find out what DB fields there are that can be queried via IMJFileAutomation::Get?
You can't. We'll add a IMJFieldsAutomation object when the UI redo slows down. (remind us then if you would)
2) How can you find out the dimensions of a small, medium and large thumbnail?
If I rememeber correctly, it's
small: 64x64
medium: 128x128
large: 256x256
(all with aspect ratio maintained, so will probably be 48x64 or 64x50 or etc...)
3) Can you get the artwork without actually going via an intermediate file, i.e can you return just an HBITMAP or something?
No, because internal cover art has comes back to MC from a plugin as a file. That's why we use the thumbnail system everywhere -- it doesn't have to open file tags.
And we actually cache the JPEG data from the thumbnails in memory, and just decode that on demand. (takes a lot less memory than buffering the decompressed JPEG) Exposing the JRImage system would make that possible for anyone.
4) When you call IMJFilesAutomation::AlbumGroup then IMJFilesAutomation::GetFile (which I believe returns the aggregated album information) when you call IMJFileAutomation::Get what does it do? For example if you have a custom field called MYBOGUSFIELD and in track 1 it contains the value A and in track 2 it contains the value B what does it return when you call Get( "MYBOGUSFIELD" ) on the album? What about when you request, say, the Year and they are different?
Album group reduces the file collection to the first file from each album. (if only tracks 3, 4, and 5 are in the array to start, you'll end up with only track 3 -- not track 1)
To see if information varies inside an album, you need to re-expand and analyze the whole album. All you have otherwise is just one file.
Thanks Rhino.