--- logjam-4.5.2.bak/configure.in Tue Feb 7 13:43:51 2006 +++ logjam-4.5.2/configure.in Tue Feb 7 09:52:00 2006 @@ -197,6 +197,27 @@ AC_SUBST(XMMS_LIBS) AC_SUBST(XMMS_CFLAGS) +BMPX_LIBS= +BMPX_CFLAGS= + +AC_ARG_WITH(bmpx, + AC_HELP_STRING([--with-bmpx], [build BMPx helper (default=no)]), + , [with_bmpx=no]) + +if test "$with_bmpx" = "yes"; then + PKG_CHECK_MODULES([DBUS], [dbus-1 >= 0.35 dbus-glib-1 >= 0.35]) + BMPX_CFLAGS="$DBUS_CFLAGS" + BMPX_LIBS="$DBUS_LIBS" + AC_CHECK_HEADERS([bmpx/dbus.h], [], + [ + AC_MSG_ERROR([bmpx doesn't seem to be installed, or the headers aren't available]) + ]) +fi +AC_SUBST(BMPX_LIBS) +AC_SUBST(BMPX_CFLAGS) + + + dnl liblivejournal dependencies. MODULES="glib-2.0 gobject-2.0 libxml-2.0" PKG_CHECK_MODULES(LIVEJOURNAL, $MODULES) @@ -205,6 +226,7 @@ dnl end liblivejournal dependencies. AM_CONDITIONAL(WITH_XMMS, test "$with_xmms" = "yes") +AM_CONDITIONAL(WITH_BMPX, test "$with_bmpx" = "yes") AM_CONDITIONAL(WITH_HTML, test "$with_gtkhtml" != "no") AM_CONDITIONAL(WITH_RSVG, test "$with_librsvg" = "yes") AM_CONDITIONAL(WITH_SQLITE3, test "$with_sqlite3" = "yes") @@ -216,6 +238,7 @@ AC_CONFIG_FILES([Makefile po/Makefile.in doc/Makefile data/Makefile images/Makefile util/Makefile util/xmmsclient/Makefile +util/bmpxclient/Makefile protocol/Makefile src/Makefile]) AC_OUTPUT @@ -240,6 +263,7 @@ echo " If you need these features, you must build with Curl." fi echo " - XMMS helper: ${with_xmms}" +echo " - BMPx helper: ${with_bmpx}" echo " - SQLite3: ${with_sqlite3}" echo "" --- logjam-4.5.2.bak/util/Makefile.am Tue Feb 7 13:43:50 2006 +++ logjam-4.5.2/util/Makefile.am Tue Feb 7 09:48:38 2006 @@ -5,3 +5,6 @@ SUBDIRS += xmmsclient endif +if WITH_BMPX +SUBDIRS += bmpxclient +endif --- logjam-4.5.2.bak/util/bmpxclient/Makefile.am Thu Jan 1 00:00:00 1970 +++ logjam-4.5.2/util/bmpxclient/Makefile.am Tue Feb 7 09:52:48 2006 @@ -0,0 +1,9 @@ +bin_PROGRAMS = logjam-bmpx-client + +localedir=$(datadir)/locale +pixmapdir=$(datadir)/pixmaps + +AM_CFLAGS = -DLOCALEDIR=\"$(localedir)\" -DPIXMAPDIR=\"$(pixmapdir)\" @BMPX_CFLAGS@ + +logjam_bmpx_client_SOURCES = logjam-bmpx-client.c +logjam_bmpx_client_LDADD = @BMPX_LIBS@ @INTLLIBS@ --- logjam-4.5.2.bak/util/bmpxclient/logjam-bmpx-client.c Thu Jan 1 00:00:00 1970 +++ logjam-4.5.2/util/bmpxclient/logjam-bmpx-client.c Tue Feb 7 13:53:12 2006 @@ -0,0 +1,44 @@ +#include +#include +#include +#include + +#define DBUS_TYPE_G_STRING_VALUE_HASHTABLE \ + (dbus_g_type_get_map ("GHashTable", G_TYPE_STRING, G_TYPE_VALUE)) + +int +main(int argc, char **argv) +{ + DBusGConnection *bus = NULL; + DBusGProxy *remote_object = NULL; + GError *error = NULL; + gchar *title; + + g_type_init(); + dbus_g_type_specialized_init(); + + bus = dbus_g_bus_get(DBUS_BUS_SESSION, &error); + if (bus == NULL) { + printf("Error: %s\n", error->message); + return -1; + } + + remote_object = dbus_g_proxy_new_for_name(bus, + BMP_DBUS_SERVICE, + BMP_DBUS_PATH_SYSTEMCONTROL, + BMP_DBUS_INTERFACE); + if (remote_object == NULL) { + printf("Error: %s\n", error->message); + return -1; + } + + if (dbus_g_proxy_call(remote_object, "GetCurrentTitle", &error, + G_TYPE_INVALID, G_TYPE_STRING, + &title, G_TYPE_INVALID)) { + printf("%s\n", title); + return 0; + } else { + printf("BMPx is not running or something else is wrong :(\n"); + return -1; + } +} --- logjam-4.5.2.bak/src/music.c Tue Feb 7 13:43:50 2006 +++ logjam-4.5.2/src/music.c Tue Feb 7 13:55:29 2006 @@ -17,6 +17,7 @@ { "Rhythmbox", "rhythmbox --print-playing" }, { "XMMS / Beep", "logjam-xmms-client" }, { "amaroK", "dcop amarok player nowPlaying" }, + { "BMPx", "logjam-bmpx-client" }, { NULL, NULL } };