[Goodies-commits] r1835 - in xfce4-mpc-plugin/trunk: . panel-plugin
Landry Breuil
landry at xfce.org
Wed Aug 2 19:50:07 CEST 2006
Author: landry
Date: 2006-08-02 17:50:05 +0000 (Wed, 02 Aug 2006)
New Revision: 1835
Added:
xfce4-mpc-plugin/trunk/panel-plugin/xfce4-mpc-plugin.h
Modified:
xfce4-mpc-plugin/trunk/config.h.in
xfce4-mpc-plugin/trunk/configure.ac
xfce4-mpc-plugin/trunk/panel-plugin/xfce4-mpc-plugin.c
Log:
- Applied patch from mmassonnet replacing gtk_dialog_new_with_buttons() with xfce_titled_dialog_new_with_buttons()
- improved configure.ac for libmpd detection
- started working on reimplementation of the interface with mpd if libmpd is not detected
(atm, don't try to use/compile if you don't have libmpd installed)
- created skeleton for theses mpd_*() functions
Modified: xfce4-mpc-plugin/trunk/config.h.in
===================================================================
--- xfce4-mpc-plugin/trunk/config.h.in 2006-08-02 09:07:07 UTC (rev 1834)
+++ xfce4-mpc-plugin/trunk/config.h.in 2006-08-02 17:50:05 UTC (rev 1835)
@@ -94,3 +94,7 @@
/* Define to 1 if you need to in order for `stat' and other things to work. */
#undef _POSIX_SOURCE
+
+/* Define to 1 if using and linking against libmpd */
+#undef HAVE_LIBMPD
+
Modified: xfce4-mpc-plugin/trunk/configure.ac
===================================================================
--- xfce4-mpc-plugin/trunk/configure.ac 2006-08-02 09:07:07 UTC (rev 1834)
+++ xfce4-mpc-plugin/trunk/configure.ac 2006-08-02 17:50:05 UTC (rev 1835)
@@ -31,29 +31,36 @@
XDT_CHECK_PACKAGE([LIBXFCE4PANEL], [libxfce4panel-1.0], [4.3.22])
dnl check for libmpd presence
+AC_DEFINE(HAVE_LIBMPD, 0)
AC_ARG_WITH(libmpd,
- AC_HELP_STRING([--with-libmpd=path], [path to libmpd directory]),
+ AC_HELP_STRING([--with-libmpd=path], [path to libmpd base directory]),
LIBMPD_PATH="$withval", LIBMPD_PATH="")
-AC_MSG_CHECKING(whether --libmpd was used)
-if test -n "$LIBMPD_PATH" ; then
- AC_MSG_RESULT(yes, using $LIBMPD_PATH)
+AC_MSG_CHECKING([whether --libmpd was used])
+if test x"$LIBMPD_PATH" != x"" ; then
+ AC_MSG_RESULT([yes, using $LIBMPD_PATH])
LIBMPD_CFLAGS="-I${LIBMPD_PATH}/include/"
LIBMPD_LIBS="-L${LIBMPD_PATH}/lib/ -lmpd"
+ AM_CONDITIONAL(HAVE_LIBMPD, true)
+ AC_SUBST([LIBMPD_CFLAGS])
+ AC_SUBST([LIBMPD_LIBS])
else
- AC_MSG_RESULT(no, falling back to pkg-config)
- PKG_CHECK_MODULES([LIBMPD], [libmpd >= 0.12])
+ AC_MSG_RESULT([no, falling back to pkg-config])
+ XDT_CHECK_OPTIONAL_PACKAGE([LIBMPD], [libmpd], [0.12], [libmpd], [libmpd])
+ if test x"$LIBMPD_FOUND" = x"yes"; then
+ AM_CONDITIONAL(HAVE_LIBMPD, true)
+ echo "* Build with libmpd: yes"
+ else
+ echo "* Build with libmpd: no, falling back to our implementation"
+ fi
fi
-
dnl Translations
XDT_I18N([])
dnl Check for debugging support
XDT_FEATURE_DEBUG()
-AC_SUBST([LIBMPD_CFLAGS])
-AC_SUBST([LIBMPD_LIBS])
AC_OUTPUT([
Makefile
panel-plugin/Makefile
Modified: xfce4-mpc-plugin/trunk/panel-plugin/xfce4-mpc-plugin.c
===================================================================
--- xfce4-mpc-plugin/trunk/panel-plugin/xfce4-mpc-plugin.c 2006-08-02 09:07:07 UTC (rev 1834)
+++ xfce4-mpc-plugin/trunk/panel-plugin/xfce4-mpc-plugin.c 2006-08-02 17:50:05 UTC (rev 1835)
@@ -17,45 +17,39 @@
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
#include <stdio.h>
#include <string.h>
-#include <gtk/gtk.h>
#include <libxfce4util/libxfce4util.h>
#include <libxfcegui4/libxfcegui4.h>
-#include <libxfce4panel/xfce-panel-plugin.h>
-#include <libmpd/libmpd.h>
-
#define DEFAULT_MPD_HOST "localhost"
#define DEFAULT_MPD_PORT 6600
#define DIALOG_ENTRY_WIDTH 15
-typedef struct {
- XfcePanelPlugin *plugin;
- GtkTooltips *tips;
- GtkWidget *frame,*ebox,*box,*prev,*stop,*play,*next;
- /* mpd handle */
- MpdObj *mo;
- gchar* mpd_host;
- gint mpd_port;
- gchar * mpd_password;
- gboolean show_frame;
-/* gboolean stay_connected; */
-} t_mpc;
+#include "xfce4-mpc-plugin.h"
-typedef struct {
- t_mpc *mpc;
- GtkWidget *textbox_host;
- GtkWidget *textbox_port;
- GtkWidget *textbox_password;
- GtkWidget *checkbox_frame;
-/* GtkWidget *checkbox_connected; */
-} t_mpc_dialog;
+#ifndef HAVE_LIBMPD
+MpdObj* mpd_new(char* host, int port, char* pass)
+{
+}
+void mpd_free(MpdObj* mo){}
+void mpd_connect(MpdObj* mo){}
+int mpd_status_get_volume(MpdObj* mo){}
+void mpd_status_set_volume(MpdObj* mo, int newvol){}
+int mpd_status_update(MpdObj* mo){}
+int mpd_player_get_state(MpdObj* mo){}
+int mpd_player_prev(MpdObj* mo){}
+int mpd_player_next(MpdObj* mo){}
+int mpd_player_stop(MpdObj* mo){}
+int mpd_player_play(MpdObj* mo){}
+mpd_Song* mpd_playlist_get_current_song(MpdObj* mo){}
+int mpd_check_error(MpdObj* mo){}
+void mpd_set_hostname(MpdObj* mo, char* host){}
+void mpd_set_password(MpdObj* mo, char* pass){}
+void mpd_send_password(MpdObj* mo){}
+void mpd_set_port(MpdObj* mo,int port){}
+#endif
static void
mpc_free (XfcePanelPlugin * plugin, t_mpc * mpc)
@@ -233,28 +227,19 @@
xfce_panel_plugin_block_menu (plugin);
- dlg = gtk_dialog_new_with_buttons (_("Properties"),
- GTK_WINDOW (gtk_widget_get_toplevel
- (GTK_WIDGET (plugin))),
- GTK_DIALOG_DESTROY_WITH_PARENT |
- GTK_DIALOG_NO_SEPARATOR,
- GTK_STOCK_CLOSE, GTK_RESPONSE_OK,
- NULL);
+ dlg = xfce_titled_dialog_new_with_buttons (_("Mpd Client Plugin"),
+ NULL,
+ GTK_DIALOG_NO_SEPARATOR,
+ GTK_STOCK_CLOSE,
+ GTK_RESPONSE_OK,
+ NULL);
+ xfce_titled_dialog_set_subtitle (XFCE_TITLED_DIALOG (dlg), _("Properties"));
+ gtk_window_set_position (GTK_WINDOW (dlg), GTK_WIN_POS_CENTER);
+ gtk_window_set_icon_name (GTK_WINDOW (dlg), "xfce-multimedia");
+
g_signal_connect (dlg, "response", G_CALLBACK (mpc_dialog_response), dialog);
- gtk_container_set_border_width (GTK_CONTAINER (dlg), 2);
-
- pb = xfce_themed_icon_load ("xfce4-panel", 48);
- gtk_window_set_icon (GTK_WINDOW (dlg), pb);
- g_object_unref (pb);
-
- header = xfce_create_header (NULL, _("Mpd Client Plugin"));
- gtk_widget_set_size_request (GTK_BIN (header)->child, -1, 32);
- gtk_container_set_border_width (GTK_CONTAINER (header), 5);
- gtk_widget_show (header);
- gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dlg)->vbox), header, FALSE, TRUE, 0);
-
vbox = gtk_vbox_new (FALSE, 8);
gtk_container_set_border_width (GTK_CONTAINER (vbox), 5);
gtk_widget_show (vbox);
Added: xfce4-mpc-plugin/trunk/panel-plugin/xfce4-mpc-plugin.h
===================================================================
--- xfce4-mpc-plugin/trunk/panel-plugin/xfce4-mpc-plugin.h (rev 0)
+++ xfce4-mpc-plugin/trunk/panel-plugin/xfce4-mpc-plugin.h 2006-08-02 17:50:05 UTC (rev 1835)
@@ -0,0 +1,88 @@
+/* xfce4-mpc-plugin.h
+ *
+ * Copyright (c) 2006 Landry Breuil (landry at fr.homeunix.org / gaston at gcu.info)
+ * This code is licenced under a BSD-style licence.
+ * (OpenBSD variant modeled after the ISC licence)
+ * All rights reserved.
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+
+#include <gtk/gtk.h>
+#include <libxfce4panel/xfce-panel-plugin.h>
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#ifdef HAVE_LIBMPD
+#include <libmpd/libmpd.h>
+#else
+
+#define MPD_PLAYER_STOP 1
+#define MPD_PLAYER_PLAY 2
+#define MPD_PLAYER_PAUSE 3
+#define MPD_OK 0
+
+typedef struct {
+
+} MpdObj;
+
+typedef struct {
+ char* artist;
+ char* album;
+ char* track;
+ char* title;
+} mpd_Song;
+
+MpdObj* mpd_new(char*,int,char*);
+void mpd_free(MpdObj*);
+void mpd_connect(MpdObj*);
+int mpd_status_get_volume(MpdObj*);
+void mpd_status_set_volume(MpdObj*,int);
+int mpd_status_update(MpdObj*);
+int mpd_player_get_state(MpdObj*);
+int mpd_player_prev(MpdObj*);
+int mpd_player_next(MpdObj*);
+int mpd_player_stop(MpdObj*);
+int mpd_player_play(MpdObj*);
+mpd_Song* mpd_playlist_get_current_song(MpdObj*);
+int mpd_check_error(MpdObj*);
+void mpd_set_hostname(MpdObj*,char*);
+void mpd_set_password(MpdObj*,char*);
+void mpd_send_password(MpdObj*);
+void mpd_set_port(MpdObj*,int);
+
+#endif
+
+typedef struct {
+ XfcePanelPlugin *plugin;
+ GtkTooltips *tips;
+ GtkWidget *frame,*ebox,*box,*prev,*stop,*play,*next;
+ /* mpd handle */
+ MpdObj *mo;
+ gchar* mpd_host;
+ gint mpd_port;
+ gchar * mpd_password;
+ gboolean show_frame;
+/* gboolean stay_connected; */
+} t_mpc;
+
+typedef struct {
+ t_mpc *mpc;
+ GtkWidget *textbox_host;
+ GtkWidget *textbox_port;
+ GtkWidget *textbox_password;
+ GtkWidget *checkbox_frame;
+/* GtkWidget *checkbox_connected; */
+} t_mpc_dialog;
+
More information about the Goodies-commits
mailing list