瀏覽單個文章
vxr
Elite Member
 
vxr的大頭照
 

加入日期: May 2002
您的住址: 地球的上面..
文章: 5,854
Exclamation foobar 2000的SimPlaylist筆記...!!

僅是筆記..
後續再貼文...
各位有興趣的也可看看...
當然也可以發問...

開發者討論串:
http://www.hydrogenaudio.org/forums...showtopic=88411
Wiki:
http://wiki.hydrogenaudio.org/index..._simplaylist%29
下載頁面:
http://www.foobar2000.org/component...foo_simplaylist

目前遭遇到且待未來新版解決的限制:
1. 不能隱藏Column header, 有時對視感上來說不甚美觀
2. 目前不支持任何color functions, 但可以用特殊符號來表示:
Column colors
Use < and > characters to dim or apply the highlight color to individual parts, with up to three levels, for example: <dimmed>, >highlight<, >>more highlight<<. Note that text in parentheses "(...)", brackets "[...]", and braces "{...}" is dimmed automatically. Color functions including $rgb, $hsl, $blend, and $transition are not supported.
3. AlbumArt圖案沒有glass或著shadow效果, 質感就比較差一點...

有沒有網兄在使用的??
透過這個3rd plugin可以做出簡單的清單視覽效果...
下圖為wiki的其中一張範例:

這本篇會以如下圖的呈現效果作為介紹與使用:

來看看組態設定部分..

這個Custom Columns可以用來自定義要呈現的行部分, 從圖中可以看到我定義了一個column變量, 名稱為TitlePlayingCheck..
便對應到下圖的呈現:

再來我們再看看最重要的Groups組態設定, 如下圖所示:

組要分成三個部分:
1. Headers: 一個清單的表頭
2. Columns: 一個清單的左邊行區塊覆蓋部分
3. Groups: 清單內的分類與分組
這三個區塊分別對應了下圖所示:

可以看到它的組成非常簡單, 在這篇範例我建立了一個Presets設定名稱為:
HEADERS:[%date%]%album%#COLUMNS:%album%#GROUPS:%directoryname%

你可以從Presets項目看到這個設定變量, 當我建立這個設定變量後..
我只要從下圖的選項選入便可啟用:


就這些步驟便可完成對於SimPlaylist的使用, 因此在整體使用上並沒有太大難度...
當然, 有些人會想到, 要怎麼自定義所想要呈現的清單效果呢?..這個細部的部分就稍微比較麻煩了...
因為這需要簡單編程上的實現, 首先你必須要稍微熟悉一下TitleFormatting語法..
http://wiki.hydrogenaudio.org/index...tting_Reference
至少它比CUI插件的使用簡單很多了....

補2011/11/05: 一個Headers的特殊範例:

是這樣的, 假設我遇到一個情況...
我從MediaLibrary綁定一個路徑, 假設為 D:\Musics\
這個目錄有許多相關的專輯目錄...
我舉例有幾個呈現形式:
ex1:
Musics--> Test1--> Test1.cue
ex2:
Musics--> Test2 --> Test2-1--> Test2-1.cue
ex3:
Musics--> Test3--> Test3-1.cue
Musics--> Test3--> Test3-1.cue
首先必須有條件來方便規範Header..
1. 對於Test1, Test2或著Test3代表一個總專輯
2. 對於Test2下可能會出現各種子專輯, 並且他可能還會夾帶在子目錄裡面
3. 對於Test3的案例其實跟Test2一樣, 只是他的子專輯檔案沒夾帶在子目錄, 反而存在總專輯目錄(Test3)下
4. 我規定這是一個2層目錄結構形式
5. Test2的目錄名稱就是總專輯名稱, 例如:
D:\Musics\FINAL FANTASY XIII ORIGINAL SOUNDTRACK\FINAL FANTASY XIII ORIGINAL SOUNDTRACK - DISC 2\FINAL FANTASY VIII ORIGINAL SOUNDTRACK - DISC 3.cue
6. 那麼Test3就是像這樣的結構:
D:\Musics\FINAL FANTASY VII ADVENT CHILDREN ORIGINAL SOUNDTRACK\FINAL FANTASY VII ADVENT CHILDREN ORIGINAL SOUNDTRACK - DISC 1.cue
由於在Test3的情況比較特別, 因為對於另一個Groups設定來說有另外的判別設計, 在這邊可以不理..
那麼我想要達到以下的Header效果..
1. ex1: 只顯示Test1標題
2. ex2: 只顯示Test2標題, 而不是往下的Test2-1
3. ex3: 只顯示Test3
2. ex2: 跳脫Test2-1
在定義完這些規則後, 來建立一個對於header的pattern...
首先, 我只要判讀最上層的目錄(Test1~Test3)是否存在子目錄, 如果存在代表這些專輯都在個別的子目錄下...
我建立這樣的語法: $strstr(%directoryname%,$directory(%path%,2))
$strstr表示會從%directoryname%抓取是否與$directory(%path%,2)的頂層目錄一樣的字串..
有返回true(1); 否則返回false(0)...
然後我們和$if的條件操作進行串接:
$if($strstr(%directoryname%,$directory(%path%,2)), 傳回頂層目錄名稱, 直接回貼上層目錄)
對於傳回頂層目錄名稱的情況:
$directory(%path%,2)
對於直接回貼上層目錄的情況:
$replace(%filename%,%filename%,%directoryname%)
用$replace()是有點多餘, 其實直接%directoryname%就可以了...
因此整段pattern再附加%date%為:
['['%date%']']
$if($strstr(%directoryname%,$directory(%path%,2)),
$directory(%path%,2),
$replace(%filename%,%filename%,%directoryname%)
)

補2011/11/05: 設計的Album List的pattern:
這個不多說了.., 我個人對於2層目錄形式設計的一種pattern..
有採用這樣形式的人可以用看看..
$if($strstr(%directoryname%,$directory(%path%,2)),
[$directory(%path%,2)]|[%filename%],
$if($strcmp(%filename%,%directoryname%),[%directoryname%],[%directoryname%]|[%filename%])
)|['['%tracknumber%']' ][%title%]
效果展現如下:
     
      
舊 2011-11-06, 09:43 PM #1
回應時引用此文章
vxr離線中