日曜日, 10月 19, 2014

SL4Aでスクリプトを楽しむ

もともとやりたかったのは、「自分の好きな曲だけを再生したい」だった。

macのiTunesからコピーしてきた自分の曲だけを聞きたいのだけど、GN上のPodcastでダウンロードした番組もあり、play musicでは、全部同列で再生しようとする。

それなら、フォルダー指定できるGN上のアプリを使えば? ということになるのだが、一長一短。下位のディレクトリーが扱えなかったり、recent appから消されると再生がとまったり、などなど。

ということで、自分の手順をまとめてみた。

MacのiTunesで、プレイリストを作成、曲を集めておく。
Mac上のアプリ、Easy Phone Tunes を準備。GN側は、USBデバッグをOFFにしておき、Macに接続。android File Transferが起動したら、これを終了させておく。MacでEasy Phone Tunesを起動、少々時間はかかるが、誘導に従うと、iTunes上のプレイリストの曲がGNに転送される。2回目移行は、差分のみ転送(あるいはGN上のファイルを削除)されるので、若干早い。
ただし、こうして出来たファイルは、階層構造を持っている。music/アーティスト名/アルバム名 みたいな感じ。
GN上は EZ Folder Player Free を使用した。LISNA も試した。作者さんによる直接サポートがとてもステキで、下位フォルダーも探してくれるのだけど、アプリ履歴からアプリを終了させちゃうと、再生が止まってしまう。アプリの作り的にどうしようもないらしく、断念。車の中で途切れてしまうのは困るので。。。
で、その EZ Folder Player Free は、下位フォルダーを探してくれない。mp3はひとつのディレクトリーに集める必要がある。

ということで、やっと本題、SL4Aが登場する。music/アーティスト名/アルバム名/*.mp3 を music/ に集めて、空になったディレクトリーを消去するスクリプトを作ってみた。

cd /storage/emulated/0/music
mv */*/*.mp3 ./
for file in *; do
  if [ -d "${file}" ]; then
      echo "${file}" "should be deleted."
      read ans
      rm -rf "${file}"
  fi
done

お約束:自己責任で実行してください!

ディレクトリーを消す前に、いちいち止まるようになっているけど、上手く動いているようなので、その行を消してもいいかもしれない。

それにしても、やっつけの、ベタなスクリプトだな〜 本業が回路設計者で、プログラムは慣れていないとはいえ、もうちょっとスマートな書き方を勉強してもよいかもね。。。

で、SL4Aは、結構面白い。su - もできちゃうし、vi も動くし、久しぶりにワクワクする感じだ。スクリプトを実行するショートカットを、ホーム画面に置くことができるらしいし。

Bluetooth外付けキーボードが欲しくなってきた。買おうかなあ。とりあえず PC のブラウザーから入力できるアプリをインストールした。WiFi keyboard connection というのと、Windows限定だけど、ShareKMもおもしろい。

0 件のコメント: