ちょっと長いのを書くやつ

上京につきグラディウスを手放したものの、バイクから逃れられずTrident660を買いました。

rekordbox ver.5とiTunesと2つのストレージ

先日DDJ-400を購入しました。

100GBを超えるiTunesデータの入った外付けHDDをパソコンと一緒に持ち運んでプレイするのは万一のとき全ロストの憂き目に遭うので外付けSSDを新たに購入。

かといってiTunesデータを全てSSDで管理するのは怖い。気がついたら飛んでそうだ。

というわけでHDDを親機、SSDを子機というイメージで、HDDにあるiTunesライブラリに曲を追加するごとにHDDからSSDへとデータをコピーして運用することにした。

 

既存の環境と、何がしたいのか

既存の環境
何がしたいのか

 

大仰に書いているが要はHDDとSSDで同期を取ればいいのだ。

 

外付けHDDから外付けSSDiTunesディレクトリをコピー

毎回全部コピーするのは面倒くさすぎるうえ時間もかかるので、前回の同期から増えたり変更したりしたデータだけをコピーしたい。そこでrsyncコマンドの出番である。

rsyncコマンドとはなんぞや、というのは各自で調べてください。要は勝手に差分を見つけて同期してくれるコマンドです。

 

rsyncコマンドの使い方

qiita.com

qiita.com

このあたりのQiitaがわかりやすい(他力本願)

 

また、excludeの記法に関してはいろいろ情報がありますが、こちらのサイトがわかりやすい。

koseki.hatenablog.com

 

excludeパターンファイルの指定はフルパスを指定する。

ファイル名を

rsync_exclude

とした場合、

rsync -av --exclude-from=/etc/rsync_exclude / /Volumes/disk1

という具合。

(ちなみにファイルは拡張子なしだろうが .txt だろうがターミナルが読み込める限りは動くっぽい)

 

iTunesライブラリといらないもの

いろいろいじる前に、iTunesライブラリを統合しておこう。

散らかった音源をiTunesが勝手に整理してくれる。

それが終わったらライブラリを下見。

環境にもよると思うが、iTunes Mediaフォルダのディレクトリ構造はだいたいこんな感じ

HDD
└── iTunes ├── Album Artwork ├── iTunes Library Extras.itdb ├── iTunes Library Genius.itdb ├── iTunes Library.itl ├── iTunes Music │ ├── Automatically Add to iTunes.localized │ ├── Movies │ ├── Music │ └── Voice Memos ├── Mobile Applications └── Previous iTunes Libraries

このうち欲しいのは音楽の音源とアルバムのジャケット、そしてライブラリ情報。

よってそれ以外を除外するようにexcludeパターンファイルを作成しiTunesディレクトリ直下に配置。

GeniusとExtrasも不要な気もするが、なんとなく残しておくとして…

excludeの中身はこう

- /myrsync.command

- /exclude

- /Mobile Applications/

- /Previous iTunes Libraries/

- /iTunes Music/Movies/

- /iTunes Music/Voice Memos/

myrsync.commandについては後述。

これで欲しいものだけSSDにコピーできる。(この程度であれば--include-fromを使った方が簡単ですね)

 

コマンド

外付けHDD内のiTunesフォルダから、外付けSSD内のiTunesフォルダへとrsyncしたいので、コマンドは

rsync -av --exclude-from=/Volumes/HDD/iTunes/exclude /Volumes/HDD/iTunes/ /Volumes/SSD/iTunes/

オプションは前述のQiitaおよびmanページを参照して適宜選んでください。

 

これで無事同期が取れたはず。

 

バッチファイル化

myrsync.commandはこいつ。

いちいちコマンドを打ち込むのは面倒なので、ダブルクリックで起動できるようにしちゃおう。

qiita.com

超簡単。これで気軽に同期が取れる。

 

 

rekordboxからiTunesのプレイリストを参照する

iTunesを起動したら[編集]→[設定]→[詳細]から"iTunesライブラリXMLをほかのアプリケーションと共有"にチェックが入っているかどうか確認。

チェックが入っていなかった場合rekordboxからは読み込めないので、チェックを入れる。

続いて、""iTunes Media"フォルダの場所"を確認。

外付けSSD内に移した方のiTunesフォルダ、すなわち今回では

/Volumes/SSD/iTunes/

でなかった場合、これに変更しておく。変更したらiTunesを再起動。

もし他の場所だった場合、iTunesライブラリが参照している音源のパスは外付けSSD以外(ぼくの環境であれば外付けHDD)の場所になっている。

このままrekordboxからiTunesライブラリを読み込むと、iTunesライブラリの参照しているパスに従い外付けHDDから読み込んだ音源で解析なりなんなりをすることになるので当然コレクションにも外付けHDDへのパスが残ることになり、いざ家の外でプレイをする際に外付けHDDへのパスを参照している音源は読み込むことが出来ず、下準備は全てパァになる。

 

iTunesフォルダの場所をいちいち確認するのは面倒なので、rsyncが終わったら外付けHDDを取り外してしまうのが一番確実。

取り外してからiTunesを起動すると、"iTunes Media"フォルダの場所が外付けSSD以外の場所を参照していた場合は「iTunesライブラリを選択」というダイアログが出てくる。そこで外付けSSDiTunesフォルダを選択すれば、iTunesライブラリが参照している音源のパスも自動的に外付けSSDのものに書き換わる。

 

(要はこの作業、/iTunes/iTunes Library.itlに書き込まれた音源データのうち、パスの部分を/Volumes/HDD/iTunes/....から/Volumes/SSD/iTunes/...に書き換えたいだけなので、シェルスクリプトrsyncのあとに置換するようにすればいいだけな気もしますが試していません。)

 

そんでrekordboxからSSDのライブラリを指定すれば無事起動できるはず。

 

まとめ

いかがでしたか?

 

↑この一文が書きたかっただけです。

rekordboxの音源解析データの保存先を変更する方法については、公式に載っていますのでそれを参照してください。具体的には これのP202に載っています。