From ff1404dab2360aa2708b24fb03a01444e98b0162 Mon Sep 17 00:00:00 2001 From: Roman Bogorodskiy Date: Fri, 12 May 2006 12:41:18 +0000 Subject: [PATCH] - Fix BMPx support. BMPx 0.14.0 or newer is required now - Add forgotten headers for imap stuff to fix build on FreeBSD git-svn-id: https://conky.svn.sourceforge.net/svnroot/conky/trunk/conky1@629 7f574dfc-610e-0410-a909-a81674777703 --- configure.in | 10 +++------- src/bmpx.c | 20 +++++++++----------- src/conky.c | 2 ++ 3 files changed, 14 insertions(+), 18 deletions(-) diff --git a/configure.in b/configure.in index abfb0296..5f3bf6ce 100644 --- a/configure.in +++ b/configure.in @@ -266,13 +266,9 @@ AC_ARG_ENABLE(bmpx, AM_CONDITIONAL(BUILD_BMPX, test x$want_bmpx = xyes) if test x$want_bmpx = xyes; then - PKG_CHECK_MODULES([DBUS], [dbus-1 >= 0.35 dbus-glib-1 >= 0.35]) - CFLAGS="$CFLAGS $DBUS_CFLAGS" - LIBS="$LIBS $DBUS_LIBS" - AC_CHECK_HEADERS([bmpx/dbus.h], [], [BMPX_MISSING=yes]) - if test "x$BMPX_MISSING" = xyes; then - AC_MSG_ERROR([bmpx doesn't seem to be installed, or the headers aren't available]) - fi + PKG_CHECK_MODULES([BMPX], [bmp-2.0 >= 0.14.0]) + CFLAGS="$CFLAGS $BMPX_CFLAGS" + LIBS="$LIBS $BMPX_LIBS" AC_DEFINE(BMPX, 1, [Define if you want BMPx support]) fi diff --git a/src/bmpx.c b/src/bmpx.c index 7f411294..c7252ff7 100644 --- a/src/bmpx.c +++ b/src/bmpx.c @@ -5,7 +5,7 @@ * $Id$ */ -#include +#include #include #include @@ -24,7 +24,7 @@ void update_bmpx() { GError *error = NULL; struct information *current_info = &info; - gchar *uri; + gint current_track; GHashTable *metadata; if (connected == 0) { @@ -39,7 +39,7 @@ void update_bmpx() remote_object = dbus_g_proxy_new_for_name(bus, BMP_DBUS_SERVICE, - BMP_DBUS_PATH_SYSTEMCONTROL, + BMP_DBUS_PATH, BMP_DBUS_INTERFACE); if (!remote_object) { ERR("BMPx error 2: %s\n", error->message); @@ -50,18 +50,17 @@ void update_bmpx() } if (connected == 1) { - if (dbus_g_proxy_call(remote_object, "GetCurrentUri", &error, + if (dbus_g_proxy_call(remote_object, "GetCurrentTrack", &error, G_TYPE_INVALID, - G_TYPE_STRING, &uri, G_TYPE_INVALID)) { - current_info->bmpx.uri = uri; + G_TYPE_INT, ¤t_track, G_TYPE_INVALID)) { } else { ERR("BMPx error 3: %s\n", error->message); goto fail; } - if (dbus_g_proxy_call(remote_object, "GetMetadataForUri", &error, - G_TYPE_STRING, - uri, + if (dbus_g_proxy_call(remote_object, "GetMetadataForListItem", &error, + G_TYPE_INT, + current_track, G_TYPE_INVALID, DBUS_TYPE_G_STRING_VALUE_HASHTABLE, &metadata, @@ -83,13 +82,12 @@ void update_bmpx() current_info->bmpx.album = g_value_dup_string(g_hash_table_lookup(metadata, "album")); current_info->bmpx.bitrate = g_value_get_int(g_hash_table_lookup(metadata, "bitrate")); current_info->bmpx.track = g_value_get_int(g_hash_table_lookup(metadata, "track-number")); + current_info->bmpx.uri = g_value_get_string(g_hash_table_lookup(metadata, "location")); } else { ERR("BMPx error 4: %s\n", error->message); goto fail; } - if (uri) - free(uri); g_hash_table_destroy(metadata); } else { fail: diff --git a/src/conky.c b/src/conky.c index d7a01ab8..d5cd2cdb 100644 --- a/src/conky.c +++ b/src/conky.c @@ -29,6 +29,8 @@ #endif /* X11 */ #include #include +#include +#include #define CONFIG_FILE "$HOME/.conkyrc" #define MAIL_FILE "$MAIL"