Old 21st May 2008, 05:39   #1
hermitx
Junior Member
 
Join Date: Feb 2008
Posts: 4
Metadata tag names for IPC_GET_EXTENDED_FILE_INFO

Hello. I'm playing around with the Winamp API and making a nowplaying dll for mIRC.

It's going pretty well, I'd just like to know if there's a complete list of values used for the IPC_GET_EXTENDED_FILE_INFO metadata.

Thanks in advance.
hermitx is offline   Reply With Quote
Old 21st May 2008, 06:01   #2
Benski
Ben Allison
Former Winamp Developer
 
Benski's Avatar
 
Join Date: Jan 2005
Location: Brooklyn, NY
Posts: 1,057
Support varies a bit per filetype, and obviously the information is only as good as the metadata of the file.

But here are the most common peices of metadata
  • title
  • artist
  • albumartist
  • album
  • genre
  • year
  • disc
  • publisher
  • comment
  • track
  • composer
  • conductor
Benski is offline   Reply With Quote
Old 21st May 2008, 08:11   #3
hermitx
Junior Member
 
Join Date: Feb 2008
Posts: 4
Thanks for the fast reply.

Since it's so convenient to use IPC_GET_EXTENDED_FILE_INFO to get things, I was hoping to get everything I can with it. In particular, in addition to what you've mentioned, are bitrate, encoding format, length. Are these supported? A complete list would be nice. =]

Also, is Winamp able to report these info in UTF8?
hermitx is offline   Reply With Quote
Old 21st May 2008, 14:18   #4
Joel
Debian user
(Forum King)
 
Joel's Avatar
 
Join Date: Jan 2003
Location: Arch land
Posts: 4,917
Yes, they are, all those are in the sdk
Simple messages, like IPC_GETOUTPUTTIME, IPC_GETINFO , etc.


* PC: Intel Core 2 DUO E6550 @ 2.33 GHz with 2 GB RAM: Archlinux-i686 with MATE.
* Laptop: Intel Core 2 DUO T6600 @ 2.20 GHz with 4 GB RAM: Archlinux-x86-64 with MATE.
Joel is offline   Reply With Quote
Old 21st May 2008, 15:05   #5
Benski
Ben Allison
Former Winamp Developer
 
Benski's Avatar
 
Join Date: Jan 2005
Location: Brooklyn, NY
Posts: 1,057
Sorry, yes there are others. I was listing items that are part of the tagging system (e.g. ID3) but yes things like bitrate can be queried
  • bitrate
  • length
  • type (0 for audio 1 for video)
  • family (brief description of the file format)

In the newest (beta) SDK, there is IPC_GET_EXTENDED_FILE_INFOW which will give you UTF-16. It is recommended to use this instead. Except for a small handful of legacy file formats, IPC_GET_EXTENDED_FILE_INFO actually calls IPC_GET_EXTENDED_FILE_INFOW and then converts the UTF-16 data to the local code page.

code:

typedef struct {
const wchar_t *filename;
const wchar_t *metadata;
wchar_t *ret;
size_t retlen;
} extendedFileInfoStructW;

#define IPC_GET_EXTENDED_FILE_INFOW 3026
/* (requires Winamp 5.13+)
** Pass a pointer to the above struct in wParam
*/



an example:
code:

wchar_t value[512];
extendedFileInfoStructW efs;
efs.filename=L"c:\\program files\\winamp\\demo.mp3";
efs.metadata=L"artist";
efs.ret=value;
efs.retlen=512;
SendMessage(plugin.hwndWinampParent,WM_WA_IPC,(WPARAM)&efs,IPC_GET_EXTENDED_FILE_INFOW);

Benski is offline   Reply With Quote
Old 24th April 2009, 16:44   #6
PeppeLePew
Junior Member
 
Join Date: Apr 2009
Posts: 1
Quote:
Originally posted by Benski
...
an example:
code:

wchar_t value[512];
extendedFileInfoStructW efs;
efs.filename=L"c:\\program files\\winamp\\demo.mp3";
efs.metadata=L"artist";
efs.ret=value;
efs.retlen=512;
SendMessage(plugin.hwndWinampParent,WM_WA_IPC,(WPARAM)&efs,IPC_GET_EXTENDED_FILE_INFOW);

Thanks for posting the sample code I was looking for a long while to find any documentation to that feature

Last edited by PeppeLePew; 24th April 2009 at 17:05.
PeppeLePew is offline   Reply With Quote
Reply
Go Back   Winamp & Shoutcast Forums > Developer Center > Winamp Development

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump