YENA☆

造船番長!

foobar2000 のカスタマイズに嵌ってしまった……

2010-12-10 20:56:46 | その他

 今日は食い物以外のネタです。

 仕事がクソ忙しいときなのに、なぜかこういうときに限ってアタマが冴えるというのか何というのか……。

 ちょっとづつ ”foobar 2000” のTFが分かってきて、面白くなってきてしまったんですよ。

 まあ、まだまだ初心者もいいところなので、玄人さん(ていうか、普通レヴェルの人)から見たら

( ´,_ゝ`)プッ……

というレヴェルなんですけどね。

 とりあえず、スクショ晒しとこう。早く script が自由自在に書けるようになりたいのう……。

 

【12月2日追記】

 さらに、ちょこちょこっといじくってみました。
 

 seekbar とか、Volume スライダがダサダサなので、自作できるようになりたいと思っております。script の書き方がまずいのか、動作が重くなってしまった(軽さがウリのソフトなのに……orz)ので、スマートな書き方をマスターせねばなりませんね……。

【12月4日追記】

 

 さらにちょこちょこっといじくってみました。今度は再生回数を表示。

【12月10日追記】

 $drawrect 関数と $drawblurrect 関数に $muldiv 関数を組み合わせたら擬似プログレス・バーができるんではないか……?

 そう思って script を書いてみました。

$drawrect(x,y,w,h,R1-G1-B1-alpha,R2-G2-B2)

 矩形描画関数。始点を ( x , y )として、幅w、高さhの矩形を描く。R1-G1-B1は矩形内部の色"-alpha"を付加することで透明度の指定が可能(0-255)。

$drawblurrect(x,y,w,h,R-G-B,level)

 輪郭をぼかして始点( x , y )、幅 x 、高さ h の矩形内を指定した色で塗りつぶす。ぼかしレヴェル( level )は1-7で指定。

$muldiv(x,y,z)

 x 掛ける y を z で割った結果を整数値で返す。

$sub(x,y)

 x から y を引いた値を返す。

%el_width%
 
 EL Playlist の幅。

%length_seconds%

 トラック長さ[秒]。

%playback_time_seconds%

 経過時間[秒]。

 以上の関数、および変数を用いればプレイリストの演奏中の曲タイトルのところにプログレスバーを表示できると思ったわけです。

 EL Playlist の setting 画面、Per Second タブに次のような script を書いてみたのです。

$drawblurrect(110,,//座標(110, )を始点として、
$muldiv(%playback_time_seconds%,$sub(%el_width%,160),%length_seconds%),,
//(経過時間)/(トラック長さ)*(矩形の長さ)ぶんの幅を
128-128-255,5)//色(128-128-255)、ぼかしレヴェル5で塗りなさい。

 あ、その前に、Track List タブで枠になる矩形を描いておきましょう。

$if(%el_isplaying%,//もし再生中なら、
$drawrect(110,,$sub(%el_width%,160),,0-0-0-180,255-255-255)//こんな矩形を描いてね。
$drawstring(%title%,120,,$sub(%el_width%,90),%el_height%,
255-255-255,vcenter nowrap elipchar hq,glow:1:255-196-0:3),
)

 机上の計算に基づいて script を考え、いざ実験! ……その結果は……?

 

 おおお! か、かぁっこえぇぇ~~~! 

 「これでダッサいデフォルトのシーク・バーとはお別れだぜ!」とばかりにシーク・バーを消してやりましたwww

 しかし!

 所詮擬似プログレス・バーゆえ、頭出しができないのであった……orz

 

 んで、結局シーク・バーは元に戻しました。トラック長さが1時間を超すと表示がはみ出てしまいますね……。

←だ~れもクリックしてくれないので、順位ダダ下がりでヘコんでいます……。お情けじゃと思うてクリックしてくだしあ!