■
Gstreamerを使って1枚のCD全トラックを1つのmp3ファイルにするシェルを作ってみた。
とは言ってもgst-launchそのままですが。
ビットレートとかは気にしていないのでデフォルトのまま。
環境はUbuntu12.04。
#! /bin/sh if [ $1 -eq "" ]; then echo "usage $0 FILE" exit 1 fi gst-launch cdparanoiasrc mode=continuous ! audioconvert ! lame ! id3v2mux ! filesink location=$1
シェルの引数に出力ファイル名を入れれば、あとは生成するのを待つだけ。
そんな需要が少ないけど。
■
取得した文字に\rが入り込む問題があったため、
chompのC++版を作ってみた
std::string chomp ( const std::string& s ) { const char* p = &s[0]; const char* p2 = &s[0] + s.size(); std::string cr_lf = "\r\n"; while ( p2 > p && (cr_lf.find(p2[-1]) != std::string::npos) ) { p2--; } return std::string ( p, p2-p ); }
参考
http://www.koders.com/cpp/fidE5347712792D46799468149D7457892152DFD00A.aspx?s=cdef%3Amd5