チョコ煮

チョコ煮

いろんな素材をチョコで煮ます

パクリ:foobar2000でトップ25・トップレートを表示する

Playback StatisticsとSQL Tree、Columns UIでそれっぽく作ってみました。

完成図はこんな感じ。

f:id:bitter_sweet_chocolate:20150428194730j:plain

filter2つ、AlbumListが1つあるというなんだかよくわからない構成ですが、右上のフォルダツリーになっているところがSQL Treeです。
ここにSQLでクエリを作り、アクションを設定すると、Playback Statisticsのデータベースから再生回数とかレーティングとかをひろってくれ、プレイリストに反映してくれるという仕組みです。
iTunesでは割と当たり前にある機能ですが、なぜか日本語で解説しているページがなかったので、またしてもパクって解説します。
 
パクリ元は、こちらのフォーラムのpochabooさんの投稿です(英語)。

www.hydrogenaud.io

まずは結論から。たぶんこの引用だけでできる人はできるはず。

 Sorry poor English.

Preferences->Media Library->SQL tree->MediaLibrary table->Add
Type: TFExpression
Name: play_count
Collation: NaturalNoCase
Title format expression: %play_count%

*Quary tab*
SELECT play_count, title, artist
From medialibrary
ORDER BY play_count DESC
LIMIT 25

*Action tab*
Click action: Send to target playlist
Target playlist: Top 25 Tracks

One click is send top 25 most played tracks to a playlist by the name of "Top 25 Tracks".


I use foo_random_pools in order to create a playlist of top X most played tracks.

Preferences->Tools->Random pools->Add
Name: top 25 tracks
Group: %_foobar2000_version%
Number of group to add: 1
Filter: %play_count% GREATER 0
Number of tracks to add: 25
Please check "Limit after sorting".
Sort: $sub(99999,%play_count%)

Playlist patterns: Top 25 Tracks
Add, when the playlist has X items or less: please input except 0.
Add, when the playback position is X items or less from the end: 0

Please activate a playlist by the name of "Top 25 Tracks".
File->Random pools->top 25 tracks

This works perfect in my environment smile.gif 

 実は私は、下段のfoo_random_poolsの方は試しておりません。本エントリでは上段について説明します。

 

ちなみに私の環境は

 Windows 8.1 Pro

foobar2000 v1.3.8

です。

 

1.各コンポーネントのインストール・プレイリストへの再生回数の表示

 Columns UI、Playback Statisticsについては、

一から始めるfoobar2000 - foobar2000 Wiki*

に非常に丁寧な設定方法がありますので、そちらを参照してください。

Playback Statisticsが出てくるのは第15回です。

このシリーズの第1回から順を追って進むと、良い感じにカスタマイズされたUIができあがります。オススメ。

ちなみに私はfoo_ui_columns v0.3.8.8、foo_playcount v3.0.2を使用してます。

 

2.SQL Tree(foo_uie_sql_tree)のインストール

foobar2000: Components Repository - SQL Tree

より、ダウンロードしてインストールします。

ちなみに私はv1.0.4を使用してます。

で、インストールすると

File>Preference>Media Library>SQL Tree

が追加されます。

 

3.SQL TreeのHelpにははっきりとは書かれてませんが、クエリやアクションの入力はColumns UIのLayoutタブで

Insert Panel>Panels>SQL Tree

として、UIのどこかに場所を作るとUI上で可能になります。

 

4.クエリの下準備

Playback Statisticsで再生回数とレーティングは、

それぞれTable format expressionにて、%play_count%、%rating%を使用することで扱えますが、そのままではクエリに使えないっぽいので、

Preference>Media Library>SQL Tree>MediaLibrary tableを開き、Addボタンを押して

 

Type: TFExpression
Name: play_count
Collation: NaturalNoCase
Title format expression: %play_count%

(他はデフォルト)

 

とします。これでSQL上でデータをplay_countという変数(?)で扱えます。

ちなみにレーティングはこちら。

 

Type: TFExpression
Name: play_rating
Collation: NaturalNoCase
Title format expression: %rating%

(他はデフォルト)

 

ちなみにName:はある程度任意な名前をつけることができるようです。

 

5.受け取り側のプレイリスト作成

Preferenceを閉じ、メインの画面に戻ります。

SQLで問い合わせた結果をプレイリストに反映する際、どのプレイリストに送るか決めておく必要があります。

上記の引用文では、"Top25 Tracks"としているので、その名前のプレイリストを作成してください。

Actionタブの設定で名前を変えた場合は、その名前を入力すればOKです。

ちなみに私はトップレートも作ったので、その受取先は”Top Rate”としてます。

 

6.クエリ、アクションの設定

メインUIでSQL Treeを配置した場所のフォルダツリーのフォルダのどれかを右クリックします。メニューのNew query…をクリックします。New folder…で作ったフォルダでも構いません。

f:id:bitter_sweet_chocolate:20150428204535j:plain

Mainタブで名前をつけます。

f:id:bitter_sweet_chocolate:20150428204919j:plain

で、Queryタブを開き、SQL query欄に引用文のSQL文を貼り付けます。

f:id:bitter_sweet_chocolate:20150428205140j:plain

 

SELECT play_count, title, artist
FROM medialibrary
ORDER BY play_count DESC
LIMIT 25

 

で、Applyボタンを押して特にエラーが出なければOKをクリックして閉じてください。

続いてActionタブをクリックします。

f:id:bitter_sweet_chocolate:20150428205635j:plain

Click action(左クリックした時の動作)を、Send to target playlistとし、Target playlist欄に、あらかじめ作ったプレイリスト名を入力します(ここではTop 25 Tracks)。

 

なお、レーティングでTop25を作成したい場合はクエリのSQL文をちょこっと変更して、下のようにします。あとはプレイリスト名以外は同じ。

SELECT play_rating
FROM medialibrary
ORDER BY play_rating DESC, artist, album, tracknumber, title
LIMIT 25

 以上で完成です。

f:id:bitter_sweet_chocolate:20150428210335j:plain

更新したいSQLフォルダをダブルクリックすると、再生回数やレーティングが反映されます。

ちなみにUIのレーティングのTable format expressionは

Step by step guide to use ratings with foobar2000 0.9.5 - Hydrogenaudio Forums

のkanakさんの丸パクリです。設定は以下のとおりです。

f:id:bitter_sweet_chocolate:20150428211144j:plain

f:id:bitter_sweet_chocolate:20150428211156j:plain