以前の記事、foobar2000のカスタマイズの設定を記載する。なお、プレイヤーのサイズは元にしたデザインよりも小さくなっている。
foobar2000のバージョンは0.9.5.2を使用する。(それより上のバージョンでは一部のコンポーネントが未対応。)必要なコンポーネント及びファイルは以下の通り。
コンポーネント
- Biography View
- Columns UI
- cwbowron's hooks
- ELPlaylist
- foo_func
- Panel Stack Splitter
- Playlist Dropdown
- Run services
- Track info panel mod
画像ファイル(CDジャケット省く)
- foobar2000.png
上段にあるfoobar2000のアイコン - mister_president.jpg
中断にある白黒の犬の画像 - overlay_reflect.png
下段にあるCDジャケットにかかる光沢の画像 - no_image.jpg
表示するCDジャケットがない場合に表示される画像
使用フォント
- Arial
- Tahoma
- Tarisaka (Arial, Tahomaにフォントリンクで指定)
- Web icons (pentacom)
- Wingdings
基本設定
- 記載してあるものは基本的に外観の設定のみ
- 指定が無い欄は無記入、または0
- フォントは特に指定が無ければ Arial bold 8pt (0, 0, 0)
- Panel Stack Splitter, Track info panel modの背景色は全て (255, 255, 255)
- Edge Styleは全て None
各コンポーネントの設定(便宜上同じ名前のものには番号を割り振ってある)
- Panel Stack Splitter 1
プレイヤーの構造を上段、中断、下段に分ける。- PanelList
- PanelList
- Panel Stack Splitter 2
上段内の配置を管理する。また、背景とロゴを表示する。- PanelList
- Script
PerTrack
Behaivour$drawrect(,20,%ps_width%,4,0-0-0,) $drawrect(282,84,%ps_width%,45,0-0-0,) $drawrect(,136,%ps_width%,1,0-0-0,) $drawtext(foobar2000,7,33,87,15,0-0-0,) $imageabs(193,34,24,24,C:\Program Files\foobar2000\images\foobar2000.png,,) $font(,8,) $drawtext(Version 0.9.5.2,227,34,96,11,0-0-0,) $font(,8,bold) $drawtext(Khoi Vinh,227,47,52,11,0-0-0,) $font(,8,) $drawtext(''s Design,279,47,44,11,0-0-0,)
Default font : Arial bold 13pt
- PanelList
- Track info mod 1
再生を制御するボタンを表示する。// PerTrack $if(%ispaused%, $button2(,,0,0,93,45, '$drawrect(,,93,45,brushcolor-0-0-0 pencolor-null)$alignabs(6,7,93,45,left,top)$font(Helvetica,,bold,204-204-204)Play', '$drawrect(,,93,45,brushcolor-255-102-0 pencolor-null)$alignabs(6,7,93,45,left,top)$font(,,bold,255-255-255)Play','Play or pause',), $button2(,,0,0,93,45, '$drawrect(,,93,45,brushcolor-0-0-0 pencolor-null)$alignabs(6,7,93,45,left,top)$font(,,bold,204-204-204)Pause', '$drawrect(,,93,45,brushcolor-255-102-0 pencolor-null)$alignabs(6,7,93,45,left,top)$font(,,bold,255-255-255)Pause','Play or pause',) ) $button2(94,,0,0,93,45, '$drawrect(,,93,45,brushcolor-0-0-0 pencolor-null)$alignabs(6,7,93,45,left,top)$font(,,bold,204-204-204)Previous', '$drawrect(,,93,45,brushcolor-255-102-0 pencolor-null)$alignabs(6,7,93,45,left,top)$font(,,bold,255-255-255)Previous', 'Previous',) $button2(188,,0,0,93,45, '$drawrect(,,93,45,brushcolor-0-0-0 pencolor-null)$alignabs(6,7,93,45,left,top)$font(,,bold,204-204-204)Next', '$drawrect(,,93,45,brushcolor-255-102-0 pencolor-null)$alignabs(6,7,93,45,left,top)$font(,,bold,255-255-255)Next', 'Next',)
- Track info mod 2
再生方法を切り換えるボタンを表示する。Defaultは全曲ループ、Repeatは1曲ループ、Shuffleはランダム再生。// PerTrack $ifequal($replace(%cwb_playback_order%,'Repeat (playlist)',1),1, $button2(,,0,0,38,13,'$font(,,bold,)Default','$font(,,bold underline,255-102-0)Default','Repeat (playlist)',), $button2(,,0,0,38,13,'$font(,,bold,160-160-160)Default','$font(,,bold underline,255-102-0)Default', 'Repeat (playlist)',) ) $ifequal($replace(%cwb_playback_order%,'Repeat (track)',2),2, $button2(50,,0,0,38,13,'$font(,,bold,)Repeat','$font(,,bold underline,255-102-0)Repeat','Repeat (track)',), $button2(50,,0,0,38,13,'$font(,,bold,160-160-160)Repeat','$font(,,bold underline,255-102-0)Repeat', 'Repeat (track)',) ) $ifequal($replace(%cwb_playback_order%,'Shuffle (albums)',3),3, $button2(100,,0,0,39,13,'$font(,,bold,)Shuffle','$font(,,bold underline,255-102-0)Shuffle','Shuffle (albums)',), $button2(100,,0,0,39,13,'$font(,,bold,160-160-160)Shuffle','$font(,,bold underline,255-102-0)Shuffle', 'Shuffle (albums)',) )
- Playlists Dropdown
プレイリストの切り替えに使用する。- Display
Display
Style$puts(dimmed,$char(3)$offset_colour($offset_colour(%_text%,%_back%,63),666666,63)|%_selected_text%$char(3)) $puts(active,$char(3)$offset_colour(%_text%,%_selected_back%,63)|%_selected_text%$char(3)) $get(dimmed) $if($and($not(%incontrol%),%isactive%),$get(active),$rgb()) %title% $tab()$get(dimmed)
Padding : 上下 3px 左右 5px$if(%incontrol%,,$ifequal($mod(%index%,2),0, $set_style(back,$offset_colour(%_back%,$calculate_blend_target(%_back%),12),%_selected_back%) , $set_style(back,%_back%,$offset_colour(%_selected_back%,$calculate_blend_target(%_selected_back%),7)) ))
- Colours
Item : Foreground (0, 0, 0), Background (245, 245, 239)
Selected item : Foreground (255, 255, 255), Background (255, 102, 0)
Inactive selected item : Foreground (255, 255, 255), Background (255, 102, 0) - Fonts
Tarisaka 7pt
- Display
- Panel Stack Splitter 3
中段内の配置を管理する。また、背景の画像を表示する。- PanelList
- Behaivour
Use background image : mister_president.jpg (751px × 307px)
- PanelList
- Playlist switcher
プレイリストの管理用。普段は非表示にしており、プレイリストをいじる時だけ表示する。- General
Vertical item padding : 6px - Colours
Item : Foreground (0, 0, 0), Background (255, 255, 255)
Selected item : Foreground (255, 255, 255), Background (255, 102, 0)
Inactive selected item : Foreground (255, 255, 255), Background (255, 102, 0)
Use custom Active item frame
Active item frame : (255, 102, 0) - Fonts
Tarisaka 7pt
- General
- ELPlaylist
選択中のプレイリストを表示する。CDジャケットの画像は、曲と同じフォルダ内の曲のアルバム名と同じもの。- script
Track list
Group header//Focus $if(%el_focused%, $drawrect(,,,,,255-102-0) $drawstring(%tracknumber%,10,,%el_width%,%el_height%,255-102-0,vcenter nowrap elipchar hq,glow:1:255-255-255:3) $drawstring(%title%,28,,$sub(%el_width%,70),%el_height%,255-102-0,vcenter nowrap elipchar hq,glow:1:255-255-255:3) $drawstring(%length%,,,$sub(%el_width%,10),%el_height%,255-102-0vcenter right nowrap elipchar hq,glow:1:255-255-255:3), $drawstring(%tracknumber%,10,,%el_width%,%el_height%,0-0-0,vcenter nowrap elipchar hq,glow:1:255-255-255:3) $drawstring(%title%,28,,$sub(%el_width%,70),%el_height%,0-0-0,vcenter nowrap elipchar hq,glow:1:255-255-255:3) $drawstring(%length%,,,$sub(%el_width%,10),%el_height%,0-0-0,vcenter right nowrap elipchar hq,glow:1:255-255-255:3) ) //Now Playing $if(%el_isplaying%, $fillrect(,,,,255-102-0) $drawstring(%tracknumber%,10,,%el_width%,%el_height%,255-255-255,vcenter nowrap elipchar hq) $drawstring(%title%,28,,$sub(%el_width%,90),%el_height%,255-255-255,vcenter nowrap elipchar hq), )
Per Second$fillrect(,43,,1,204-204-204,) $puts(art_path,$ifgreater(%el_direct_item_count%,0,%__ART_PATH__%,)) $puts(art_size,$mul(%__ART_ROW__%,%el_row_height%)) $puts(group_left,$if($or($and($greater(%el_direct_item_count%,0),%el_is_collapsed%),$greater(%__IS_ART_ON_GH__%,0)),$add($mul(%__ART_MARGIN__%,2),$get(art_size)),%__ART_MARGIN__%)) $puts(group_left,$add($get(group_left),$mul(%el_group_depth%,20))) //Group info $drawstring(%el_group_format%$ifgreater(%el_direct_item_count%,0,$char(10)%artist%,),$get(group_left),0,$sub(%el_width%,$get(group_left)),%el_height%,96-96-96,vcenter nowrap elipchar hq ,glow:1:255-255-255:3) $if(%el_is_collapsed%,, $drawstring($char(10)%el_item_count% Tracks,,,$sub(%el_width%,10),%el_height%,96-96-96,vcenter right nowrap elipchar hq ,glow:1:255-255-255:3) ) //Now Playing $if(%el_isplaying%, $fillrect(,,,44,160-160-160,) $drawstring(%el_group_format%$ifgreater(%el_direct_item_count%,0,$char(10)%artist%,),$get(group_left),0,$sub(%el_width%,$get(group_left)),%el_height%,255-255-255vcenter nowrap elipchar hq) $drawstring($char(10)%el_item_count% Tracks,,,$sub(%el_width%,10),%el_height%,255-255-255vcenter right) ,) //Album Art $if(%el_is_collapsed% ,$imageabs(0,0,$get(art_size),$get(art_size),$get(art_path),noexpansion nodisplay,) //dummy call $setworldtransform(1) $puts(art_size2,$min($get(art_size),$add(%el_height%,-$mul(%__ART_MARGIN__%,2)))) $puts(art_top,$div($sub(%el_height%,$get(art_size2)),2)) ,$puts(art_top,$add($select(%__IS_ART_ON_GH__%,%el_row_height%),%__ART_MARGIN__%)) $puts(art_size2,$get(art_size)) $setworldtransform($add(2,-%__IS_ART_ON_GH__%)) ) $imageabs(%__ART_MARGIN__%,$get(art_top),$get(art_size),$get(art_size2),$get(art_path),,)
$drawstring(%playback_time% / %length%,,,$sub(%el_width%,9),%el_height%,255-255-255,vcenter right nowrap elipchar hq)
- style
dafoult font : Arial 7pt
Pseudo-transparent Background
Scrollbar : hide 4 - grouping
Group format
Row height : 22%album%
Row number of group header
Minimum row number of group$if($not(%el_is_collapsed%),2,$ifgreater(%el_direct_item_count%,0,$add(1,%__ART_ROW__%),2))
$max($add(%el_item_count%,1),$if($findfile(%__ART_PATH__%),$add(%__ART_ROW__%,%__ADD_ART_ROW__%),)))
- field definition
__ART_PATH__ : $replace(%path%,%filename_ext%,)%album%.jpg
__ART_ROW__ : 1
__ART_MARGIN__ : 4
__IS_ART_ON_GH__ : 0 - behaviour
Mouse Hover Action : Enable hover, Item Focus, Item Delay 0
Update every second(for per second)
- script
- Panel Stack Splitter 4
下段内の配置を管理する。また、背景や再生中の曲の時間・年を表示する。- PanelList
- Script
PerTrack
Per Second// Background $drawrect(,29,376,1,brushcolor-217-217-217 pencolor-null) // PerTrack $if(%isplaying%, $button2(,,0,0,376,30, '$alignabs(6,7,340,13,left,top)%title%', '$drawrect(,,376,29,brushcolor-255-102-0 pencolor-null)$alignabs(6,7,340,13,left,top)$font(,,bold,255-255-255)%title%$drawrect(348,0,1,29,brushcolor-255-255-255 pencolor-null)$alignabs(359,7,8,10,,)$font(WEBICON,10,,255-255-255)C', 'Activate now playing',), $alignabs(6,7,136,12,left,top)$font(,8,bold,)'Please choose the track.' )
// Background $drawrect(,29,376,1,brushcolor-217-217-217 pencolor-null) // PerTrack $if(%isplaying%, $button2(,,0,0,376,30, '$alignabs(6,7,340,13,left,top)%title%', '$drawrect(,,376,29,brushcolor-255-102-0 pencolor-null)$alignabs(6,7,340,13,left,top)$font(,,bold,255-255-255)%title%$drawrect(348,0,1,29,brushcolor-255-255-255 pencolor-null)$alignabs(359,7,8,10,,)$font(WEBICON,10,,255-255-255)C', 'Activate now playing',), $alignabs(6,7,136,12,left,top)$font(,8,bold,)'Please choose the track.' )
- Behaviour
Default font : Arial bold 9pt
Enable Per Second
- PanelList
- Track info mod 3
再生中の曲のタイトルを表示する。また、クリックすると再生中の曲をELPlaylistでアクティブにする。// Background $drawrect(,29,376,1,brushcolor-217-217-217 pencolor-null) // PerTrack $if(%isplaying%, $button2(,,0,0,376,30, '$alignabs(6,7,340,13,left,top)%title%', '$drawrect(,,376,29,brushcolor-255-102-0 pencolor-null)$alignabs(6,7,340,13,left,top)$font(,,bold,255-255-255)%title%$drawrect(348,0,1,29,brushcolor-255-255-255 pencolor-null)$alignabs(359,7,8,10,,)$font(WEBICON,10,,255-255-255)C', 'Activate now playing',), $alignabs(6,7,136,12,left,top)$font(,8,bold,)'Please choose the track.' )
- Track info mod 4
再生中の曲のCDジャケットを表示する。画像は曲と同一フォルダ内のもの。// PerTrack $imageabs2(70,70,0,0,70,70,,, $if($fileexists($replace(%path%,%filename_ext%,)*.jpg), $replace(%path%,%filename_ext%,)*.jpg,/images\no_image.jpg), ) $imageabs2(70,70,0,0,70,70,,,/images\overlay_reflect.png,)
- Biography View
再生中の曲のアーティストの情報をLast.fmより取得して表示する。- Custom Color
Font : Tahoma 7pt
- Custom Color
- Track info mod 5
再生中の曲の歌詞検索やファイルの位置を開くボタンを表示する。
Run servicesに登録するパラメータ// PerTrack $button2(,,0,0,112,14, '$drawrect(,13,15,1,brushcolor-160-160-160 pencolor-null)$alignabs(4,,106,10,,)$font(WEBICON,10,,128-128-128)C$font(Arial,7,bold,0-0-0) SEARCH FOR LYRIC', '$drawrect(,13,112,1,brushcolor-255-102-0 pencolor-null)$alignabs(4,,106,10,,)$font(WEBICON,10,,255-102-0)C$font(Arial,7,bold,255-102-0) SEARCH FOR LYRIC', 'Google Artist + Title + Lyric', ) $button2(141,,0,0,104,14, '$drawrect(,13,15,1,brushcolor-160-160-160 pencolor-null)$alignabs(3,1,99,10,,)$font(Wingdings 2,6,,128-128-128)5$font(Arial,7,bold,0-0-0) OPEN DIRECTORY', '$drawrect(,13,104,1,brushcolor-255-102-0 pencolor-null)$alignabs(3,1,99,10,,)$font(Wingdings 2,6,,255-102-0)5$font(Arial,7,bold,255-102-0) OPEN DIRECTORY', 'Open Directory', )
Google Artist + Title + Lyric
Open Directoryhttp://www.google.co.jp/search?hl=ja&q=$replace(%artist%+%title%+歌詞, ,+)&btnG=検索&lr=
"$substr(%_path%,0,$strrchr(%_path%,'\'))"
- Track info mod 6
登録してある曲の総数、再生中の曲情報(アーティスト、アルバム)、設定画面を開くボタン、foobar2000のボリュームを表示する。曲の総数は全てのプレイリストの曲を足して数えている。// Background $drawrect(8,43,273,1,brushcolor-204-204-204 pencolor-null) $drawrect(8,67,273,1,brushcolor-204-204-204 pencolor-null) $drawrect(8,112,273,1,brushcolor-0-0-0 pencolor-null) // PerTrack $alignabs(12,6,130,120,,)$font(,,bold,96-96-96)Media Library $alignabs(12,23,278,120,,)$font(,,bold,0-0-0) $if(%isplaying%, $cwb_splitnum($add( $getitemcount(New Playlist), $getitemcount(Active Playlist), $font(Arial,,,96-96-96) songs since December 2008.,) $alignabs(12,49,130,120,,)$font(,,bold,96-96-96)Artist $alignabs(60,49,209,120,,)$font(,,bold,0-0-0)[%artist%] $alignabs(12,73,130,120,,)$font(,,bold,96-96-96)Album $alignabs(60,73,209,120,,)$font(,,bold,0-0-0)#lineheight,16#[%album%] $button2(12,119,0,0,69,13,'$font(,,bold,96-96-96)Preferences','$font(,,bold underline,255-102-0)Preferences','Preferences',) $if(%isplaying%, $alignabs(175,121,340,9,,)$font(,7,bold,0-0-0)Volume $alignabs(215,119,54,11,right,)$font(,8,bold,0-0-0)[%cwb_volume% dB], )
2009/11/07 追記:記事の加筆・修正。
0 Coment:
Post a Comment