TuneBrowserのポータブル化

フォーラム TuneBrowser TuneBrowserのポータブル化

  • このトピックには4件の返信、2人の参加者があり、最後にaromatibusにより3週、 5日前に更新されました。
5件の投稿を表示中 - 1 - 5件目 (全5件中)
  • 投稿者
    投稿
  • #12168
    aromatibus
    参加者

    おせわになっております。
    TuneBrowserをUSBメモリに保存して持ち歩いたり、別の設定のTuneBrowserを使いまわしたりしたいと考えています。
    過去のトピック#2974「データベースプレイリスト」及び設定のバックアップ全般についてから設定データがAppDataに保存されていることがわかりましたので強引にやる方法はないわけではないですが、ひとつアプリケーションに必要なファイルは、できる限りひとつの場所で管理できると使い勝手が向上すると思っています。
    今後のバージョンを作成される祭でよいのでポータブル化できるような設計に変更できないでしょうか。
    できればインストーラーでインストール先フォルダを選んだ際に一括で設定されていると良いのですが、MicrosoftのVSCodeのようにZIPで配布してDATAフォルダを作ってみたいな方法でも良いと思います。
    ご検討よろしくお願いいたします。

    #12169
    Tiki
    キーマスター

    ご意見ありがとうございます。

    TuneBrowserは、伝統的なWindowsアプリケーションの作法に則って、移動プロファイルと固定プロファイル、ファイルとレジストリを注意深く使い分けるようにしています。しかしそうやって使い分けているメリットはどうなのか、というと、たしかに伝統的なWindowsアプリケーションの作法に則る意味というのは、もう形骸化しているのかもしれませんね。

    ディスクの容量はアプリケーションのインストールサイズが問題にならないほど大容量化して、ユーザーの数だけインストールしてしまえばいいのでしょうし、移動プロファイルの恩恵を受けて複数のPCでの動作を統一している人が実際にどれだけいるのかというと、ちょっと疑問ですね。

    ただどうにしても大変大きな前提ですし、UWP版の動作のことも考慮する必要もありますので、どうするかというのはちょっと時間をかけて考えてみようと思います。ご意見ありがとうございました。

    #12171
    aromatibus
    参加者

    さっそくご返答いただき感謝いたします。

    実は今回、ウォークマン用のSDカードの管理用に使いたいと考え投稿をいたしました。
    先に言うべきでした。申し訳ありません。

    Tikiさんの仰るとおりストレージの大容量化はアプリのサイズの問題を無くし、インターネットありきとなった現在、クラウド化が進み様々なデータ共有化が成されるようになりました。そしてストレージの大容量化、クラウド化は音楽データの管理にも大きな影響を及ぼしています。

    とは言え、Tikiさんが慎重であるおかげでTuneBrowserという素晴らしいソフトが生まれ維持され続けているのは揺るがない事実です。

    是非ともご一考をよろしくお願いいたします。

    ***************************************************************************************

    余談ですが環境別設定を作る方法は次のとおりです。
    一定の知識は必要ですし自己責任となりますが参考に記しておきます。

    1.仮想ディスクファイル(VHD)を必要な環境分用意する。
    2.マウントするときは同じドライブレターなるように設定しておく。
    ※一緒に管理したい外付けドライブやUSBメモリ、SDカードなども統一しておくのがポイント
    3.仮想ドライブにMusicなど好きな名前でフォルダを作成し楽曲データを保存する。
    4.仮想ドライブにSettingなど好きな名前でフォルダを作成し必要な設定ファイルをコピーする。
    ※この時のフォルダ名は統一しておく方が管理しやすくなります。
    5.%USERPROFILE%\AppDataへはMKLINKコマンドでシンボリックリンクを作成する。※この辺が自己責任
    ※設定ファイルについては#2976のコメントを参考にしてください。

    あくまで自己責任ですが、以上の段階を作成できる知識があれば難しくないと思います。
    参考になれば幸いです。

    #12173
    Tiki
    キーマスター

    こんばんは。

    「ウォークマン用のSDカードの管理用」とうかがって、「別データベース化」を行うと、もしかしたらご要望に添うのではないかと思いましたので、ご紹介します。じつはこの機能は公開していないのですが、aromatibusさんは高いPCスキルもお持ちとお見受けしましたので、もしよろしければ試験的な利用という形でお試しいただければと思います。

    「ドキュメント」などPCのディスク上のどこかに、中身が空 (サイズが0バイト) で拡張子が “tagdb” のファイルを作成します。ファイル名は何でも結構です。たとえば Walkman.tagdb という形です。

    ファイルを作成したら、そのファイルをエクスプローラーなどでダブルクリックすると、TuneBrowserが新規の状態で起動すると思います。新規インストールと同様に、管理フォルダなどを訊いてきますので、Walkmanでマウントしているフォルダなどを指定してください。

    以後は、通常通りTuneBrowserを起動すれば通常のデータベースと設定で、エクスプローラーからWalkman.tagdbをダブルクリックして起動すると、Walkman用のデータベースと設定で起動するようになります。

    まだ完全でない部分もあるかもしれませんが、よろしればお試しください。

    #12174
    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
    “””

5件の投稿を表示中 - 1 - 5件目 (全5件中)
  • このトピックに返信するにはログインが必要です。