描画用関数
WSH Panel Modは描画開始の関数が固定されている。
この関数以外からでは、描画ができないので注意。
on_paint(gr){
//ここに記述
}
※on_paint
の引数はgr
のみであることが望ましいらしい。
根拠はここのNotes and Hintsの4番目
Event
再生関係
function on_playback_seek() {}//seekした時
function on_playback_time() {}//再生中に定期的に呼び出される。
//呼び出される時間は大体0.8~1.1秒の間隔
//しかし、曲再生時やpauseからの再開直後は乱れる。(0.25sや1.5sも観測)
function on_playback_new_track() {}//新しい曲が再生された時
function on_playback_pause() {}//pauseした時 と pauseから再開した時
マウス関係
function on_mouse_lbtn_down(x,y){}//左ボタンを押した時
function on_mouse_lbtn_up(){x,y}//左ボタンを上げた時
function on_mouse_move(x, y) {}//領域上にマウスが存在する時
function on_mouse_wheel(delta){}//wheelをした時
//wheeelを回した回数分呼ばれる 前方 1 ,後方 -1
foobarの変数・関数
正直使える変数は謎である。どうやらWSH Panel Mod はc++で書かれているらしいのだが、スクリプト記述はJScriptという謎なためfoobarの機能を操作するための変数・関数にはどんなものがあるのかが全くわからない。
よって、変数はここを参照するといい。
foobar特有の変数・関数一覧であるが、補足がないため名前からどんな機能か想像する必要がある。
内部でwindowsのDesktop App User Interfaceを呼び出して使っているるようです。(windows.
から始まる関数)
それぞれの詳しい関数はソースコードのdocsにmicrosoftの関数詳細のページのURLが表記してありあます。
例:sampleにあるThemed Seek Barの1行目が
var g_theme = window.CreateThemeManager("PROGRESS");
とありますが、このPROGRESS
の詳細はここにあります。
※BUTTON
やLISTBOX
などが指定できます。
その他
gr.FillGradRect( 横左端の位置, 左縦の位置, 横右端の位置, 右縦の位置, 90(角度), 上部の色, 下部の色);
//色二つがグラデーションになる。角度0なら横縦が逆
//RGB変換
function RGB(r,g,b){ return (0xff000000|(r<<16)|(g<<8)|(b)); }
※ちなみに console.log
等console系統は一切使えないです。
debug
fb.trace()
を使う事により、foobar本体のconsoleに出力ができる。
余談
gr
という変数がありますが一体何者なのでしょうか?
だれか教えてほしいものです。
fb.trace(typeof gr) //Object
for (var i in gr){
fb.trace(gr[i]); //なにも出力されない
}
参考
foobar2000のwsh panel modのサンプルコードその5
本家
※本家のzipの中のsamplesフォルダにsampleがあるので一読するとよい。