i have previous version customized into russian, but as for me google translate "chineese=>english" is much more better then "chineese=>russian" and of course "chineese=>russian=>english".
i'm translate callback function description (dblclick on some searching script to open wsh-like window, left bottom last menu item)
//==========//
//回调函数说明//
//==========//
//获取歌词源信息时调用,返回值为歌词源名称。
function get_my_name();
//获取歌词源信息时调用,返回值为歌词源版本。
function get_version();
//获取歌词源信息时调用,返回值为歌词源作者。
function get_author();
//歌词搜索时调用。
//参数info为ITrackInfo对象,callback为IESLyricCallback对象。
function start_search(info,callback);
//当启用搜索过滤时,歌词搜索时调用。
//参数tf为ITitleFormat对象。
//返回false表示禁止/不过滤当前音轨的歌词搜索,返回true则忽略搜索该音轨的歌词。
function is_item_filtered(tf);
//歌词搜索时调用,用于获取歌词搜索时使用的标题内容。
//参数tf为ITitleFormat对象。
//返回相应的用于后续歌词搜索中的关键字字符串。
function get_title(tf);
function get_artist(tf);。
//接口说明
// 全局对象:
// fb - IFbUtils
// utils - IESUtils
//音轨信息接口描述
interface ITrackInfo{
属性:
(只读) String Title;//音轨标题
(只读) String Artist;
(只读) String Album;
(只读) String RawPath;//音轨路径(e.g "file://c:\\____.mp3")
(只读) UINT SubSong;
(只读) double Length;
};
//歌词信息接口描述
interface ILyricInfo {
属性:
(读,写) String Title;//获取的歌词标题
(读,写) String Artist;//获取的歌词艺术家,此两项信息必填,否则可能被ESLyric过滤。
(读,写) String Album;//可选
(读,写) String LyricText;//歌词纯文本
(读,写) String LyricData;//歌词数据
(读,写) String FileType;//歌词文件类型,缺省为"lrc"
(读,写) String Location;//歌词来源位置,可选
(读,写) String Source;//歌词来源,通常为外部歌词源名称
方法:
void Dispose();//显式销毁歌词信息对象
};
//歌词添加回调接口描述
interface IESLyricCallback {
方法:
ILyricInfo CreateLyric();//创建一个新的歌词信息对象。
void AddLyric(ILyricInfo lyric);//添加一个新歌词。
};
//HTTP请求接口描述
interface IHttpRequest {
方法:
//e.g. "name: value"
void AddHeader(head_line);//添加一个请求头
void AddPostData(name,value);//添加POST数据,仅"POST"方式下有效。
String Run(url);//失败时(连接错误或响应无效等)返回空字符串。
};
//ESLyric辅助工具接口描述
interface IESUtils {
方法:
String ReadTextFile(filename, codepage = 0);
String LCMapString(src,lcid,flag);//LCMapString API的封装.
IHttpRequest CreateHttpRequest(type);参数:请求类型,当前支持:"GET"与"POST"。
String ZCompress(data);
String ZUnCompress(data);
String ANSIToUnicode(data);
String ANSIToUTF8(data);
String UTF8ToUnicode(data);
String UTF8ToANSI(data);
String UnicodeToUTF8(data);
String UnicodeToANSI(data);
};
//FB2K辅助工具接口描述
interface IFbUtils {
属性:
(只读) String ComponentPath;
(只读) String FoobarPath;
(只读) String ProfilePath;
方法:
void trace(...);//信息输出
IFbProfiler CreateProfiler(name="");
};
interface IFbProfiler {
属性:
(只读) int Time;//ms
方法:
void Reset();
void Print();
}
interface ITitleFormat {
方法:
String Eval(expr);//根据expr对当前音轨进行TitleFormat,返回结果。
}
//==========//
// Callback function description
//==========//
// Called when the lyrics get source information, the return value is the lyrics source name.
function get_my_name();
// Called when the lyrics get source information, the return value is the lyrics source version.
function get_version();
// Called when the lyrics get source information, the return value is the original author of the lyrics.
function get_author();
// Called when lyrics search.
// Parameter 'info' of ITrackInfo object,callback of IESLyricCallback object.
function start_search(info,callback);
// When a search filter is enabled, the call lyrics search.
// Parameter 'tf' is ITitleFormat object.
// Return false is disabled / not filtered current track lyrics search, lyrics search returns true then ignored the track.
function is_item_filtered(tf);
// Search lyrics calling for acquiring title content search using lyrics.
// Parameter 'tf' is ITitleFormat object.
// Returns the corresponding lyrics for subsequent search keyword string.
function get_title(tf);
function get_artist(tf);.
// Interface description
// 全局 (? global variables/ global state) object:
// fb - IFbUtils
// utils - IESUtils
// Track information Interface description
interface ITrackInfo{
attributes:
(ReadOnly) String Title; // track title
(ReadOnly) String Artist;
(ReadOnly) String Album;
(ReadOnly) String RawPath; // Track path (e.g "file://c:\\____.mp3")
(ReadOnly) UINT SubSong;
(ReadOnly) double Length;
};
// Lyrics Interface description
interface ILyricInfo {
attributes:
(Read, Write) String Title; // Get lyrics title
(Read, Write) String Artist; // Get lyrics artists, this required two pieces of information, or it may be filtered ESLyric.
(Read, Write) String Album; // Optional
(Read, Write) String LyricText; // Lyrics plain text
(Read, Write) String LyricData; // Lyrics data
(Read, Write) String FileType; // Lyrics file type, default "lrc"
(Read, Write) String Location; // Lyrics source position, optional
(Read, Write) String Source; // Lyrics source, usually an external source name lyrics
method:
void Dispose(); //Explicit lyrics destruction object
};
// Lyrics add callback interface description
interface IESLyricCallback {
method:
ILyricInfo CreateLyric(); // Create a new lyrics object.
void AddLyric(ILyricInfo lyric); // Add a new lyrics.
};
// HTTP request interface description
interface IHttpRequest {
method:
//e.g. "name: value"
void AddHeader(head_line); // Add a request header
void AddPostData(name,value); // Adding POST data, only the "POST" under effective manner..
String Run(url); // Failure (connection error or an invalid response, etc.) returns an empty string.
};
// ESLyric access Interface description
interface IESUtils {
method:
String ReadTextFile(filename, codepage = 0);
String LCMapString(src,lcid,flag); // LCMapString API Package.
IHttpRequest CreateHttpRequest(type); // Parameters: request type, currently supported: "GET" and "POST".
String ZCompress(data);
String ZUnCompress(data);
String ANSIToUnicode(data);
String ANSIToUTF8(data);
String UTF8ToUnicode(data);
String UTF8ToANSI(data);
String UnicodeToUTF8(data);
String UnicodeToANSI(data);
};
// FB2K access Interface description
interface IFbUtils {
attributes:
(ReadOnly) String ComponentPath;
(ReadOnly) String FoobarPath;
(ReadOnly) String ProfilePath;
method:
void trace(...); // Output information
IFbProfiler CreateProfiler(name="");
};
interface IFbProfiler {
attributes:
(ReadOnly) int Time; //ms
method:
void Reset();
void Print();
}
interface ITitleFormat {
method:
String Eval(expr); //According to the current track 'expr' be TitleFormat, return results.
}
by the way, it's awesome plugin with incredibly rich functionality