フォーラムへの返信
-
投稿者投稿
-
aromatibus参加者
ご返信ありがとうございます。
単なる思いつきと実装では大きな違いがあることは理解しています。
丁寧なご対応をいただき、ありがとうございました。aromatibus参加者Tikiさん、Kumagaiさん
※本返信は読み返して思いついたことを返信しています。
無理を通したいわけではないことをご理解ください。以下、主文から抜粋しています。
Tikiさん #16242
>GUIでの複数ソート条件の指定などを行えるようにする予定はありません。Kumagaiさん #16241
>この機能を多重に行ってプレイリストの並び替え以上を踏まえると「↑↓」ボタンを多重化すればGUIの必要はありません。
ツリーメニューでも可能です。「↑↓」ボタン
|-最優先するキー
| |-ジャンル
| |-アーティスト
| |-アルバムアーティスト
| |-アルバム
| |-作曲者
| |-演奏者
| |-リリース年
| |-最終再生日
| |-再生回数
| |-評価
|-次に優先するキー
|-次に優先するキー以上、思いつきではありますがご一読頂ければ幸いです。
aromatibus参加者Tikiさん
ご返信ありがとうございます。
クエリの書式についてはわからないことが多いのですが、ひとまず以下のクエリを新規に追加して使ってみます。
%GENRE%+[%@_GRPARTIST%]+%_RECORDINGDATE,4%+%ALBUM%
aromatibus参加者Tikiさん、ありがとうございます。
追加定義を試してみたいと思います。
「楽曲の並び順(ソート)を2段階以上に指定」機能の追加についても
ご検討いただけると楽しみが広がります。
Tikiさん、Kellyさん、Kumagaiさん
お忙しいなかにありがとうございました。
aromatibus参加者こんばんは、Kellyさん
ご返信ありがとうございます。
翻訳が遅くなり、返信も遅れました。Kellyさんの「重要なのは、SORT-ORDERの選択パラメータを複数/連鎖させることができれば、いろいろな面白い可能性や好みが出てくるということです。」が私も理想としているところです。
ご意見いただき、ありがとうございした。
Hi, Kelly
Thank you for your reply.
Sorry for the delay in translation and reply.Kelly’s “The point is, if we get a chance to have multiple/cascading SORT-ORDER selection parameters it gives all sorts of interesting possibilities/preferences.” is my ideal as well.
Thank you for your input.
aromatibus参加者Kumagaiさま
ご返信ありがとうございます。
参考にさせていただきます。
今回の質問および要望はTreeViewだけではなくビュー全体に対してできる限り自由なソートができることが理想です。
なにか情報をお持ちでしたら引き続きよろしくお願い致します。
aromatibus参加者これは今回のテスト用に作成したプレイリストになります。
ビューのタブが少々わかりづらくて申し訳ありませんが一番右のタブが選ばれています。
「↑↓」のソートボタンでアルバムアーティストを選んだ状態です。
実装に関してはたとえばエクセルだと以下のような形が理想になります。
※お気に入りだけを集めたプレイリストの場合、ジャンルもほしいため
以下ではジャンルも追加しています。
aromatibus参加者aromatibus参加者お世話になります。
ご返答が遅れて申し訳ありません。改めて整理すると要望は大きく2つに分けられます。
添付画像ビューはアルバムアーティストで並び替えた画面です。
添付画像プロパティーはプレイリストに登録されている曲のプロパティー画面です。私はコンピレーション以外はすべてアルバムアーティスト=アーティストになって
いるため以降、アーティストとして説明します。①ビュー画面での並び順について
ビュー画面を見るとアーティスト名は(The)を除き”B”→”M”の順です。
まず、Beatlesですが次の優先順位はアルバム名ではなく”P”が先にきています。
ではリリース年かと思うと1967年のあとに1965年があります。MihcaelJacksonも似たような状況にあることがわかります。
②ソートキーについて
私の場合、最終的に次の順に並んでほしいのです。
アルバムアーティスト名
→ リリース年月日
→ アルバム名
→ ディスク番号
→ トラック番号指定できるソートキーの数については技術的なこともありますが
上記を踏まえると3~5個指定できることが望ましいです。アルバム名 → ディスク番号 → トラック番号
は固定だとすれば2つ指定できれば可能です。
以上の説明でおわかりいただけるでしょうか。
ご確認よろしくお願いいたします。aromatibus参加者ご返答ありがとうございます。
目的は明確になっておらず申し訳ありません。
最終的な目的はプレイリストをソートするとき、アルバムアーティストを指定すると
アルバムアーティスト名→アルバム名→ディスク番号→トラック番号
の順で並び替えされているように見えますが、
この場合、リリース順はバラバラにアルバム名でソートされます。
これを
アルバムアーティスト名→リリース年月日→アルバム名→ディスク番号→トラック番号
にしたいのです。
このとき、ソートキーをひとつではなく2つ以上指定できるようにしていただけないか
ということでした。
わかりづらく申し訳ありません。
ご確認よろしくお願い致します。
aromatibus参加者少し補足します。
私は通常、アルバムアーティスト名にアーティスト名を登録、コンピレーションの場合はアルバム名を登録しています。
したがって理想としてはアルバムアーティスト名→リリース年月日→アルバム名→ディスク番号→トラック番号
となります。
このあたりは人それぞれですが、最低でも2段階目まで指定できれば今のままではないかと愚考いたします。
ご確認よろしくお願い致します。aromatibus参加者こんばんは
まさかこんな素晴らしい機能があるとは思いませんでした!!!
これは是非、活用させていただきます。
すばらしいです。ありがとうございます。実は以下のようなパッチファイルを作成して運用してました(笑)
TuneBrowserの実行ファイルすべてとAppDataの必要ファイルをまるごとSDカードにコピーして使用できるので
これはこれでメリットありますが、”tagdb”による運用の方が必要なファイルがひとつで管理の手間は少なく
デメリットがないので楽に運用できそうですね。これで運用して何か気づいたら報告させていただきたいと思います。
——-
※バッチを使われる方がいる場合は自己責任でお願いします。
やっている事は
1.AppDataの元フォルダをリネームしてバックアップ、ポータブル環境のジャンクションを作成。
ジャンクションを利用しているのは管理者権限が必要ないためです。
2.リンクを削除してバックアップファルダを元の名前にリネームする。
を交互にやっているだけです。運用は上のコメントを見てください。
本機能に関係ない小技を使ってますが、メンテナンス性を考え冗長に書いているので上から読んでいけばやってる事は簡単です。“””
@echo off:: UTF-8などで保存されたバッチファイルのShiftJis対策;
chcp 65001 > nul:: 遅延展開 バグの原因になる場合があるので注意;
setlocal enabledelayedexpansion:: エスケープシーケンスを利用;
for /f “tokens=1,2 delims=#” %%a in (‘”prompt #$H#$E# & echo on & for %%b in (1) do rem”‘) do (set ESC=%%b)set ID_TUNEBROWSER=Tiki
set ID_TUNEBROWSER_BACKUP=Tiki.org
set FOLDER_LOCAL=AppData\Local\
set FOLDER_ROAMING=AppData\Roaming\
set ID_JUNCTION=^<JUNCTION^> %ID_TUNEBROWSER%set USER_LOCAL_TIKI=%USERPROFILE%\%FOLDER_LOCAL%%ID_TUNEBROWSER%
set USER_LOCAL_BACKUP=%USERPROFILE%\%FOLDER_LOCAL%%ID_TUNEBROWSER_BACKUP%set USER_ROAMING_TIKI=%USERPROFILE%\%FOLDER_ROAMING%%ID_TUNEBROWSER%
set USER_ROAMING_BACKUP=%USERPROFILE%\%FOLDER_ROAMING%%ID_TUNEBROWSER_BACKUP%set PORTABLE_LOCAL_TIKI=%~dp0%FOLDER_LOCAL%%ID_TUNEBROWSER%
set PORTABLE_ROAMING_TIKI=%~dp0%FOLDER_ROAMING%%ID_TUNEBROWSER%echo.
echo %ESC%[44mTuneBrowserの環境設定をローカル⇔ポータブルに相互チェンジします%ESC%[0m
echo.
echo.:: 同じフォルダにポータブル環境用のAppDataフォルダがあるかチェック;
if not exist “%PORTABLE_LOCAL_TIKI%” (
echo %ESC%[41;97m 同じフォルダ内にポータブル用の%PORTABLE_LOCAL_TIKI%フォルダが見つかりません。%ESC%[0m
echo.
goto :EndProcess
)
if not exist “%PORTABLE_ROAMING_TIKI%” (
echo %ESC%[41;97m 同じフォルダ内にポータブル用の%PORTABLE_ROAMING_TIKI%フォルダが見つかりません。%ESC%[0m
echo.
goto :EndProcess
):: ローカルにJunctionのフォルダがあったら削除;
dir “%USERPROFILE%\%FOLDER_LOCAL%”|find “%ID_JUNCTION%”>NUL
if %ERRORLEVEL%==0 (rmdir %USER_LOCAL_TIKI%)
:: ローカルにバックアップがあれば元に戻し、なげばリンクを作成;
if exist “%USER_LOCAL_BACKUP%” (
echo ***************************************************************
echo *%ESC%[92m AppData\Local環境をポータブルからローカルにチェンジします %ESC%[0m *
echo ***************************************************************
echo ren “%USER_LOCAL_BACKUP%” “%ID_TUNEBROWSER%”
ren “%USER_LOCAL_BACKUP%” “%ID_TUNEBROWSER%”
) else (
echo ***************************************************************
echo *%ESC%[92m AppData\Local環境をローカルからポータブルにチェンジします %ESC%[0m *
echo ***************************************************************
echo ren “%USER_LOCAL_TIKI%” “%ID_TUNEBROWSER_BACKUP%”
ren “%USER_LOCAL_TIKI%” “%ID_TUNEBROWSER_BACKUP%”
echo.
echo mklink /j “%USER_LOCAL_TIKI%”
echo “%PORTABLE_LOCAL_TIKI%”
echo.
mklink /j “%USER_LOCAL_TIKI%” “%PORTABLE_LOCAL_TIKI%”
echo.
)
echo.
echo.:: ローミングにJunctionのフォルダがあったら削除;
dir “%USERPROFILE%\%FOLDER_ROAMING%”|find “%ID_JUNCTION%”>NUL
if %ERRORLEVEL%==0 (rmdir %USER_ROAMING_TIKI%)
:: ローミングにバックアップがあれば元に戻し、なげばリンクを作成;
if exist “%USER_ROAMING_BACKUP%” (
echo ***************************************************************
echo *%ESC%[92m AppData\Roaming環境をポータブルからローカルにチェンジします %ESC%[0m*
echo ***************************************************************
echo ren “%USER_ROAMING_BACKUP%” “%ID_TUNEBROWSER%”
ren “%USER_ROAMING_BACKUP%” “%ID_TUNEBROWSER%”
) else (
echo ***************************************************************
echo *%ESC%[92m AppData\Roaming環境をローカルからポータブルにチェンジします %ESC%[0m*
echo ***************************************************************
echo ren “%USER_ROAMING_TIKI%” “%ID_TUNEBROWSER_BACKUP%”
ren “%USER_ROAMING_TIKI%” “%ID_TUNEBROWSER_BACKUP%”
echo.
echo mklink /j “%USER_ROAMING_TIKI%”
echo “%PORTABLE_ROAMING_TIKI%”
echo.
mklink /j “%USER_ROAMING_TIKI%” “%PORTABLE_ROAMING_TIKI%”
echo.
)
echo.:: 終了処理(エクスプローラーから起動されていた場合はPauseする);
:EndProcess
echo %cmdcmdline% | find /i “%~f0”>NUL
if %errorlevel% equ 0 Pause
goto :eof
“””aromatibus参加者さっそくご返答いただき感謝いたします。
実は今回、ウォークマン用のSDカードの管理用に使いたいと考え投稿をいたしました。
先に言うべきでした。申し訳ありません。Tikiさんの仰るとおりストレージの大容量化はアプリのサイズの問題を無くし、インターネットありきとなった現在、クラウド化が進み様々なデータ共有化が成されるようになりました。そしてストレージの大容量化、クラウド化は音楽データの管理にも大きな影響を及ぼしています。
とは言え、Tikiさんが慎重であるおかげでTuneBrowserという素晴らしいソフトが生まれ維持され続けているのは揺るがない事実です。
是非ともご一考をよろしくお願いいたします。
***************************************************************************************
余談ですが環境別設定を作る方法は次のとおりです。
一定の知識は必要ですし自己責任となりますが参考に記しておきます。1.仮想ディスクファイル(VHD)を必要な環境分用意する。
2.マウントするときは同じドライブレターなるように設定しておく。
※一緒に管理したい外付けドライブやUSBメモリ、SDカードなども統一しておくのがポイント
3.仮想ドライブにMusicなど好きな名前でフォルダを作成し楽曲データを保存する。
4.仮想ドライブにSettingなど好きな名前でフォルダを作成し必要な設定ファイルをコピーする。
※この時のフォルダ名は統一しておく方が管理しやすくなります。
5.%USERPROFILE%\AppDataへはMKLINKコマンドでシンボリックリンクを作成する。※この辺が自己責任
※設定ファイルについては#2976のコメントを参考にしてください。あくまで自己責任ですが、以上の段階を作成できる知識があれば難しくないと思います。
参考になれば幸いです。aromatibus参加者こんにちは
仰る通りでした。ありがとうございました。
aromatibus参加者ご返答ありがとうございます。
説明が下手で申し訳ありません。
>作曲家単位でランダムの場合、ベートーヴェンの次にニール・ヤングが再生されて、その次にジョン・アダムスが再生される、という具合に、ばらばらの作曲家順で再生されることをご所望なのでしょうか?
まさにコレです。
この時、ベートーベンの中ではアルバム順、トラック番号順に再生されるようにしていただきたいのです。
よろしくお願いいたします。
aromatibus参加者ご返答ありがとうございます。
早速、操作してみたのですが並べ替えられた順の思った通りの再生にはなりませんでした。
そもそも操作方法に至らぬ点があるかもしれませんが、私の説明不足が大きいと思います。
お時間取らせて申し訳ありません。具体的な例をあげて説明をいたします。
自分が気に入ったアルバムや曲を集めたプレイレストがあります。
この時、クラシックを集めたプレイリストはアルバム単位、またはアルバムアーティスト(作曲者)単位で
そのほかのプレイリストはアーティスト単位でランダムに再生してほしいのです。
つまり上の例ではクラシックならアルバム単位でない場合、組曲であってもバラバラになってしまいますし
ほかの場合、アーティスト単位になっていないと雰囲気やノリがコロコロ変わるようになってしまいます。
もちろんアーティストやアルバムに関係なくトラック(曲)単位でランダム再生された方が良い時もあります。
上記のように再生方法がすでにある場合、もう少しくわしく教えていただけると助かります。
よろしくお願いいたします。
aromatibus参加者ありがとうございます。
仰る通りでした。
クエリの設定を含めて、少し勉強してみたいと思います。
今後ともよろしくお願いいたします。
aromatibus参加者aromatibus参加者 -
投稿者投稿