foobar 設定:標題格式化語法參考

weixin_33978044發表於2017-01-25

foobar 設定:標題格式化語法參考

標籤(空格分隔): foobar


一般欄位

語法 解釋
%title% 音軌標題。若後設資料 “title” 不存在則使用檔名代替。
%artist% 藝術家名。依次檢查下列後設資料欄位: “artist”, “album artist”, “composer”, “performer”。
%album artist% 專輯藝術家名。依次檢查下列後設資料欄位: “album artist”, “artist”, “composer”, “performer”。與 %artist% 不同的是 %album artist% 用於在整張專輯有不同藝術家的情況。
%track artist% 音軌藝術家名。僅在 %album artist% 與 %artist% 不同的時候有效。用於與 %album artist% 共同使用以指定專輯中的不同藝術家,例如: ”%album artist% - %title%[ '//' %track artist%]” ;在這種情況下,最後一部分內容僅會在有根據音軌指定的藝術家存在時才會顯示。
%album% 專輯名。依次檢查下列後設資料欄位: “album”, “venue”.
%date% 年代。使用後設資料 “date” 欄位。
%genre% 流派,使用後設資料 “genre” 欄位。
%tracknumber% 音軌號。僅在存在後設資料 “tracknumber” 欄位時有效。
%totaltracks% 合計音軌。僅在存在後設資料 “totaltracks” 欄位時有效。
%discnumber% 光碟編號。僅在存在後設資料 “discnumber” 或 “disc” 欄位時有效。
%totaldiscs% 合計光碟。僅在存在後設資料 “totaldiscs” 欄位時有效。
%codec% 編碼格式名。若無法有效取得準確的編碼格式,使用檔案字尾。
%codec_profile% 關於編碼設定的附加資訊,並不總是有效。
%filename% 檔名,不包括字尾名和目錄
%filename_ext% 檔名,包括字尾名但不包括目錄。
%directoryname% 檔案所處目錄名。
%path% 檔案路徑,注意排序時應使用 %path_sort% 而非 %path%。
%subsong% 檔案內的音軌編號,用於單檔案支援多音軌的檔案格式(例如章節和CUE)。
%path_sort% 結合了音軌號的檔案路徑,用於排序;返回值不確定,因此不應依賴其返回值。
%length% 長度,格式為 [HH:]MM:SS。
%length_seconds% 長度,單位為秒,格式是整數。
%bitrate% 位元率,單位為千位元每秒(kbps);支援動態 VBR 位元率。
%channels% 聲道數(mono/stereo/etc)。
%samplerate% 取樣率,單位為 Hz。
%replaygain_track_gain%, %replaygain_album_gain%, %replaygain_track_peak%, %replaygain_album_peak% 播放增益相關資訊。
%filesize% 檔案大小,單位為位元組。
%filesize_natural% 檔案大小,將根據實際情況返回如MB或KB的形式。
%last_modified% 返回檔案最後更改時間,格式為 YYYY-MM-DD HH:MM:SS。

以上列表內容沒有完成,還有一些不太重要的欄位如 %field%、後設資料和 %__field%、技術資訊對映,它們用於保持向後相容性。

上下文欄位

語法 解釋
%list_index% 指定專案所在的列表編號。應用於:播放列表,由 masstagger/massrenamer 處理過的專案的列表,等等。在結果前補足0以適應列表中最大數的位數。
%list_total% 指定專案所在列表的總專案數。應用於:播放列表,由 masstagger/massrenamer 處理過的列表,等等。
%isplaying% 若當前專案正在播放則有效,例如: 一個播放列表項正在播放。用於 $if() 中的條件。
%ispaused% 若當前專案正在播放並處於暫停狀態則有效,例如: 一個播放列表項已暫停。用於 $if() 中的條件。
%playback_time% 當前播放時間,格式為 [HH:]MM:SS。僅在某些使用播放上下文資訊的地方有效,例如狀態列。
%playback_time_seconds% 當前播放時間,單位為秒。格式為整數。僅在某些使用播放上下文資訊的地方有效,例如狀態列。
%playback_time_remaining% 剩餘播放時間,格式為 [HH:]MM:SS。僅在某些會使用播放上下文資訊的地方有效,例如狀態列。若當前播放音軌無持續時間資訊則無效。
%playback_time_remaining_seconds% 剩餘播放時間,單位為秒。格式為整數。僅在某些使用播放上下文資訊的地方有效,例如狀態列。若當前播放音軌無持續時間資訊則無效。
%queue_index% 指定專案所處佇列的編號,僅對播放列表有效。
%queue_indexes% 指定專案所處佇列的編號列表,僅對播放列表有效。當指定專案僅在佇列中出現一次則與 %queue_index% 等價。
%queue_total% 佇列的專案總數。由於技術上的原因該欄位僅對屬於佇列中音軌有效。

其它

語法 解釋 示例
[ …. ] 若欄位不存在引用則丟棄方括號中的所有內容。主要用於建立部分僅在相關欄位有效時的格式化指令碼。 %artist% - [%album% / ]%title%
' (單引號) 插入指定文字忽略語法處理;允許有特殊字元比如"%"、"$"、"["和"]"。若需要在文字中插入單引號,可以使用 '' (兩個單引號)。
// 註釋,僅能用於行首;註釋後的文字從行首到行尾不會被解析。
EOL字元 忽略; 你可以使你的指令碼拆分為多行以增加可讀性,而不會影響結果。
Tab(製表符) 用於對特定上下文文字進行對齊,例如狀態列。 參見: $tab() %title%$tab()%length%

相關文章