playmp3listを日本語に対応させる方法

はじめに

playmp3listは、端末ベースでMP3ファイルを再生する便利なソフトですが、日本語が含まれるファイルを表示することができません。この記事では、これを解決します。

環境

この記事の内容は、Ubuntu Linux 7.10, playmp3list 0.95で確認しました。

修正内容

以下のように修正します。

--- configure.in.orig   2008-04-10 22:02:19.000000000 +0900
+++ configure.in        2008-04-10 22:52:15.000000000 +0900
@@ -12,7 +12,7 @@
 AC_PROG_RANLIB
 
 dnl Checks for libraries.
-AC_CHECK_LIB(ncurses,main,INCLUDENCURSES=1)
+AC_CHECK_LIB(ncursesw,main,INCLUDENCURSES=1)
 AC_CHECK_LIB(curses,main,INCLUDECURSES=1)
 
 dnl Checks for header files.
@@ -30,7 +30,7 @@
 dnl check argument
 
 if test "$INCLUDENCURSES" = 1 ; then
-  LIBS="$LIBS -lncurses"
+  LIBS="$LIBS -lncursesw"
 elif test "$INCLUDECURSES" = 1 ; then
   LIBS="$LIBS -lcurses"
 else
--- main.cc.orig        2008-04-10 17:42:48.000000000 +0900
+++ main.cc     2008-04-10 17:41:43.000000000 +0900
@@ -34,6 +34,7 @@
 #include <signal.h>
 #include SOUNDCARD
 #include "genre.h"
+#include <locale.h>
 
 extern void recode_string (char *s);
 bool shuffle;
@@ -805,6 +806,7 @@
   signal(SIGINT,panic);
   signal(SIGKILL,panic);
   signal(SIGTERM,panic);
+  setlocale(LC_ALL, "");
 
   strcpy(mpg123params,"");
   strcpy(currsongname,"");

上の修正をした後、libncursesw5パッケージとlibncurses5-devパッケージをaptitudeでインストールして、./configure && makeします。