fsMP3TXT.h
上传用户:poi891205
上传日期:2013-07-15
资源大小:9745k
文件大小:3k
源码类别:

DVD

开发平台:

C/C++

  1. /*****************************************
  2. **FILE : 
  3. **    fsMP3TXT.h
  4. **
  5. **DESCRIPTION 
  6. **  for fsMP3TXT.c
  7. **
  8. **Creator : zhaoyanhua 
  9. **Date    : 2003-8-20 10:47
  10. ******************************************/
  11. #ifndef  _FS_MP3TXT_H
  12. #define  _FS_MP3TXT_H
  13. #include "memmap0.h"
  14. //MACRO definition
  15. //------------------------------------------------------------
  16. //for "WriteFlag" value
  17. #define READ_MP3LRC_OK      0
  18. #define READ_MP3LRC_ERROR   1
  19. //for "FoundChinese" value
  20. #define  FOUND_ASCII   0x01 //bit 0
  21. #define  FOUND_GB2312 0x02//bit 1
  22. #define  FOUND_BIG5   0x04//bit 2
  23. #define MP3LRC_MEM_START     (SDRAM_BASE + (A_SUPYA)*1024)
  24. #define MP3LRC_INFO_START     (SDRAM_BASE + SSAVER_YA *1024)
  25. #define MAX_LRC_BUF  2*1024
  26. #define LYRICS_MAX  100
  27. #define MAX_WORD   100
  28. //for  "WriteFlag"
  29. #define WRITE_OK    1//has written.
  30. #define NOT_WRITE   0// to be write.
  31. //wanghaoying move to fsGUI1.h, 2004-5-11 18:02
  32. //for "MP3_Lyrics_Drawed" 
  33. //#define  MP3_LYRICS_IN_DIR_AREA  1
  34. //#define  DIR_LIST_IN_DIR_AREA        0
  35. //for screen display
  36. #define ONE_LINE_CHARS 18 //18 ASCII = 9 CHINESE
  37. #define ITEM_START     1
  38. #define ITEM_END       8
  39. //clear rect
  40. #define FS_DIRLIST_YSTART 70              //dir string start-y
  41. #define FS_FILELIST_YSTEP 16              //file(dir) list item height
  42. #define LYRECT_XSIZE      145
  43. #define LYRECT_XSTART     26
  44. #define PER_PAGE  10
  45. //----------------------------------------------------------
  46. //variables definition
  47. //----------------------------------------------------------
  48. //for display 
  49. UINT16 MP3TotalNo = 0;
  50. UINT16 MP3PlayNo = 0;
  51. BYTE   WriteFlag = NOT_WRITE;
  52. int    ItemCurrent = 0;
  53. UINT16  LineNo = 0;
  54. BYTE     MP3_Lyrics_Drawed = 0;  
  55. BYTE   OneScreenDrawLines = 0;
  56. //if found BIG5 FONT,then not show
  57. //only support GB2312_FONT
  58. // 0: has no chinese.
  59. // 1: GB2312_FONT
  60. // 2: BIG5_FONT
  61. BYTE FoundChinese = 0;
  62. // for count time in polling.
  63. UINT16   SecCounter = 0;//unit :s
  64. BYTE     MSecCounter = 0; //unit: ms
  65.    
  66. //wanghaoying mark 2004-8-3 8:50, for same declare in fsGUI1.h
  67. /*
  68. typedef struct
  69. {
  70. UINT16  xStart;
  71. UINT16  yStart;
  72. UINT16  xSize;
  73. UINT16  ySize;
  74. } BTNAREA;*/
  75. typedef struct
  76. {   
  77.     BYTE     title[50];//song title
  78.     BYTE     artist[50];//singer
  79.     UINT16   sec[LYRICS_MAX]; //second
  80.     BYTE     song[LYRICS_MAX][MAX_WORD]; //Lyrics information
  81. } LRCInfo;
  82.   
  83. LRCInfo *MP3LRCInfo =(LRCInfo *)MP3LRC_INFO_START;
  84. BYTE *MP3LRCBuf = (BYTE *)MP3LRC_MEM_START;
  85. //----------------------------------------------------------
  86. //Function declaration
  87. //----------------------------------------------------------
  88. void DelExtraChars(BYTE *str, BYTE len);
  89. UINT32 iso9660_seach_MP3txt_files(int MP3TrkNow);
  90. UINT32 str2val(BYTE *str,UINT8 n);
  91. void ParseMP3LRCFile(int MP3LrcFile);
  92. void sort();
  93. int SearchMatchTime();
  94. void polling_10ms_show_MP3Lycris(void);
  95. extern BYTE ran_read(UINT8*, UINT32, UINT32);
  96. //BYTE DrawOneLine(int PlayNo, BYTE StartItem,int FontColor_Y,int FontColor_CRCB);
  97. UINT16 DrawOneLine(int PlayNo, BYTE StartItem,int FontColor_Y,int FontColor_CRCB);
  98. UINT16 AnalyseOneLine(BYTE str[]);
  99. void ShowOneScreen();
  100. void ShowLyricsWhileHL(void);
  101. void  GetMP3Lyrics(void);
  102. //----------------------------------------------------------
  103. #endif// _FS_MP3TXT_H