www.pudn.com > autolrc.rar > abao_lrcfile.h


 
////////////////////////////////////////////// 
/// @defgroup lrcfile  歌词文件类 
/// @author  abao++ 
/// @version 1.0 
/// @date    2006-9-24 9:54:20 
/// @{ 
////////////////////////////////////////////// 
#ifndef _abao_lrc_file_ 
#define _abao_lrc_file_ 
//#include  
#include "gen.h" 
#include  
using namespace std; 
#include 
#include 
#include"abao_lrcdownload.h" 
typedef map LrcMap; 
typedef map IndexMap; 
typedef LrcMap::value_type val_type; 
class AbaoLrcWindow; 
///歌词文件管理类 
class AbaoLrcFile 
{ 
public: 
	string LrcFileName;///<歌词文件名 
	long offset;///<歌词显示偏移量 
	int FilterFlag;///<是否过滤 
	string LrcMp3Name;///<歌词对应的mp3名,不是文件名 
	AbaoLrcDownload lrcdownload;///<下载类 
	string LrcArtist;///<歌手 
	string lrcstr;///<歌词字符串 
	int SearchAllFlag;///<是否已经搜索了歌词寻找目录 
	int SaveLrcFlag;///<保存歌词的标记 
	int SearchHttpFlag;///<从网络搜索歌词的标记 
	string LrcAlbum;///<歌词中专辑名 
	list FilterList;///<过滤歌词字符串列表 
	string Mp3Name;///<歌曲名字 
	int SearchFlag;///<使用搜索路径 
	string SearchPath;///<歌曲搜索目录 
	string id3v1title;/// & filelist);///<从列表寻找lrc文件 
	int SaveToLrcFile(); 
	int InitLrcMap();///<从Lrc文件初始化lrcmap 
	int GetFileFromDir(string dir,int flag=0);///<从一个目录搜索歌词 
	string GetLrcFileName();///<搜索歌曲名 
	list FileList;///<备选文件名 
	list LrcFileList;///<所有文件名 
	string& GetLrc(long second);///<获取指定时间应该显示的歌词 
	long GetLrcTime(long second);///<获取一个时间的当前歌词时间 
	long GetLrcUpTime(long second);///<获取一个制定时间的下一条歌词时间 
	int InitLrc(string& filename);///<根据指定的歌名初始化歌词 
	string empty;///<无法找到歌词时显示 
	LrcMap lrcmap;///<歌词存储map 
	IndexMap indexmap;///<获取当前歌词在列表中的索引号 
	int MakeLrcMap(string& flrc);///<从歌词字符串去解析歌词 
	AbaoLrcWindow *lrcwin; 
	AbaoLrcFile(); 
private: 
	void ReadMp3Info(string &filename);///<读取mp3文件的id3标签 
	int checklrcname(string &keyword,string &filename);///<检测关键字和文件名匹配程度 
}; 
#endif 
/// @}  文件注释完毕