#packopt name "¥¿¥¤¥à¥¿¥°ÉÕ¤²Î»ìϢ³¼èÆÀ¥Ä¡¼¥ë" #packopt hide 1 #include "user32.as" #include "shell32.as" #include "comctl32.as" #include "kernel32.as" #include "ole32.as" #include "mod_regexp.as" #uselib "imagehlp.dll " #func global MakeSureDirectoryPathExists "MakeSureDirectoryPathExists" str #uselib "shlwapi.dll" #cfunc global PathMatchSpec "PathMatchSpecA" sptr,sptr #include "hspext.as" ;//2¥Ð¥¤¥Èʸ»úȽÄê #define ctype wbyte(%1) ( (( (129<=%1)&(%1<=159) )||( (224<=%1)&(%1<=252) )) ) #include "gblconst-sysval.hsp"; #include "exlistview'.hsp" #include "mp3infp_ExportFunc_HSP.hsp" #include "lua-xl.hsp" #include "Modules.hsp" ;¥ê¥¹¥È¥Ó¥å¡¼ID #enum LIST_POINT = 0 #enum LIST_FOLDERNAME #enum LIST_FILENAME #enum LIST_TITLE #enum LIST_TITLE_DATA #enum LIST_ARTIST #enum LIST_ARTIST_DATA #enum LIST_ALBUM #enum LIST_ALBUM_DATA #enum LIST_TIME #enum LIST_TIME_DATA #enum LIST_LYRICSITE #enum LIST_DATABASE ;¥¦¥£¥ó¥É¥¦ID #define global WindowID_Main 0 #define global WindowID_Setting 2 #define global WindowID_ShowSite 1 ;¥¿¥¤¥È¥ë #define app_title "¥¿¥¤¥à¥¿¥°ÉÕ¤²Î»ìϢ³¼èÆÀ¥Ä¡¼¥ë" ;¥Ð¡¼¥¸¥ç¥ó #define app_version "ver. 0.2.2" ;// ¥á¥¤¥ó¥¦¥£¥ó¥É¥¦ºîÀ® screen WindowID_Main, ginfo_dispx, ginfo_dispy, 0, ,, 640,480 title app_title ; ¼«¥¦¥£¥ó¥É¥¦¤Î¥¹¥¿¥¤¥ë¤òÊѹ¹ ; $10000 = ºÇÂç²½¥Ü¥¿¥ó͸ú ; $40000 = ¥¦¥£¥ó¥É¥¦¥µ¥¤¥º²ÄÊÑ͸ú GetWindowLong hwnd, -16 SetWindowLong hwnd, -16, stat | $10000 | $40000 // ÀßÄêÊÑ¿ô FileSavePos = "" ;Êݸ¥Õ¥¡¥¤¥ë¾ì½ê FileSaveExt = ".lrc" ;Êݸ¥Õ¥¡¥¤¥ë³ÈÄ¥»Ò LyricsMasterPass = "" ;LyricsMaster¤Î¥Ñ¥¹ FileNameFilter = "" ;¶ÊÅÐÏ¿»þ¤Î¥Õ¥£¥ë¥¿ FileNameFilterRegExpCheck = 0 ;¥Õ¥£¥ë¥¿¤òÀµµ¬É½¸½¤Ë¤¹¤ë MusicFileExts="*.mp3,*.m4a,*.wma,*.wav,*.ogg,*ape" ;¥ê¥¹¥ÈÅÐÏ¿¥Õ¥£¥ë¥¿ Option_CheckerPoint=90 ;¥Á¥§¥Ã¥¯´ð½à Option_WeightTitle=100 Option_WeightArtsit=60 Option_WeightAlbum=40 Option_WeightTime=30 ;//¥°¥í¡¼¥Ð¥ëÊÑ¿ô rec_dat = "" ;¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÎÀ¸¥Ç¡¼¥¿ LUA_hmiku = "" ;½é²»¥ß¥¯Wiki¤«¤é²Î»ì¤ò¼èÆÀ¤¹¤ë¤¿¤á¤ÎLUA¥¹¥¯¥ê¥×¥È LUA_touhoukashi="" ;ÅìÊýƱ¿ÍCD¤Î²Î»ì@Wiki¤«¤é²Î»ì¤ò¼èÆÀ¤¹¤ë¤¿¤á¤ÎLUA¥¹¥¯¥ê¥×¥È hlist = 0 ;¥ê¥¹¥È¥Ó¥å¡¼¤Î¥Ï¥ó¥É¥ë tb_hWnd = 0 ;¥Ä¡¼¥ë¥Ð¡¼¤Î¥Ï¥ó¥É¥ë tb_id(0) = 0 ;¥Ä¡¼¥ë¥Ð¡¼¤Î¥Ü¥¿¥óIDÇÛÎó ListViewPos=0,0 ;¥ê¥¹¥È¥Ó¥å¡¼¤Î°ÌÃÖ toolbar_height=0 ;¥Ä¡¼¥ë¥Ð¡¼¤Î¹â¤µ ;¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡± ; Header.hsp ; ; ¥Ä¡¼¥ë¥Ð¡¼ºîÀ®¡¢³ä¤ê¹þ¤ßÀßÄê¡¢¥á¥Ã¥»¡¼¥¸½èÍý ;¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡² #include "Header.hsp" ;¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡± ; Option.hsp ; ; ÀßÄꥦ¥£¥ó¥É¥¦ºîÀ®¡¦½èÍý¡¢LyricsMaster¸¡º÷Ãæ¤Î¾ÜºÙɽ¼¨Áë ºîÀ® ;¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡² #include "Option.hsp" ;¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÎÅÀ¿ôÉÕ¤±¤Î½Å¤ß³ä¤ê¿¶¤êÀßÄê PointInMusicList_option_set Option_WeightTitle, Option_WeightArtsit, Option_WeightAlbum, Option_WeightTime //¥Ç¡¼¥¿¥Ù¡¼¥¹À¸¥Ç¡¼¥¿¼èÆÀ(¥Í¥Ã¥È) rec_dat = GetHTMLSource("http://timetag.main.jp/herodb/timetag/rec.dat", Char_EUC, 1) //²Î»ì¼èÆÀLUA¥¹¥¯¥ê¥×¥È¤ò¥í¡¼¥É notesel LUA_hmiku noteload "LUA/www5.atwiki.jp_hmiku.lua" noteunsel notesel LUA_touhoukashi noteload "LUA/www31.atwiki.jp_touhoukashi.lua" noteunsel //¥ê¥¹¥È¥Ó¥å¡¼ºîÀ® hlist=Createlstview(0, 0, ListViewPos(1),ginfo_winx,480-ListViewPos(1) ) GetWindowLong hlist, -16 SetWindowLong hlist,-16,stat|LVS_SHOWSELALWAYS|LVS_SINGLESEL|LVS_NOSORTHEADER lsvexset hlist, LVS_EX_GRIDLINES | LVS_EX_FULLROWSELECT | LVS_EX_CHECKBOXES lsvcladd hlist," ",LIST_POINT,0,50,0,0 lsvcladd hlist,"¥Õ¥©¥ë¥À",LIST_FOLDERNAME,0,60,0,0 lsvcladd hlist,"¥Õ¥¡¥¤¥ë",LIST_FILENAME,0,180,0,0 lsvcladd hlist,"¥¿¥¤¥È¥ë",LIST_TITLE,0,100,0,0 lsvcladd hlist,"DB",LIST_TITLE_DATA,0,100,0,0 lsvcladd hlist,"¥¢¡¼¥Æ¥£¥¹¥È",LIST_ARTIST,0,100,0,0 lsvcladd hlist,"DB",LIST_ARTIST_DATA,0,100,0,0 lsvcladd hlist,"¥¢¥ë¥Ð¥à",LIST_ALBUM,0,100,0,0 lsvcladd hlist,"DB",LIST_ALBUM_DATA,0,100,0,0 lsvcladd hlist,"ºÆÀ¸»þ´Ö",LIST_TIME,0,60,0,0 lsvcladd hlist,"DB",LIST_TIME_DATA,0,60,0,0 lsvcladd hlist,"²Î»ì¥µ¥¤¥È",LIST_LYRICSITE,0,120,0,0 lsvcladd hlist,"¥Ç¡¼¥¿¥Ù¡¼¥¹",LIST_DATABASE,0,300,0,0 stop ; ; ¡Ú¥¦¥£¥ó¥É¥¦ºîÀ® ´°Î»¡Û ;¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡² ;¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡± ; ¥ê¥¹¥È¥Ó¥å¡¼¡§¥Õ¥¡¥¤¥ë¤ò¥É¥í¥Ã¥× ; ; ¶ÊÅÐÏ¿ ½èÍý ;¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡² *ListViewDrop ;//D&D¥Ï¥ó¥É¥ë hDrop=wParam ;//D&D¸Ä¿ô³Îǧ DragQueryFile hDrop,-1,0,0 DropNum = stat //¥Ä¡¼¥ë¥Ð¡¼¤Î¥Ü¥¿¥ó¤ò»ÈÍÑÉԲĤˤ¹¤ë sendmsg tb_hWnd, TB_ENABLEBUTTON, tb_id(TB_LISTVIEW), 0 ;¥ê¥¹¥È¥Ó¥å¡¼¹àÌܤκÇÂç¿ô MaxListNum = lsvcount(hlist, 0) ; sdim DropFileName, 4*1024 MusicTitle="" MusicArtist="" MusicAlbum="" MusicTime="" ;¶Ê½ü³°¥Õ¥£¥ë¥¿¤òÇÛÎó¤Øʬ²ò split FileNameFilter, "|", FileNameFilters :FileNameFilters_num = stat repeat FileNameFilters_num ;¥ï¥¤¥ë¥É¥«¡¼¥É»ÅÍͤˤʤäƤ¤¤Ê¤«¤Ã¤¿¤éË**¤ò¤¹ if instr(FileNameFilters(cnt),0,"*")=-1 && instr(FileNameFilters(cnt),0,"?")=-1 : FileNameFilters(cnt) = "*"+FileNameFilters(cnt)+"*" loop ;ListViewÅÐÏ¿ repeat DropNum ;¥É¥í¥Ã¥×¥Õ¥¡¥¤¥ë̾ £±¤Ä¼èÆÀ DragQueryFile hDrop, cnt, varptr(DropFileName), 4*1024 //¥Õ¥¡¥¤¥ë¤«¥Õ¥©¥ë¥À¤«È½ÃǤ·¤Æ¡¢¥Õ¥©¥ë¥À¤Ê¤é²¼ÁؤΥե¡¥¤¥ë¤ò¼è¤ê½Ð¤¹ ;¥Õ¥©¥ë¥À¤«³Îǧ dirlist x, DropFileName, 5 if stat=1 { ;¥Õ¥©¥ë¥À¤À¤Ã¤¿ d_cur=dir_cur chdir DropFileName+"\\" ;¥Õ¥©¥ë¥À¤Î²¼ÁØ¥Õ¥¡¥¤¥ë¤ò¼èÆÀ dirlist2h 1, dirlist2 ssize, "*.*",1 sdim files, ssize dirlist2r files chdir d_cur currentadd=1 ;²¼ÁØ¥Õ¥¡¥¤¥ë¤Î¾ì¹ç¡¢¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê̾¤ò¤¹É¬Íפ¬¤¢¤ë }else { ;¥Õ¥¡¥¤¥ë¤À¤Ã¤¿ files = DropFileName currentadd=0 } // ¥Õ¥¡¥¤¥ë¤ò¥ê¥¹¥È¥Ó¥å¡¼¤ØÅÐÏ¿ notesel files notemax_=notemax noteunsel index=0 repeat notemax_ getstr file, files, index, ,1024 :index+=strsize if currentadd=1 : file = DropFileName+"\\"+file ;¥Õ¥©¥ë¥À¤«³Îǧ dirlist x, file, 5 if stat=1 :continue ;¥Õ¥©¥ë¥À¤Ê¤éÃƤ¯ ;²»³Ú¥Õ¥¡¥¤¥ë¤«³Îǧ if instr( MusicFileExts, 0, getpath(file,2+16) ) = -1 :continue ;°ã¤¦¤Ê¤éÃƤ¯ //¶Ê½ü³°¥Õ¥£¥ë¥¿ÀßÄê if FileNameFilter!"" { if FileNameFilterRegExpCheck = 0 { ;¥ï¥¤¥ë¥É¥«¡¼¥É¤Ç½ü³° flg=0 repeat FileNameFilters_num if PathMatchSpec( getpath(file,8), FileNameFilters(cnt) ) ! 0 :flg=1 :break loop if flg=1 :continue }else { ;Àµµ¬É½¸½¤Ç½ü³° if match( getpath(file,8), FileNameFilter )!"" :continue } } //¶Ê¥Õ¥¡¥¤¥ë¤«¤é¾ðÊó¤ò¼èÆÀ GetMusicInfo file, MusicTitle, MusicArtist, MusicAlbum, MusicTime ;¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡± ; ¶Ê¾ðÊ󤫤é¥Ç¡¼¥¿¥Ù¡¼¥¹Æâ¤ò¤¢¤¤¤Þ¤¤¸¡º÷¡£ ³Î¤«¤é¤·¤µ(¥Ý¥¤¥ó¥È)¤È¥Ç¡¼¥¿¤òÊÖ¤¹¡£ ; ; PointInMusicList( ¥Ç¡¼¥¿¥Ù¡¼¥¹À¸¥Ç¡¼¥¿, "¥¿¥¤¥È¥ë<>¥¢¡¼¥Æ¥£¥¹¥È<>¥¢¥ë¥Ð¥à<>ºÆÀ¸»þ´Ö(ÉÃ)" ) ; Ìá¤êÃÍ : "¥Ý¥¤¥ó¥È<>KEY<>¥¿¥¤¥È¥ë<>¥¢¡¼¥Æ¥£¥¹¥È<>²Î»ì¥µ¥¤¥È<>¥¿¥¤¥à¥¿¥°FileName<>wikiURL<>¥¢¥ë¥Ð¥à<>ºÇ½ª¹¹¿·Æü»þ<>ºÆÀ¸»þ´Ö(¥ß¥êÉÃ)<>Åê¹Æ¼Ô<>¥³¥á¥ó¥È" ;¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡² PIMLstr = PointInMusicList(rec_dat, MusicTitle+"<>"+MusicArtist+"<>"+MusicAlbum+"<>"+str( ( int(submatch(MusicTime,"^(\\d+):\\d+"))*60+int(submatch(MusicTime,"^\\d+:(\\d+)")) )*1000 )) //³Æ¾ðÊó¤òÃê½Ð PIMLpoint = int(match(PIMLstr,"^\\d+")) ;¥Ý¥¤¥ó¥ÈÃê½Ð PIMLtitle = submatch(PIMLstr,"^.*?<>.*?<>(.*?)<>.*?<>.*?<>.*?<>.*?<>.*?<>.*?<>.*?<>.*?<>.*?$") ;¥¿¥¤¥È¥ëÃê½Ð PIMLartist= submatch(PIMLstr,"^.*?<>.*?<>.*?<>(.*?)<>.*?<>.*?<>.*?<>.*?<>.*?<>.*?<>.*?<>.*?$") ;¥¢¡¼¥Æ¥£¥¹¥ÈÃê½Ð PIMLalbum = submatch(PIMLstr,"^.*?<>.*?<>.*?<>.*?<>.*?<>.*?<>.*?<>(.*?)<>.*?<>.*?<>.*?<>.*?$") ;¥¢¥ë¥Ð¥àÃê½Ð PIMLsite = submatch(PIMLstr,"^.*?<>.*?<>.*?<>.*?<>(.*?)<>.*?<>.*?<>.*?<>.*?<>.*?<>.*?<>.*?$") ;²Î»ì¥µ¥¤¥ÈÃê½Ð mtime = int(submatch(PIMLstr,"^.*?<>.*?<>.*?<>.*?<>.*?<>.*?<>.*?<>.*?<>.*?<>(.*?)<>.*?<>.*?$")) ;ºÆÀ¸»þ´ÖÃê½Ð mtimem=mtime/60/1000 :mtimes=mtime/1000-mtimem*60 PIMLtime = strf("%d:%02d",mtimem,mtimes) //¥ê¥¹¥È¥Ó¥å¡¼¤ØÅÐÏ¿ lsvimadd hlist, str(PIMLpoint), MaxListNum, LIST_POINT ;¥Ý¥¤¥ó¥È lsvsubadd hlist, getpath(file,32), MaxListNum, LIST_FOLDERNAME ;¥Õ¥©¥ë¥À lsvsubadd hlist, getpath(file,8), MaxListNum, LIST_FILENAME ;¥Õ¥¡¥¤¥ë lsvsubadd hlist, MusicTitle, MaxListNum, LIST_TITLE ;¥¿¥¤¥È¥ë(¥Õ¥¡¥¤¥ë) lsvsubadd hlist, PIMLtitle, MaxListNum, LIST_TITLE_DATA ;¥¿¥¤¥È¥ë(¥Ç¡¼¥¿¥Ù¡¼¥¹) lsvsubadd hlist, MusicArtist, MaxListNum, LIST_ARTIST ;¥¢¡¼¥Æ¥£¥¹¥È(¥Õ¥¡¥¤¥ë) lsvsubadd hlist, PIMLartist, MaxListNum, LIST_ARTIST_DATA ;¥¢¡¼¥Æ¥£¥¹¥È(¥Ç¡¼¥¿¥Ù¡¼¥¹) lsvsubadd hlist, MusicAlbum, MaxListNum, LIST_ALBUM ;¥¢¥ë¥Ð¥à(¥Õ¥¡¥¤¥ë) lsvsubadd hlist, PIMLalbum, MaxListNum, LIST_ALBUM_DATA ;¥¢¥ë¥Ð¥à(¥Ç¡¼¥¿¥Ù¡¼¥¹) lsvsubadd hlist, MusicTime, MaxListNum, LIST_TIME ;ºÆÀ¸»þ´Ö(¥Õ¥¡¥¤¥ë) lsvsubadd hlist, PIMLtime, MaxListNum, LIST_TIME_DATA ;ºÆÀ¸»þ´Ö(¥Ç¡¼¥¿¥Ù¡¼¥¹) lsvsubadd hlist, PIMLsite, MaxListNum, LIST_LYRICSITE ;²Î»ì¥µ¥¤¥È lsvsubadd hlist, replace(PIMLstr,"^\\d+<>","",,1), MaxListNum, LIST_DATABASE ;¥Ç¡¼¥¿¥Ù¡¼¥¹À¸¥Ç¡¼¥¿(³ºÅöÎó) ;¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡± ; ´û¤Ë¥¿¥¤¥à¥¿¥°ÉÕ¤²Î»ì¤¬¤¢¤ë¤«³Îǧ ½èÍý ; Ìá¤êÃÍ¡§ 1=¥Õ¥¡¥¤¥ë¤¬¤¢¤ë ;¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡² FileFolder = getpath(file,32) ;¥Õ¥©¥ë¥À̾ FileName = getpath(file,8) ;¥Õ¥¡¥¤¥ë̾ gosub *ExistTimetagFile ; ¡¦¤â¤·¥Õ¥¡¥¤¥ë¤¬¤¢¤ë¤Ê¤é¥Á¥§¥Ã¥¯¤ÏÉÕ¤±¤Ê¤¤ ; ¡¦¥Ý¥¤¥ó¥È¤¬¿å½à°Ê¾å¤Ê¤é¥Á¥§¥Ã¥¯¤òÉÕ¤±¤ë lsvsetcheck hlist, MaxListNum, (PIMLpoint >= Option_CheckerPoint) *(stat!=1) ;¥ê¥¹¥È¥Ó¥å¡¼Áí¿ô¤Ë+1 MaxListNum++ wait 1 loop loop DragFinish hDrop ;³«Êü //¥Ä¡¼¥ë¥Ð¡¼¤Î¥Ü¥¿¥ó¤ò»ÈÍѲÄǽ¤Ë¤¹¤ë sendmsg tb_hWnd, TB_ENABLEBUTTON, tb_id(TB_LISTVIEW), 1 return ;¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡± ; ¥ê¥¹¥È¥Ó¥å¡¼¡§¡Ö¼Â¹Ô¡× ; ; ¥¿¥¤¥à¥¿¥°ÉÕ¤²Î»ì¼èÆÀ ½èÍý ;¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡² *GetTimetagLyrics //LyricsMaster¤Î¥Ñ¥¹¤¬ÀßÄꤵ¤ì¤Æ¤¤¤ë¤«³Îǧ¤¹¤ë dirlist x, LyricsMasterPass, 5 if stat = 0 { dialog "Lyrics Master¤Î¤¢¤ë¥Õ¥©¥ë¥À¤òÅÐÏ¿¤·¤Æ²¼¤µ¤¤" gi_sel = ginfo_sel ;ÀßÄꥦ¥£¥ó¥É¥¦³«¤¯ gsel WindowID_Setting, 1 gsel gi_sel return } ;//LyricsMaster¤ÎÀßÄê¥Õ¥¡¥¤¥ë¤ò¥í¡¼¥É(Ϣ³¼èÆÀ¤ËºÇŬ²½) preferences_lyricsmaster = LoadLMpreferences(1) if preferences_lyricsmaster="" : dialog "Lyrics Master¤ò°ìÅÙµ¯Æ°¤·¤Æ»ÈÍѵ¬Ìó¤ËƱ°Õ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹",1 :return //LyricsMaster¤Ç¸¡º÷Ãæ¡¢¤É¤Î¥µ¥¤¥È¤«¤é²Î»ì¤ò½¦¤¨¤ÐÎɤ¤¤«¤òÌÀ¼¨¤¹¤ëÁë¤òɽ¼¨ gi_sel=ginfo_sel gsel WindowID_ShowSite, 2 gsel gi_sel //¥Ä¡¼¥ë¥Ð¡¼¤Î¥Ü¥¿¥ó¤ò»ÈÍѲÄǽ¤Ë¤¹¤ë sendmsg tb_hWnd, TB_ENABLEBUTTON, tb_id(TB_NEXT), 1 sendmsg tb_hWnd, TB_ENABLEBUTTON, tb_id(TB_STOP), 1 ;¥ê¥¹¥È¥Ó¥å¡¼¹àÌܤκÇÂç¿ô MaxListNum = lsvcount(hlist, 0) ;Á´¥ê¥¹¥È ½èÍý¼Â¹Ô repeat MaxListNum ;¥Á¥§¥Ã¥¯¾õÂÖ³Îǧ if lsvgetcheck(hlist, cnt)=1 { ;½èÍý¹ÔÁªÂòɽ¼¨ itemcheck = lsvgetcheck(hlist, cnt) lsvimsel hlist, cnt ;¹ÔÁªÂò ;¤Ê¤ó¤«lsvimsel¤Ç¹Ô¤òÁªÂò¤·¤¿¤é¥Á¥§¥Ã¥¯¥Ü¥Ã¥¯¥¹¤¬¸«¤¨¤Ê¤¯¤Ê¤ë¤Î¤Ç¸«¤¨¤ë¤è¤¦¤Ë¤¹¤ë lsvsetcheck hlist, cnt, itemcheck ;²Î»ì¤òÆþ¤ì¤ëÊÑ¿ô¡£È¾Ê¬¥Õ¥é¥°Âå¤ï¤ê¤Ë¤â»ÈÍÑ¡£ lyrics="" ;¥ê¥¹¥È¥Ó¥å¡¼¤«¤é²Î»ì¥µ¥¤¥È¼èÆÀ lsvgetstr PIMLsite, hlist, cnt, LIST_LYRICSITE //URL¤¬ÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë¾ì¹ç if instr(PIMLsite, 0, "/http://")!-1 { ;URLÈ´¤½Ð¤· PIMLsiteURL = submatch(PIMLSite, "/(http://.*)$") ;//ǧ¼±¤Ç¤¤ë²Î»ì¥µ¥¤¥È¤«³Îǧ if instr(PIMLsiteURL, 0, "http://www5.atwiki.jp/hmiku/")!-1 { //½é²»¥ß¥¯Wiki¤Ç¤¢¤ë lyrics = GetLyrics( PIMLsiteURL, LUA_hmiku ) ;²Î»ì¤ò¼èÆÀ }else : if instr(PIMLsiteURL,0, "http://www31.atwiki.jp/touhoukashi/")!-1 { ;ÅìÊýƱ¿ÍCD¤Î²Î»ì@Wiki¤Ç¤¢¤ë lyrics = GetLyrics( PIMLsiteURL, LUA_touhoukashi ) ;²Î»ì¤ò¼èÆÀ } } //URL¤¬ÅÐÏ¿¤µ¤ì¤Æ¤¤¤Ê¤¤=LyricsMaster¤Ç²Î»ì¤ò¼èÆÀ¤¹¤ë if lyrics="" { // LyricsMaster¤Ç²Î»ì¤ò¼èÆÀ¤¹¤ë ;¥ê¥¹¥È¥Ó¥å¡¼¤«¤é¥¿¥¤¥È¥ë¼èÆÀ lsvgetstr PIMLtitle, hlist, cnt, LIST_TITLE_DATA ;¥ê¥¹¥È¥Ó¥å¡¼¤«¤é¥¢¡¼¥Æ¥£¥¹¥È¼èÆÀ lsvgetstr PIMLartist, hlist, cnt, LIST_ARTIST_DATA ;PIMLsite¤«¤é²Î»ì¥µ¥¤¥È̾¤Î¤ß¤òÃê½Ð¡Ê¤â¤·URL¤¬¤Ä¤¤¤Æ¤¤¤ì¤Ð³°¤¹¡Ë PIMLsiteName = replace( PIMLsite, "/http://.*$", "" ) //LyricsMaster¤ÎÀßÄê¤ò¾å½ñ¤¤¹¤ë ;¸¡º÷¤¹¤ë²Î»ì¥µ¥¤¥È¤ò»ØÄê preferences_lyricsmaster_temp = ReplaceSearchSiteLMpreferences( preferences_lyricsmaster, PIMLsiteName ) ;ÀßÄê¥Õ¥¡¥¤¥ë¤ò¾å½ñ¤Êݸ¤¹¤ë SaveLMpreferences preferences_lyricsmaster_temp ;//LyricsMasterµ¯Æ° exec dirinfo(3)+"\\wscript.exe \""+LyricsMasterPass+"\\ExtSupport.js\" multi \""+PIMLtitle+"\" \""+PIMLartist+"\"" ;¤É¤Î²Î»ì¥µ¥¤¥È¤«¤é¼èÆÀ¤¹¤ì¤ÐÎɤ¤¤«ÌÀ¼¨Áë¤Ëɽ¼¨ mes_ShowSiteWindow "("+(cnt+1)+"/"+MaxListNum+") "+PIMLtitle+"\n"+"¼èÆÀ²Î»ì¥µ¥¤¥È¡§ "+PIMLsite ;¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡± ; LyricsMasterµ¯Æ°¸å¡¢²Î»ì¼èÆÀ´Æ»ë ½èÍý¡Ê¸¡½Ð¤¹¤ë¤Þ¤Ç½Ð¤Æ¤³¤Ê¤¤¡Ë ; ¤Á¤ã¤ó¤È¼èÆÀ¤Ç¤¤¿ ¢ª lyrics¤Ë²Î»ì¤¬Æþ¤ë ; ¡Ö¼¡¤Ø¡×¹Ô¤¯¤¿¤áÌá¤Ã¤Æ¤¤¿ ¢ª lyrics="" ; ¡ÖÃæ»ß¡× ¢ª lyrics="<Ãæ»ß>" ;¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡² gosub *LyricsMasterCheck // if lyrics="<Ãæ»ß>" :break ;¥¿¥¤¥à¥¿¥°ÉÕ¤²Î»ì¼èÆÀ½èÍý¤òÃæ»ß¤¹¤ë // } //URL¤Þ¤¿¤ÏLyricsMaster¤«¤é²Î»ì¤ò¼èÆÀ¤·¤¿¡£¢ª¥¿¥¤¥à¥¿¥°ÉÕ¤²Î»ì¤òÀ¸À®¤·¤ÆÊݸ¤¹¤ë if lyrics ! "" { ;¥¿¥¤¥à¥¿¥°¾ðÊó¥Õ¥¡¥¤¥ë̾¤ò¼èÆÀ lsvgetstr PIMLstr, hlist, cnt, LIST_DATABASE PIMLtagfile = submatch(PIMLstr,"^.*?<>.*?<>.*?<>.*?<>(.*?)<>.*?<>.*?<>.*?<>.*?<>.*?<>.*?$") ;¥¿¥¤¥à¥¿¥°¾ðÊó¥Õ¥¡¥¤¥ë̾Ãê½Ð ;//ľÀÜ¥¿¥¤¥à¥¿¥°¾ðÊó¥Æ¥¥¹¥È¤ò¼èÆÀ¤Ë¹Ô¤¯ timetagdata = GetHTMLSource( "http://timetag.main.jp/herodb/timetag/bin/"+PIMLtagfile,,1 ) ;//¥¿¥¤¥à¥¿¥°ÉÕ¤²Î»ì À¸À® TimetagLyrics = ApplyTimetagData( lyrics, timetagdata ) ;¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡± ; ¥¿¥¤¥à¥¿¥°ÉÕ¤²Î»ì ¥Õ¥¡¥¤¥ëÊݸ ½èÍý ;¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡² lsvgetstr FileFolder, hlist, cnt, LIST_FOLDERNAME ;¥Õ¥©¥ë¥À¼èÆÀ lsvgetstr FileName, hlist, cnt, LIST_FILENAME ;¥Õ¥¡¥¤¥ë̾¼èÆÀ gosub *TimetagFileSave ;¥¿¥¤¥à¥¿¥°ÉÕ¤²Î»ì¤òÊݸ¤Ç¤¤¿¤é¥Á¥§¥Ã¥¯¤ò³°¤¹ lsvsetcheck hlist, cnt, 0 } } wait 1 loop //LyricsMaster¤Ç¸¡º÷Ãæ¡¢¤É¤Î¥µ¥¤¥È¤«¤é²Î»ì¤ò½¦¤¨¤ÐÎɤ¤¤«¤òÌÀ¼¨¤¹¤ëÁë¤òÈóɽ¼¨ gi_sel=ginfo_sel gsel WindowID_ShowSite, -1 //¥á¥¤¥ó¥¦¥£¥ó¥É¥¦¤òÁ´Ì̤Ëɽ¼¨ gsel WindowID_Main, 2 gsel WindowID_Main, 1 gsel gi_sel //¥Ä¡¼¥ë¥Ð¡¼¤Î¥Ü¥¿¥ó¤ò»ÈÍÑÉԲĤˤ¹¤ë sendmsg tb_hWnd, TB_ENABLEBUTTON, tb_id(TB_NEXT), 0 sendmsg tb_hWnd, TB_ENABLEBUTTON, tb_id(TB_STOP), 0 ;//LyricsMaster¤ÎÀßÄê¤ò¡Ö¼Â¹Ô¡×¤ÎºÇ½é¤Ë¥í¡¼¥É¤·¤¿¾õÂÖ¤ËÌ᤹ SaveLMpreferences_LastLoad return ;¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡± ; LyricsMaster¡§µ¯Æ°¸å ; ; ²Î»ì¼èÆÀ´Æ»ë ½èÍý ;¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡² *LyricsMasterCheck LyricsMasterStep=0 ;¥¹¥Æ¥Ã¥×¥Õ¥é¥° repeat //¥¹¥Æ¥Ã¥×0 µ¯Æ°¤ò³Îǧ¡£¥¦¥£¥ó¥É¥¦¥Ï¥ó¥É¥ë¤ò¼èÆÀ¤¹¤ë¡£ if LyricsMasterStep = 0 { ;µ¯Æ°³Îǧ FindWindow "RBWindow","Lyrics Master" if stat!0 { LyricsMaster_hWnd = stat ;LyricsMaster¤Î¥¦¥£¥ó¥É¥¦¥Ï¥ó¥É¥ë LyricsMasterStep = 1 } } //¥¹¥Æ¥Ã¥×1 ¥á¥¤¥ó¥¦¥£¥ó¥É¥¦¤Î¥¨¥Ç¥£¥Ã¥È¥Ü¥Ã¥¯¥¹¤ò´Æ»ë¡£²Î»ì¤¬É½¼¨¤µ¤ì¤¿¤é¼èÆÀ¤¹¤ë¡£ if LyricsMasterStep = 1 { ;³«¤¤¤Æ¤¤¤ë¤Î¤ò³Îǧ¤·¤¿¤¬°ìÅÙÊĤ¸¤¿¾ì¹ç¤Ï¥¥ã¥ó¥»¥ë¡£¼¡¤Î¹àÌܤعԤ¯¡£ IsWindow LyricsMaster_hWnd : if stat=0 :break ;LyricsMaster¤Î¥ê¥Ã¥Á¥¨¥Ç¥£¥Ã¥È¤ÎÃæ¿È¤ò¼èÆÀ RitchEditStr = GetEdit_LyricsMster(LyricsMaster_hWnd) if RitchEditStr!"" { ;¥ê¥Ã¥Á¥¨¥Ç¥£¥Ã¥Èʸ»úÎ󤫤饿¥¤¥È¥ë¤ä¥¢¡¼¥Æ¥£¥¹¥È¤òÃê½Ð¡¢È´¤¼è¤ê¡¢²Î»ì¥µ¥¤¥È¿äÄê LMstringDivide RitchEditStr, "", LM_title, LM_artist, LM_website, 2/*LyricsMasterVersion*/ if stat=1 { if replace(PIMLsite,"/http://.*$","") ! LM_website { ;¸¡º÷Ãæ¤Î²Î»ì¥µ¥¤¥È¤È¼èÆÀ¤·¤¿²Î»ì¥µ¥¤¥È¤¬°Û¤Ê¤ë¾ì¹ç¡¢³Îǧ¤¹¤ë¡£ //¥á¥¤¥ó¥¦¥£¥ó¥É¥¦¤òÁ´Ì̤Ëɽ¼¨ gi_sel=ginfo_sel gsel WindowID_Main, 2 dialog "¼èÆÀÀè¤Î²Î»ì¥µ¥¤¥È¤¬°Û¤Ê¤ë¤è¤¦¤Ç¤¹¤¬Â³¹Ô¤·¤Þ¤¹¤«¡©\n\nLyricsMaster¡§ "+LM_website,2 gsel WindowID_Main, 1 gsel gi_sel if stat = 7 { ;¤¤¤¤¤¨ SetEdit_LyricsMster LyricsMaster_hWnd, "" ;LyricsMaster¤Î¥¨¥Ç¥£¥Ã¥È¥Ü¥Ã¥¯¥¹¤ò¶õÍó¤Ë¤¹¤ë continue } } lyrics = RitchEditStr SetEdit_LyricsMster LyricsMaster_hWnd, "" ;LyricsMaster¤Î¥¨¥Ç¥£¥Ã¥È¥Ü¥Ã¥¯¥¹¤ò¶õÍó¤Ë¤¹¤ë ;²Î»ì¼èÆÀ½èÍý¤«¤éæ½Ð¥¹¥Æ¥Ã¥× LyricsMasterStep = -1 } } } //¥¹¥Æ¥Ã¥×-1 ²Î»ì¼èÆÀ½èÍý¤«¤éæ½Ð if LyricsMasterStep = -1 { ;+¥Ä¡¼¥ë¥Ð¡¼¤«¤é¡Ö¼¡¤Ø¡×¥³¥Þ¥ó¥É //LyricsMaster¤¬µ¯Æ°¤·¤Æ¤¤¤¿¤éÊĤ¸¤ë ;µ¯Æ°¤·¤Æ¤¤¤Ê¤«¤Ã¤¿¤éæ½Ð FindWindow "RBWindow","Lyrics Master" if stat != 0 { ;µ¯Æ°¤ò³Îǧ¡¢ÊĤ¸¤ë sendmsg stat, WM_CLOSE, 0,0 }else { break } } if LyricsMasterStep = -2 { ;¥Ä¡¼¥ë¥Ð¡¼¤«¤é¡ÖÃæ»ß¡×¥³¥Þ¥ó¥É lyrics = "<Ãæ»ß>" break } wait 150 ;1.5É䴤Ȥ˳Îǧ¤¹¤ë¡£ loop ;//LyricsMaster¤òÊĤ¸¤ë LyricsMasterStep=0 ;¥¹¥Æ¥Ã¥×¥Õ¥é¥° return ;¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡± ; ¥Õ¥¡¥¤¥ëÁàºî¡§Êݸ ; ; ¥¿¥¤¥à¥¿¥°ÉÕ¤²Î»ìÊݸ ½èÍý ;¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡² *TimetagFileSave //²Î»ì¤òÊݸ //¤â¤·ÀßÄê¤ÇÊݸÀè¤ËÀäÂХѥ¹¤ò»ØÄꤷ¤Æ¤¤¤ÆÊݸ¥Õ¥©¥ë¥À¤¬¤Þ¤Àºî¤é¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢¤ä¤ä¤³¤·¤¤¤Î¤ÇÀè¤Ëºî¤ë ;ÀäÂХѥ¹¤«³Îǧ if match( FileSavePos, "^\\w\\:\\\\" )!""{ //¥Õ¥©¥ë¥À¤ò³Îǧ dirlist x, FileSavePos, 5 ;¥Ç¥£¥ì¥¯¥È¥ê³Îǧ if stat=0 { ;¥Õ¥©¥ë¥À¤¬¤Ê¤¤¾ì¹çºî¤ë MakeSureDirectoryPathExists FileSavePos+"\\" ;¥Õ¥©¥ë¥ÀºîÀ®(¿¼³¬ÁØOK) } } ;//Êݸ¾ì½ê if FileSavePos = "" { ;¶Ê¤ÈƱ¤¸¥Õ¥©¥ë¥À TimetagFileName = FileFolder + getpath(FileName,1) + FileSaveExt }else { ;¥Õ¥©¥ë¥À(ÀäÂХѥ¹)¤«³Îǧ dirlist x, FileSavePos, 5 if stat=1 { ;ÀäÂХѥ¹ TimetagFileName = FileSavePos + "\\" + getpath(FileName,1) + FileSaveExt }else { ;¶Ê¤Î²¼ÁØ¥Õ¥©¥ë¥À TimetagFileName = FileFolder + FileSavePos + "\\" +getpath(FileName,1) + FileSaveExt } } //¥¿¥¤¥à¥¿¥°ÉÕ¤²Î»ì¤òÊݸ notesel TimetagLyrics notesave TimetagFileName noteunsel return ;¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡± ; ¥Õ¥¡¥¤¥ëÁàºî¡§³Îǧ ; ; ´û¤Ë¥¿¥¤¥à¥¿¥°ÉÕ¤²Î»ì¤¬¤¢¤ë¤«³Îǧ ½èÍý ; Ìá¤êÃÍ¡§ 1=¥Õ¥¡¥¤¥ë¤¬¤¢¤ë ;¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡² *ExistTimetagFile ;//Êݸ¾ì½ê if FileSavePos = "" { ;¶Ê¤ÈƱ¤¸¥Õ¥©¥ë¥À TimetagFileName = FileFolder + getpath(FileName,1) + FileSaveExt }else { ;¥Õ¥©¥ë¥À(ÀäÂХѥ¹)¤«³Îǧ dirlist x, FileSavePos, 5 if stat=1 { ;ÀäÂХѥ¹ TimetagFileName = FileSavePos + "\\" + getpath(FileName,1) + FileSaveExt }else { ;¶Ê¤Î²¼ÁØ¥Õ¥©¥ë¥À TimetagFileName = FileFolder + FileSavePos + "\\" +getpath(FileName,1) + FileSaveExt } } exist TimetagFileName if strsize!-1 { return 1 } return 0 ;¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡± ; ¥ê¥¹¥È¥Ó¥å¡¼¡§¡Ö¥Á¥§¥Ã¥¯¤·¤Æ¤Ê¤¤¹àÌܤòºï½ü¡× ; ; ¥Á¥§¥Ã¥¯¤·¤Æ¤Ê¤¤¹àÌܤòºï½ü ½èÍý ;¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡² *NOCHECKDEL ;¥ê¥¹¥È¥Ó¥å¡¼¹àÌܤκÇÂç¿ô MaxListNum = lsvcount(hlist, 0) ;Á´¥ê¥¹¥È³Îǧ repeat MaxListNum, 1 ;¥Á¥§¥Ã¥¯¾õÂÖ³Îǧ if lsvgetcheck(hlist, MaxListNum-cnt)=0 { lsvimdel hlist, MaxListNum-cnt } loop return
|