3.30.2008

foobar2000 components - foo_func 應用Ⅰ:自動將播放中專輯圖片替換至MSN顯示圖片

foobar2000(以下簡稱fb2k)是我最喜愛的媒體播放器,對一般使用者而言知名度可能沒有Winamp或iTune來的高。不過以geek使用者角度來看它是一款非常值得讚揚的播放器,它高度Customize性、自由彈性度以及有許多熱心人士開發提供的許多components,現在的 fb2k幾乎是沒有什麼作不到的。反過來說有很多你想不到的功能只有fb2k可以做的到。

foo_func是讓fb2k在特定動作時,額外再加入執行使用者指定TitleFormatting函數的components。

開始進入正題。 (請注意:程式碼非由本人原創撰寫,我只是將foobar2000 Wiki和2ch的討論內容作整合介紹,感謝2ch的各位。

需求:
foobar2000 0.9+(推薦)
foo_func
foo_etc
foo_cwb_hooks


方法一:(簡易)
1. 在 c:\Program Files\foobar2000\ 底下建立mes.txt檔並貼上以下內容。

On Error Resume Next
WScript.CreateObject("Messenger.UIAutomation.1").MyProperty(2) = WScript.Arguments(0)


然後儲存檔案並將副檔名改為.vbs。沒錯,這是個VBScript。

2. 跟著步驟找...fb2k Preferences→Tools→foo_func→On playback new track頁面並貼上以下內容。

// Cover art to Windows Live Messenger
$register(img,$replace(%path%,%filename_ext%,)cover.jpg)
// if cover.jpg not exist
$if($cwb_fileexists(%img%),,$register(img,c:\Program Files\foobar200\no-image.jpg))
$execute(c:\Program Files\foobar200\mes.vbs',"%img%",hide)
(no-image.jpg請自備)
完成結束。



方法二:(進階)
1. 參照方法一第一點。

2. 參照方法一第二點找到foo_func頁面,分別在以下頁面加入內容。
On playback new track
$puts(img,$replace(%path%,%filename_ext%,)cover.jpg)
$execute('c:\Program Files\foobar2000\mes.vbs',"$get(img)",hide)

On playback stop
$ifequal(%g_stop_reason%,2,,
$execute('c:\Program Files\foobar2000\mes.vbs',"MSN DEFAULT ICON",hide)
)

On playback pause
$puts(img,$replace(%path%,%filename_ext%,)cover.jpg)
$if(%ispaused%,$puts(img,MSN DEFAULT ICON),)
$execute('c:\Program Files\foobar2000\mes.vbs',"$get(img)",hide)

On quit
$execute('c:\Program Files\foobar2000\mes.vbs',"MSN DEFAULT ICON",hide)

完成結束。


可依個人喜好更改路徑或變更檔名。
MSN DEFAULT ICON為非播放時MSN預設圖片,請指定預設圖片(完整路徑)。



簡易&進階的差異

簡易:播放開始便自動替換MSN圖片,中途暫停、停止或關閉播放器將不會把專輯圖片換回原來的預設圖片。

進階:播放開始便自動替換MSN圖片,中途暫停、停止或關閉播放器將會把專輯圖片換回指定的預設圖片。

0 件のコメント: