foobar2000
以前foobar2000の外見を変更したときは
マウス操作のことを考えてEsPlayListを上下に並べた
しかし殆ど使っていないことに気づいた。つーか邪魔
やっぱり必要だった
いつのまにかEsPlayListのβ版が更新されていたし
いい機会なので再び外見をものすごくちょびっと変えた
そのメモ
WSHはここを参考にした
あんまよくわかってない
EsPlayListを一つ消去
カラムを全て中央揃えにし、トラックナンバー消去、アルバムアートを表示
RowHeightを14にした
Vertical splitter
├WSH Panel Mod
├EsPlaylist…(1)
├Channel spectrum panel
└EsPlaylist…(2)
WSH シークバー兼タイトルフォーマット function RGB(r,g,b){ return (0xff000000|(r<<16)|(g<<8)|(b)); } var g_titlefmt = fb.TitleFormat("[%album%] - [%title%] - [%artist%]"); var g_font = gdi.Font("MeiryoKe_UIGothic", 12, 0); var g_drag = 0; var hofset = 10; var wh = 12; function on_paint(gr){ var vofset = (window.Height-wh)/2; var length = fb.PlaybackLength; var txt = g_titlefmt.Eval(); var ww = window.Width - 25; var grad = 0; var i = 0; if (length > 0) { grad = fb.PlaybackTime/fb.PlaybackLength; } while (i < ww+1) { var col = (grad<=0) ? RGB(0,0,0) : (i<=grad*ww) ? RGB(40,40,40) : RGB(0,0,0); gr.FillSolidRect(hofset+1+i,vofset,4,wh,col); i = i +5; } gr.DrawString(txt,g_font,RGB(255,255,255),0,vofset,ww,wh,0x11005000); } function on_mouse_lbtn_down(x,y){ g_drag = 1; } function on_mouse_lbtn_up(x,y){ on_mouse_move(x,y); g_drag = 0; } function on_mouse_move(x,y){ var ww = window.Width - 25; if(g_drag){ var v = (x-hofset)/ww; v = (v<0) ? 0 : (v<1) ? v : 1; fb.PlaybackTime = fb.PlaybackLength * v; } } function on_mouse_wheel(delta){ fb.PlaybackTime = fb.PlaybackTime + delta; } function on_playback_new_track(info){ window.Repaint(); } function on_playback_stop(){ window.Repaint(); } function on_playback_seek(time){ window.Repaint(); } function on_playback_time(time){ window.Repaint(); }