WMPTSE API: Difference between revisions
mNo edit summary |
|||
Line 13: | Line 13: | ||
<font style="color:green"><TagFormat></font> will be the name of the corresponding tag format (APE, Vorbis, MPEG4). | <font style="color:green"><TagFormat></font> will be the name of the corresponding tag format (APE, Vorbis, MPEG4). | ||
It will be search by WMPTSE during the load process. | It will be search by WMPTSE during the load process. | ||
The boolean return value is important. | |||
For the read function, it tells WMPTSE if the "tag support dll" has find the correct tag format structures (even if they are empty). If the value is TRUE, WMPTSE will stop searching for compatible tag format for this file (yes, a file can be multi-tagged). If the value is FALSE, WMPTSE will continue searching in its compatible tag format list. | |||
For the write function, it tells WMPTSE if the "tag support dll" has correctly write the new value. If this is true, WMPTSE will continue using this "tag support dll" with its filetype. If this value is false, WMPTSE may unload the "tag support dll". | |||
These interface are defined as FP_TAGREAD (read), FP_TAGWRITE (write). | |||
Line 38: | Line 48: | ||
#define METATAG struct stMetaTag | #define METATAG struct stMetaTag | ||
typedef struct stMetaTag * LPMETATAG; | typedef struct stMetaTag * LPMETATAG; | ||
==Installation== |
Revision as of 11:54, 9 November 2006
The WMPTSE API is the interface between the WMPTSE plug-in and its "tag support dll".
A tag support dll give WMPTSE the ability to add support of a tag format in Windows Media Player. With the this "tag support dll" properly installed, files tagged with its format are readable inside WMP.
API
Every WMPTSE API application must export two function (c standard call):
BOOL Read<TagFormat>Tag( LPTSTR lpstrFileFullPath, METATAG * pMetaTag ) BOOL Write<TagFormat>Tag( LPTSTR lpstrFileFullPath, TAGITEM tagiChangedItem )
<TagFormat> will be the name of the corresponding tag format (APE, Vorbis, MPEG4). It will be search by WMPTSE during the load process.
The boolean return value is important.
For the read function, it tells WMPTSE if the "tag support dll" has find the correct tag format structures (even if they are empty). If the value is TRUE, WMPTSE will stop searching for compatible tag format for this file (yes, a file can be multi-tagged). If the value is FALSE, WMPTSE will continue searching in its compatible tag format list.
For the write function, it tells WMPTSE if the "tag support dll" has correctly write the new value. If this is true, WMPTSE will continue using this "tag support dll" with its filetype. If this value is false, WMPTSE may unload the "tag support dll".
These interface are defined as FP_TAGREAD (read), FP_TAGWRITE (write).
Definition
Note : All types and definition are declared in WMPTSE.h. It is simple for developper to include it at first.
For reading purpose, we will expose the necessary structure definition here.
struct stTagItem { char * MetaTagWMPKey; /** the MediaLibrary attribute's name */ LPTSTR MetaTagValue; /** the value to set */ }; #define TAGITEM struct stTagItem typedef struct stTagItem * LPTAGITEM;
struct stMetaTag { UINT uiNbItems; /** number of list tags */ LPTAGITEM tagiItems; /** pointer to array of pointer to tag items */ }; #define METATAG struct stMetaTag typedef struct stMetaTag * LPMETATAG;