色は上から 255:255:255 72:72:72 106:106:106 106:106:106 ---- // 設定開始 // 左側の枠の幅 $puts(album_width,30) // 枠の境界の文字 $puts(sprit,|) // アルバム名を挟む文字 $puts(album_sprit,-) // 再生中の場合、トラックナンバーの両側の半角スペースがこれに置き変わる $puts(trackno_l,E7E7E7|E7E7E7-) $puts(trackno_r,E7E7E7|E7E7E7-) // rarとzip書庫以外の場合、アルバム名の表示幅 $puts(album_cut_width,30) // 色設定。は無し $puts(plno_color,CCCCCC|DADADA) $puts(sprit_color,7EBABE|7EBABE) $puts(artist_color,CCCCCC|CCCCCC) $puts(archived_color,5C5C5C|5C5C5C) $puts(album_color,7A75AA|7A75AA) $puts(album_sprit_color,CCCCCC|CCCCCC) $puts(album_info_color,BBBBBB|BBBBBB) $puts(title_color,CCCCCC|DADADA) $puts(trno_color,9A9A9A|AAAAAA) $puts(info_color,7D7D7D|7D7D7D) $puts(time_color,CCCCCC|DADADA) // 設定ここまで // トラックナンバーの表示形式処理 $puts(trno, // 再生中の場合は設定値に置き換え、それ以外は半角スペース $if(%_isplaying%,$get(trackno_l),' ') $get(trno_color) // %tracknumber%を二桁に固定、空の場合は--に置き換え $if(%tracknumber%,$num(%tracknumber%,2),--) // 再生中の場合は設定値に置き換え、それ以外は:に。' 'は余白 $if(%_isplaying%,$get(trackno_r),666666|666666:)' ' ) // トラックナンバー完了 // %album%の中央寄せ処理 // 表示が固定されている部分の幅を計算 // [album_sprit]が左右の分でx2、後で左右に半角スペースの余白を入れるので+2 $puts(width_album_sprit,$add($mul($len2($get(album_sprit)),2),2)) // %album%が表示できる幅の最大値を計算。[album_width]から上の[album_sprit]を引く $puts(width_max,$sub($get(album_width),$get(width_album_sprit))) // 実際使用した幅を計算。$cutで%album%が上の[width_max]を超えたら切っておく // 使用した分は%album%と表示が固定されている[width_album_sprit]の和になる。 $puts(width_used,$add($len2($cut(%album%,$get(width_max))),$get(width_album_sprit))) // 余った部分の幅を計算。[album_width]から上の[width_used]を引く。 $puts(width_remainder,$sub($get(album_width),$get(width_used))) // 左右に余った幅を分配、2で割る。その際mod2で解に0.5がある場合の繰上げを判断 $if($stricmp($mod($get(width_remainder),2),1), $puts(width_l,$div($get(width_remainder),2)) $puts(width_r,$add($div($get(width_remainder),2),1)) , $puts(width_l,$div($get(width_remainder),2)) $puts(width_r,$div($get(width_remainder),2)) ) // 計算完了 // プレーリストナンバー $get(plno_color)$num(%_playlist_number%,3) $get(sprit_color)$get(sprit) // 書庫ファイルであることを確認(書庫ファイルだと%_path_raw%がunpack//から始まる) $if($stricmp($substr(%_path_raw%,1,6),unpack), // トラックナンバーが1の時はアーティスト名を表示 $if($stricmp(%tracknumber%,1), $if(%artist%,$get(artist_color)$padcut(%artist%,$get(album_width)) // %tracknumber%は有るのに%artist%が空の時は空白で埋める ,$repeat(' ',$get(album_width)) ) ) // トラックナンバーが2の時は書庫の種類を $if($stricmp(%tracknumber%,2), $if($stricmp($substr(%_path_raw%,10,12),zip), 504BE2|504BE2$padcut_right(ZIP,$get(album_width)) ) $if($stricmp($substr(%_path_raw%,10,12),rar), $get(archived_color)$padcut_right(RAR,$get(album_width)) ) ) // 3の時はアルバム名も表示 $if($stricmp(%tracknumber%,3), $if(%album%, $repeat(' ',$get(width_l)) $get(album_sprit_color)$get(album_sprit) $get(album_color)$cut(%album%,$get(width_max)) $get(album_sprit_color)$get(album_sprit) $repeat(' ',$get(width_r)) // %tracknumber%は有るのに%album%が空の時は空白で埋める ,$repeat(' ',$get(album_width)) ) ) // 4の時は6以降と同じ $if($stricmp(%tracknumber%,4), $repeat(' ',$get(album_width)) ) // トラックナンバーが5の時はアルバム情報を $if($stricmp(%tracknumber%,5), $get(album_info_color) $padcut_right(['('$upper(%genre%) %date%')'],$get(album_width)) // %tracknumber%は有るのに%artist%が空の時は空白で埋める ) // 6以降はタイトルのみなので左側の枠は空白で埋める //($ifgraterはB(notの時)の処理を省略できないので,を忘れないように) $ifgreater(%tracknumber%,5, $repeat(' ',$get(album_width)) ,) // %tracknumber%が空の時 $if(%tracknumber%,,$repeat(' ',$get(album_width))) // 右側の枠は全部共通 $get(sprit_color)$get(sprit)$get(sprit) $get(trno) $get(title_color)$if(%title%,%title%,%_filename%) $char(9) $get(info_color) * $upper($ext(%_filename_ext%)) $if(%__replaygain_track_gain%,$padcut_right($cut(%__replaygain_track_gain%,$add($strstr(%__replaygain_track_gain%,.),1)),5) , 504BE2|504BE2N/A) $get(time_color)$pad_right(%_length%,5) // 一番最初の$ifの,。書庫以外の表示形式開始 , $if(%artist%,$get(artist_color)$padcut(%artist%,$get(album_width)) // %album%が空の時は空白で埋める ,$repeat(' ',$get(album_width)) ) $get(sprit_color)$get(sprit)$get(sprit) $get(trno) $get(title_color) [$cut(%album%,$get(album_cut_width)) - ] $if(%title%,%title%,%_filename%) $char(9) $get(info_color) $if($stricmp($substr(%_path_raw%,1,6),unpack),*, ) $upper($ext(%_filename_ext%)) $if(%__replaygain_track_gain%,504BE2|504BE2$padcut_right($cut(%__replaygain_track_gain%,$add($strstr(%__replaygain_track_gain%,.),1)),5)$get(info_color) , N/A) $get(time_color)$pad_right(%_length%,5) // 一番最初の$if終了 )
じゃあ俺もー。ugleeの改造版。
v0.7 RC15以外で動くのかどうか知りません。
フォントはMS Gothic 9pt以外は認めません。
色は上から 255:255:255 255:255:255 238:238:238 0:128:192 ---- // Colors // playlist nr, encoder $puts(PNC,999999|999999) // track nr, nfo $puts(TNC,999999|999999) // length, ag $puts(LNG,999999|999999) // title $puts(TLC,000000|000000) // artist $puts(ARC,000000|000000) // album $puts(ALC,666666|666666) // date $puts(DTC,666666|666666) // active (playing or selected) $puts(ACT,4080ff) $puts(ACTL,99ccff|99ccff) // lines $puts(LNC,c08000|c08000) $if(%_isplaying%, $puts(LNGT_COL,$get(ACT)|$get(ACT)) $puts(TTL_COL,$get(ACT)|$get(ACT)) $puts(PLNUM_COL,$get(ACT)|$get(ACT)) $puts(TRNUM_COL,$get(ACT)|$get(ACT)) , $puts(LNGT_COL,$get(LNG)|$get(ACT)) $puts(TTL_COL,$get(TLC)|$get(ACT)) $puts(PLNUM_COL,$get(PNC)|$get(ACT)) $puts(TRNUM_COL,$get(TNC)|$get(ACT)) ) $puts(ARTST_COL,$get(ARC)|$get(ARC)) $puts(ALBM_COL,$get(ALC)|$get(ALC)) $puts(DATE_COL,$get(DTC)|$get(DTC)) // Variables $puts(WDTH,30) $puts(VLINE,$get(LNC)$char(9474)) $puts(VLINE1,$get(LNC)$char(9553)) // Pre-proc $puts(ARTIST,$if3(%albumartist%,%artist%, .$left(%_path_raw%,$sub($strchr(%_path_raw%,':'),1)).)) $if(%_subsong%, $puts(ARTST,artist$num(%tracknumber%,2))$puts(TTL,title$num(%tracknumber%,2)),) $puts(NR,$num(%tracknumber%,1)) $puts(FILL,$if(%_isplaying%,''$get(ACTL)'>',$get(LNC)$if($strcmp($get(NR),1),-, ))) $puts(FN,$if($strstr(%_path_raw%,'file://'),%_filename%,%_path%)) $puts(CUT,$sub($len($get(FN)),1)) // PLAYLIST # (1st column) $get(VLINE)$get(PLNUM_COL)$padcut_right(%_playlist_number%,4)$get(VLINE) // ARTIST, ALBUM, ... (2nd column) $if($not(%tracknumber%),$get(ARTST_COL) $padcut($get(ARTIST),$get(WDTH)), $ifgreater(7,%tracknumber%,$select(%tracknumber%, // nr1: artist $get(LNC)$char(9555)$get(ARTST_COL)$padcut($get(ARTIST),$get(WDTH))$get(LNC), // nr2: album $get(VLINE1) $get(ALBM_COL)$padcut($if2(%album%[ vol %volume%][ #%disc%],...),$get(WDTH)), // nr3: date $get(LNC)$char(9561)$get(DATE_COL)$padcut($if3(%year%,%date%,...),4) $get(LNC)$repeat( ,$sub($get(WDTH),5)), // nr4: encoder $get(LNG)|$get(LNG) $padcut_right( $if($strstr(%_path_raw%,cdda),pcm: 1411kbps, $lower($ext($if2(%__referenced_file%,%_path%))) $if(%__mpc_encoder%,$puts(E,$replace(%__mpc_encoder%,-,)) $if($strstr($get(E),Buschmann), P1.06, $insert($get(E), $left($get(E),1),$sub($strstr($get(E),.),2))),) $if($not($put(P,%__mpc_profile%))$strstr($get(P),Unstable) $strstr($get(P),n.a),[ %__bitrate%kbps], $replace($get(P),'',)) [ %__extrainfo%][ $caps(%__compression%)][ $info(stream type)] [ %__mode% mode],$get(WDTH))$get(LNC)$char(9558), // nr5: audio $get(TNC)|$get(TNC) $padcut_right( nfo: [$div(%__samplerate%,1000).$div($mod(%__samplerate%,1000),100)kHz][ %__bitspersample%bit] [ %__channels%ch],$get(WDTH))$get(VLINE1), // nr6: album gain $get(PNC)|$get(PNC) $padcut_right( ag:$if2( $replace($replace(%__REPLAYGAIN_ALBUM_GAIN%,00,), ,), ...) ,$get(WDTH))$get(LNC)$char(9564)), // if single track $padcut( ,$add($get(WDTH),1)))) // TRACK # (3rd column) $if($strcmp($get(NR),1),$char(9532),$get(VLINE)) $if($not(%tracknumber%), $get(TRNUM_COL)$repeat(' ',2),$get(TRNUM_COL)$num(%tracknumber%,2)) $get(LNC)$if($strcmp($get(NR),1),+,|)$get(FILL) // TITLE (4th column) $get(TTL_COL) $if(%albumartist%, $get(ARTST_COL) $if3($meta($get(ARTST)),%artist%) - $get(TTL_COL)$if3($meta($get(TTL)),%title%), $if3(%title%, $meta($get(TTL)), %station%, $if($strcmp($insert( $get(FN),,$get(CUT)),/),$left($get(FN),$get(CUT)),$get(FN)))) $repeat($get(FILL),500) // right align $char(9) // LENGTH (5th column) $get(LNC)|$get(LNGT_COL) $ifgreater(3600,$put(L,%_length_seconds%),$num($div($get(L),60),2): $num($mod($get(L),60),2) m, $num($div($get(L),3600),2):$num($div($mod($get(L),3600),60),2) h) $get(LNC)|
タブを使ってるので 2 bytes 文字だからと気にしなくていいです.
拡張子が取ってこれないものがあるのは何故だろう?
過去の遺物.
// playlist $if(%_isplaying%,$puts(maincol,FFFFFF|FFFFFF)$puts(sidecol,FFFFFF|FFFFFF),$puts(maincol,F0CAA6|F0CAA6)$puts(sidecol,F0CAA6|F0CAA6)) $puts(gain,504BE2|504BE2) $get(sidecol)$num(%_playlist_number%,4). $if(%_isplaying%,$get(gain)>>, ) $get(maincol)$if(%title%,%title%,%_filename%) $if(%_isplaying%,$get(gain)<<,) $char(9) $get(maincol)' - ' $get(maincol)$if(%tracknumber%,[%disc%/][$num(%tracknumber%,2)],00)':' $get(maincol)$if(%album%,%album%,'Unknown Album') $char(9) $get(maincol)' - ' $get(maincol)$if(%artist%,%artist%,'Unknown Artist') $char(9) $get(maincol) $upper($ext(%_filename_ext%)) $get(gain)$if(%__replaygain_track_gain%,$padcut_right($cut(%__replaygain_track_gain%,$add($strstr(%__replaygain_track_gain%,.),1)),5), N/A) $get(sidecol)$pad_right($if(%_length%,%_length%,0:00),6)
試行錯誤の結果こんなのになった。
自分でもごちゃごちゃして汚いと思う_| ̄|○
適当に補完おながいします
//Playlist //font = MS UI Gothic //text = 224,224,224 //back = 73,86,95(わりと適当) //select = 45,94,52(同上) //flame = 0,132,0 $puts(Line_Color,$char(3)10b010|00ff00$char(3)) $if(%_isplaying%,$puts(Def_Color,$char(3)20c0c0|40ffff$char(3)),$puts(Def_Color,$char(3)b0b0b0|ffffff$char(3))) $puts(shadow,$char(3)606860|808080$char(3)) $puts(V_Line,$get(Line_Color)|$get(Def_Color)) $puts(H_Line,$get(Line_Color)────────────────────────────────$get(Def_Color)) $puts(play_cur,$if(%_isplaying%, $char(3)20d080$char(3)<$char(3)20b080$char(3)<$char(3)209080$char(3)<$char(3)207080$char(3)<$char(3)205080$char(3)<,)) $puts(zero,0000) $puts(Tab1,$char(9)$char(9)) $puts(Tab2,$char(9)$char(9)$char(9)) $puts(Tab3,$char(9)$char(9)) $puts(numb,%_playlist_number%) $if(%_isplaying%,$char(3)00ff00|80ff80$char(3)'>>',' ') $get(shadow)$left($get(zero),$sub(4,$len($get(numb))))$get(def_color) $get(numb)$get(Def_Color)$get(V_Line) $if($OR($stricmp($substr(%_path_raw%,1,6),unpack),%album%), $if($strstr($num(%tracknumber%,2),01), $get(Line_Color)┌<$get(Def_Color)[%album%]>$get(H_Line) $get(Tab1) $get(Line_Color)┐$get(Def_Color) $puts(t_num,%tracknumber%)$get(shadow)$left($get(zero),$sub(2,$len($get(t_num))))$get(def_color)$get(t_num) ' - '$if(%title%,%title%,%_filename%) $get(play_cur)$get(H_Line) $get(Tab2) $get(Line_Color)┐$get(Def_Color)$if(%artist%,%artist%,)$get(H_Line) ,) $if($strstr($num(%tracknumber%,2),02), $get(Line_Color)' |'$get(Def_Color)$if(%artist%,$get(Line_Color)_$get(Def_Color)Artist : %artist%,) $get(Tab1) $get(Line_Color)' |_'$get(Def_Color) $puts(t_num,%tracknumber%)$get(shadow)$left($get(zero),$sub(2,$len($get(t_num))))$get(def_color)$get(t_num) ' - '$if(%title%,%title%,%_filename%) $get(play_cur) $get(Tab2) $get(Line_Color)' |_'$get(Def_Color) $if(%artist%,%artist%,) ,) $if($strstr($num(%tracknumber%,2),03), $get(Line_Color)' |_'$get(Def_Color)['('$upper(%genre%) %date%')'] $get(Tab1) $get(Line_Color)' |_'$get(Def_Color) $puts(t_num,%tracknumber%)$get(shadow)$left($get(zero),$sub(2,$len($get(t_num))))$get(def_color)$get(t_num) ' - '$if(%title%,%title%,%_filename%) $get(play_cur) $get(Tab2) $get(Line_Color)' |_'$get(Def_Color) $if(%artist%,%artist%,) ,) $ifgreater($num(%tracknumber%,2),03, $get(Tab1) $get(Line_Color)' |_'$get(Def_Color) $puts(t_num,%tracknumber%)$get(shadow)$left($get(zero),$sub(2,$len($get(t_num))))$get(def_color)$get(t_num) ' - '$if(%title%,%title%,%_filename%) $get(play_cur) $get(Tab2) $get(Line_Color)' |_'$get(Def_Color) $if(%artist%,%artist%,) ,) $if($strstr($num(%tracknumber%,2),00), $get(Tab1) $get(Line_Color)' ・_'$get(Def_Color) $puts(t_num,%tracknum%)$get(shadow)$left($get(zero),$sub(2,$len($get(t_num))))$get(def_color)$get(t_num) ' - '$if(%title%,%title%,%_filename%) $get(play_cur) $get(Tab2) $get(Line_Color)' ・_'$get(Def_Color) $if(%artist%,%artist%,) ,) , [%album%] $get(Tab1) $get(Line_Color)' ・'$get(Def_Color)' '$if(%title%,%title%,%_filename%) $get(play_cur) $get(Tab2) $if(%artist%,$get(Line_Color)' ・'$get(Def_Color)%artist%,) ) $get(Tab3) $get(V_Line) $ifgreater(%__bitrate%,0,$char(3)787878|888888$char(3),) $ifgreater(%__bitrate%,95,$char(3)909090|a0a0a0$char(3),) $ifgreater(%__bitrate%,127,$char(3)a8a8a8|b8b8b8$char(3),) $ifgreater(%__bitrate%,159,$char(3)c0c0c0|d0d0d0$char(3),) $ifgreater(%__bitrate%,191,$char(3)d8d8d8|e8e8e8$char(3),) $ifgreater(%__bitrate%,255,$char(3)f0f0f0|ffffff$char(3),) $pad($caps($ext(%_path%)),3)-$pad_right($num(%__bitrate%,3),3)k$get(Def_Color)' ' $get(V_Line) $puts(mm,$div(%_length_seconds%,60)) $puts(ss,$mod(%_length_seconds%,60)) $get(shadow)$left($get(zero),$sub(2,$len($get(mm))))$get(def_color)$get(mm): $get(shadow)$left($get(zero),$sub(2,$len($get(ss))))$get(def_color)$get(ss)