// ==PREPROCESSOR== // @name "Album History" // @author "Junya Renno" // ==/PREPROCESSOR== var MF_STRING = 0x00000000; var MF_POPUP = 0x00000010; var MF_RIGHTJUSTIFY = 0x00004000; var WshShell = new ActiveXObject("WScript.Shell"); var fso = new ActiveXObject("Scripting.FileSystemObject"); var tmppath = fso.GetFolder(fb.ProfilePath); var album_history = new Array; //最大履歴数 var h_size = 20 var older_album; var filename = tmppath+"/history.txt"; var imgpath = tmppath+"/skin/mini/album_history.png"; if( fso.FileExists(filename)){ read_file(); older_album = album_history[0][0]; } //Menu function on_mouse_lbtn_down(x, y) { var _basemenu = window.CreatePopupMenu(); var ret; // Please start index at 1, NOT 0 var i=1; while(i <= album_history.length) { _basemenu.AppendMenuItem(MF_STRING, i, album_history[i-1][0]); i++; } ret = _basemenu.TrackPopupMenu(x, y); // Here is why start index should be 0 if (ret == 0) return; if (fso.FileExists(fb.FoobarPath+"\\foobar2000.exe")){ if (fso.FolderExists(album_history[ret-1][1])){ runpath = "\""+fb.FoobarPath+"\\foobar2000.exe\""+"\""+album_history[ret-1][1]+"\\\""; // fb.trace("run :: "+"\""+runpath+"\""); var plc = plman.PlaylistCount; var ah_idx = 0; for(var i=0; i h_size){album_history.pop();} write_file(); } } //Button function on_paint(gr){ if (!fso.FileExists(imgpath)){ fb.trace("[Album History]Error: Image File not Exists."); } else { var icon = gdi.Image(imgpath); var ww = window.Width; var wh = window.Height; gr.DrawImage(icon,0,0,14,14,0,0,14,14); } } function read_file(){ var temp_arr = new Array; stream = new ActiveXObject("ADODB.Stream"); stream.type = 2; stream.charset = "utf-8"; i = 0; stream.open(); stream.loadFromFile(filename); while (!stream.EOS) { strText = stream.readText(-2); temp_arr = strText.split(","); album_history.push([temp_arr[0],temp_arr[1]]); } stream.close(); } function write_file(){ stream = new ActiveXObject("ADODB.Stream"); stream.type = 2; stream.charset = "utf-8"; stream.open(); i = 0; while (i