Merge branch 't/gui_improvements'
authorAndre Noll <maan@systemlinux.org>
Thu, 29 Mar 2012 17:58:04 +0000 (19:58 +0200)
committerAndre Noll <maan@systemlinux.org>
Thu, 29 Mar 2012 18:05:55 +0000 (20:05 +0200)
      gui: Make some functions return void.
      gui: Rename client_cmd_cmdline() to para_cmd().
      gui: Check return value of para_exec_cmdline_pid().
      gui: Also display command's stderr output.

Makefile.in
NEWS
configure.ac
mood.c

index c1488dd..bfc6e2c 100644 (file)
@@ -204,6 +204,10 @@ $(object_dir)/aac_afh.o: aac_afh.c | $(object_dir)
        @[ -z "$(Q)" ] || echo 'CC $<'
        $(Q) $(CC) -c -o $@ $(CPPFLAGS) $(DEBUG_CPPFLAGS) @faad_cppflags@ $<
 
+$(object_dir)/mp3_afh.o: mp3_afh.c | $(object_dir)
+       @[ -z "$(Q)" ] || echo 'CC $<'
+       $(Q) $(CC) -c -o $@ $(CPPFLAGS) $(DEBUG_CPPFLAGS) @id3tag_cppflags@ $<
+
 $(object_dir)/gui%.o: gui%.c | $(object_dir)
        @[ -z "$(Q)" ] || echo 'CC $<'
        $(Q) $(CC) -c -o $@ $(CPPFLAGS) $(DEBUG_CPPFLAGS) @curses_cppflags@ $<
diff --git a/NEWS b/NEWS
index 5b87555..dc83e16 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -2,9 +2,14 @@
 0.4.10 (to be announced) "heterogeneous vacuum"
 -----------------------------------------------
 
+Nothing earth-shaking in this release, but quite a few usability
+improvements and the usual mix of cleanups and fixes.
+
        - The --no_default_filters option of para_filter has been
-         depricated. It still works but has no effect and will be
+         deprecated. It still works but has no effect and will be
          removed in the next version.
+       - para_gui now prints also the stderr output of the executing
+          command in the bottom window.
        - Cleanup and consolidation of the various wrappers for
          write(), writev(), send() and friends.
        - The obscure error messages on mmap() failures have been
@@ -13,6 +18,7 @@
        - para_audioc: Cleanups and memory leak fixes.
        - Test 0004-server no longer fails if para_server is not
          being built.
+       - New configure options: --with-id3tag-{headers,libs}.
 
 -------------------------------------
 0.4.9 (2011-12-06) "hybrid causality"
index 224c7be..a57d8d7 100644 (file)
@@ -578,6 +578,7 @@ if test "$have_ogg" = "yes"; then
        AC_CHECK_LIB([speex], [speex_decoder_init], [], [ have_speex="no" ])
        AC_CHECK_HEADERS([speex/speex.h], [], [ have_speex="no" ])
 else
+       AC_MSG_WARN([vorbis/speex depend on libogg, which was not detected])
        have_vorbis="no"
        have_speex="no"
 fi
@@ -596,8 +597,6 @@ if test "$have_vorbis" = "yes" || test "$have_speex" = "yes"; then
        all_errlist_objs="$all_errlist_objs ogg_afh_common"
        afh_errlist_objs="$afh_errlist_objs ogg_afh_common"
        server_errlist_objs="$server_errlist_objs ogg_afh_common"
-else
-       AC_MSG_WARN([vorbis/speex require ogg])
 fi
 if test "$have_vorbis" = "yes"; then
        all_errlist_objs="$all_errlist_objs oggdec_filter ogg_afh"
@@ -725,20 +724,43 @@ CPPFLAGS="$OLD_CPPFLAGS"
 LDFLAGS="$OLD_LDFLAGS"
 LIBS="$OLD_LIBS"
 ###################################################################### libid3tag
+OLD_CPPFLAGS="$CPPFLAGS"
+OLD_LD_FLAGS="$LDFLAGS"
+OLD_LIBS="$LIBS"
+
+have_libid3tag="yes"
+AC_ARG_WITH(id3tag_headers, [AC_HELP_STRING(--with-id3tag-headers=dir,
+       [look for id3tag header files also in dir])])
+if test -n "$with_id3tag_headers"; then
+       id3tag_cppflags="-I$with_id3tag_headers"
+       CPPFLAGS="$CPPFLAGS $id3tag_cppflags"
+fi
+AC_ARG_WITH(id3tag_libs, [AC_HELP_STRING(--with-id3tag-libs=dir,
+       [look for id3tag libs also in dir])])
+if test -n "$with_id3tag_libs"; then
+       id3tag_libs="-L$with_id3tag_libs"
+       LDFLAGS="$LDFLAGS $id3tag_libs"
+fi
+
 AC_MSG_CHECKING(for libid3tag)
 AC_TRY_LINK([
        #include <id3tag.h>
 ],[
        struct id3_tag t = {.flags = 0};
-],[have_libid3tag=yes],[have_libid3tag=no])
+],[], [have_libid3tag=no])
 AC_MSG_RESULT($have_libid3tag)
+
 if test ${have_libid3tag} = yes; then
        AC_DEFINE(HAVE_LIBID3TAG, 1, define to 1 you have libid3tag)
-       server_ldflags="$server_ldflags -lid3tag"
-       afh_ldflags="$afh_ldflags -lid3tag"
+       server_ldflags="$server_ldflags $id3tag_libs -lid3tag -lz"
+       afh_ldflags="$afh_ldflags $id3tag_libs -lid3tag -lz"
+       AC_SUBST(id3tag_cppflags)
 else
        AC_MSG_WARN([no support for id3v2 tags])
 fi
+CPPFLAGS="$OLD_CPPFLAGS"
+LDFLAGS="$OLD_LDFLAGS"
+LIBS="$OLD_LIBS"
 ########################################################################### flac
 OLD_CPPFLAGS="$CPPFLAGS"
 OLD_LD_FLAGS="$LDFLAGS"
diff --git a/mood.c b/mood.c
index 1a572cf..f580400 100644 (file)
--- a/mood.c
+++ b/mood.c
@@ -364,8 +364,10 @@ static int load_mood(const struct osl_row *mood_row, struct mood **m)
        char *mood_name;
        struct osl_object mood_def;
        struct mood_line_parser_data mlpd = {.line_num = 0};
-       int ret = mood_get_name_and_def_by_row(mood_row, &mood_name, &mood_def);
+       int ret;
 
+       *m = NULL;
+       ret = mood_get_name_and_def_by_row(mood_row, &mood_name, &mood_def);
        if (ret < 0)
                return ret;
        if (!*mood_name)