山田祥平のRe:config.sys

GUIの助っ人




 iTunesのようなユーティリティは、メディアプレーヤーであると同時に、自分が所有しているコンテンツのデータベースでもある。それを、いつでもどこでも参照できるようにしておけば、いろいろな場面で重宝する。本当ならiPodにその役割を果たしてほしいのだが、容量等の点で、それが難しいこともあるし、何よりも検索が苦手だ。そこで、今回は、音楽ライブラリを持ち歩くための方法について考えてみた。

●同期しておけばバックアップになる

 iPodを使い始めたとき、エンコードのビットレートは96Kbpsにしていた。そうしなければ、最初に買ったHDD容量60GBのiPod Photoには、手持ちのCDをすべて収めることができなかったからだ。その後、毎年、新しいiPodを購入しているが、容量増に伴い、エンコード時のビットレートも、128Kbpsを経て、今は、256Kbpsまであげた。以前のものは再エンコードする気になれないが、まあ、新たに入手したものについては、よりよい音でというわけだ。

 その一方で、容量の大きなHDD iPodはClassicだけとなってしまい、普段使いのiPod touchやnanoには、すべての手持ちコンテンツを入れることができなくなってしまっている。Classicは、普段持ち歩くにはやはり大きすぎるし嵩張る。だから、全部のコンテンツを入れておくのは、大容量のHDDを内蔵したLet's note R7だけとなっている。もちろん、CDをリッピングする母艦のライブラリフォルダをコピーしたものだ。

 CDを購入してきたその日に、次々にパッケージの封を切り、順に母艦PCでリッピングしていく。リッピングが終わったら、そのCDはとりあえず、棚に並べておくが、ここ数年はその後、棚から取り出されることはない。

 iTunesのライブラリは、ミュージックフォルダのiTunesというフォルダ下に、アートワークデータなどといっしょに格納されている。このフォルダを丸ごとコピーすれば、ノートPC上のライブラリも最新のものになる。
 ノートPC側のライブラリを最新のものにするために、毎回、丸ごとコピーをするのは無駄なので、簡単なバッチファイルを書いた。

robocopy \\BOKAN\itunes \\NOTE\itunes /mir

 この1行だけのバッチファイルをノートPC側で実行する。robocopyは、Vista以降で標準になったWindowsのコマンドで、このコマンドラインは、BOKANというPC上のitunesという共有フォルダと、ノートのitunesという共有フォルダをミラーリングしろという意味だ。これによって、既存のファイルはそのままで、新たに追加されたファイルだけがコピーされる。また、ミラーリングなので、BOKANで削除されたファイルはノートPC側でも削除される。

 これで、母艦とノートPCのライブラリは、いつも同一に保たれるようになる。つまり、どちらかに何らかの障害が発生したときのバックアップにもなる。

●「なんちゃって全部入りライブラリ」を作る

 ぼくのiTunesライブラリは、基本的に音楽だけなので、それほどの容量にはならないのだが、それでもそろそろ100GBになろうとしている。だが、普段、持ち歩いているノートPCのうち、200GBを超えるような大容量のHDDを内蔵しているのはLet's noteだけだ。たとえば、VAIO type PはSSDで128GBしか容量がない。ここに100GB近い音楽ライブラリをすべて収録するのは無理だ。

 そこで、HDD容量に余裕のないノートPCでは、直近の1年間分のコンテンツデータだけを入れることにした。ただ、データベースとしてのコンテンツ情報は持ち歩いていたい。というのも、CDショップで新譜を物色しているときに、アーティストの名前を見ただけでは前のアルバムを思い出せず、確認したいときに不便だからだ。それに、すでに購入済みのCDをもう1枚買ってしまうというポカミスも防げる。店頭の棚の前でPCを広げるのはどうかという意見もあると思うが、VAIO type Pくらいなら、あまり人に変には思われないはずと思うことにしている。

 楽曲データは1年分、コンテンツ情報は全部というライブラリは簡単に作れる。再生しようとしても楽曲データは存在しないため、音楽を楽しむことはできないが、アートワークや所有しているアルバムについての情報を参照できればそれでいい。

 そのために、ライブラリ情報とアートワークは全部、楽曲データは1年分しか入っていないitunes365というライブラリを新たに作ることにした。そのために3行のバッチファイルを書いた。なお、itunes365は、あらかじめ同じ名前で共有しておく。

rmdir /s /q \\BOKAN\itunes365\itunes music"
robocopy \\BOKAN\itunes\\BOKAN\itunes365 /XD "\\BOKAN\itunes\itunes music" /MIR
robocopy \\BOKAN\itunes\itunes music" "\\BOKAN\itunes365\itunes music" /maxage:365 /MIR

 先頭行では、既存の楽曲フォルダを問答無用で削除している。初回作成時など、楽曲フォルダが存在しない場合はエラーになる。

 2行目では楽曲フォルダを除外してitunesフォルダをミラーリングする。

 そして、3行目では365日以前のファイルを除外して楽曲フォルダをミラーリングする。これで直近の365日分しか楽曲データがない「なんちゃって全部入りライブラリ」のできあがりだ。

 ぼくの場合、これでフォルダ全体のサイズは約20GBとなり、このくらいのサイズならVAIO type Pの狭いSSDにも、なんとか入れておくことができる。このiTunes365フォルダを、ノートPCのiTunesフォルダにミラーしておけばそれでいい。ぼくは、複数台のノートPCにライブラリをコピーしたいので、いったん母艦ローカルに作成しているが、ネットワーク経由のコピーのスピードにガマンできるなら、ノートPC側に直接作成してもいいだろう。

 本当はもっとスマートに、そしてエレガントに同じことをやる方法はあるのだろうが、とりあえず、これでことが足りている。

●GUIはCUIでカバーする

 バッチファイルには、MS-DOSの時代からお世話になっているが、GUIでは手の届きにくい定型的な作業には、まだまだ役にたつ。テキストファイルとして作成し、ファイル名の拡張子を .BAT としておけば、それだけで実行形式のファイルになり、ダブルクリックするだけでコマンドプロンプトのウィンドウが開き、中に書いておいたコマンドが順次実行される。

 GUIはPCの使い勝手を大幅に向上させたし、その功績は偉大だと思う。でも、GUIが得意な領域と、そうでない領域がある。そこをカバーするのがCUIだともいえる。

 Windows 7では、次世代の標準スクリプティング環境として、Powershellが標準搭載されるようだ。WSHには挫折してしまったが、今度は、もうちょっとがんばってチャレンジしてみようかとも思う。不便を嘆くだけでは何も始まらないからだ。