もじばけおなう

個人的なメモ

MacのiTunesライブラリとSONYのWalkmanをrsyncで同期させる

どうもこんばんは。ドライアイがひどすぎて医者にメガネすらやめろと言われました。
非モテの僕が眼鏡男子需要にあやかるには伊達眼鏡を購入せねばならないようです。

今回はすごく個人的なまとめですが、
MacのiTunesウォークマンを同期させようぜ大会を開催します。

まえがき

世の中にはXアプリなるSONY様謹製の同期&音楽ファイル管理用のアプリケーションが存在するのですが、
Appleが嫌われてしまっているのかMac OS向けには公開されておりません。
ざっとさがすとSonicTunesなるものが見つかるんですが(アプリケーション名あやふや)、
すくなくともわたくしの環境では一切動作しなかったので、その手法は諦め、
何故か我が家に君臨するLenovo ThinkPad様にXアプリをインストールし、
王道のWindows運用でやりすごしてきました。

しかし!がしかし!

非常に動作が遅いわけです。まじfuck

そりゃ初回は全部転送するわけですからね、ある程度時間かかるのはまぁよしとしますが、
27時間もかかったとなれば、ちょっと許しがたいですよね、と。

というわけでなんとかならんもんかなーと日々悶々としていたところ、
よくよく考えれば僕が愛用するSONY ウォークマン Aシリーズ NW-A867に関して言えば、
Macにマウントさせて/Volumes/WALKMAN/MUSICの中に放り込むだけで、
あとはよしなにウォークマン側で楽曲のデータベースを構築してくれるわけです。

じゃあ、あれじゃね。rsyncでなんとかなんじゃね。っていう。


というわけで実験開始でございます。

用意するもの

  • Mac
  • Walkman
  • と、USB接続用のケーブル

事前準備

Macデフォルトのrsyncは日本語表示的な意味でうんこちゃんなので、自前でインストールしましょう。

wget http://rsync.samba.org/ftp/rsync/rsync-3.0.9.tar.gz
tar -xzvf rsync-3.0.9.tar.gz
cd rsync-3.0.9
./configure --prefix=/usr/local
make
sudo make install

で、ざっとしぇるすくりぷと書いた

きっとこんなかんじ。

#!/bin/sh
#Usage: sync_walkman.sh [ check | exec ]

WALKMAN='/Volumes/WALKMAN';
LIBRARY='/Users/ゆーざーめい/Music/iTunes/iTunes Media/Music/';

if [ ! $1 ]; then
  echo "Error: You must provide 1 argument.";
  echo "Usage: sync_walkman.sh [ check | exec ]";
  exit;
fi

if [ $1 == "check" ]; then
  OPTION="-un --links --delete --recursive --progress";
elif [ $1 == "exec" ]; then
  OPTION="-u --links --delete --recursive --progress";
else
  echo "Error: invalid argument";
  echo "Usage: sync_walkman.sh [ check | exec ]";
  exit;
fi

WALKMAN="$WALKMAN/MUSIC";
rsync $OPTION "$LIBRARY" "$WALKMAN";

たぶんうごくんじゃないかな。
./sync_walman.sh checkでdry-run、
./sync_walman.sh execで同期実行。みたいな。

じっけんけっか

冒頭でもふれたように、素直にXアプリつかったら27時間もかかり怒り心頭でしたが、
今回のrsyncでドーン実行時間はおよそ3時間でした。
#ちゃんと開始時間と終了時間めもってなかったごめんなさい

あとがき

たくさん曲転送するときに、ちょくちょくターミナルのぞくの超めんどくさいなーってことと、
growlnotify対応とかしたいよねー結局どんだけ時間かかったの?的なことも知りたくなったので、
あとから色々付け足しました。そっちはGithubで羞恥プレイなう。
https://github.com/mojibakeo/bko_sync_walkman

f:id:mojibakeo:20120623014647p:plain

まぁ最終的にはPATH通ってる好きなところに好きな名前で置いて使えばいいんじゃないかな!
ちなみに最初に転送するときは、ふつうにcpした方がrsyncより速いってどっかのブログにかいてあったよ!ためしてないけど!



Macつかってるのにウォークマンわざわざ使うのは少数派だけども、
iPhoneのバッテリーを節約するためにも分散処理ですよ。ねぇ。
この子結構軽いし64GBもあるしバッテリーそこそこ持つしおすすめ。