home *** CD-ROM | disk | FTP | other *** search
/ Chip 2003 January / soundCD_1.03.iso / editors / songs / SoundEngine / vbmp31615.lzh / VBMP3.bas < prev    next >
BASIC Source File  |  2000-06-20  |  22KB  |  472 lines

  1. Attribute VB_Name = "VBMP3"
  2. 'VBMP3.BAS
  3. 'VisualBasicùp MP3æÇì∞DLL è╓ÉöÉΘî╛âtâ@âCâï
  4. '** èεû{æÇì∞în **
  5. Declare Function vbmp3_init Lib "VBMP3.dll" () As Boolean
  6. Declare Function vbmp3_free Lib "VBMP3.dll" () As Boolean
  7. Declare Function vbmp3_open Lib "VBMP3.dll" (ByVal pszName As String, pInfo As InputInfo) As Boolean
  8. Declare Function vbmp3_close Lib "VBMP3.dll" () As Boolean
  9. Declare Function vbmp3_play Lib "VBMP3.dll" () As Boolean
  10. Declare Function vbmp3_stop Lib "VBMP3.dll" () As Boolean
  11. Declare Function vbmp3_pause Lib "VBMP3.dll" () As Boolean
  12. Declare Function vbmp3_restart Lib "VBMP3.dll" () As Boolean
  13. Declare Function vbmp3_seek Lib "VBMP3.dll" (ByVal sec As Long) As Boolean
  14. Declare Function vbmp3_setPlayFrames Lib "VBMP3.dll" (ByVal frames As Long) As Boolean
  15. Declare Function vbmp3_setPlaySamples Lib "VBMP3.dll" (ByVal samples As Long) As Boolean
  16. Declare Function vbmp3_reload Lib "VBMP3.dll" () As Boolean
  17.  
  18. '** VBMP3 è╓ÿA **
  19. Declare Function vbmp3_getVersion Lib "VBMP3.dll" () As Long
  20. Declare Function vbmp3_setVbmp3Option Lib "VBMP3.dll" (pVbmp3Option As VBMP3_OPTION) As Long
  21. Declare Sub vbmp3_getVbmp3Option Lib "VBMP3.dll" (pVbmp3Option As VBMP3_OPTION)
  22. Declare Function vbmp3_setDecodeOption Lib "VBMP3.dll" (pDecOption As DEC_OPTION) As Long
  23. Declare Sub vbmp3_getDecodeOption Lib "VBMP3.dll" (pDecOption As DEC_OPTION)
  24. Declare Sub vbmp3_setWaveOutDeviceId Lib "VBMP3.dll" (ByVal id As Long)
  25.  
  26. '** âXâeü[â^âX(Ä₧è╘/ârâbâgâîü[âg) **
  27. Declare Function vbmp3_getState Lib "VBMP3.dll" (sec As Long) As Long
  28. Declare Function vbmp3_getPlayFrames Lib "VBMP3.dll" () As Long
  29. Declare Function vbmp3_getPlaySamples Lib "VBMP3.dll" () As Long
  30. Declare Function vbmp3_getTotalSamples Lib "VBMP3.dll" () As Long
  31. Declare Function vbmp3_getWinampPlayMs Lib "VBMP3.dll" () As Long
  32. Declare Function vbmp3_getWinampTotalSec Lib "VBMP3.dll" () As Long
  33. Declare Function vbmp3_getPlayBitRate Lib "VBMP3.dll" () As Long
  34.  
  35. '** Åεò±Äµô╛în **
  36. Declare Function vbmp3_getFileType Lib "VBMP3.dll" (ByVal pszName As String) As Long
  37. Declare Function vbmp3_getWaveOutSupport Lib "VBMP3.dll" () As Long
  38. Declare Function vbmp3_getSilentFrames Lib "VBMP3.dll" (ByVal pszName As String) As Long
  39. Declare Function vbmp3_getMpegInfo Lib "VBMP3.dll" (pMpegTagInfo As MPEG_INFO) As Boolean
  40. Declare Function vbmp3_getFileInfo Lib "VBMP3.dll" (ByVal pszName As String, pTagInfo As TAG_INFO, pMpegTagInfo As MPEG_INFO) As Boolean
  41. Declare Function vbmp3_getFileInfo2 Lib "VBMP3.dll" (ByVal pszName As String, pTagInfo As TAG_INFO, pMpegTagInfo As MPEG_INFO, pListInfo As LIST_INFO) As Boolean
  42.  
  43. '** ID3 Tag **
  44. Declare Function vbmp3_setTagInfo Lib "VBMP3.dll" (ByVal pszName As String, pTagInfo As TAG_INFO, Optional ByVal tagSet As Long = 0, Optional ByVal tagAdd As Long = 0) As Boolean
  45. Declare Function vbmp3_getTagInfo Lib "VBMP3.dll" (pTagInfo As TAG_INFO) As Boolean
  46. Declare Function vbmp3_setTagInfoEX Lib "VBMP3.dll" (ByVal pszName As String, pTagInfo As TAG_INFO_11, Optional ByVal tagSet As Long = 0, Optional ByVal tagAdd As Long = 0) As Boolean
  47. Declare Function vbmp3_getFileTagInfo Lib "VBMP3.dll" (ByVal pszName As String, pTagInfo As TAG_INFO) As Boolean
  48. Declare Function vbmp3_getFileTagInfoEX Lib "VBMP3.dll" (ByVal pszName As String, pTagInfo As TAG_INFO_11) As Boolean
  49. Declare Function vbmp3_getGenre Lib "VBMP3.dll" (pTagInfo As TAG_INFO) As Boolean
  50. Declare Function vbmp3_cutID3v2 Lib "VBMP3.dll" (ByVal pszName As String) As Boolean
  51.  
  52. '** SIâtâBü[âïâh **
  53. Declare Function vbmp3_setListInfo Lib "VBMP3.dll" (ByVal pszName As String, pListInfo As LIST_INFO) As Boolean
  54. Declare Function vbmp3_getListInfo Lib "VBMP3.dll" (pListInfo As LIST_INFO) As Boolean
  55. Declare Function vbmp3_setListInfoExVB Lib "VBMP3.dll" (ByVal pszName As String, pListInfo As LIST_INFO_EX_VB) As Boolean
  56. Declare Function vbmp3_getListInfoExVB Lib "VBMP3.dll" (ByVal pszName As String, pListInfo As LIST_INFO_EX_VB) As Boolean
  57. Declare Function vbmp3_setListInfoEX2 Lib "VBMP3.dll" (ByVal pszName As String, pListInfo As LIST_INFO_EX2) As Boolean
  58. Declare Sub vbmp3_setNotDataSiWrite Lib "VBMP3.dll" (writeFlag As Long)
  59.  
  60. '** ë╠Äîè╓ÿA(Lyrics3) **
  61. Declare Function vbmp3_delFileLyrics3Info Lib "VBMP3.dll" (ByVal pszName As String) As Boolean
  62. Declare Function vbmp3_setFileLyrics3InfoVB Lib "VBMP3.dll" (ByVal pszName As String, pLyrics3Info As LYRICS3_INFO_VB, _
  63.                                                              ByVal lyrData As String, ByVal InfData As String, ByVal ImgData As String) As Boolean
  64. Declare Function vbmp3_getFileLyrics3InfoVB Lib "VBMP3.dll" (ByVal pszName As String, pLyrics3Info As LYRICS3_INFO_VB, _
  65.                                                              ByVal lyrData As String, ByVal InfData As String, ByVal ImgData As String) As Boolean
  66. Declare Function vbmp3_readLyrics3Data Lib "VBMP3.dll" () As Boolean
  67. Declare Function vbmp3_setReadLyrics3Info Lib "VBMP3.dll" (ByVal pszName As String) As Boolean
  68. Declare Sub vbmp3_setLyrics3InsField Lib "VBMP3.dll" (ByVal field As Long)
  69. Declare Sub vbmp3_setLyrics3Use Lib "VBMP3.dll" (ByVal useLyrics3 As Long)
  70.  
  71. '** ë╠Äîè╓ÿA **
  72. Declare Function vbmp3_setLyricsFile Lib "VBMP3.dll" (ByVal pszLyricsName As String) As Boolean
  73. Declare Function vbmp3_getLyrics Lib "VBMP3.dll" (pLyricsInfo As LYRICS_INFO) As Boolean
  74. Declare Function vbmp3_getLyrics2 Lib "VBMP3.dll" (pLyricsInfo As LYRICS_INFO2) As Boolean
  75. Declare Function vbmp3_clearLyrics Lib "VBMP3.dll" () As Boolean
  76. Declare Function vbmp3_checkKaraokeTag Lib "VBMP3.dll" () As Boolean
  77. Declare Sub vbmp3_setKaraokeUse Lib "VBMP3.dll" (ByVal useKaraoke As Long)
  78. Declare Sub vbmp3_setLyricsTime Lib "VBMP3.dll" (ByVal flag As Long)
  79. Declare Sub vbmp3_setNotTagLyricsLine Lib "VBMP3.dll" (ByVal readFlag As Long)
  80. Declare Sub vbmp3_setLyricsAdjustTime Lib "VBMP3.dll" (ByVal ms As Long)
  81. Declare Sub vbmp3_setLyricsNextAdjustTime Lib "VBMP3.dll" (ByVal ms As Long)
  82. Declare Function vbmp3_convTimeN2W Lib "VBMP3.dll" () As Boolean
  83. Declare Function vbmp3_convTimeW2N Lib "VBMP3.dll" () As Boolean
  84. Declare Function vbmp3_outLyricsFile Lib "VBMP3.dll" (ByVal pszLyricsName As String) As Boolean
  85. Declare Sub vbmp3_useAtMarkTag Lib "VBMP3.dll" (ByVal useFlag As Long)
  86. Declare Sub vbmp3_setTimeRatio Lib "VBMP3.dll" (ByVal TimeRatio As Double)
  87. Declare Function vbmp3_checkTimeTag Lib "VBMP3.dll" () As Long
  88. Declare Function vbmp3_getCallbackLyricsData Lib "VBMP3.dll" (ByVal pProc As Long) As Boolean
  89. Declare Function vbmp3_getAtTagData Lib "VBMP3.dll" (pAtTagData As AT_TAG_DATA) As Boolean
  90. Declare Function vbmp3_getLyricsPoint Lib "VBMP3.dll" () As Long
  91. 'Declare Function vbmp3_getLyricsData Lib "VBMP3.dll" (pLyricsData As LYRICS_DATA, ByVal elmNo As Long) As Long
  92. 'Declare Function vbmp3_getLyricsCount Lib "VBMP3.dll" () As Long
  93.  
  94. '** ô┴ÄΩì─É╢ **
  95. Declare Function vbmp3_setStepPitch Lib "VBMP3.dll" (ByVal pitch As Long, Optional ByVal flames As Long = 5) As Boolean
  96. Declare Function vbmp3_getStepPitch Lib "VBMP3.dll" () As Long
  97. Declare Function vbmp3_setPitch Lib "VBMP3.dll" (ByVal pitch As Long) As Boolean
  98. Declare Function vbmp3_getPitch Lib "VBMP3.dll" () As Long
  99. Declare Sub vbmp3_setFadeIn Lib "VBMP3.dll" (ByVal fin As Long)
  100. Declare Sub vbmp3_setFadeOut Lib "VBMP3.dll" (ByVal fout As Long)
  101. Declare Sub vbmp3_fadeOut Lib "VBMP3.dll" ()
  102. Declare Sub vbmp3_setOverTime Lib "VBMP3.dll" (ByVal tmOver As Long)
  103. Declare Sub vbmp3_setSeekPlay Lib "VBMP3.dll" (ByVal seekPlay As Long)
  104. Declare Sub vbmp3_setFrameReadFlag Lib "VBMP3.dll" (ByVal readFlag As Long)
  105. Declare Sub vbmp3_quickSeek Lib "VBMP3.dll" (ByVal quickSeekFlag As Long)
  106.  
  107. '** â{âèâàü[âÇ **
  108. Declare Function vbmp3_setVolume Lib "VBMP3.dll" (ByVal lVol As Long, ByVal rVol As Long) As Boolean
  109. Declare Function vbmp3_getVolume Lib "VBMP3.dll" (lVol As Long, rVol As Long) As Boolean
  110. Declare Sub vbmp3_setSoftVolume Lib "VBMP3.dll" (ByVal lVol As Long, ByVal rVol As Long)
  111. Declare Sub vbmp3_getSoftVolume Lib "VBMP3.dll" (lVol As Long, rVol As Long)
  112.  
  113. '** âfâRü[âh **
  114. Declare Function vbmp3_playDecodeWave Lib "VBMP3.dll" (ByVal pszWaveName As String) As Boolean
  115. Declare Function vbmp3_decodeWave Lib "VBMP3.dll" (ByVal pszWaveName As String) As Boolean
  116.  
  117. '** âGâôâRü[âhîn **
  118. Declare Function vbmp3_encodeOpen Lib "VBMP3.dll" (ByVal pszWaveName As String, pWaveForm As WAVE_FORM) As Boolean
  119. Declare Function vbmp3_encodeStart Lib "VBMP3.dll" (ByVal pszMp3Name As String) As Boolean
  120. Declare Function vbmp3_encodeStop Lib "VBMP3.dll" () As Boolean
  121. Declare Function vbmp3_getEncodeState Lib "VBMP3.dll" (readSize As Long, encodeSize As Long) As Long
  122.  
  123. '** âIâVâìüEâXâyâAâiüEâOâëâCâR **
  124. Declare Sub vbmp3_getWave Lib "VBMP3.dll" (pWaveL As Long, pWaveR As Long)
  125. Declare Sub vbmp3_getSpectrum Lib "VBMP3.dll" (pSpecL As Long, pSpecR As Long)
  126. Declare Sub vbmp3_setFftWindow Lib "VBMP3.dll" (ByVal window As Long)
  127. Declare Sub vbmp3_setEqualizer Lib "VBMP3.dll" (pTable As Long)
  128.  
  129. '** âtâ@âCâïî`Ä«ò╧è╖ **
  130. Declare Function vbmp3_changeWav Lib "VBMP3.dll" (ByVal pszName As String) As Boolean
  131. Declare Function vbmp3_changeRmp Lib "VBMP3.dll" (ByVal pszName As String) As Boolean
  132. Declare Function vbmp3_changeMp3 Lib "VBMP3.dll" (ByVal pszName As String) As Boolean
  133. Declare Function vbmp3_cutMacBinary Lib "VBMP3.dll" (ByVal pszName As String) As Boolean
  134.  
  135. '** âRü[âïâoâbâNè╓Éö **
  136. Declare Function vbmp3_callback Lib "VBMP3.dll" (ByVal pProc As Long) As Boolean
  137. Declare Function vbmp3_startCallback Lib "VBMP3.dll" () As Boolean
  138. Declare Function vbmp3_stopCallback Lib "VBMP3.dll" () As Boolean
  139. 'Declare Function vbmp3_startCallBackTimer Lib "VBMP3.dll" (ByVal pProc As Long, ByVal wDelay As Long, ByVal wResolution As Long, ByVal userData As Long) As Boolean
  140. 'Declare Function vbmp3_stopCallBackTimer Lib "VBMP3.dll" (ByVal pProc As Long) As Boolean
  141.  
  142. '** âfâoâbâO **
  143. Declare Function vbmp3_getLastErrorNo Lib "VBMP3.dll" () As Long
  144. Declare Function vbmp3_debug Lib "VBMP3.dll" () As Long
  145.  
  146. '** û╝Å╠òsÉ│ **
  147. Declare Function vbmp3_setPlayFlames Lib "VBMP3.dll" (ByVal flames As Long) As Boolean
  148. Declare Function vbmp3_getPlayFlames Lib "VBMP3.dll" () As Long
  149.  
  150. '** ûóÄgùp **
  151. Declare Sub vbmp3_startAnalyzeThread Lib "VBMP3.dll" ()
  152. Declare Sub vbmp3_stopAnalyzeThread Lib "VBMP3.dll" ()
  153. Declare Sub vbmp3_startAnalyze Lib "VBMP3.dll" ()
  154. Declare Sub vbmp3_stopAnalyze Lib "VBMP3.dll" ()
  155. Declare Function vbmp3_getWaveData Lib "VBMP3.dll" (pWaveData As WAVE_DATA) As Boolean
  156.  
  157. Public Type InputInfo
  158.     szTrackName As String * 128     'ï╚û╝
  159.     szArtistName As String * 128    '▒░├¿╜─û╝
  160.     channels As Long                '┴¼▌╚┘Éö
  161.     bitrate As Long                 '╦▐»─┌░─(kbit/s)
  162.     samplingRate As Long            '╗▌╠▀┘┌░─(Hz)
  163.     TotalSec As Long                'ëëætÄ₧è╘(s)
  164. End Type
  165.  
  166. Public Type TAG_INFO
  167.     szTrackName As String * 128     'ï╚û╝
  168.     szArtistName As String * 128    '▒░├¿╜─û╝
  169.     szAlbumName As String * 128     '▒┘╩▐╤û╝
  170.     szYear As String * 5            '╪╪░╜öNìå
  171.     szComment As String * 128       '║╥▌─
  172.     genre As Long                   '╝▐¼▌┘
  173.     szGenreName As String * 128     '╝▐¼▌┘û╝
  174. End Type
  175.  
  176. Public Type TAG_INFO_11
  177.     szTrackName As String * 128     'ï╚û╝
  178.     szArtistName As String * 128    '▒░├¿╜─û╝
  179.     szAlbumName As String * 128     '▒┘╩▐╤û╝
  180.     szYear As String * 5            '╪╪░╜öNìå
  181.     szComment As String * 128       '║╥▌─
  182.     genre As Long                   '╝▐¼▌┘
  183.     szGenreName As String * 128     '╝▐¼▌┘û╝
  184.     trackNo As Long                 'âgâëâbâNö╘ìå (-1 = v1.0)
  185. End Type
  186.  
  187.  
  188. Public Type MPEG_INFO
  189.     version As Long                 '╩▐░╝▐«▌        1:MPEG-1, 2:MPEG-2, 3:MPEG-2.5
  190.     layer As Long                   '┌▓╘            1:Layer1. 2:Layer2, 3:Layer3
  191.     crcDisable As Long              '┤╫░ò█î∞        0:û│î°, 1:ùLî°
  192.     extension As Long               '┤╕╜├▌╝«▌       0:é╚é╡, 1:╠▀╫▓═▐░─
  193.     mode As Long                    '┴¼▌╚┘╙░─▐      0:Stereo, 1:Joint stereo, 3:Dual channel, 4:Mono
  194.     copyright As Long               'Æÿì∞îá         0:Æÿì∞îáò█î∞éáéΦ, 1:Æÿì∞îáò█î∞é╚é╡
  195.     original As Long                '╡╪╝▐┼┘         0:║╦▀░, 1:╡╪╝▐┼┘
  196.     emphasis As Long                '┤▌╠½╝╜         0:None, 1:50/15ms, 2:Reserved, 3:CCITT j.17
  197.     
  198.     channels As Long                '┴¼▌╚┘Éö
  199.     bitrate As Long                 '╦▐»─┌░─(kbit/s)(0 é╚éτ VBRî`Ä«)
  200.     samplingRate As Long            '╗▌╠▀┘┌░─(Hz)
  201.     fileSize As Long                '╠º▓┘╗▓╜▐(Byte)
  202.     flames As Long                  '╠┌░╤Éö
  203.     TotalSec As Long                'ëëætÄ₧è╘(s)
  204. End Type
  205.  
  206. Public Type DEC_OPTION
  207.     reduction As Long               'âTâôâvâèâôâO 0:1/1 1:1/2 2:1/4 [Default = 0]
  208.     convert As Long                 'â`âââôâlâï 0:âXâeâîâI 1:âéâmâëâï[Default = 0]
  209.     freqLimit As Long               'ÄⁿögÉö[Default = 24000]
  210. End Type
  211.  
  212. Public Type VBMP3_OPTION
  213.     inputBlock As Long              'ôⁿù═âtâîü[âÇÉö[Default = 40]
  214.     outputBlock As Long             'Åoù═âtâîü[âÇÉö[Default = 30]
  215.     inputSleep As Long              'ôⁿù═Æ╝îπé╠╜╪░╠▀Ä₧è╘(╨╪òb)[Default = 5]
  216.     outputSleep As Long             'Åoù═Æ╝îπé╠╜╪░╠▀Ä₧è╘(╨╪òb)[Default = 0]
  217. End Type
  218.  
  219. Public Type LIST_INFO
  220.     INAM As String * 128            'ï╚û╝
  221.     IART As String * 128            'âAü[âeâBâXâgû╝
  222.     IPRD As String * 128            'É╗òiû╝
  223.     ICMT As String * 128            'âRâüâôâgò╢ÄÜù±
  224.     ICRD As String * 128            'âèâèü[âXöNìå
  225.     IGNR As String * 128            'âWâââôâïû╝
  226.     ICOP As String * 128            'Æÿì∞îá
  227.     IENG As String * 128            'âGâôâWâjâA
  228.     ISRC As String * 128            'â\ü[âX
  229.     ISFT As String * 128            'â\âtâgâEâFâA
  230.     IKEY As String * 128            'âLü[âÅü[âh
  231.     ITCH As String * 128            'ïZÅpÄ╥
  232.     ICMS As String * 128            'âRâ~âbâVâçâô
  233.     ILYC As String * 128            'ë╠Äî
  234. End Type
  235.  
  236. Public Type LIST_INFO_EX_VB
  237.     INAM As String * 512           'ï╚û╝
  238.     IART As String * 512           'âAü[âeâBâXâgû╝
  239.     IPRD As String * 512           'É╗òiû╝
  240.     ICMT As String * 512           'âRâüâôâgò╢ÄÜù±
  241.     ICRD As String * 512           'âèâèü[âXöNìå
  242.     IGNR As String * 512           'âWâââôâïû╝
  243.     ICOP As String * 512           'Æÿì∞îá
  244.     IENG As String * 512           'âGâôâWâjâA
  245.     ISRC As String * 512           'â\ü[âX
  246.     ISFT As String * 512           'â\âtâgâEâFâA
  247.     IKEY As String * 512           'âLü[âÅü[âh
  248.     ITCH As String * 512           'ïZÅpÄ╥
  249.     ICMS As String * 512           'âRâ~âbâVâçâô
  250.     IMED As String * 512           'Æåè╘
  251.     ISBJ As String * 512           'â^âCâgâï
  252.     IMP3 As String * 512           'MP3Åεò±
  253.     ILYC As String * 512           'ë╠Äî
  254. End Type
  255.  
  256. Public Type LIST_INFO_EX2
  257.     INAM As String           'ï╚û╝
  258.     IART As String           'âAü[âeâBâXâgû╝
  259.     IPRD As String           'É╗òiû╝
  260.     ICMT As String           'âRâüâôâgò╢ÄÜù±
  261.     ICRD As String           'âèâèü[âXöNìå
  262.     IGNR As String           'âWâââôâïû╝
  263.     ICOP As String           'Æÿì∞îá
  264.     IENG As String           'âGâôâWâjâA
  265.     ISRC As String           'â\ü[âX
  266.     ISFT As String           'â\âtâgâEâFâA
  267.     IKEY As String           'âLü[âÅü[âh
  268.     ITCH As String           'ïZÅpÄ╥
  269.     ICMS As String           'âRâ~âbâVâçâô
  270.     IMED As String           'Æåè╘
  271.     ISBJ As String           'â^âCâgâï
  272.     IMP3 As String           'MP3Åεò±
  273.     ILYC As String           'ë╠Äî
  274. End Type
  275.  
  276. Public Type LYRICS_INFO
  277.     sec As Long                             'â~âèòb
  278.     LyricsNext2 As String * 128             'ăüXìsé╠ë╠Äî
  279.     LyricsNext1 As String * 128             'ăìsé╠ë╠Äî
  280.     LyricsCurrent As String * 128           'âJâîâôâgìsé╠ë╠Äî
  281.     LyricsPrev1 As String * 128             'æOìsé╠ë╠Äî
  282.     LyricsPrev2 As String * 128             'æOüXìsé╠ë╠Äî
  283. End Type
  284.  
  285. Public Type LYRICS_INFO2
  286.     sec As Long                             'â~âèòb
  287.     lineno As Long                          'ìsÉö
  288.     point As Long                           'âJâîâôâgìsé┼é╠â^âOé╠ê╩Æu
  289.     length As Long                          'âJâîâôâgâ^âOé╠Æ╖é│üiâ~âèòbüj
  290.     LyricsNext2 As String * 128             'ăüXìsé╠ë╠Äî
  291.     LyricsNext1 As String * 128             'ăìsé╠ë╠Äî
  292.     LyricsCurrent As String * 128           'âJâîâôâgâ^âOé╠ë╠Äî
  293.     LyricsCurrentBegin As String * 128      'âJâîâôâgâ^âOéµéΦæOé╠ë╠Äî
  294.     LyricsCurrentLyrics As String * 128     'âJâîâôâgâ^âOé▄é┼é╠ë╠Äî
  295.     LyricsCurrentAll As String * 128        'âJâîâôâgìsé╠ë╠Äî
  296.     LyricsPrev1 As String * 128             'æOìsé╠ë╠Äî
  297.     LyricsPrev2 As String * 128             'æOüXìsé╠ë╠Äî
  298. End Type
  299.  
  300. 'ûóÄgùp
  301. Public Type WAVE_DATA
  302.     channels As Long
  303.     bitsPerSample As Long
  304.     left As Long
  305.     right As Long
  306. End Type
  307.  
  308. Public Type WAVE_FORM
  309.     channels As Long                'â`âââôâlâïÉö
  310.     bitsPerSample As Long           'ârâbâgÉö/1âTâôâvâï
  311.     samplingRate As Long            'âTâôâvâèâôâOâîü[âg
  312.     dataSize As Long                'âtâ@âCâïâTâCâY
  313. End Type
  314.  
  315. Public Type LYRICS3_INFO_VB
  316.     IND_LYR As String * 1           'LYRâtâBü[âïâhé╠ùLû│ '0':û│é╡ '1':ùLéΦ
  317.     IND_TIMETAG As String * 1       'â^âCâÇâ^âOé╠ùLû│ '0':û│é╡ '1':ùLéΦ
  318.     AUT As String * 250             'ì∞Äîü^ì∞ï╚Ä╥û╝
  319.     EAL As String * 250             'ègÆúâAâïâoâÇû╝
  320.     EAR As String * 250             'ègÆúâAü[âeâBâXâgû╝
  321.     ETT As String * 250             'ègÆúâgâëâbâNâ^âCâgâï
  322. End Type
  323.  
  324. 'Public lyrData As String * 60000    'ë╠ÄîâtâBü[âïâh
  325. 'Public InfData As String * 60000    'Åεò±âtâBü[âïâh
  326. 'Public ImgData As String * 60000    'âCâüü[âWâtâ@âCâïé╓é╠âèâôâN
  327.  
  328.  
  329. 'üùâ^âO
  330. Public Type AT_TAG_DATA
  331.     Artist As String * 1024         'âAü[âeâBâXâgû╝
  332.     Title As String * 1024          'â^âCâgâï
  333.     Album As String * 1024          'âAâïâoâÇû╝
  334.     Bgfile As String * 1024         'öwîiâtâ@âCâïû╝
  335.     Bgfolder As String * 1024       'öwîiâtâHâïâ_û╝
  336.     TimeRatio As Double             'Ä₧è╘öΣ
  337.     Offset As Long                  'òΓÉ│Ä₧è╘[ms]
  338.     SilencemSec As Long             'û│ë╣òöÄ₧è╘[ms]
  339.     TaggingBy As String * 1024      'â^âOì∞ɼÄ╥
  340.     EditedBy As String * 1024       'â^âOÅCÉ│Ä╥
  341.     Silence As Long                 'û│ë╣âtâîü[âÇÉö
  342.     flames As Long                  'æìâtâîü[âÇÉö
  343.     TotalSec As Long                'ëëætæìÄ₧è╘[s]
  344.     TimeType As String * 1024       'ì─É╢Ä₧è╘Äφò╩(WinAmp or Normal)
  345. End Type
  346.  
  347. Public Type LYRICS_DATA
  348.     no As Long                  'özù±ö╘ìå
  349.     sec As Long                 'â~âèòb
  350.     lineno As Long              'ìsö╘ìå 0ü`
  351.     point As Long               'ìsê╩Æu 0ü`(0é═ë╠Äîɵô╟ùp)
  352.     tagFlag As Boolean          'â^âOùLû│
  353.     textSize As Long            'âeâLâXâgâTâCâY[byte]
  354.     lyrics As String * 128      'ë╠Äî
  355. End Type
  356.  
  357. 'âtâ@âCâïâ^âCâvÆΦÉö
  358. Public Const FT_NOMAL = 0
  359. Public Const FT_WAVE = 1
  360. Public Const FT_RMP = 2
  361. Public Const FT_ID3V2 = 4
  362. Public Const FT_MAC = 8
  363. Public Const FT_ID3V1 = 16
  364. Public Const FT_LYRICS3 = 32
  365.  
  366. 'âRü[âïâoâbâNè╓Éöùp
  367. Public Const MSG_ERROR = 0
  368. Public Const MSG_STOPING = 1
  369. Public Const MSG_PLAYING = 2
  370. Public Const MSG_PAUSING = 3
  371. Public Const MSG_PLAYDONE = 4
  372.  
  373. Enum vbmp3_errNo
  374.     ERR_MP3_FILE_OPEN = 1
  375.     ERR_MP3_FILE_NOT_OPEN = 2
  376.     ERR_MP3_FILE_READ = 3
  377.     ERR_MP3_FILE_WRITE = 4
  378.     ERR_WAV_FILE_OPEN = 5
  379.     ERR_WAV_FORMAT = 6
  380.     ERR_ENCODE_FILE_OPEN = 7
  381.     ERR_LYRICS_FILE_OPEN = 8
  382.     ERR_LYRICS_NON_DATA = 9
  383.     ERR_FRAME_HEADER_NOT_FOUND = 10
  384.     ERR_FRAME_HEADER_READ = 11
  385.     ERR_STATE_STOP = 12
  386.     ERR_NOT_STATE_STOP = 13
  387.     ERR_NOT_STATE_PLAY = 14
  388.     ERR_STATE_NON_ENCODE = 15
  389.     ERR_PLAY = 16
  390.     ERR_STOP = 17
  391.     ERR_INVALID_VALUE = 18
  392.     ERR_MALLOC = 19
  393.     ERR_NON_RIFF = 20
  394.     ERR_RIFF = 21
  395.     ERR_NOT_MP3 = 22
  396.     ERR_MAC_BIN = 23
  397.     ERR_UNKNOWN_FILE = 24
  398.     ERR_OPEN_OUT_DEVICE = 25
  399.     ERR_DECODE = 26
  400.     ERR_DECODE_THREAD = 27
  401.     ERR_ENCODE_THREAD = 28
  402.     ERR_CREATE_EVENT = 29
  403.     ERR_CODEC_NOT_FOUND = 30
  404.     ERR_WAVE_TABLE_NOT_FOUND = 31
  405.     ERR_ACM_OPEN = 32
  406. End Enum
  407.  
  408. Enum fft_window
  409.     rectangle = 0
  410.     hanning = 1
  411.     hamming = 2
  412.     blackman = 3
  413. End Enum
  414.  
  415.  
  416. '---------------------------------------------------------
  417. 'è╓ÉöüFFunction NTrim()
  418. 'ï@ö\üF\0 ê╚ì~é╠ò╢ÄÜù±ìφÅ£
  419. 'ê°ÉöüFWord  : ò╧è╖î│ò╢ÄÜù±
  420. 'û▀éΦÆlüFò╧è╖îπò╢ÄÜù±
  421. '---------------------------------------------------------
  422. Function NTrim(Word As String) As String
  423.     If InStr(Word, Chr(0)) > 0 Then
  424.         NTrim = left(Word, InStr(Word, Chr(0)) - 1)
  425.     Else
  426.         NTrim = Word
  427.     End If
  428. End Function
  429.  
  430. '---------------------------------------------------------
  431. 'è╓ÉöüFFunction LNTrim()
  432. 'ï@ö\üFò╢ÄÜù±é╠ɵô¬é╔éáéΘ \0 ò╢ÄÜù±ìφÅ£
  433. 'ê°ÉöüFWord  : ò╧è╖î│ò╢ÄÜù±
  434. 'û▀éΦÆlüFò╧è╖îπò╢ÄÜù±
  435. '---------------------------------------------------------
  436. Function LNTrim(Word As String) As String
  437.     Dim textLength As Long
  438.     Dim cnt As Long
  439.     textLength = Len(Word)
  440.     
  441.     LNTrim = Word
  442.     If InStr(LNTrim, Chr(0)) > 0 Then
  443.         For cnt = 1 To textLength
  444.             If Mid(LNTrim, 1, 1) = Chr(0) Or Mid(LNTrim, 1, 1) = vbCr Or Mid(LNTrim, 1, 1) = vbLf Then
  445.                 If cnt < textLength Then
  446.                     LNTrim = Mid(LNTrim, 2)
  447.                 Else
  448.                     LNTrim = ""
  449.                 End If
  450.             Else
  451.                 Exit For
  452.             End If
  453.         Next cnt
  454.     Else
  455.         LNTrim = Word
  456.     End If
  457. End Function
  458.  
  459. '---------------------------------------------------------
  460. 'è╓ÉöüFFunction NTrim2()
  461. 'ï@ö\üFɵô¬é╠\0é╞ìsûûé╠ \0 ê╚ì~é╠ò╢ÄÜù±ìφÅ£
  462. 'ê°ÉöüFWord  : ò╧è╖î│ò╢ÄÜù±
  463. 'û▀éΦÆlüFò╧è╖îπò╢ÄÜù±
  464. '---------------------------------------------------------
  465. Function NTrim2(Word As String) As String
  466.  
  467.     Word = LNTrim(Word)
  468.     NTrim2 = NTrim(Word)
  469.  
  470. End Function
  471.  
  472.