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