NNDDのデータベースファイルを動画の保存場所に置かない方法

NNDDでは、動画に関する情報や、マイリストタブに表示するマイリストなどを、動画の保存先で指定したディレクトリ下の、「system」ディレクトリに保存するようになっています。

具体的には、以下のような構造です。

<NNDDのLibraryディレクトリ>
    +system
        -llibrary.db (ライブラリデータベース)
        -○○.xml (マイリストなどの一覧情報ファイル)
        -nndd.log (NNDDのログ)
        +channel (チャンネルのRSS)
        +myList (マイリストのRSS)
        +user (ユーザ投稿動画のRSS)
        +playList (ローカルのプレイリスト)
        +temp (一時的な動画保存先)

動画を新しくダウンロードしたり、動画の再生回数が増えたり、マイリストの視聴済みチェックを更新したりすると、systemディレクトリ下の対応するファイルに対してアクセスが行われ、ファイルが更新されます。

このとき、動画の保存先ディレクトリが別なマシンの共有フォルダにある場合、これらのファイルへの書き込みに時間がかかることがあり、結果としてGUIの応答が悪化することがあります。このGUI応答を改善する方法として、systemディレクトリ下の各種設定ファイルをローカルのディスクに置くことができます。(ただし、この方法を使うと複数のマシンから動画保存先を見ている際に再生回数やプレイリストを共有できなくなります。)

当エントリでは、その手順について説明します。なお、この機能はv2.1.3以降のNNDDでのみ使用可能です。

1. 設定ファイル保存先を開く

まず、NNDDを起動します。「設定」>「全般」>「アプリケーションの設定情報フォルダ」のリンクをクリックし、NNDDのアプリケーション設定情報フォルダを開きます。

2. NNDDを終了します。

この後不要な設定の変更が行われないよう、NNDDを終了します。

3. systemディレクトリ下をローカルにコピー

の下の「system」フォルダをコピーして、1. で開いた保存先にペーストします。コピー後、以下のような構造になるはずです。

<OSによって異なる>/org.mineap.nddd/Local Store
    +#ApplicationUpdater
    -config.xml
    +system
        -library.db
        ....

4. config.xmlを修正する

次に、config.xmlを修正し、NNDDがローカルのsystemディレクトリを見に行くようにします。

具体的には、config.xmlに、useAppDirSystemFile要素を追加します。(すでにuseAppDirSystemFile要素が存在する場合は、これを「true」に変更します。)

<config>
    ....
    <useAppDirSystemFile>true</useAppDirSystemFile>
</config>

5. NNDDを起動する

NNDDを起動して、ライブラリタブを表示します。このとき、ライブラリに何も表示されなくなることがありますが、ライブラリを更新すると再度表示されるようになります。(このとき再生回数などは過去のデータが引き継がれます。)

「設定」>「ログ」で、「データベースとのコネクションを確立()」というログの、の部分が、3. でコピーしたlibrary.dbであることを確認します。

これで、ライブラリを他のマシンの共有フォルダにしている場合の動作がいくらか改善されるのではないかと思います。