## 更新听过和没听过的歌曲分类方法
> 使用foobar几乎就不可能离开媒体库,虽然foobar的播放列表功能也很强大,但是依然不可能离开媒体库。比如,系统默认的评级、播放次数只能对媒体库中的文件生效、在媒体库中能灵活的管理电脑中的所有音乐文件等等。媒体库有基于dui和cui的,这是基于cui的媒体库。
>
下面介绍几个最常见的分类排序方式,建议大家看看标题格式化(title formating)代码,这样自己可以对媒体库进行灵活的自定义。
### 按播放次数(by play_count):
`$num(%play_count%,3)|$if2($caps(%artist%),Unknown Artist)|$if2(%ALBUM%,%directoryname%)[ '['%DATE%']']|['['#$tracknumber()']' ]%title%[ '['%length%']']`
### 按专辑(by Album):
`$ if2(%album%,$char(13)Unknown Album)[ '['%album artist%']']|[[%discnumber%.]%tracknumber%. ][%track artist% - ]%title%`
### 按艺术家(by artist):
`$if2(%<artist>%,$char(13)Unknown Artist)|$if2(%album%,$char(13)Unknown Album)|[[%discnumber%.]%tracknumber%. ][%track artist% - ]%title%`
### 按流派(by genre):
`$ if2(%<genre>%,$char(13)Unknown Genre)|[%album artist% - ]$if2(%album%,$char(13)Unknown Album)|[[%discnumber%.]%tracknumber%. ][%track artist% - ]%title%`
### 按年代(by year):
`$if2(%<date>%,$char(13)Unknown Date)|[%album artist% - ]$if2(%album%,$char(13)Unknown Album)|[[%discnumber%.]%tracknumber%. ][%track artist% - ]%title%`
### 按评级(by rating):
`$if2(%rating%☆,$char(13)Unrated)|$if2(%<artist>%,$char(13)Unknown Artist)|%title%`
### 按文件编码方式(by codec):
```
$puts(tem,$upper($ext($if2(%__referenced_file%,%filename_ext%))))$if($stricmp($get(tem),),[%codec%],$get(tem))|[%album artist% - ]['['%date%']' ]$if2(%album%,$char(13)Unknown Album)|[[%discnumber%.]%tracknumber%. ][%track artist% - ]%title%
```
### 按截短的一级目录(Truncate First Directory Level):
```
$puts(path,$replace($directory_path(%path%),\\,|$char(13))|%filename_ext%
$ifgreater(%subsong%,0,|%tracknumber%.%title%,))
$substr($get(path),$add($strchr($get(path),|),1),$len($get(path)))
```
### 按截短的二级目录(Truncate First 2 Directory Levels):
```
$puts(path,$replace($directory_path(%path%),\\,|$char(13))|%filename_ext%
$ifgreater(%subsong%,0,|%tracknumber%.%title%,))
$puts(path,$substr($get(path),$add($strchr($get(path),|),1),$len($get(path))))
$substr($get(path),$add($strchr($get(path),|),1),$len($get(path)))
```
### 按截短的三级目录(Truncate First 3 Directory Levels):
```
$puts(path,$replace($directory_path(%path%),\\,|$char(13))|%filename_ext%
$ifgreater(%subsong%,0,|%tracknumber%.%title%,))
$puts(path,$substr($get(path),$add($strchr($get(path),|),1),$len($get(path))))
$puts(path,$substr($get(path),$add($strchr($get(path),|),1),$len($get(path))))
$substr($get(path),$add($strchr($get(path),|),1),$len($get(path)))
```
### 按音乐是否听过分类:
应知乎网友提出的问题:你用什么软件管理音乐? 按音乐有没有听过来分类:
```
$ifgreater($num(%play_count%,1),0,$char(13)播放过的,$char(13)未播放过)|%title%[ '['%length%']‘]
```
### 以播放次数5次为阶梯:
```
$ifgreater($num(%play_count%,1),5,$ifgreater($num(%play_count%,1),10,$ifgreater($num(%play_count%,1),15,$char(13)播放次数大于15次,$char(13)播放次数大于10次小于15次),$char(13)播放次数大于5次小于10次),$char(13)播放次数小于5次)|%title%[ '['%length%']']
```
## 参考来源:
[古意人Blog-foobar媒体库中常用的分类排序方式代码集合](http://www.guyiren.com/archives/195)