作者sjlxup6 (Hotel California)
看板EZsoft
標題Re: [分享] foobar2000面板(修改來的免安裝版)
時間Mon Sep 17 12:22:26 2007
※ [本文轉錄自 Wallpaper 看板]
作者: sjlxup6 (Hotel California) 看板: Wallpaper
標題: Re: [分享] foobar2000面板(修改來的免安裝版)
時間: Tue Aug 28 03:57:25 2007
這裡分享一些修改的心得
=========================
首先是面板架構在 PanelsUI 上,某些按鈕功能由column UI和 CWB Hook提供
(音量.時間軸) (隨機播放.波形圖)
*)可以在
prefernces=>panels II中檢視程式碼,跟改程式的時候也可以直接操作foobar
*)或是在
面板任何位置按右鍵選第一個選項setting...這時候foobar程式會被鎖定
但是可以很方便的查看各框架的程式碼。
程式撰寫主要分成3層
1.主程式全域設定track globals和user globals
這裡設定最大優先級的函數設定,設定優先於於所有的面板設定
最重要的就是user globals中的
$puts(coverPath,$replace(%path%,%filename_ext%,*.jpg))
很多面板抓下來無法顯示專輯圖片就是因為coverPath函數內容錯誤沒抓到
(少數面板會自行另外設定,大部分都直接引用coverPath)
其他字型設定等等不重要,因為面板通常都會重新指定,這裡的設定都會被忽略不使用
這裡的函數設定是儲存在foobar設定檔中,不是面板設定檔
所以通常都不會去更改他,直接用預設的,重要的函數設定則直接寫在面板檔中
2.右邊的edit layout按鈕可進入面板的程式撰寫(configuration)
一開始看到的是框架組合,這裡設定大部分的固定元件(播放按鈕,底色等)
下方的globals可開啟面板的全域函數視窗,大部分的設定值都會寫在這裡
我分享的面板中這裡有一行
$windowstyle(hidetitlebar)
用來隱藏視窗列,在該行前端加入 // 即成註解,可以顯示視窗列
globals的設定需要重開程式
3.相同視窗(configuration)右上通常有許多小項,為組成面板的各個組件
選擇組件之後按settings可以編輯該組件的程式碼(不能按代表無法自訂程式)
通常都會有playlist組件可以編輯
3.1] playlist組件的layout settings中分為4大項設定
1) row height: 播放清單中每行的高度
2) group rows: 群組標題要使用幾行清單項目做作為空間
3) group display:群組分類的"群組標題設定"
通常指定群組分類化後該群組標題的圖片、背景、字型色彩等
4) item display:播放清單的顯示設定
設定歌曲在播放清單與群組顯示中,顯示的字型、圖片、色彩等格式
3.2] 通常面板不只只有playlist組件可以設定程式
包含一些空白版面的控制等等(我分享的面板中的樂曲播放模式就是其一)
======================
基本的修改,
大部分會修改的就是清單的顯示模式和色彩
文字的修改: 文字的標籤就是
$font(字型,大小,樣式,色彩)
樣式可留空,色彩格式為 R-G-B 0~255
ex
$font(微軟正黑體,12,Bold glow-150-150-150 glowexpand-0,220-220-220)
字型正黑體、12點字、粗體+光暈色彩灰+光暈修飾、色彩白灰
其中可加入其他函數幫助判斷例如if
$font(微軟正黑體,8,
$if(
%isplaying%,glow-200-200-200glowexpand-0)
,
$if(
%isplaying%,255-255-255,200-200-210))
%title%,)
字型正黑體,8點大小,如果該曲目播放中顯示光暈樣式.無播放則空白
,顯示tag中title標籤, 若播放中顏色255-255-255亮白.無則顏色200-200-210白灰色
字型通常搭配$alignabs對齊標籤使用,有時候單純調整字型,會發現字被切斷
$alignabs(24,0,0,73,left,middle)
位置座標24,0,位移座標0,73,靠左對齊,基線置中(預設top靠上對齊,上下的對齊設定)
色塊的修改: 色塊應用的範圍很廣,圖片壓底、部份背景色、線段、線框等
$drawrect(開始x,開始y,結束x,結束y,樣式)
樣式可設定線框pencolor、填色brushcolor、或兩者
色塊並沒有位置座標這個設定,但是他受到各個元件影響,
元件的範圍就是色塊的畫板,色塊無法畫出元件的範圍外(超出的部份會消失)
也就是說,在群組程式碼中撰寫的色塊,只能在群組標題的範圍中顯示出來
在播放清單程式中撰寫的色塊,只能在播放清單的每一行中出現
(有點難解釋...)
$drawrect(0,0,0,0,brushcolor-0-200-255 alpha-180 pencolor-0-200-255)
畫出填色從0,0開始到0,0(結束的0與開始的0值相反,所以0,0畫到0,0就是填滿範圍)
樣式以0-200-255填滿,框線顯示出來顏色為0-200-255,色塊透明度80
同樣的也可以加入判斷
圖片的修改:
有兩種標籤類型
簡單的
$imageabs(位置x,位置y,路徑)
複雜的
$imageabs2(尺寸x,尺寸y,位移x,位移y,範圍x,範圍y,位置x,位置y,路徑)
圖片會受到範圍設定影響,超出範圍值的不會顯示,留空代表和尺寸相同
雖然比較複雜,但是因為不會常動到這裡的設定,所以還算好理解
==============
其他的設定還有很多很多,我想光寫foobar的自訂介面就可以出書了~_~""
我其實不是學程式的,所以很多標籤的用法和解釋可能有錯誤,大多是我的經驗
foobar的自訂介面程式其實只不過是一堆東西組合起來,嚴格說根本不算是程式
說起來反而比較接近html或XML等標籤語言,有心改的同學不要怕用力玩吧!
我甚至還不知道怎麼新增元件(譬如說加入歌詞顯示)
修改別人的東西只是個起步,想要讓foobar不一樣的同學一起努力吧 囧"
=============
推薦一些網站
1)各Components整理下載,包含用來幹什麼
http://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components_0.9
2)各種基本標籤的用法
http://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Titleformat_Reference
3)Panels UI的用法與標籤範例
http://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components_0.9/Panels_UI_%28foo_ui_panels%29
我縮
http://tinyurl.com/2m8x5t
4)各種神人分享的面板討論區
http://www.hydrogenaudio.org/forums/index.php?showforum=42
專門討論pui面板(panels ui)的主題串
http://www.hydrogenaudio.org/forums/index.php?showtopic=52890
====
奇怪我寫網站就沒有那麼認真,做自己喜歡的東西果然比較有熱忱@@
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.162.167.213
※ 編輯: sjlxup6 來自: 218.162.167.213 (08/28 04:14)
推 gyba:推一個~~這個研究起來真的不容易~~ 08/28 08:30
推 snowpig226:推一下~果然是神人級的大大 等下我也來試試看..... 08/28 10:00
推 ro1234:推一個~感謝大大的分享 08/28 14:39
推 godandass:果然是神人級大大 08/28 14:49
推 williamconan:我每次按edit layout, 08/29 00:00
→ williamconan:就會出現foobar2000 Application發生問題, 08/29 00:01
→ williamconan:然後程式只能強迫關閉... 08/29 00:01
→ williamconan:why? 08/29 00:01
推 ptyan:推一個 好厲害 有時間來改看看 08/29 01:22
→ sjlxup6:會當機試試看安裝微軟 .net framework 2.0看看 08/29 17:08
推 williamconan:有,我有安裝,以為重新安裝,並且更新後應該可解決 08/29 21:25
→ williamconan:但是情況一樣... 08/29 21:26
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.141.204.34
※ 編輯: sjlxup6 來自: 220.141.204.34 (09/17 12:23)