light-playとshairportでALACが再生できるようになったのですが、ファイル名がスペースや日本語を含むものもあり、CLIで扱うのは難しいので、コンソールベースのフロントエンドを構想しています。案は以下のようなものがあります。
-
Music on Consoleを改造する
-
Midnight Consoleでなんらか操作する
-
mpg123.elのようなものを改造する
-
自力でcursesする
-
コンソールじゃないけどブラウザベースのアプリを作る
iTunesで取り込んであるALACはHFSの中に日本語(UTF8)交じりで保存されてます。
UTF8なので、そのままFreeBSD/NetBSDにコピーは出来るのですが、シェルで表示や操作するのが面倒だったりするので、なんらかのインターフェースが必要です。
機能はディレクトリやファイルを選択して再生を実行するだけで十分です。
MP3の時はhttpでのplaylistとshスクリプトで対応しました。
どれがいいかな。
とりあえずshスクリプトを書いてみました。
まず日本語のファイル名はsh,bashの場合は
export LANG=ja_JP.UTF-8
csh,tcshの場合は
setenv LANG ja_JP.UTF-8
で表示できます。
フォルダー内にあるm4aを再生するスクリプトは
#!/bin/sh
RAOP=10.0.1.30
IFS=$'\n'
LIST=`find "$1" -name \*.m4a`
for i in ${LIST};
do
echo ${i}
./light-play-master/src/light-play $RAOP "${i}"
sleep 2
done
tcshで実行してみます。
c1k: {65} ./alplay.sh 'itunes/LUZ DO SOL/アヴェ・マリア/'
itunes/LUZ DO SOL/アヴェ・マリア/01 Estrada branca.m4a
itunes/LUZ DO SOL/アヴェ・マリア/02 Exaltação.m4a
引数のディレクトリを'を付けてエクスパンドするのがコツです。\でエスケープすると正しく処理できません。
後日追記 nnnを使うことにしました。