フォーラム › TuneBrowser › 外部歌詞ファイル
-
投稿者投稿
-
2020-03-18 23:18 #8114Sakurasuruga参加者
いつもお世話になっております。
先行版の4.15.0にて
外部の歌詞ファイルの表示に対応しました. 新たに非同期クエリという機能を用意して実現しています.
と、(個人的に)待望の外部の歌詞ファイル表示機能が実装され、早速インストールしたのですが、お恥ずかしいことに、設定方法が分からず…笑
ヘルプを見ても分からなかったので、こちらで質問させてください。
試しに、設定の
表示の設定>ビューの設定>Lyrics Viewの設定>歌詞表示
ビューの書式設定>トラック行の下の書式>行>カラム>テキスト>クエリ文字列
を
$ANY(%UNSYNCEDLYRICS%,%LYRICS%,’A:\XXX\YYY\%artist%\%album%\%title%.txt’,No lyrics)
としたのですが、歌詞欄に’A:\XXX\YYY\%artist%\%album%\%title%.txt’のタグが置換されたものが表示されるだけです…。
この部分の書き方が分からないのですが、外部ファイル(txt)でパス指定(上記のようなタグによってフォルダが異なる)の場合はどのように書けばよいのでしょうか?
もし、個別具体の内容だと返信できないということでしたら、該当のヘルプや、検索ワードだけでも構いません。
よろしくお願い致します。
2020-03-18 23:20 #8115Sakurasuruga参加者タイトルを誤って途中で送信してしまいました。申し訳ありません。
「外部の歌詞ファイルの表示の設定方法について」などに書き換えた上で、本投稿を削除頂けると幸いです。
お手数おかけします。
2020-03-19 21:36 #8120Tikiキーマスターこんばんわ。
タイトルのほうは、このままでもいいような気がします。(^^;
それはそれとして、さっそくお試しいただいてありがとうございます。わたしのほうで使い方を明示していないので、わからないと言われるのもごもっとものことです。
先行版リリースとほぼ同時にNortonの「危険なWeb」事件が発覚して、私事の慌ただしさも重なって、ほとんど先行版の新機能のフォローができていません。
それで、すいませんが、土曜日あたりに改めて設定方法を書きたいと思います。いましばらくお待ちください。
よろしくお願いします。
2020-03-21 09:17 #8144Tikiキーマスターこんにちわ。
外部歌詞ファイルの表示用のクエリは、以下のように設定してください。
$ANY(%UNSYNCEDLYRICS%,%LYRICS%,$READLRCFILE(%_PATHBASE%.LRC),No Lyrics)
$READLRCFILE(Filename)が今回新設した、非同期読み込み用のクエリコマンドです。ほかに$READTEXTFILE(Filename)もあります。$READTEXTFILE()が基本的なテキストファイルの読み込みを行うのに対して、$READLRCFILE()は、LRCファイル固有の行冒頭の制御情報を読み飛ばします。
本当に適切なファイルを探しているのかどうか確認するために、$READTEXTFILE()/$READLRCFILE()にはオプションがあり、Filenameのあとに、カンマと”Debug”を指定することができます。以下のような感じです。
$ANY(%UNSYNCEDLYRICS%,%LYRICS%,$READLRCFILE(%_PATHBASE%.LRC,Debug),No Lyrics)
この場合、そのファイルが見つからないと、Viewの部分にエラーメッセージを表示します。
いちどお試しください。よろしくお願いします。
2020-03-21 13:03 #8149serenity参加者こんにちは。
早速外部歌詞ファイルを導入しました。
一つだけ疑問点があります。外部ファイルを修正、変更して、その結果をViewに反映させる方法がわからず、いろいろやってみて唯一できたのはTuneBrowserを一旦終了、再起動したときでした。「リフレッシュ」のような方法が見つかりません。
手の空いた時で結構ですので反映方法をご教授いただければありがたいです。
2020-03-21 15:41 #8168serenity参加者その後、少し状況の変化がありましたので報告いたします。
しばらく何もしないでおいてから外部歌詞ファイルテキストの末尾に追記したところ、別の曲に一旦切換えてから該当の曲を選択すると修正がすぐにViewに反映されました。しかしそのあとすぐに追記した箇所を削除して同じことをしてもやはり反応がありません。どうもしばらく時間を置くと修正が反映されるようです。
2020-03-21 16:53 #8169Tikiキーマスター非同期クエリは、時間のかかる処理なので非同期にしているわけで、表示の都度ファイルの内容を読みに行っているわけではありません。
現在は2段階のキャッシュで性能を維持しています。
- 表示するDirectWrite用の文字列 (楽曲ファイル本体が更新されると破棄されます)
- 非同期クエリ用のファイルキャッシュ (180秒間Viewからのアクセスがなければ破棄します)
そのため、書かれているような動作になります。
歌詞ファイルは静的な情報ですから、動的な変更は考慮していません。
2020-03-21 18:31 #8170serenity参加者Tikiさん、回答ありがとうございます。
180秒待てば読み直しがあると理解しました。
ありがとうございました。
2020-03-21 22:41 #8171Tikiキーマスターはい、現在の動作はそのご理解で合っています。
非同期読み込み対象ファイルの更新の動的な対応については、もうすこし検討しておきます。
2020-03-23 21:13 #8180Tikiキーマスターこの件は、以前こちらのトピックでご要望をいただいたものです。
念のためリンクしておきます。
2020-03-23 21:16 #8182Sakurasuruga参加者返信が遅れまして申し訳ありません。無事設定し、外部ファイルを表示することができました!
ありがとうございました!
(参考までに。このように設定しました。)
$ANY(%UNSYNCEDLYRICS%,%LYRICS%,$READLRCFILE(X:\AAA\BBB\%artist%\%album%\%title%.txt,Debug),No lyrics)
2020-03-23 21:23 #8185Tikiキーマスターこんばんわ。ご報告ありがとうございます。
なるほど、別フォルダにあるファイルを引っ張ってこられているのですね。そのようなケースでもうまく動作していることがわかり、助かります(^^)。
ありがとうございました。
2020-03-24 22:59 #8197serenity参加者こんばんは。
外部歌詞ファイルの表示で、予期しない状態が起きましたので報告します。
上の添付画像のように、「Processing query…」と表示され、そのままになります。
・この現象は毎回起きるのではなく、たまに起きるといった感じです。再生開始時に一回、再生終了時に一回起きました。
・一旦止めて再度再生を開始すると元の歌詞表示に戻ります。
・読み込むのはテキスト(.txt)でクエリは
$ANY(%UNSYNCEDLYRICS%,%LYRICS%,$READTEXTFILE(%_PATHBASE%.TXT))
です。
2020-03-25 21:30 #8202Tikiキーマスターこんばんわ。
ご報告ありがとうございます。ひょっとしたら、以前お話した180秒間のキャッシュの寿命が関係しているのかもしれません。そのファイルを使用中のキャッシュの再活性化の処理を見直してみます。
2020-03-30 07:32 #8245serenity参加者おはようございます。4.15.0.1524にて
非同期クエリで読み込むファイルの更新検知を行うようにしました.
この動を確認しました。ありがとうございました。
ただし、一点気になる動作がありましたので報告いたします。
クエリを$ANY(%UNSYNCEDLYRICS%,%LYRICS%,$READTEXTFILE(%_PATHBASE%.TXT))
としていましたが、更新検知が反応せず、試しに$ANY(%UNSYNCEDLYRICS%,%LYRICS%,$READTEXTFILE(N:\JRiver_Auth\美少女戦士セーラームーン\美少女戦士セーラームーン スーパー・ベスト\ムーンライト伝説.txt))
と、実パスにしたところ反応しました。そこでもしやと思い、
$ANY(%UNSYNCEDLYRICS%,%LYRICS%,$READTEXTFILE(%_PATHBASE%.txt))
と.TXTを.txtと実ファイル名(ムーンライト伝説.txt)に合わせたところ正常に反応しました。
問題は解決したのですが、気になりましたので報告いたします。
2020-03-30 09:08 #8246serenity参加者追記します。
~*.txt のファイルに対して ~,$READTEXTFILE(%_PATHBASE%.TXT))とした場合でも更新検知が効かなくなるだけで、最初の歌詞は正常に表示されます。
2020-03-30 20:19 #8247Tikiキーマスターこんばんわ。ご連絡ありがとうございます。
バス名の大文字小文字の処理は、脳裏で端折っていることを意識しつつもケースとしてそうありそうにもないなと思いながら、いまの処理でリリースしましたが、やっぱり端折ってはダメでしたね。
先行版のうちに、近日対処したいと思います。
2020-03-30 21:40 #8253serenity参加者Tikiさん、ありがとうございます。
よろしくお願いいたします。
2020-04-01 21:30 #8281Tikiキーマスターこんばんわ。
先ほど、この件に対応した先行版を更新しました。またご確認いただけると助かります。よろしくお願いします。
2020-04-01 21:43 #8282serenity参加者Tikiさん、ありがとうございます。確かにVersion 4.15.0.1525でパスの大文字、小文字の区別なく検知できることを対応しました。
ところが、クエリを
$ANY(%UNSYNCEDLYRICS%,%LYRICS%,$READLRCFILE(C:\Users\OWNER\OneDrive\ドキュメント\%TITLE%.TXT,Debug))
このようにすると更新検知が反応しません。
$ANY(%UNSYNCEDLYRICS%,%LYRICS%,$READTEXTFILE(%_PATHBASE%.TXT))
これだと更新検知が反応します。
%_PATHBASE%以外にした場合にうまく働いていないようです。
2020-04-01 22:00 #8286Tikiキーマスターあー、ファイル更新の自動検知は、管理フォルダでクローラーが監視しているフォルダにしか効きません (クローラーが検知した情報を利用して、キャッシュの制御を行っています)。
この点、ご確認いただけないでしょうか。
2020-04-01 22:09 #8287serenity参加者ファイル更新の自動検知は、管理フォルダでクローラーが監視しているフォルダにしか効きません
なるほど、そうだったのですね。監視を追加し、検知が有効であることを確認しました。
ありがとうございました。
2020-04-02 22:52 #8295Tikiキーマスターご確認ありがとうございました。
2020-04-02 23:22 #8296serenity参加者こんばんは。
実は外部歌詞ファイルの機能を最初に試した時から気になっていたのですが、読み込める文字コードがShirt-Jisのみのようですが、一方歌詞作成ソフト「Lyrics Master」やSONYのウォークマンの*.LRCファイルではUTF-8があるようです。
://www.sony.jp/support/walkman/tips/sync-lyrics/wm.html
検討していただけないでしょうか。
2020-04-02 23:34 #8297TikiキーマスターShift-JISのみということはありません。
ただUTF-8やUTF-16の場合、BOM付を前提としています。ご指摘のファイルのBOMはどのようになっているのでしょうか?
2020-04-03 06:09 #8299serenity参加者Tikiさん、ありがとうございます。
Lyrics Masterが生成するテキストファイルはBOM無しでした。この場合TuneBrowser上では文字化けしてしまいます。(添付ファイル「御案内_LyricsMaster.txt」)
SONYのサイトを元にメモ帳でファイルを作成しました。
Windows10(バージョン 1909 (OS ビルド 18363.753))上のメモ帳では、何も指定しないとUTF-8(BOM無し)になりました。(添付ファイル「OUTSIDE BEAUTY_メモ帳.lrc」)
なお、メモ帳では選択すればUTF-8 BOM付き)でも保存でき、この場合は文字化けせず正常にTuneBrowser上で表示出来ました。Attachments:
2020-04-03 21:20 #8311Tikiキーマスターこんばんわ。
ご説明した通りの動作になっているということですね。
この問題について改めて考えてみました。
Windows 10標準のNotepadもBOMなしUTF-8を標準にするなど趨勢も変化してきていますが、Shift-JISとBOMなしUTF-8の判別に絶対という方法がない状況は、当然ながら変わりません。TuneBrowserはテキストエディタではありませんので、自動判別して文字化けしたらエンコードの方法を指定しなおしてもらうとか、そういった操作をつける予定もありません。
そうすると、動作が明快で、良くも悪くも簡潔に説明できる方法に留めておくほうが、ユーザーの混乱も少ないだろうと思います。NotepadがBOMなしUTF-8を標準としたことで、OSが標準で判定方法を提供してくれたらよかったのですが、そういうこともなさそうです (それがあれば、誤判定があったときに、「Notepadが検出しているものと同じ文字コードで読み込んでいます」と説明ができるのですが…)。独自の方法で判別するようにしてしまうと、稀に誤判定が発生した場合に、当然ユーザーの方は混乱するでしょうし、わたしもそのファイルそのものを調査しないとなぜ誤判定に至ったのか確実な返答ができません。
そう考えると、現在のBOMつきUTF-8(16)に対応というのが、やはり現実的な動作だろうと思えました。ということで、現在の動作はこのままで行こうと思います。
将来、Shift-JISの歌詞/テキストがほぼなくなって、ほとんどがUTF-8という状況になればまた話は別ですが、現実には皆さん過去の資産を持たれているので、Shift-JIS優勢という状況がつづくのではないかと思います。
2020-04-03 21:57 #8314serenity参加者Tikiさん、詳しい説明ありがとうございます。
テキストエディターで歌詞を管理出来るようになっただけでも格段に便利です。私としては現在の仕様で問題ありません。音楽再生、管理ソフトの範疇として当然だと思います。
正式版で、ヘルプのどこかに文字コードの注意を書いていてもいいかもしれません。
ありがとうございました。
2020-05-30 21:56 #8629Tikiキーマスターこんにちわ。
すこしいまさらなのですが、その後UTF-8形式での読込み時のエラーチェックをある程度きちんと(万能ではありません)行う方法を知ったので、その処理を応用して自動判別っぽい処理を入れてみました。この機能は、現在先行版で公開している4.15.3から入っています。
動作としては、BOMなしテキストの場合、一度UTF-8で読み込んで、エラーがなければそのまま、エラーがあれば現在のロケール(Shift-JISなど)での読込みを行いようにしています。
特段にこの動作についてお試しいただくのは難しいかもしれませんが、お知らせしておきますので、もしなにかお気づきのことがあれば、ご連絡いただければと思います。
2020-05-31 09:08 #8631serenity参加者おはようございます。
Windows10のメモ帳で適当な文を作成し、そのまま普通に保存してみました。(UTF-8 BOM無しでした)
その結果、下のように文字化けしています。
作成したテキストを添付しました。
Attachments:
2020-05-31 16:32 #8635Tikiキーマスターお手数をおかけしました。m(__)m
詰めが甘かったです。先ほど、この問題を改善して先行版を更新しました。またお時間のあるときにでも見ていただけると助かります。
よろしくお願いします。
2020-05-31 18:41 #8639serenity参加者Version 4.15.3.1536を早速インストールしてみました。UTF-8 BOM無しテキストが正常に歌詞表示されることを確認しました。ありがとうございました。
2020-05-31 19:09 #8640Tikiキーマスターさっそくのご確認、ありがとうございました。お手数をおかけしました。
このトピックは閉じさせていただきますが、今後このあたりの動作でお気づきの点があれば、また新しいトピックを立てていただければと思います。よろしくお願いします。
-
投稿者投稿
- トピック「外部歌詞ファイル」には新しい返信をつけることはできません。