INTERACT FORUM

Windows => Plug-in Development => Topic started by: scthom on December 14, 2006, 11:54:48 pm

Title: Decoder - Cover Art image file coordination
Post by: scthom on December 14, 2006, 11:54:48 pm
I searched the forum, and didn't find what I was looking for.  Maybe it's there and I missed it.

The new flac libraries allow for pictures (cover art) stored in the metadata.  I checked Oblong's old flac decoder to see what is supposed to happen.

Looks like when MC tries to store an image file, it uses the SetAttribute function with the MF_IMAGEFILE keyword and then passes the name of the image file.  Is that still correct?  Will the file be any particular format (all of mine appear to be jpeg) ?  Just curious if png or tiff or bmp might show up unexpectedly.

Further, it looks like when MC tries to retrieve an image file, the GetAttribute function is supposed to return a path and filename to the unencoded image.  Again, is any particular format required and is that still the appropriate method to use?

I noted that when I added a jpg to a flac file, MC automatically found it and displayed it as cover art even though the plugin was not aware of it.  You must be scanning the file looking for a jpeg header.  This may or may not be a problem since flac's are now capable of storing any number of images in the Picture Block.  I assume you'll just pick the first one you find (it may not actually be cover art).

Thanks, guys.
Title: Re: Decoder - Cover Art image file coordination
Post by: Alex B on December 19, 2006, 04:35:51 pm
Scot, I cannot answer your FLAC question, but if you are going to work with WavPack plugin too, here's some news about the embedded cover art support: http://www.hydrogenaudio.org/forums/index.php?showtopic=51110.

It looks like David Bryant has more or less officially accepted my suggestion about making the JRiver style of embedding cover art into APE tags as a new standard for WavPack. dbPowerAmp is also using the same standard in the new beta version.

Here is an older HA thread, in which I explained how Media Center handles cover art in APE tags and posted some sample files: http://www.hydrogenaudio.org/forums/index.php?showtopic=40603 (http://www.hydrogenaudio.org/forums/index.php?showtopic=40603).
Title: Re: Decoder - Cover Art image file coordination
Post by: Alex B on December 20, 2006, 04:52:26 am
I noted that when I added a jpg to a flac file, MC automatically found it and displayed it as cover art even though the plugin was not aware of it.  You must be scanning the file looking for a jpeg header.  This may or may not be a problem since flac's are now capable of storing any number of images in the Picture Block.  I assume you'll just pick the first one you find (it may not actually be cover art).

Probably MC found the image file from the file folder and associated it as an external cover art image. I don't think MC scans audio files for a possible image code.

As a test I added an embedded image with AudioShell 1.3 beta (http://www.softpointer.com/AudioShell.htm) to a FLAC and a WavPack file. As I expected, MC12 (with your plugins) didn't show these images.

Quote
I checked Oblong's old flac decoder to see what is supposed to happen.

Probably Oblong's FLAC decoder used the same system for embedded images that MC uses with ogg files. MC converts the image file to MIME/base64 encoded ASCII text and saves it as standard vorbis comment.

Audioshell uses an MC compatible system with ogg files and the new FLAC standard with FLAC files.
Title: Re: Decoder - Cover Art image file coordination
Post by: scthom on December 25, 2006, 09:59:43 am
Alex B - thanks for the info and testing.

Probably MC found the image file from the file folder and associated it as an external cover art image. I don't think MC scans audio files for a possible image code.

Hopefully, but I embedded the image outside of MC using the command-line tools, and the audio file and the image file were different directories and different names.  It struck me as odd that the image would be found.

As a test I added an embedded image with AudioShell 1.3 beta (http://www.softpointer.com/AudioShell.htm) to a FLAC and a WavPack file. As I expected, MC12 (with your plugins) didn't show these images.

Good  ;D

Probably Oblong's FLAC decoder used the same system for embedded images that MC uses with ogg files. MC converts the image file to MIME/base64 encoded ASCII text and saves is it as standard vorbis comment.

Audioshell uses an MC compatible system with ogg files and the new FLAC standard with FLAC files.

I was actually looking for JRiver to give some pointers as to the technical details of passing the image file/filename to the plugin.  The new FLAC allows an image header different from the human-readable tags, so I don't need to do a conversion.
Title: Re: Decoder - Cover Art image file coordination
Post by: KingSparta on December 25, 2006, 02:27:40 pm
As For What Your Trying To Do, No Clue

I know how it works in VB Using The SDK

Sometimes It Depends If The Art File Is Embedded Or External So You Need To Check For Both, And then build your code around it.

Title: Re: Decoder - Cover Art image file coordination
Post by: scthom on December 28, 2006, 01:55:40 am
After trying it, passing the filename is the way MC communicates with the plugin.