フォーラム › TuneBrowser › Library Viewerの表示カスタマイズ方法について
-
投稿者投稿
-
2022-11-23 20:24 #12822Yuzuki2216参加者
VSTプラグインに対応していてカスタマイズできる要素が多いところが気に入って購入させていただきました。
素敵なソフトを開発してくださりありがとうございます。さて、表題の件についてご相談させてください。
【やりたいこと】
- TreeView上ではアルバムアーティスト(orコンピレーション)->アルバムの順で表示
- TreeViewでアーティストを選択すると、Library Viewer上で%_RECORDINGDATE%, %ALBUM%順でソート
- アルバム数が10枚以上で%_RECORDINGDATE,4%のインデックスカード挿入とスクロールバーで年を選択してジャンプ可能
【現在の設定】
- ツリークエリ: %@_CALBMARTIST%\%ALBUM%
※ _CALBMARTISTは結合タグで_COMPILATION; _ALBUMARTISTと定義。 - グループクエリ:%ALBUM%
- グループソートクエリ:%_RECORDINGDATE%
- トラックソートクエリ:空欄
【実現できていないこと】
- %_RECORDINGDATE%でソートできているが、同年リリースのアルバムが%ALBUM%順でソートされない
(ランダムではないが何順なのか不明) - 240枚、49枚のアーティストではインデックスカード表示あり、27枚、30枚のアーティストではインデックスカード、スクロールバーの年が表示されない
※4アーティストとも%_RECORDINGDATE%は最低でも年まで入力済み
【試したこと】
- 設定->表示の設定->ビューの設定->Album Viewの表示形式の自動切り替え設定のLevelの閾値を変えてみたが効果なし。
- 複合タグで_AAA (_RECORDINGDATE; ALBUM)を定義し、グループソートクエリに%_AAA%を設定するとソート順は想定通りになるが、240枚、49枚のアーティストでも%_RECORDINGDATE%のインデックスカードが表示されなくなる。
お手数をおかけしますがご確認のほどよろしくお願いいたします。
2022-11-24 21:01 #12825Tikiキーマスターこんばんは。
ちょっとすべてにお応えできるほど復習ができていないのですが、まずアルバムのソートはグループソートクエリを「%_RECORDINGDATE% %ALBUM%」などとすれば、日付+アルバム名でソートされるのではないかと思います (されていなかったら言ってください)。
ただその場合、ソートに使用したキーが結局全アルバム分できてしまうことになり、インデックスカードやスクロールバーの見出しは多すぎて表示されなくなります。
ではどうするか、というのは正直なところ簡単ではありません..。%_RECORDINGDATE%でソートした場合に、日付が同じものの並び順は、現在の処理だとたしかに性能優先の結果まちまちになります。このあたりの処理を見直すとなにかできるかもしれませんが..。
まとまった内容でなくすみませんが、いまはこのくらいです。
2022-11-24 23:58 #12826Yuzuki2216参加者ご回答ありがとうございます。
現状は【実現できていないこと】1番と2番を両立する解決方法はないということで理解いたしました。>グループソートクエリを「%_RECORDINGDATE% %ALBUM%」などとすれば、
はい、ソート順は想定通りとなります。
ご回答を拝読していて感じたのですが、グループソートクエリに複数のタグを入力した場合、上記例を引用すると
ORDER BY %_RECORDINGDATE% ASC, %ALBUM% ASC
ではなく、
ORDER BY "%_RECORDINGDATE% %ALBUM%の各タグを実体に変換した一連の文字列" ASC
のような処理になっているのでしょうか。複合タグと同じフォーマット(セミコロン区切り)を採用してソートキーを区別できるようにすれば、ソートは入力された一連のキーすべてで、インデックス作成は第一キーのみでという使い分けができそうに思いましたのでご提案として書いてみます。
残件として、【実現できていないこと】2番「インデックスカード、スクロールバーの見出しを表示する閾値の変更方法」についてですが、こちらは別件として新たにトピックを立てるべきなのでしょうか。
現状はアルバム数240枚、49枚のアーティスト……表示あり、同27枚、30枚……表示なしです。以上よろしくお願いいたします。
2022-11-26 10:45 #12831Tikiキーマスターこんにちは。ご確認ありがとうございます。
まずソートの件ですが、ORDER BYについて書かれている例だと、ご想像のとおり後者のほうになります。
ソートキーになる情報が重複した場合に、そのなかでのソート順がランダムに見えてしまう事象について、その後あれこれ考えて、ちょうどこちらでランダムに見える (仔細は確認できませんでしたが) とのご指摘をいただいたこともあり、改善するようにしました。
先ほど、この改善版を1656として先行版にアップしましたので、もしよろしければお試しください。%_RECORDINGDATE%の指定だけで、ご期待の動作にできる可能性があります。
このリリースでは、スクロールバーやインディックスカードの表示の改善も行っていますが、この改善はYuzuki2216さんのケースにはあまり影響がないかもしれません。
残件として挙げられている件は、いまはソートキーの取り扱いでいっぱいで、すみませんがまだ思考や調査がそこまで追いついていません。まずは、今回の先行版での動作を一度見ていただけないでしょうか。その動作を見たうえで、スクロールバーやインディックスカードの動作を検討したいと思います。
よろしくお願いします。
2022-11-26 13:40 #12832Yuzuki2216参加者先行版ありがとうございます。AVX2 ver5.2.0.1656で確認いたしました。
【ソート順の確認結果】
一部気になる点を除いて問題なし。【確認手順】
A … グループソートクエリ:%_RECORDINGDATE%
B … グループソートクエリ:%_RECORDINGDATE% %ALBUM%
TreeViewでA,B両者を選択した際のLibrary Viewerの内容をプレイリストファイルとして名前を付けて保存。
保存したA.m3u8とB.m3u8の2ファイルをDiff比較して同一であることを確認。【気になる点】
1.%ALBUMARTIST%が利用できない
%ALBUMARTIST%およびそれを利用している各種動的タグが機能しなくなっていました。【その他】
余談ですがプレイリストファイル出力にバグ(というか仕様違い?)を見つけました。
RFC8216の[4.1.Definition of a Playlist]によるとm3u8ファイルにBOMを含んではならないことが記載されていますが、TuneBrowserで出力したm3u8にはBOMが含まれています。スクロールバーとインデックスカードの表示条件については急いでおりませんので、優先順位を下げていただいても大丈夫です。
スピード感のある改修ありがとうございます。2022-11-26 14:12 #12833Tikiキーマスターご確認ありがとうございます。
ちなみに、ですが、スクロールバーやインディックスカードについて、(良くも悪くも) 変化はありませんでしたでしょうか?
%ALBUMARTIST%使用できない件、ご不便をおかけします。思い当たる節がありますので、早々に再リリースしようと思います。
BOMの件は、RFCにそのような規定があるのですね。恥ずかしながら知りませんでした。ありがとうございます。ファイル出力時の初期処理はWindows SDKに任せていて、そこでの標準の処理で出力されてしまうようです。ここは、ちょっとどうするか考えます (どうもしないかもしれません)。
お時間のあるときに、スクロールバーやインディックスカードの状態についてご確認いだたけると助かります。
よろしくお願いします。
2022-11-26 14:41 #12834Yuzuki2216参加者失礼しました。そちらのご報告が漏れておりました。
はい。特に変化はありません。
表示されるものとされないものの区分が不明なままです。
グループソートクエリで指定したグループの総数、または各グループに含まれるアルバムの枚数が一定を超えないとダメなのかとも思いましたが……2022-11-26 15:56 #12838Tikiキーマスターご確認ありがとうございました。
先ほど、スペースを含むタグを正しく扱えるようにした先行版1658をアップしました。
お時間のあるときにお試しいただけると助かります。よろしくお願いします。
2022-11-26 16:19 #12840Yuzuki2216参加者お早いご対応ありがとうございます。AVX2 ver5.2.0.1658で確認いたしました。
%ALBUMARTIST%周りも処理可能になっておりました。>BOMの件
.NET Frameworkを使っていらっしゃるのであれば、ファイル作成の際にSystem.Text.Encoding.UTF8
などと明示的に指定せずに使えばBOM無しになるかと思います。
明示したいならnew System.Text.UTF8Encoding(false, false)
で。繰り返しとなりますが、スクロールバーとインデックスカードの表示条件については急いでおりませんので、優先順位を下げていただいても大丈夫です。
このたびはご対応いただきありがとうございました。
いったん解決としてください。2022-11-26 17:03 #12841Tikiキーマスターご確認ありがとうございました。ちょっとホッとしました。
開発はC++でやっていますので、いわゆるWindows SDKのほうです。
スクロールバーにしても、インデックスカードにしても、あまり大量に出るとうるさいので、表示する項目の量に応じて動的に変化するようにしています。もしかしたら、その事象かもしれません。
ちょっと古い情報ですが、以下のトピックなども参考にしてみてください。
2022-11-27 00:09 #12842Yuzuki2216参加者情報ありがとうございます。
なるほど、このような条件になっているのですね。
これは気がつけない……このたびはご対応いただきありがとうございました。
これからもありがたく使用させていただきます。2022-11-27 21:51 #12846Tikiキーマスターややこしかったですね..。
いったん、このトピックはクローズとさせていただきます。
-
投稿者投稿
- トピック「Library Viewerの表示カスタマイズ方法について」には新しい返信をつけることはできません。