パクリ:foobar2000でトップ25・トップレートを表示する
Playback StatisticsとSQL Tree、Columns UIでそれっぽく作ってみました。
完成図はこんな感じ。
まずは結論から。たぶんこの引用だけでできる人はできるはず。
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![]()
実は私は、下段の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…で作ったフォルダでも構いません。
Mainタブで名前をつけます。
で、Queryタブを開き、SQL query欄に引用文のSQL文を貼り付けます。
SELECT play_count, title, artist
FROM medialibrary
ORDER BY play_count DESC
LIMIT 25
で、Applyボタンを押して特にエラーが出なければOKをクリックして閉じてください。
続いてActionタブをクリックします。
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
以上で完成です。
更新したいSQLフォルダをダブルクリックすると、再生回数やレーティングが反映されます。
ちなみにUIのレーティングのTable format expressionは
Step by step guide to use ratings with foobar2000 0.9.5 - Hydrogenaudio Forums
のkanakさんの丸パクリです。設定は以下のとおりです。